const vars = require('./var') module.exports = [ { name: 'import constant', scope: ['meta.import variable.other.readwrite.alias'], settings: { foreground: vars.blue2 } }, { name: 'import path', scope: ['meta.import string.quoted.single', 'meta.import string.quoted.double'], settings: { fontStyle: 'underline', foreground: vars.common } }, { name: 'import path', scope: [ 'meta.import string.quoted.single punctuation.definition.string.begin', 'meta.import string.quoted.single punctuation.definition.string.end', 'meta.import string.quoted.double punctuation.definition.string.begin', 'meta.import string.quoted.double punctuation.definition.string.end' ], 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', 'support.type.object.module', 'support.type.object.dom', 'support.constant.math', 'support.constant.json', 'meta.class.extends variable.other.readwrite', 'meta.function-call.static.without-arguments variable.other.class', 'meta.function-call.static.with-arguments variable.other.class', 'meta.property.class variable.other.class' ], 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', 'punctuation.definition.template-expression.end' ], settings: { fontStyle: '', foreground: '#ff5370' } }, { name: 'Punctuation', scope: [ 'meta.object.member meta.array.literal meta.brace.square', 'meta.object.member meta.arrow meta.brace.round', 'text.html.vue-html meta.brace.round', 'text.html.vue-html meta.directive.vue', 'string.template meta.template.expression meta.array.literal meta.brace.square', 'string.template meta.template.expression meta.brace.round', 'meta.tag.attributes punctuation.section.embedded.begin', 'meta.tag.attributes punctuation.section.embedded.end', 'meta.tag.without-attributes punctuation.section.embedded.begin', 'meta.tag.without-attributes punctuation.section.embedded.end', 'meta.type.annotation meta.brace.square' ], settings: { foreground: vars.common } }, { name: 'Variables', scope: ['string.template meta.template.expression support.variable.property'], 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 string.unquoted.label', 'constant.other.object.key string.quoted.label', 'meta.object.member meta.object-literal.key', 'meta.object.member meta.object-literal.key string.quoted.double', 'meta.object.member meta.object-literal.key string.quoted.single', 'meta.object.member meta.object-literal.key constant.numeric.decimal', 'meta.field.declaration variable.object.property' ], settings: { fontStyle: 'italic bold', foreground: vars.common } }, { name: 'jsx Tag', scope: [ 'entity.name.tag support.class.component', 'text.html.vue-html support.class.component.html' ], settings: { fontStyle: 'normal', foreground: '#ff5370' } }, { name: 'Tag Content String', scope: ['meta.tag meta.tag.without-attributes meta.jsx.children', 'meta.tag meta.jsx.children'], settings: { foreground: '#546e7a' } } ]