mirror of
https://github.com/microsoft/vscode.git
synced 2026-09-19 18:14:50 +01:00
Split isRegisteredMode into isRegisteredLanguageId and isRegisteredMimeType
This commit is contained in:
@@ -35,7 +35,8 @@ export interface ILanguageService {
|
||||
onLanguagesMaybeChanged: Event<void>;
|
||||
|
||||
// --- reading
|
||||
isRegisteredMode(mimetypeOrModeId: string): boolean;
|
||||
isRegisteredLanguageId(languageId: string): boolean;
|
||||
isRegisteredMimeType(mimeType: string): boolean;
|
||||
getRegisteredModes(): string[];
|
||||
getRegisteredLanguageNames(): string[];
|
||||
getExtensions(alias: string): string[];
|
||||
|
||||
@@ -76,8 +76,12 @@ export class LanguageService extends Disposable implements ILanguageService {
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
public isRegisteredMode(mimetypeOrModeId: string): boolean {
|
||||
return this._registry.isRegisteredMode(mimetypeOrModeId);
|
||||
public isRegisteredLanguageId(languageId: string): boolean {
|
||||
return this._registry.isRegisteredLanguageId(languageId);
|
||||
}
|
||||
|
||||
public isRegisteredMimeType(mimeType: string): boolean {
|
||||
return this._registry.isRegisteredMimeType(mimeType);
|
||||
}
|
||||
|
||||
public getRegisteredModes(): string[] {
|
||||
|
||||
@@ -257,13 +257,12 @@ export class LanguagesRegistry extends Disposable {
|
||||
}
|
||||
}
|
||||
|
||||
public isRegisteredMode(mimetypeOrModeId: string): boolean {
|
||||
// Is this a known mime type ?
|
||||
if (hasOwnProperty.call(this._mimeTypesMap, mimetypeOrModeId)) {
|
||||
return true;
|
||||
}
|
||||
// Is this a known mode id ?
|
||||
return hasOwnProperty.call(this._languages, mimetypeOrModeId);
|
||||
public isRegisteredLanguageId(languageId: string): boolean {
|
||||
return hasOwnProperty.call(this._languages, languageId);
|
||||
}
|
||||
|
||||
public isRegisteredMimeType(mimeType: string): boolean {
|
||||
return hasOwnProperty.call(this._mimeTypesMap, mimeType);
|
||||
}
|
||||
|
||||
public getRegisteredModes(): string[] {
|
||||
|
||||
@@ -859,7 +859,12 @@ export class MonarchTokenizer implements modes.ITokenizationSupport {
|
||||
}
|
||||
|
||||
private _locateMode(mimetypeOrModeId: string): string | null {
|
||||
if (!mimetypeOrModeId || !this._languageService.isRegisteredMode(mimetypeOrModeId)) {
|
||||
if (!mimetypeOrModeId) {
|
||||
return null;
|
||||
}
|
||||
const isRegisteredLanguageId = this._languageService.isRegisteredLanguageId(mimetypeOrModeId);
|
||||
const isRegisteredMimeType = this._languageService.isRegisteredMimeType(mimetypeOrModeId);
|
||||
if (!isRegisteredLanguageId && !isRegisteredMimeType) {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@@ -63,7 +63,7 @@ namespace snippetExt {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (!isFalsyOrWhitespace(snippet.language) && !languageService.isRegisteredMode(snippet.language)) {
|
||||
if (!isFalsyOrWhitespace(snippet.language) && !languageService.isRegisteredLanguageId(snippet.language)) {
|
||||
extension.collector.error(localize(
|
||||
'invalid.language',
|
||||
"Unknown language in `contributes.{0}.language`. Provided value: {1}",
|
||||
|
||||
@@ -337,7 +337,7 @@ export abstract class AbstractTextMateService extends Disposable implements ITex
|
||||
}
|
||||
|
||||
private _validateGrammarExtensionPoint(extensionLocation: URI, syntax: ITMSyntaxExtensionPoint, collector: ExtensionMessageCollector): boolean {
|
||||
if (syntax.language && ((typeof syntax.language !== 'string') || !this._languageService.isRegisteredMode(syntax.language))) {
|
||||
if (syntax.language && ((typeof syntax.language !== 'string') || !this._languageService.isRegisteredLanguageId(syntax.language))) {
|
||||
collector.error(nls.localize('invalid.language', "Unknown language in `contributes.{0}.language`. Provided value: {1}", grammarsExtPoint.name, String(syntax.language)));
|
||||
return false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user