const vars = require('./var') module.exports = [ { name: 'import constant', scope: [ 'meta.import.js variable.other.readwrite.alias.js', 'meta.import.ts variable.other.readwrite.alias.ts' ], settings: { foreground: vars.blue2 } }, { name: 'import path', scope: [ 'meta.import.js string.quoted.single.js', 'meta.import.js string.quoted.double.js', 'meta.import.ts string.quoted.single.ts', 'meta.import.ts string.quoted.double.ts' ], settings: { fontStyle: 'underline', foreground: vars.common } }, { name: 'import path', scope: [ 'meta.import.js string.quoted.single.js punctuation.definition.string.begin.js', 'meta.import.js string.quoted.double.js punctuation.definition.string.begin.js', 'meta.import.js string.quoted.single.js punctuation.definition.string.end.js', 'meta.import.js string.quoted.double.js punctuation.definition.string.end.js', 'meta.import.ts string.quoted.single.ts punctuation.definition.string.begin.ts', 'meta.import.ts string.quoted.double.ts punctuation.definition.string.begin.ts', 'meta.import.ts string.quoted.single.ts punctuation.definition.string.end.ts', 'meta.import.ts string.quoted.double.ts punctuation.definition.string.end.ts' ], settings: { fontStyle: 'none' } }, { name: 'Decorators', scope: [ 'tag.decorator.js entity.name.tag.js', 'tag.decorator.js punctuation.definition.tag.js' ], settings: { fontStyle: 'italic', foreground: '#6182B8' } }, { name: 'meta.method.js', scope: ['meta.class-method.js entity.name.function.js', 'variable.function.constructor'], settings: { foreground: '#6182B8' } }, { name: 'entity.name.method.js', scope: ['entity.name.method.js'], settings: { fontStyle: 'italic', foreground: '#6182B8' } }, { name: 'Class extends, build-in, dom', scope: [ 'support.type.object.console.js', 'support.type.object.module.js', 'support.type.object.dom.js', 'support.constant.math', 'support.constant.json', 'meta.class.extends.js variable.other.readwrite.js', 'meta.function-call.static.without-arguments.js variable.other.class.js', 'meta.function-call.static.with-arguments.js variable.other.class.js', 'meta.property.class.js variable.other.class.js' ], settings: { fontStyle: 'bold italic', foreground: '#ffb62c' } }, { name: 'new Class', scope: ['new.expr entity.name.type'], settings: { fontStyle: 'bold', foreground: '#ffb62c' } }, { name: 'js/ts doc', scope: [ 'comment.block.documentation entity.name.type.instance.jsdoc', 'comment.block.documentation constant.other.email.link.underline.jsdoc' ], settings: { fontStyle: 'italic', foreground: '#b6d5e0' } }, { name: 'js/ts doc email', scope: ['comment.block.documentation constant.other.email.link.underline.jsdoc'], settings: { fontStyle: 'italic underline' } }, { name: 'ts string express', scope: [ 'punctuation.definition.template-expression.begin.ts', 'punctuation.definition.template-expression.end.ts', 'punctuation.definition.template-expression.begin.js', 'punctuation.definition.template-expression.end.js' ], settings: { fontStyle: '', foreground: '#ff5370' } }, { name: 'Punctuation', scope: [ 'meta.object.member.js meta.array.literal.js meta.brace.square.js', 'meta.object.member.js meta.arrow.js meta.brace.round.js', 'string.template.js meta.template.expression.js meta.array.literal.js meta.brace.square.js', 'string.template.js meta.template.expression.js meta.brace.round.js', 'string.template.ts meta.template.expression.ts meta.array.literal.ts meta.brace.square.ts', 'string.template.ts meta.template.expression.ts meta.brace.round.ts' ], settings: { foreground: vars.common } }, { name: 'Variables', scope: [ 'string.template.js meta.template.expression.js support.variable.property.js', 'string.template.ts meta.template.expression.ts support.variable.property.ts' ], settings: { foreground: vars.common2 } }, { name: 'build-in function', scope: [ 'source.js support.function.node.js', 'meta.group.braces.curly.js support.function', 'meta.function-call.ts support.function.ts', 'meta.function-call.js support.function.js', 'support.function.builtin.js' ], settings: { fontStyle: 'italic', foreground: vars.magenta1 } }, { name: 'js/ts italic', scope: [ 'entity.other.attribute-name.js', 'entity.other.attribute-name.ts', 'entity.other.attribute-name.jsx', 'entity.other.attribute-name.tsx' ], settings: { fontStyle: 'italic' } }, { name: 'Build-in props', scope: [ 'meta.group.braces.round variable.other.constant', 'support.type.object.module keyword.operator.accessor', 'support.constant.property.math.ts' ], settings: { fontStyle: 'italic bold', foreground: vars.common } }, // ts 类型 { name: 'ts primitive/builtin types', scope: [ 'support.type.primitive.ts', 'support.type.builtin.ts', 'support.type.primitive.tsx', 'support.type.builtin.tsx', 'entity.name.type.module', 'entity.name.type' ], settings: { foreground: '#e5c07b', fontStyle: 'bold italic' } }, { name: 'object keys', scope: [ 'constant.other.object.key.js string.unquoted.label.js', 'constant.other.object.key.js string.quoted.label.js', 'meta.object.member.js meta.object-literal.key.js string.quoted.double.js', 'meta.object.member.js meta.object-literal.key.js string.quoted.single.js', 'meta.object.member.js meta.object-literal.key.js constant.numeric.decimal.js', 'meta.objectliteral.js meta.object.member.js meta.object-literal.key.js' ], settings: { fontStyle: 'italic bold', foreground: vars.common } } ]