Skip to content

Commit 152a769

Browse files
Merge remote-tracking branch 'origin/develop'
2 parents 5a38f21 + 8f32214 commit 152a769

19 files changed

+155
-94
lines changed

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,13 @@ Change Log
33

44
> Here's our record of all notable changes made to to this project
55
6+
v1.3.2
7+
---
8+
9+
* Add additional fallback for Workspace Detection ( Thanks @bjrmatos )
10+
* Move Missing Workspace Message to Panel rather than show alert ( Thanks @colas31 )
11+
* Revert Glob Pattern Change that used OS Path Separator
12+
613
v1.3.1
714
---
815

extension/index.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,11 +67,12 @@ function activate(context) {
6767
})
6868

6969
const remove = vscode.commands.registerCommand('explorer-exclude.remove', (uri) => {
70-
util.logger(`Remove: ${uri}`, 'debug')
7170
if (uri && uri.value) {
7271
const value = uri.value
7372
const key = value.substring(0, value.length - 2)
7473

74+
util.logger(`Remove: ${key}`, 'debug')
75+
7576
util.deleteExclude(key, function () {
7677
setTimeout(function () {
7778
pane.update(util.getExcludes())
@@ -124,6 +125,7 @@ function activate(context) {
124125

125126
// Set Initial State of Extension
126127
vscode.commands.executeCommand('setContext', 'explorer-exclude.enabled', true)
128+
vscode.commands.executeCommand('setContext', 'explorer-exclude.hasLoaded', true)
127129

128130
// Save Extension Context for later use
129131
util.saveContext(context)
@@ -146,7 +148,9 @@ function activate(context) {
146148
/**
147149
* Handle Deactivating Extension
148150
*/
149-
function deactivate() {}
151+
function deactivate() {
152+
vscode.commands.executeCommand('setContext', 'explorer-exclude.enabled', false)
153+
}
150154

151155
module.exports = {
152156
activate,

extension/util.js

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,12 @@ const getWorkspace = (context) => {
7575
const relative = path.relative(wsFolder.uri.fsPath, vscode.window.activeTextEditor.document.uri.path)
7676
return relative && !relative.startsWith('..') && !path.isAbsolute(relative)
7777
})
78+
79+
// The file that is active does not belong to any of the workspace folders, so let's use the first workspace
80+
if (!root) {
81+
root = vscode.workspace.workspaceFolders[0]
82+
}
83+
7884
workspace = root && root.uri ? root.uri.fsPath : null
7985
} else {
8086
// No file was open, so just grab the first available workspace
@@ -96,7 +102,9 @@ const getWorkspace = (context) => {
96102
if (!workspace) {
97103
const message = localize('debug.logger.missingWorkspace')
98104
logger(localize('debug.logger.error', 'getWorkspace', message), 'error')
99-
vscode.window.showErrorMessage(`${localize('extension.title')}: ${message}`)
105+
106+
vscode.commands.executeCommand('setContext', 'explorer-exclude.missingWorkspace', true)
107+
vscode.commands.executeCommand('setContext', 'explorer-exclude.hasLoaded', true)
100108
}
101109

102110
// Debug Cartridge Path
@@ -294,13 +302,13 @@ function exclude(uri, callback) {
294302
case 'path':
295303
break
296304
case 'ext':
297-
regex = _meta[key] ? `**${path.sep}*${_meta[key]}` : undefined
305+
regex = _meta[key] ? `**/*${_meta[key]}` : undefined
298306
break
299307
case 'base':
300308
regex = _meta[key]
301309
break
302310
case 'dir':
303-
if (_showPicker) regex = _meta[key] ? `${_meta[key] + path.sep}*.*` : undefined
311+
if (_showPicker) regex = _meta[key] ? `${_meta[key]}/*.*` : undefined
304312
break
305313
}
306314
if (regex) {
@@ -309,15 +317,15 @@ function exclude(uri, callback) {
309317
})
310318

311319
if (_meta['dir'] && _meta['ext']) {
312-
options.push(`${_meta['dir']}${path.sep}*${_meta['ext']}`)
320+
options.push(`${_meta['dir']}/*${_meta['ext']}`)
313321
} else if (_meta['ext']) {
314322
options.push(`*${_meta['ext']}`)
315323
}
316324

317325
if (_meta['base']) {
318-
options.push(`**${path.sep}${_meta['base']}`)
326+
options.push(`**/${_meta['base']}`)
319327
if (_meta['dir']) {
320-
options.push(`${_meta['dir']}${path.sep}${_meta['base']}`)
328+
options.push(`${_meta['dir']}/${_meta['base']}`)
321329
}
322330
}
323331

package-lock.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 29 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "explorer-exclude",
33
"displayName": "Explorer Exclude",
4-
"version": "1.3.1",
4+
"version": "1.3.2",
55
"description": "Explorer Exclude lets you easily Hide Files & Folders with Dynamic Filter Options. Add a New 'Hidden Items' Explorer Pane for you to Manage and Quickly Toggle Visibility of Hidden Items.",
66
"license": "MIT",
77
"publisher": "PeterSchmalfeldt",
@@ -47,17 +47,19 @@
4747
}
4848
],
4949
"activationEvents": [
50-
"onStartupFinished",
51-
"onView:extension",
50+
"onCommand:explorer-exclude.disableAll",
51+
"onCommand:explorer-exclude.enableAll",
5252
"onCommand:explorer-exclude.enabled",
5353
"onCommand:explorer-exclude.exclude",
54+
"onCommand:explorer-exclude.hasLoaded",
55+
"onCommand:explorer-exclude.missingWorkspace",
5456
"onCommand:explorer-exclude.remove",
57+
"onCommand:explorer-exclude.reset",
5558
"onCommand:explorer-exclude.toggle",
56-
"onCommand:explorer-exclude.toggleAllOn",
5759
"onCommand:explorer-exclude.toggleAllOff",
58-
"onCommand:explorer-exclude.disableAll",
59-
"onCommand:explorer-exclude.enableAll",
60-
"onCommand:explorer-exclude.reset"
60+
"onCommand:explorer-exclude.toggleAllOn",
61+
"onStartupFinished",
62+
"onView:extension"
6163
],
6264
"contributes": {
6365
"configuration": [
@@ -92,6 +94,18 @@
9294
}
9395
]
9496
},
97+
"viewsWelcome": [
98+
{
99+
"view": "explorerExclude.pane.items",
100+
"contents": "%package.loading%",
101+
"when": "!explorer-exclude.missingWorkspace && !explorer-exclude.hasLoaded"
102+
},
103+
{
104+
"view": "explorerExclude.pane.items",
105+
"contents": "%debug.logger.missingWorkspace%",
106+
"when": "explorer-exclude.missingWorkspace"
107+
}
108+
],
95109
"commands": [
96110
{
97111
"command": "explorer-exclude.exclude",
@@ -165,46 +179,46 @@
165179
{
166180
"command": "explorer-exclude.exclude",
167181
"group": "explorer-exclude@1",
168-
"when": "activeViewlet == 'workbench.view.explorer'"
182+
"when": "explorer-exclude.hasLoaded && !explorer-exclude.missingWorkspace && activeViewlet == 'workbench.view.explorer'"
169183
}
170184
],
171185
"view/item/context": [
172186
{
173187
"command": "explorer-exclude.remove",
174188
"group": "explorer-exclude@1",
175-
"when": "view == explorerExclude.pane.items && viewItem && viewItem != '**/.git' && viewItem != '**/.svn'&& viewItem != '**/.hg'&& viewItem != '**/CVS'&& viewItem != '**/.DS_Store' && viewItem != '**/Thumbs.db' && viewItem != '**/*.git'"
189+
"when": "explorer-exclude.hasLoaded && !explorer-exclude.missingWorkspace && view == explorerExclude.pane.items && viewItem && viewItem != '**/.git' && viewItem != '**/.svn'&& viewItem != '**/.hg'&& viewItem != '**/CVS'&& viewItem != '**/.DS_Store' && viewItem != '**/Thumbs.db' && viewItem != '**/*.git'"
176190
}
177191
],
178192
"view/title": [
179193
{
180194
"command": "explorer-exclude.disableAll",
181195
"group": "navigation@10",
182-
"when": "view == explorerExclude.pane.items"
196+
"when": "explorer-exclude.hasLoaded && !explorer-exclude.missingWorkspace && view == explorerExclude.pane.items"
183197
},
184198
{
185199
"command": "explorer-exclude.enableAll",
186200
"group": "navigation@11",
187-
"when": "view == explorerExclude.pane.items"
201+
"when": "explorer-exclude.hasLoaded && !explorer-exclude.missingWorkspace && view == explorerExclude.pane.items"
188202
},
189203
{
190204
"command": "explorer-exclude.toggleAllOn",
191205
"group": "navigation@12",
192-
"when": "view == explorerExclude.pane.items && !explorer-exclude.enabled"
206+
"when": "explorer-exclude.hasLoaded && !explorer-exclude.missingWorkspace && view == explorerExclude.pane.items && !explorer-exclude.enabled"
193207
},
194208
{
195209
"command": "explorer-exclude.toggleAllOff",
196210
"group": "navigation@12",
197-
"when": "view == explorerExclude.pane.items && explorer-exclude.enabled"
211+
"when": "explorer-exclude.hasLoaded && !explorer-exclude.missingWorkspace && view == explorerExclude.pane.items && explorer-exclude.enabled"
198212
},
199213
{
200214
"command": "explorer-exclude.reset",
201215
"group": "navigation@13",
202-
"when": "view == explorerExclude.pane.items"
216+
"when": "explorer-exclude.hasLoaded && !explorer-exclude.missingWorkspace && view == explorerExclude.pane.items"
203217
},
204218
{
205219
"command": "explorer-exclude.openSettings",
206220
"group": "navigation@14",
207-
"when": "view == explorerExclude.pane.items"
221+
"when": "explorer-exclude.hasLoaded && !explorer-exclude.missingWorkspace && view == explorerExclude.pane.items"
208222
}
209223
]
210224
}

package.nls.bg.json

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
{
2+
"_language": "Bulgarian",
23
"command.openSettings.title": "Актуализиране на настройките на разширението",
34
"config.properties.backup": "Конфигурация на ресурси: Конфигурирайте файловете, като използвате глобални модели, за да имате винаги празен последен ред.",
45
"config.properties.showPicker": "Показване на инструмента за избор на шаблон на файл, когато е активиран, или Изключване на точното съвпадение, когато е деактивиран.",
@@ -9,15 +10,16 @@
910
"error.ifExists": "{0} не съществува",
1011
"error.parseFilePath": "{0} не е налице",
1112
"extension.title": "Explorer Exclude",
13+
"package.disableAll": "Деактивиране на всички",
14+
"package.enableAll": "Активиране на всички",
1215
"package.exclude": "Добавяне към скрити елементи ...",
16+
"package.loading": "Зареждане на скрити елементи...",
1317
"package.pane": "Скрити елементи",
1418
"package.remove": "Премахване от скритите елементи",
15-
"package.toggle": "Превключване на видимостта",
16-
"package.disableAll": "Деактивиране на всички",
17-
"package.enableAll": "Активиране на всички",
1819
"package.reset": "Нулирайте скритите елементи",
20+
"package.toggle": "Превключване на видимостта",
1921
"picker.placeholder": "Какво бихте искали да скриете? Изберете всички приложими.",
22+
"reset.prompt": "Нулиране на скритите елементи? Това не може да бъде отменено.",
2023
"tooltip.hide": "Скриване на {0}",
21-
"tooltip.show": "Показване на {0}",
22-
"reset.prompt": "Нулиране на скритите елементи? Това не може да бъде отменено."
24+
"tooltip.show": "Показване на {0}"
2325
}

package.nls.de.json

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
{
2+
"_language": "German",
23
"command.openSettings.title": "Erweiterungseinstellungen aktualisieren",
34
"config.properties.backup": "Ressourcenkonfiguration: Konfigurieren Sie Dateien mit Glob-Mustern so, dass sie immer eine leere letzte Zeile haben.",
45
"config.properties.showPicker": "Dateimusterauswahl anzeigen, wenn aktiviert, oder Exakte Übereinstimmung ausschließen, wenn deaktiviert.",
@@ -9,15 +10,16 @@
910
"error.ifExists": "{0} existiert nicht",
1011
"error.parseFilePath": "{0} ist nicht verfügbar",
1112
"extension.title": "Explorer Exclude",
13+
"package.disableAll": "Alle deaktivieren",
14+
"package.enableAll": "Alles aktivieren",
1215
"package.exclude": "Zu ausgeblendeten Objekten hinzufügen ...",
16+
"package.loading": "Versteckte Elemente werden geladen ...",
1317
"package.pane": "Versteckte Gegenstände",
1418
"package.remove": "Aus ausgeblendeten Objekten entfernen",
15-
"package.toggle": "Sichtbarkeit umschalten",
16-
"package.disableAll": "Alle deaktivieren",
17-
"package.enableAll": "Alles aktivieren",
1819
"package.reset": "Versteckte Objekte zurücksetzen",
20+
"package.toggle": "Sichtbarkeit umschalten",
1921
"picker.placeholder": "Was möchtest du verstecken? Wählen Sie alle zutreffenden.",
22+
"reset.prompt": "Versteckte Objekte zurücksetzen? Das kann nicht rückgängig gemacht werden.",
2023
"tooltip.hide": "{0} ausblenden",
21-
"tooltip.show": "{0} anzeigen",
22-
"reset.prompt": "Versteckte Objekte zurücksetzen? Das kann nicht rückgängig gemacht werden."
24+
"tooltip.show": "{0} anzeigen"
2325
}

package.nls.es.json

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
{
2+
"_language": "Spanish",
23
"command.openSettings.title": "Actualizar la configuración de la extensión",
34
"config.properties.backup": "Configuración de recursos: configure archivos usando patrones globales para tener siempre una última línea vacía.",
45
"config.properties.showPicker": "Mostrar selector de patrón de archivo cuando está habilitado o excluir coincidencia exacta cuando está deshabilitado.",
@@ -9,15 +10,16 @@
910
"error.ifExists": "{0} no existe",
1011
"error.parseFilePath": "{0} no está disponible",
1112
"extension.title": "Explorer Exclude",
13+
"package.disableAll": "Desactivar todo",
14+
"package.enableAll": "Activar todo",
1215
"package.exclude": "Añadir a objetos ocultos ...",
16+
"package.loading": "Cargando elementos ocultos...",
1317
"package.pane": "Objetos ocultos",
1418
"package.remove": "Eliminar de los elementos ocultos",
15-
"package.toggle": "Alternar la visibilidad",
16-
"package.disableAll": "Desactivar todo",
17-
"package.enableAll": "Activar todo",
1819
"package.reset": "Restablecer elementos ocultos",
20+
"package.toggle": "Alternar la visibilidad",
1921
"picker.placeholder": "¿Qué te gustaría esconder? Seleccione todas las que correspondan.",
22+
"reset.prompt": "¿Desea restablecer los elementos ocultos? Esto no se puede deshacer.",
2023
"tooltip.hide": "Ocultar {0}",
21-
"tooltip.show": "Show {0}",
22-
"reset.prompt": "¿Desea restablecer los elementos ocultos? Esto no se puede deshacer."
24+
"tooltip.show": "Show {0}"
2325
}

package.nls.fr.json

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
{
2+
"_language": "French",
23
"command.openSettings.title": "Mettre à jour les paramètres d'extension",
34
"config.properties.backup": "Configuration des ressources : configurez les fichiers à l'aide de modèles glob pour qu'ils aient toujours une dernière ligne vide.",
45
"config.properties.showPicker": "Afficher le sélecteur de modèle de fichier lorsqu'il est activé ou exclure la correspondance exacte lorsqu'il est désactivé.",
@@ -9,15 +10,16 @@
910
"error.ifExists": "{0} n'existe pas",
1011
"error.parseFilePath": "{0} n'est pas disponible",
1112
"extension.title": "Explorer Exclude",
13+
"package.disableAll": "Désactiver tous les",
14+
"package.enableAll": "Activer tout",
1215
"package.exclude": "Ajouter aux éléments cachés ...",
16+
"package.loading": "Chargement des éléments masqués...",
1317
"package.pane": "Objets Cachés",
1418
"package.remove": "Supprimer des éléments cachés",
15-
"package.toggle": "Basculer la visibilité",
16-
"package.disableAll": "Désactiver tous les",
17-
"package.enableAll": "Activer tout",
1819
"package.reset": "Réinitialiser les éléments cachés",
20+
"package.toggle": "Basculer la visibilité",
1921
"picker.placeholder": "Que voudriez-vous cacher? Sélectionnez tout ce qui s'y rapporte.",
22+
"reset.prompt": "Réinitialiser les éléments cachés? Ça ne peut pas être annulé.",
2023
"tooltip.hide": "Masquer {0}",
21-
"tooltip.show": "Montrer {0}",
22-
"reset.prompt": "Réinitialiser les éléments cachés? Ça ne peut pas être annulé."
24+
"tooltip.show": "Montrer {0}"
2325
}

package.nls.hu.json

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
{
2+
"_language": "Hungarian",
23
"command.openSettings.title": "Frissítse a bővítmény beállításait",
34
"config.properties.backup": "Erőforrás-konfiguráció: Állítsa be a fájlokat glob-mintákkal úgy, hogy az utolsó sor mindig üres legyen.",
45
"config.properties.showPicker": "Fájlmintaválasztó megjelenítése, ha engedélyezve van, vagy Pontos egyezés kizárása, ha le van tiltva.",
@@ -9,15 +10,16 @@
910
"error.ifExists": "{0} nem létezik",
1011
"error.parseFilePath": "{0} nem érhető el",
1112
"extension.title": "Explorer Exclude",
13+
"package.disableAll": "Összes letiltása",
14+
"package.enableAll": "Az összes engedélyezése",
1215
"package.exclude": "Hozzáadás a rejtett elemekhez ...",
16+
"package.loading": "Rejtett elemek betöltése...",
1317
"package.pane": "Rejtett elemek",
1418
"package.remove": "Eltávolítás a rejtett elemekből",
15-
"package.toggle": "A láthatóság váltása",
16-
"package.disableAll": "Összes letiltása",
17-
"package.enableAll": "Az összes engedélyezése",
1819
"package.reset": "A rejtett elemek visszaállítása",
20+
"package.toggle": "A láthatóság váltása",
1921
"picker.placeholder": "Mit szeretne elrejteni? Válassza ki az összes alkalmazást.",
22+
"reset.prompt": "A rejtett elemek visszaállítása? Ezt nem lehet visszacsinálni.",
2023
"tooltip.hide": "{0} elrejtése",
21-
"tooltip.show": "{0} megjelenítése",
22-
"reset.prompt": "A rejtett elemek visszaállítása? Ezt nem lehet visszacsinálni."
24+
"tooltip.show": "{0} megjelenítése"
2325
}

0 commit comments

Comments
 (0)