mirror of
https://github.com/Microsoft/vscode
synced 2024-08-27 04:49:35 +00:00
Split isRegisteredMode
into isRegisteredLanguageId
and isRegisteredMimeType
This commit is contained in:
parent
0c202aa22a
commit
fcf55dce4a
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue