We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hi there!
Wanted to put this here in case anyone felt like tweaking.
I wrote a small JS function to convert json to tmTheme — it's ugly, don't hate :)
const fs = require('fs'); function generateTheme(inputFile, outputFile) { const data = fs.readFileSync(inputFile, 'utf8'); const theme = JSON.parse(data); const xml = `<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>name</key> <string>${theme.name}</string> <key>settings</key> <array> <!-- Global settings --> <dict> <key>settings</key> <dict> <key>background</key> <string>#222222</string> <key>foreground</key> <string>#EEEEEE</string> <key>caret</key> <string>#FFFFFF</string> </dict> </dict> <!-- Scope styles --> ${generateScopeStyles(theme.tokenColors)} </array> </dict> </plist>`; fs.writeFileSync(outputFile, xml); } function generateScopeStyles(tokenColors) { let scopeStyles = ''; for (const tokenColor of tokenColors) { const { scope, settings } = tokenColor; const scopeString = Array.isArray(scope) ? scope.join(', ') : scope; const settingsString = Object.entries(settings) .map(([key, value]) => { return `<key>${key}</key>\n${getValueElement(value)}`; }) .join('\n'); scopeStyles += `<dict>\n<key>name</key>\n<string>${scopeString}</string>\n<key>scope</key>\n<string>${scopeString}</string>\n<key>settings</key>\n<dict>\n${settingsString}\n</dict>\n</dict>\n`; } return scopeStyles; } function getValueElement(value) { if (typeof value === 'string') { return `<string>${escapeXML(value)}</string>`; } else { return `<string>${escapeXML(String(value))}</string>`; } } function escapeXML(value) { return value.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>'); } // Usage generateTheme('in.json', 'out.tmTheme');
I did some manual work to adjust the global settings dict.
dict
Here's the tmTheme:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC '-//Apple//DTD PLIST 1.0//EN' 'http://www.apple.com/DTDs/PropertyList-1.0.dtd'> <plist version="1.0"> <dict> <key>name</key> <string>poimandres-color-theme-storm (port)</string> <key>settings</key> <array> <!-- Global settings --> <dict> <key>settings</key> <dict> <key>background</key> <string>#252b37</string> <key>foreground</key> <string>#a6accd</string> <key>caret</key> <string>#a6accd</string> <key>lineHighlight</key> <string>#818cc425</string> <key>selection</key> <string>#818cc425</string> <key>invisibles</key> <string>#404350</string> <key>guide</key> <string>#404350</string> </dict> </dict> <!-- Scope styles --> <dict> <key>name</key> <string>comment, punctuation.definition.comment</string> <key>scope</key> <string>comment, punctuation.definition.comment</string> <key>settings</key> <dict> <key>foreground</key> <string>#868cadB0</string> <key>fontStyle</key> <string>italic</string> </dict> </dict> <dict> <key>name</key> <string>meta.parameters comment.block</string> <key>scope</key> <string>meta.parameters comment.block</string> <key>settings</key> <dict> <key>foreground</key> <string>#a6accd</string> <key>fontStyle</key> <string>italic</string> </dict> </dict> <dict> <key>name</key> <string>variable.other.constant.object, variable.other.readwrite.alias, meta.import variable.other.readwrite</string> <key>scope</key> <string>variable.other.constant.object, variable.other.readwrite.alias, meta.import variable.other.readwrite</string> <key>settings</key> <dict> <key>foreground</key> <string>#ADD7FF</string> </dict> </dict> <dict> <key>name</key> <string>variable.other, support.type.object</string> <key>scope</key> <string>variable.other, support.type.object</string> <key>settings</key> <dict> <key>foreground</key> <string>#e4f0fb</string> </dict> </dict> <dict> <key>name</key> <string>variable.other.object.property, variable.other.property, support.variable.property</string> <key>scope</key> <string>variable.other.object.property, variable.other.property, support.variable.property</string> <key>settings</key> <dict> <key>foreground</key> <string>#e4f0fb</string> </dict> </dict> <dict> <key>name</key> <string>entity.name.function.method, string.unquoted, meta.object.member</string> <key>scope</key> <string>entity.name.function.method, string.unquoted, meta.object.member</string> <key>settings</key> <dict> <key>foreground</key> <string>#ADD7FF</string> </dict> </dict> <dict> <key>name</key> <string>variable - meta.import, constant.other.placeholder, meta.object-literal.key-meta.object.member</string> <key>scope</key> <string>variable - meta.import, constant.other.placeholder, meta.object-literal.key-meta.object.member</string> <key>settings</key> <dict> <key>foreground</key> <string>#e4f0fb</string> </dict> </dict> <dict> <key>name</key> <string>keyword.control.flow</string> <key>scope</key> <string>keyword.control.flow</string> <key>settings</key> <dict> <key>foreground</key> <string>#5DE4c7c0</string> </dict> </dict> <dict> <key>name</key> <string>keyword.operator.new, keyword.control.new</string> <key>scope</key> <string>keyword.operator.new, keyword.control.new</string> <key>settings</key> <dict> <key>foreground</key> <string>#5DE4c7</string> </dict> </dict> <dict> <key>name</key> <string>variable.language.this, storage.modifier.async, storage.modifier, variable.language.super</string> <key>scope</key> <string>variable.language.this, storage.modifier.async, storage.modifier, variable.language.super</string> <key>settings</key> <dict> <key>foreground</key> <string>#5DE4c7</string> </dict> </dict> <dict> <key>name</key> <string>support.class.error, keyword.control.trycatch, keyword.operator.expression.delete, keyword.operator.expression.void, keyword.operator.void, keyword.operator.delete, constant.language.null, constant.language.boolean.false, constant.language.undefined</string> <key>scope</key> <string>support.class.error, keyword.control.trycatch, keyword.operator.expression.delete, keyword.operator.expression.void, keyword.operator.void, keyword.operator.delete, constant.language.null, constant.language.boolean.false, constant.language.undefined</string> <key>settings</key> <dict> <key>foreground</key> <string>#d0679d</string> </dict> </dict> <dict> <key>name</key> <string>variable.parameter, variable.other.readwrite.js, meta.definition.variable variable.other.constant, meta.definition.variable variable.other.readwrite</string> <key>scope</key> <string>variable.parameter, variable.other.readwrite.js, meta.definition.variable variable.other.constant, meta.definition.variable variable.other.readwrite</string> <key>settings</key> <dict> <key>foreground</key> <string>#e4f0fb</string> </dict> </dict> <dict> <key>name</key> <string>constant.other.color</string> <key>scope</key> <string>constant.other.color</string> <key>settings</key> <dict> <key>foreground</key> <string>#ffffff</string> </dict> </dict> <dict> <key>name</key> <string>invalid, invalid.illegal</string> <key>scope</key> <string>invalid, invalid.illegal</string> <key>settings</key> <dict> <key>foreground</key> <string>#d0679d</string> </dict> </dict> <dict> <key>name</key> <string>invalid.deprecated</string> <key>scope</key> <string>invalid.deprecated</string> <key>settings</key> <dict> <key>foreground</key> <string>#d0679d</string> </dict> </dict> <dict> <key>name</key> <string>keyword.control, keyword</string> <key>scope</key> <string>keyword.control, keyword</string> <key>settings</key> <dict> <key>foreground</key> <string>#a6accd</string> </dict> </dict> <dict> <key>name</key> <string>keyword.operator, storage.type</string> <key>scope</key> <string>keyword.operator, storage.type</string> <key>settings</key> <dict> <key>foreground</key> <string>#91B4D5</string> </dict> </dict> <dict> <key>name</key> <string>keyword.control.module, keyword.control.import, keyword.control.export, keyword.control.default, meta.import, meta.export</string> <key>scope</key> <string>keyword.control.module, keyword.control.import, keyword.control.export, keyword.control.default, meta.import, meta.export</string> <key>settings</key> <dict> <key>foreground</key> <string>#5DE4c7</string> </dict> </dict> <dict> <key>name</key> <string>Keyword, Storage</string> <key>scope</key> <string>Keyword, Storage</string> <key>settings</key> <dict> <key>fontStyle</key> <string>italic</string> </dict> </dict> <dict> <key>name</key> <string>keyword-meta.export</string> <key>scope</key> <string>keyword-meta.export</string> <key>settings</key> <dict> <key>foreground</key> <string>#ADD7FF</string> </dict> </dict> <dict> <key>name</key> <string>meta.brace, punctuation, keyword.operator.existential</string> <key>scope</key> <string>meta.brace, punctuation, keyword.operator.existential</string> <key>settings</key> <dict> <key>foreground</key> <string>#a6accd</string> </dict> </dict> <dict> <key>name</key> <string>constant.other.color, meta.tag, punctuation.definition.tag, punctuation.separator.inheritance.php, punctuation.definition.tag.html, punctuation.definition.tag.begin.html, punctuation.definition.tag.end.html, punctuation.section.embedded, keyword.other.template, keyword.other.substitution, meta.objectliteral</string> <key>scope</key> <string>constant.other.color, meta.tag, punctuation.definition.tag, punctuation.separator.inheritance.php, punctuation.definition.tag.html, punctuation.definition.tag.begin.html, punctuation.definition.tag.end.html, punctuation.section.embedded, keyword.other.template, keyword.other.substitution, meta.objectliteral</string> <key>settings</key> <dict> <key>foreground</key> <string>#e4f0fb</string> </dict> </dict> <dict> <key>name</key> <string>support.class.component</string> <key>scope</key> <string>support.class.component</string> <key>settings</key> <dict> <key>foreground</key> <string>#5DE4c7</string> </dict> </dict> <dict> <key>name</key> <string>entity.name.tag, entity.name.tag, meta.tag.sgml, markup.deleted.git_gutter</string> <key>scope</key> <string>entity.name.tag, entity.name.tag, meta.tag.sgml, markup.deleted.git_gutter</string> <key>settings</key> <dict> <key>foreground</key> <string>#5DE4c7</string> </dict> </dict> <dict> <key>name</key> <string>variable.function, source meta.function-call entity.name.function, source meta.function-call entity.name.function, source meta.method-call entity.name.function, meta.class meta.group.braces.curly meta.function-call variable.function, meta.class meta.field.declaration meta.function-call entity.name.function, variable.function.constructor, meta.block meta.var.expr meta.function-call entity.name.function, support.function.console, meta.function-call support.function, meta.property.class variable.other.class, punctuation.definition.entity.css</string> <key>scope</key> <string>variable.function, source meta.function-call entity.name.function, source meta.function-call entity.name.function, source meta.method-call entity.name.function, meta.class meta.group.braces.curly meta.function-call variable.function, meta.class meta.field.declaration meta.function-call entity.name.function, variable.function.constructor, meta.block meta.var.expr meta.function-call entity.name.function, support.function.console, meta.function-call support.function, meta.property.class variable.other.class, punctuation.definition.entity.css</string> <key>settings</key> <dict> <key>foreground</key> <string>#e4f0fbd0</string> </dict> </dict> <dict> <key>name</key> <string>entity.name.function, meta.class entity.name.class, meta.class entity.name.type.class, meta.class meta.function-call variable.function, keyword.other.important</string> <key>scope</key> <string>entity.name.function, meta.class entity.name.class, meta.class entity.name.type.class, meta.class meta.function-call variable.function, keyword.other.important</string> <key>settings</key> <dict> <key>foreground</key> <string>#ADD7FF</string> </dict> </dict> <dict> <key>name</key> <string>source.cpp meta.block variable.other</string> <key>scope</key> <string>source.cpp meta.block variable.other</string> <key>settings</key> <dict> <key>foreground</key> <string>#ADD7FF</string> </dict> </dict> <dict> <key>name</key> <string>support.other.variable, string.other.link</string> <key>scope</key> <string>support.other.variable, string.other.link</string> <key>settings</key> <dict> <key>foreground</key> <string>#5DE4c7</string> </dict> </dict> <dict> <key>name</key> <string>constant.numeric, support.constant, constant.character, constant.escape, keyword.other.unit, keyword.other, string, constant.language, constant.other.symbol, constant.other.key, markup.heading, markup.inserted.git_gutter, meta.group.braces.curly constant.other.object.key.js string.unquoted.label.js, text.html.derivative</string> <key>scope</key> <string>constant.numeric, support.constant, constant.character, constant.escape, keyword.other.unit, keyword.other, string, constant.language, constant.other.symbol, constant.other.key, markup.heading, markup.inserted.git_gutter, meta.group.braces.curly constant.other.object.key.js string.unquoted.label.js, text.html.derivative</string> <key>settings</key> <dict> <key>foreground</key> <string>#5DE4c7</string> </dict> </dict> <dict> <key>name</key> <string>entity.other.inherited-class</string> <key>scope</key> <string>entity.other.inherited-class</string> <key>settings</key> <dict> <key>foreground</key> <string>#ADD7FF</string> </dict> </dict> <dict> <key>name</key> <string>meta.type.declaration</string> <key>scope</key> <string>meta.type.declaration</string> <key>settings</key> <dict> <key>foreground</key> <string>#ADD7FF</string> </dict> </dict> <dict> <key>name</key> <string>entity.name.type.alias</string> <key>scope</key> <string>entity.name.type.alias</string> <key>settings</key> <dict> <key>foreground</key> <string>#a6accd</string> </dict> </dict> <dict> <key>name</key> <string>keyword.control.as, entity.name.type, support.type</string> <key>scope</key> <string>keyword.control.as, entity.name.type, support.type</string> <key>settings</key> <dict> <key>foreground</key> <string>#a6accdC0</string> </dict> </dict> <dict> <key>name</key> <string>entity.name, support.orther.namespace.use.php, meta.use.php, support.other.namespace.php, markup.changed.git_gutter, support.type.sys-types</string> <key>scope</key> <string>entity.name, support.orther.namespace.use.php, meta.use.php, support.other.namespace.php, markup.changed.git_gutter, support.type.sys-types</string> <key>settings</key> <dict> <key>foreground</key> <string>#91B4D5</string> </dict> </dict> <dict> <key>name</key> <string>support.class, support.constant, variable.other.constant.object</string> <key>scope</key> <string>support.class, support.constant, variable.other.constant.object</string> <key>settings</key> <dict> <key>foreground</key> <string>#ADD7FF</string> </dict> </dict> <dict> <key>name</key> <string>source.css support.type.property-name, source.sass support.type.property-name, source.scss support.type.property-name, source.less support.type.property-name, source.stylus support.type.property-name, source.postcss support.type.property-name</string> <key>scope</key> <string>source.css support.type.property-name, source.sass support.type.property-name, source.scss support.type.property-name, source.less support.type.property-name, source.stylus support.type.property-name, source.postcss support.type.property-name</string> <key>settings</key> <dict> <key>foreground</key> <string>#ADD7FF</string> </dict> </dict> <dict> <key>name</key> <string>entity.name.module.js, variable.import.parameter.js, variable.other.class.js</string> <key>scope</key> <string>entity.name.module.js, variable.import.parameter.js, variable.other.class.js</string> <key>settings</key> <dict> <key>foreground</key> <string>#e4f0fb</string> </dict> </dict> <dict> <key>name</key> <string>variable.language</string> <key>scope</key> <string>variable.language</string> <key>settings</key> <dict> <key>foreground</key> <string>#ADD7FF</string> <key>fontStyle</key> <string>italic</string> </dict> </dict> <dict> <key>name</key> <string>entity.name.method.js</string> <key>scope</key> <string>entity.name.method.js</string> <key>settings</key> <dict> <key>foreground</key> <string>#91B4D5</string> <key>fontStyle</key> <string>italic</string> </dict> </dict> <dict> <key>name</key> <string>meta.class-method.js entity.name.function.js, variable.function.constructor</string> <key>scope</key> <string>meta.class-method.js entity.name.function.js, variable.function.constructor</string> <key>settings</key> <dict> <key>foreground</key> <string>#91B4D5</string> </dict> </dict> <dict> <key>name</key> <string>entity.other.attribute-name</string> <key>scope</key> <string>entity.other.attribute-name</string> <key>settings</key> <dict> <key>foreground</key> <string>#91B4D5</string> <key>fontStyle</key> <string>italic</string> </dict> </dict> <dict> <key>name</key> <string>text.html.basic entity.other.attribute-name.html, text.html.basic entity.other.attribute-name</string> <key>scope</key> <string>text.html.basic entity.other.attribute-name.html, text.html.basic entity.other.attribute-name</string> <key>settings</key> <dict> <key>foreground</key> <string>#5fb3a1</string> <key>fontStyle</key> <string>italic</string> </dict> </dict> <dict> <key>name</key> <string>entity.other.attribute-name.class</string> <key>scope</key> <string>entity.other.attribute-name.class</string> <key>settings</key> <dict> <key>foreground</key> <string>#5fb3a1</string> </dict> </dict> <dict> <key>name</key> <string>source.sass keyword.control</string> <key>scope</key> <string>source.sass keyword.control</string> <key>settings</key> <dict> <key>foreground</key> <string>#42675A</string> </dict> </dict> <dict> <key>name</key> <string>markup.inserted</string> <key>scope</key> <string>markup.inserted</string> <key>settings</key> <dict> <key>foreground</key> <string>#ADD7FF</string> </dict> </dict> <dict> <key>name</key> <string>markup.deleted</string> <key>scope</key> <string>markup.deleted</string> <key>settings</key> <dict> <key>foreground</key> <string>#607487</string> </dict> </dict> <dict> <key>name</key> <string>markup.changed</string> <key>scope</key> <string>markup.changed</string> <key>settings</key> <dict> <key>foreground</key> <string>#91B4D5</string> </dict> </dict> <dict> <key>name</key> <string>string.regexp</string> <key>scope</key> <string>string.regexp</string> <key>settings</key> <dict> <key>foreground</key> <string>#5fb3a1</string> </dict> </dict> <dict> <key>name</key> <string>constant.character.escape</string> <key>scope</key> <string>constant.character.escape</string> <key>settings</key> <dict> <key>foreground</key> <string>#5fb3a1</string> </dict> </dict> <dict> <key>name</key> <string>*url*, *link*, *uri*</string> <key>scope</key> <string>*url*, *link*, *uri*</string> <key>settings</key> <dict> <key>foreground</key> <string>#ADD7FF</string> <key>fontStyle</key> <string>underline</string> </dict> </dict> <dict> <key>name</key> <string>tag.decorator.js entity.name.tag.js, tag.decorator.js punctuation.definition.tag.js</string> <key>scope</key> <string>tag.decorator.js entity.name.tag.js, tag.decorator.js punctuation.definition.tag.js</string> <key>settings</key> <dict> <key>foreground</key> <string>#42675A</string> <key>fontStyle</key> <string>italic</string> </dict> </dict> <dict> <key>name</key> <string>source.js constant.other.object.key.js string.unquoted.label.js</string> <key>scope</key> <string>source.js constant.other.object.key.js string.unquoted.label.js</string> <key>settings</key> <dict> <key>foreground</key> <string>#5fb3a1</string> <key>fontStyle</key> <string>italic</string> </dict> </dict> <dict> <key>name</key> <string>source.json meta.structure.dictionary.json support.type.property-name.json</string> <key>scope</key> <string>source.json meta.structure.dictionary.json support.type.property-name.json</string> <key>settings</key> <dict> <key>foreground</key> <string>#e4f0fb</string> </dict> </dict> <dict> <key>name</key> <string>source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json</string> <key>scope</key> <string>source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json</string> <key>settings</key> <dict> <key>foreground</key> <string>#ADD7FF</string> </dict> </dict> <dict> <key>name</key> <string>source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json</string> <key>scope</key> <string>source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json</string> <key>settings</key> <dict> <key>foreground</key> <string>#91B4D5</string> </dict> </dict> <dict> <key>name</key> <string>source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json</string> <key>scope</key> <string>source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json</string> <key>settings</key> <dict> <key>foreground</key> <string>#7390AA</string> </dict> </dict> <dict> <key>name</key> <string>source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json</string> <key>scope</key> <string>source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json</string> <key>settings</key> <dict> <key>foreground</key> <string>#e4f0fb</string> </dict> </dict> <dict> <key>name</key> <string>source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json</string> <key>scope</key> <string>source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json</string> <key>settings</key> <dict> <key>foreground</key> <string>#ADD7FF</string> </dict> </dict> <dict> <key>name</key> <string>source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json</string> <key>scope</key> <string>source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json</string> <key>settings</key> <dict> <key>foreground</key> <string>#91B4D5</string> </dict> </dict> <dict> <key>name</key> <string>source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json</string> <key>scope</key> <string>source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json</string> <key>settings</key> <dict> <key>foreground</key> <string>#7390AA</string> </dict> </dict> <dict> <key>name</key> <string>source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json</string> <key>scope</key> <string>source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json</string> <key>settings</key> <dict> <key>foreground</key> <string>#e4f0fb</string> </dict> </dict> <dict> <key>name</key> <string>text.html.markdown, punctuation.definition.list_item.markdown</string> <key>scope</key> <string>text.html.markdown, punctuation.definition.list_item.markdown</string> <key>settings</key> <dict> <key>foreground</key> <string>#e4f0fb</string> </dict> </dict> <dict> <key>name</key> <string>text.html.markdown markup.inline.raw.markdown</string> <key>scope</key> <string>text.html.markdown markup.inline.raw.markdown</string> <key>settings</key> <dict> <key>foreground</key> <string>#ADD7FF</string> </dict> </dict> <dict> <key>name</key> <string>text.html.markdown markup.inline.raw.markdown punctuation.definition.raw.markdown</string> <key>scope</key> <string>text.html.markdown markup.inline.raw.markdown punctuation.definition.raw.markdown</string> <key>settings</key> <dict> <key>foreground</key> <string>#91B4D5</string> </dict> </dict> <dict> <key>name</key> <string>markdown.heading, markup.heading | markup.heading entity.name, markup.heading.markdown punctuation.definition.heading.markdown</string> <key>scope</key> <string>markdown.heading, markup.heading | markup.heading entity.name, markup.heading.markdown punctuation.definition.heading.markdown</string> <key>settings</key> <dict> <key>foreground</key> <string>#e4f0fb</string> </dict> </dict> <dict> <key>name</key> <string>markup.italic</string> <key>scope</key> <string>markup.italic</string> <key>settings</key> <dict> <key>foreground</key> <string>#7390AA</string> <key>fontStyle</key> <string>italic</string> </dict> </dict> <dict> <key>name</key> <string>markup.bold, markup.bold string</string> <key>scope</key> <string>markup.bold, markup.bold string</string> <key>settings</key> <dict> <key>foreground</key> <string>#7390AA</string> <key>fontStyle</key> <string>bold</string> </dict> </dict> <dict> <key>name</key> <string>markup.bold markup.italic, markup.italic markup.bold, markup.quote markup.bold, markup.bold markup.italic string, markup.italic markup.bold string, markup.quote markup.bold string</string> <key>scope</key> <string>markup.bold markup.italic, markup.italic markup.bold, markup.quote markup.bold, markup.bold markup.italic string, markup.italic markup.bold string, markup.quote markup.bold string</string> <key>settings</key> <dict> <key>foreground</key> <string>#7390AA</string> <key>fontStyle</key> <string>bold</string> </dict> </dict> <dict> <key>name</key> <string>markup.underline</string> <key>scope</key> <string>markup.underline</string> <key>settings</key> <dict> <key>foreground</key> <string>#7390AA</string> <key>fontStyle</key> <string>underline</string> </dict> </dict> <dict> <key>name</key> <string>markup.strike</string> <key>scope</key> <string>markup.strike</string> <key>settings</key> <dict> <key>fontStyle</key> <string>italic</string> </dict> </dict> <dict> <key>name</key> <string>markup.quote punctuation.definition.blockquote.markdown</string> <key>scope</key> <string>markup.quote punctuation.definition.blockquote.markdown</string> <key>settings</key> <dict> <key>foreground</key> <string>#5DE4c7</string> </dict> </dict> <dict> <key>name</key> <string>markup.quote</string> <key>scope</key> <string>markup.quote</string> <key>settings</key> <dict> <key>fontStyle</key> <string>italic</string> </dict> </dict> <dict> <key>name</key> <string>string.other.link.title.markdown</string> <key>scope</key> <string>string.other.link.title.markdown</string> <key>settings</key> <dict> <key>foreground</key> <string>#ADD7FF</string> </dict> </dict> <dict> <key>name</key> <string>string.other.link.description.title.markdown</string> <key>scope</key> <string>string.other.link.description.title.markdown</string> <key>settings</key> <dict> <key>foreground</key> <string>#ADD7FF</string> </dict> </dict> <dict> <key>name</key> <string>constant.other.reference.link.markdown</string> <key>scope</key> <string>constant.other.reference.link.markdown</string> <key>settings</key> <dict> <key>foreground</key> <string>#ADD7FF</string> </dict> </dict> <dict> <key>name</key> <string>markup.raw.block</string> <key>scope</key> <string>markup.raw.block</string> <key>settings</key> <dict> <key>foreground</key> <string>#ADD7FF</string> </dict> </dict> <dict> <key>name</key> <string>markup.raw.block.fenced.markdown</string> <key>scope</key> <string>markup.raw.block.fenced.markdown</string> <key>settings</key> <dict> <key>foreground</key> <string>#60748750</string> </dict> </dict> <dict> <key>name</key> <string>punctuation.definition.fenced.markdown</string> <key>scope</key> <string>punctuation.definition.fenced.markdown</string> <key>settings</key> <dict> <key>foreground</key> <string>#60748750</string> </dict> </dict> <dict> <key>name</key> <string>markup.raw.block.fenced.markdown, variable.language.fenced.markdown, punctuation.section.class.end</string> <key>scope</key> <string>markup.raw.block.fenced.markdown, variable.language.fenced.markdown, punctuation.section.class.end</string> <key>settings</key> <dict> <key>foreground</key> <string>#91B4D5</string> </dict> </dict> <dict> <key>name</key> <string>variable.language.fenced.markdown</string> <key>scope</key> <string>variable.language.fenced.markdown</string> <key>settings</key> <dict> <key>foreground</key> <string>#91B4D5</string> </dict> </dict> <dict> <key>name</key> <string>meta.separator</string> <key>scope</key> <string>meta.separator</string> <key>settings</key> <dict> <key>foreground</key> <string>#7390AA</string> <key>fontStyle</key> <string>bold</string> </dict> </dict> <dict> <key>name</key> <string>markup.table</string> <key>scope</key> <string>markup.table</string> <key>settings</key> <dict> <key>foreground</key> <string>#ADD7FF</string> </dict> </dict> <dict> <key>name</key> <string>token.info-token</string> <key>scope</key> <string>token.info-token</string> <key>settings</key> <dict> <key>foreground</key> <string>#89ddff</string> </dict> </dict> <dict> <key>name</key> <string>token.warn-token</string> <key>scope</key> <string>token.warn-token</string> <key>settings</key> <dict> <key>foreground</key> <string>#fffac2</string> </dict> </dict> <dict> <key>name</key> <string>token.error-token</string> <key>scope</key> <string>token.error-token</string> <key>settings</key> <dict> <key>foreground</key> <string>#d0679d</string> </dict> </dict> <dict> <key>name</key> <string>token.debug-token</string> <key>scope</key> <string>token.debug-token</string> <key>settings</key> <dict> <key>foreground</key> <string>#e4f0fb</string> </dict> </dict> <dict> <key>name</key> <string>entity.name.section.markdown, markup.heading.setext.1.markdown, markup.heading.setext.2.markdown</string> <key>scope</key> <string>entity.name.section.markdown, markup.heading.setext.1.markdown, markup.heading.setext.2.markdown</string> <key>settings</key> <dict> <key>foreground</key> <string>#e4f0fb</string> <key>fontStyle</key> <string>bold</string> </dict> </dict> <dict> <key>name</key> <string>meta.paragraph.markdown</string> <key>scope</key> <string>meta.paragraph.markdown</string> <key>settings</key> <dict> <key>foreground</key> <string>#e4f0fbd0</string> </dict> </dict> <dict> <key>name</key> <string>punctuation.definition.from-file.diff, meta.diff.header.from-file</string> <key>scope</key> <string>punctuation.definition.from-file.diff, meta.diff.header.from-file</string> <key>settings</key> <dict> <key>foreground</key> <string>#607487</string> </dict> </dict> <dict> <key>name</key> <string>markup.inline.raw.string.markdown</string> <key>scope</key> <string>markup.inline.raw.string.markdown</string> <key>settings</key> <dict> <key>foreground</key> <string>#7390AA</string> </dict> </dict> <dict> <key>name</key> <string>meta.separator.markdown</string> <key>scope</key> <string>meta.separator.markdown</string> <key>settings</key> <dict> <key>foreground</key> <string>#868cad</string> </dict> </dict> <dict> <key>name</key> <string>markup.bold.markdown</string> <key>scope</key> <string>markup.bold.markdown</string> <key>settings</key> <dict> <key>fontStyle</key> <string>bold</string> </dict> </dict> <dict> <key>name</key> <string>markup.italic.markdown</string> <key>scope</key> <string>markup.italic.markdown</string> <key>settings</key> <dict> <key>fontStyle</key> <string>italic</string> </dict> </dict> <dict> <key>name</key> <string>beginning.punctuation.definition.list.markdown, punctuation.definition.list.begin.markdown, markup.list.unnumbered.markdown</string> <key>scope</key> <string>beginning.punctuation.definition.list.markdown, punctuation.definition.list.begin.markdown, markup.list.unnumbered.markdown</string> <key>settings</key> <dict> <key>foreground</key> <string>#ADD7FF</string> </dict> </dict> <dict> <key>name</key> <string>string.other.link.description.title.markdown punctuation.definition.string.markdown, meta.link.inline.markdown string.other.link.description.title.markdown, string.other.link.description.title.markdown punctuation.definition.string.begin.markdown, string.other.link.description.title.markdown punctuation.definition.string.end.markdown, meta.image.inline.markdown string.other.link.description.title.markdown</string> <key>scope</key> <string>string.other.link.description.title.markdown punctuation.definition.string.markdown, meta.link.inline.markdown string.other.link.description.title.markdown, string.other.link.description.title.markdown punctuation.definition.string.begin.markdown, string.other.link.description.title.markdown punctuation.definition.string.end.markdown, meta.image.inline.markdown string.other.link.description.title.markdown</string> <key>settings</key> <dict> <key>foreground</key> <string>#ADD7FF</string> <key>fontStyle</key> <string/> </dict> </dict> <dict> <key>name</key> <string>meta.link.inline.markdown string.other.link.title.markdown, meta.link.reference.markdown string.other.link.title.markdown, meta.link.reference.def.markdown markup.underline.link.markdown</string> <key>scope</key> <string>meta.link.inline.markdown string.other.link.title.markdown, meta.link.reference.markdown string.other.link.title.markdown, meta.link.reference.def.markdown markup.underline.link.markdown</string> <key>settings</key> <dict> <key>foreground</key> <string>#ADD7FF</string> <key>fontStyle</key> <string>underline</string> </dict> </dict> <dict> <key>name</key> <string>markup.underline.link.markdown, string.other.link.description.title.markdown</string> <key>scope</key> <string>markup.underline.link.markdown, string.other.link.description.title.markdown</string> <key>settings</key> <dict> <key>foreground</key> <string>#5DE4c7</string> </dict> </dict> <dict> <key>name</key> <string>fenced_code.block.language, markup.inline.raw.markdown</string> <key>scope</key> <string>fenced_code.block.language, markup.inline.raw.markdown</string> <key>settings</key> <dict> <key>foreground</key> <string>#ADD7FF</string> </dict> </dict> <dict> <key>name</key> <string>punctuation.definition.markdown, punctuation.definition.raw.markdown, punctuation.definition.heading.markdown, punctuation.definition.bold.markdown, punctuation.definition.italic.markdown</string> <key>scope</key> <string>punctuation.definition.markdown, punctuation.definition.raw.markdown, punctuation.definition.heading.markdown, punctuation.definition.bold.markdown, punctuation.definition.italic.markdown</string> <key>settings</key> <dict> <key>foreground</key> <string>#ADD7FF</string> </dict> </dict> <dict> <key>name</key> <string>source.ignore, log.error, log.exception</string> <key>scope</key> <string>source.ignore, log.error, log.exception</string> <key>settings</key> <dict> <key>foreground</key> <string>#d0679d</string> </dict> </dict> <dict> <key>name</key> <string>log.verbose</string> <key>scope</key> <string>log.verbose</string> <key>settings</key> <dict> <key>foreground</key> <string>#a6accd</string> </dict> </dict> </array> </dict> </plist>
The text was updated successfully, but these errors were encountered:
No branches or pull requests
Hi there!
Wanted to put this here in case anyone felt like tweaking.
I wrote a small JS function to convert json to tmTheme — it's ugly, don't hate :)
Code
I did some manual work to adjust the global settings
dict
.Here's the tmTheme:
The text was updated successfully, but these errors were encountered: