提交 4796310c 编写于 作者: M Martin Aeschlimann

token types: remove super type for built-in types

上级 12509673
......@@ -402,21 +402,21 @@ function registerDefaultClassifications(): void {
registerTokenType('namespace', nls.localize('namespace', "Style for namespaces."), [['entity.name.namespace']]);
registerTokenType('type', nls.localize('type', "Style for types."), [['entity.name.type'], ['support.type'], ['support.class']]);
registerTokenType('struct', nls.localize('struct', "Style for structs."), [['storage.type.struct']], 'type');
registerTokenType('class', nls.localize('class', "Style for classes."), [['entity.name.type.class']], 'type');
registerTokenType('interface', nls.localize('interface', "Style for interfaces."), [['entity.name.type.interface']], 'type');
registerTokenType('enum', nls.localize('enum', "Style for enums."), [['entity.name.type.enum']], 'type');
registerTokenType('typeParameter', nls.localize('typeParameter', "Style for type parameters."), [['entity.name.type', 'meta.type.parameters']], 'type');
registerTokenType('struct', nls.localize('struct', "Style for structs."), [['storage.type.struct']]);
registerTokenType('class', nls.localize('class', "Style for classes."), [['entity.name.type.class']]);
registerTokenType('interface', nls.localize('interface', "Style for interfaces."), [['entity.name.type.interface']]);
registerTokenType('enum', nls.localize('enum', "Style for enums."), [['entity.name.type.enum']]);
registerTokenType('typeParameter', nls.localize('typeParameter', "Style for type parameters."), [['entity.name.type', 'meta.type.parameters']]);
registerTokenType('function', nls.localize('function', "Style for functions"), [['entity.name.function'], ['support.function']]);
registerTokenType('member', nls.localize('member', "Style for member"), [['entity.name.function.member'], ['support.function']]);
registerTokenType('macro', nls.localize('macro', "Style for macros."), [['entity.name.other.preprocessor.macro']], 'function');
registerTokenType('macro', nls.localize('macro', "Style for macros."), [['entity.name.other.preprocessor.macro']]);
registerTokenType('variable', nls.localize('variable', "Style for variables."), [['variable.other.readwrite'], ['entity.name.variable']]);
registerTokenType('parameter', nls.localize('parameter', "Style for parameters."), [['variable.parameter']], 'variable');
registerTokenType('property', nls.localize('property', "Style for properties."), [['variable.other.property']], 'variable');
registerTokenType('enumMember', nls.localize('enumMember', "Style for enum members."), [['variable.other.enummember']], 'variable');
registerTokenType('event', nls.localize('event', "Style for events."), [['variable.other.event']], 'variable');
registerTokenType('parameter', nls.localize('parameter', "Style for parameters."), [['variable.parameter']]);
registerTokenType('property', nls.localize('property', "Style for properties."), [['variable.other.property']]);
registerTokenType('enumMember', nls.localize('enumMember', "Style for enum members."), [['variable.other.enummember']]);
registerTokenType('event', nls.localize('event', "Style for events."), [['variable.other.event']]);
registerTokenType('label', nls.localize('labels', "Style for labels. "), undefined);
......
......@@ -316,23 +316,25 @@ suite('Themes - TokenStyleResolving', () => {
test('super type', async () => {
getTokenClassificationRegistry().registerTokenType('myTestInterface', 'A type just for testing', 'interface');
getTokenClassificationRegistry().registerTokenType('myTestSubInterface', 'A type just for testing', 'myTestInterface');
try {
const themeData = ColorThemeData.createLoadedEmptyTheme('test', 'test');
themeData.setCustomColors({ 'editor.foreground': '#000000' });
themeData.setCustomTokenStyleRules({
'type': '#ff0000',
'interface': { fontStyle: 'italic' },
'type.static': { fontStyle: 'bold' }
'interface': '#ff0000',
'myTestInterface': { fontStyle: 'italic' },
'interface.static': { fontStyle: 'bold' }
});
assertTokenStyles(themeData, { 'myTestInterface': ts('#ff0000', { italic: true }) });
assertTokenStyles(themeData, { 'myTestInterface.static': ts('#ff0000', { italic: true, bold: true }) });
assertTokenStyles(themeData, { 'myTestSubInterface': ts('#ff0000', { italic: true }) });
assertTokenStyles(themeData, { 'myTestSubInterface.static': ts('#ff0000', { italic: true, bold: true }) });
themeData.setCustomTokenStyleRules({
'type': '#ff0000',
'interface': { foreground: '#ff00ff', fontStyle: 'italic' }
'interface': '#ff0000',
'myTestInterface': { foreground: '#ff00ff', fontStyle: 'italic' }
});
assertTokenStyles(themeData, { 'myTestInterface': ts('#ff00ff', { italic: true }) });
assertTokenStyles(themeData, { 'myTestSubInterface': ts('#ff00ff', { italic: true }) });
} finally {
getTokenClassificationRegistry().deregisterTokenType('myTestInterface');
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册