diff --git a/src/vs/workbench/services/label/common/labelService.ts b/src/vs/workbench/services/label/common/labelService.ts index 7b2180920c1..b6c41954054 100644 --- a/src/vs/workbench/services/label/common/labelService.ts +++ b/src/vs/workbench/services/label/common/labelService.ts @@ -107,7 +107,7 @@ export class LabelService implements ILabelService { this.formatters.forEach(formatter => { if (formatter.scheme === resource.scheme) { - if (!bestResult) { + if (!bestResult && !formatter.authority) { bestResult = formatter; return; } @@ -115,7 +115,7 @@ export class LabelService implements ILabelService { return; } - if (match(formatter.authority, resource.authority) && (!bestResult.authority || formatter.authority.length > bestResult.authority.length)) { + if (match(formatter.authority, resource.authority) && (!bestResult || !bestResult.authority || formatter.authority.length > bestResult.authority.length)) { bestResult = formatter; } } diff --git a/src/vs/workbench/services/label/test/label.test.ts b/src/vs/workbench/services/label/test/label.test.ts index 914b791249b..233d942bc6c 100644 --- a/src/vs/workbench/services/label/test/label.test.ts +++ b/src/vs/workbench/services/label/test/label.test.ts @@ -70,7 +70,7 @@ suite('URI Label', () => { test('mulitple authority', function () { labelService.registerFormatter({ scheme: 'vscode', - authority: 'micro*', + authority: 'not_matching_but_long', formatting: { label: 'first', separator: '/'