Merge pull request #102101 from microsoft/aeschli/sortExtByPrimaryLanguage
This commit is contained in:
commit
0e78d70a99
|
@ -153,9 +153,14 @@ export class LanguagesRegistry extends Disposable {
|
|||
}
|
||||
|
||||
if (Array.isArray(lang.extensions)) {
|
||||
if (lang.configuration) {
|
||||
// insert first as this appears to be the 'primary' language definition
|
||||
resolvedLanguage.extensions = lang.extensions.concat(resolvedLanguage.extensions);
|
||||
} else {
|
||||
resolvedLanguage.extensions = resolvedLanguage.extensions.concat(lang.extensions);
|
||||
}
|
||||
for (let extension of lang.extensions) {
|
||||
mime.registerTextMime({ id: langId, mime: primaryMime, extension: extension }, this._warnOnOverwrite);
|
||||
resolvedLanguage.extensions.push(extension);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -221,6 +221,32 @@ suite('LanguagesRegistry', () => {
|
|||
assert.deepEqual(registry.getExtensions('aName'), ['aExt', 'aExt2']);
|
||||
});
|
||||
|
||||
test('extensions of primary language registration come first', () => {
|
||||
let registry = new LanguagesRegistry(false);
|
||||
|
||||
registry._registerLanguages([{
|
||||
id: 'a',
|
||||
extensions: ['aExt3']
|
||||
}]);
|
||||
|
||||
assert.deepEqual(registry.getExtensions('a')[0], 'aExt3');
|
||||
|
||||
registry._registerLanguages([{
|
||||
id: 'a',
|
||||
configuration: URI.file('conf.json'),
|
||||
extensions: ['aExt']
|
||||
}]);
|
||||
|
||||
assert.deepEqual(registry.getExtensions('a')[0], 'aExt');
|
||||
|
||||
registry._registerLanguages([{
|
||||
id: 'a',
|
||||
extensions: ['aExt2']
|
||||
}]);
|
||||
|
||||
assert.deepEqual(registry.getExtensions('a')[0], 'aExt');
|
||||
});
|
||||
|
||||
test('filenames', () => {
|
||||
let registry = new LanguagesRegistry(false);
|
||||
|
||||
|
|
Loading…
Reference in a new issue