M Tech Themes
Publisher: M-TechThemes in package: 23
✨ Professional dark & light theme + icon pack, from the author of the original M Tech color scheme.
✨ Professional dark & light theme + icon pack, from the author of the original M Tech color scheme.
Full workbench mockup using this variant's colors and tokenColors.
Workbench UI color keys from the theme JSON colors map.
TextMate scopes and font styles (syntax highlighting rules).
| scope | foreground | fontStyle |
|---|---|---|
| comment, comment markup.underline.link, comment string, comment punctuation.definition, comment punctuation, comment text | #60554e | italic |
| comment storage.type | #60554e | — |
| comment entity.name.type | #60554e | — |
| comment variable, comment variable.other | #60554e | — |
| comment keyword, comment entity.name.tag, entity.name.tag.documentation | #60554e | — |
| comment keyword.codetag.notation | #6e4e06 | — |
| comment.git-status.header.remote | #3f5640 | — |
| comment.git-status.header.local | #74502d | — |
| comment.other.git-status.head | #465d46 | — |
| string.quoted.docstring, string.quoted.docstring punctuation.definition | #803f22 | — |
| constant | #A64B16 | — |
| constant.other | #A64B16 | — |
| constant.other.caps | #A64B16 | — |
| constant.other.placeholder | #A64B16 | — |
| constant.other.property | #A64B16 | — |
| constant.other.citation.latex | #A64B16 | — |
| constant.other.color | #A64B16 | — |
| constant.other.character-class.escape | #A64B16 | — |
| constant.other.key | #A64B16 | — |
| constant.other.symbol | #A64B16 | — |
| constant.other.elm | #A64B16 | — |
| constant.numeric | #A64B16 | — |
| constant.language | #A64B16 | — |
| constant.character.escape | #A64B16 | — |
| constant.numeric.line-number.find-in-files | #7A6B62 | — |
| constant.numeric.line-number.match.find-in-files | #8B6506 | — |
| entity.name.section | #8B4513 | — |
| entity.name.function, entity.name.function.templated, entity.name.function.member.static | #9B5C24 | — |
| entity.name.type.class.templated, entity.name.type.class.generic, entity.name.type.namespace | #8B4513 | — |
| entity.name.label | #8B4513 | — |
| entity.name.function.preprocessor | #9B5C24 | — |
| entity.name | #8B4513 | — |
| entity.name.class | #8B4513 | — |
| entity.name.constant | #D2691E | — |
| entity.name.namespace | #8B4513 | — |
| entity.other.inherited-class | #8B4513 | italic |
| entity.name.function | #9B5C24 | — |
| entity.name.tag, entity.name.tag.js.jsx support.class.component.js.jsx, entity.name.tag support.class.component, source.vue support.class.component | #8B4513 | — |
| source.ansible entity.name.tag | #8B4513 | — |
| entity.name.function.operator | #3E2723 | — |
| meta.brackets entity.name.function.operator, punctuation.separator entity.name.function.operator | #3E2723 | — |
| entity.name.type, entity.name.type.class.reference, entity.name.type.class.value | #8B4513 | — |
| entity.other.attribute-name | #9B5C24 | italic |
| entity.other.attribute-name.class.css, entity.other.attribute-name.parent-selector-suffix.css, entity.other.attribute-name.parent-selector-suffix.css punctuation.definition.entity.css, entity.other.attribute-name.css, entity.other.animation-name.css | #8B4513 | — |
| entity.other.attribute-name.id.css | #D2691E | — |
| entity.other.attribute-name.pseudo-class.css, entity.other.pseudo-class.css, entity.other.pseudo-element.css | #8B4513 | italic |
| entity.name.function, support.function | #9B5C24 | — |
| entity.other.git-status.hex | #9B6B3F | — |
| entity.other.jinja2.delimiter | #8B4513 | — |
| entity.name.operator.custom-literal | #D2691E | — |
| entity.name.operator.custom-literal.string | #A0522D | — |
| entity.name.operator.custom-literal.number | #D2691E | — |
| entity.name.type.rust | #8B4513 | — |
| entity.name.lifetime.rust | #A07B2E | — |
| invalid | #C41E3A | italic underline |
| invalid.deprecated | #A07B2E | italic underline |
| keyword | #8B4513 | — |
| keyword.control | #8B4513 | — |
| keyword.control.directive | #8B4513 | — |
| keyword.operator, keyword.operator.member, keyword.operator.new | #3E2723 | — |
| keyword.other.substitution | #A0522D | — |
| keyword.other.template.begin, keyword.other.template.end | #8B4513 | — |
| keyword.operator.heading.restructuredtext, keyword.operator.table.row.restructuredtext keyword.operator.table.data.restructuredtext | #8B4513 | — |
| keyword.other.parenthesis.elm | #8B4513 | — |
| keyword.other.fn.rust, keyword.other.rust, keyword.other.unsafe.rust, keyword.other.where.rust | #8B4513 | — |
| keyword.control.rust, keyword.operator.misc.rust | #8B4513 | — |
| keyword.declaration.class.ruby, keyword.declaration.function.ruby, keyword.declaration.namespace.ruby | #8B4513 | — |
| markup.italic | — | italic |
| markup.bold | — | bold |
| markup.heading | #8B4513 | bold |
| markup.raw | #7A6B62 | — |
| markup.underline | — | underline |
| markup.underline.link | #9B6B3F | underline |
| markup.inserted, markup.inserted punctuation.definition.inserted | #4D7A4D | — |
| markup.deleted, markup.deleted punctuation.definition.deleted | #C41E3A | — |
| markup.changed, markup.changed punctuation.definition.changed | #A07B2E | — |
| markup.ignored, markup.ignored punctuation.definition.ignored | #6c5c53 | — |
| markup.untracked | #528A52 | — |
| markup.quote | — | italic |
| meta.embedded.block.frontmatter, meta.embedded.block.frontmatter punctuation.definition | — | — |
| meta.brace.round, meta.brace.square, meta.brace.curly, meta.delimiter.comma.js, meta.function-call.without-arguments.js, meta.function-call.method.without-arguments.js | #3E2723 | — |
| meta.function-call.generic.python, support.function.builtin.python | #9B5C24 | — |
| meta.function-call.python meta.function-call.arguments.python | #3E2723 | — |
| meta.interpolation | #A0522D | — |
| meta.instance.constructor | #8B4513 | — |
| meta.attribute-with-value.class string, meta.attribute.class.html string | #A0522D | — |
| meta.attribute-with-value.id string, meta.attribute.id.html string | #A0522D | — |
| source.json meta.mapping.key string | #8B4513 | — |
| source.yaml meta.mapping.key string | #8B4513 | — |
| meta.object.member | #3E2723 | — |
| meta.property-list.css variable.other | #D2691E | — |
| entity.name.constant.preprocessor, meta.preprocessor | #8B4513 | — |
| meta.diff.git-diff.header | #9B6B3F | — |
| meta.type_params.rust | #8B4513 | — |
| meta.attribute.rust, meta.annotation.rust, variable.language.rust, variable.annotation.rust, meta.annotation.rust string, meta.annotation.rust keyword, meta.annotation.rust keyword.operator, meta.attribute.rust string | #A07B2E | — |
| meta.type variable, meta.type variable.other.readwrite | #8B4513 | — |
| punctuation | #3E2723 | — |
| punctuation.definition.tag, punctuation.definition.tag source, punctuation.definition.group.begin.ruby, punctuation.definition.group.end.ruby, punctuation.definition.group.begin.css, punctuation.definition.group.end.css, punctuation.definition.string.end.html source.css, punctuation.definition.block, punctuation.definition.parameters.begin, punctuation.definition.parameters.end, punctuation.separator.parameter, punctuation.accessor, punctuation.terminator | #3E2723 | — |
| punctuation.definition.group | #D2691E | — |
| punctuation.definition.comment | #5c4e46 | — |
| punctuation.definition.variable, punctuation.definition.keyword.scss, punctuation.definition.entity.css | #D2691E | — |
| punctuation.section.embedded, punctuation.section.embedded entity.name.tag, punctuation.section.embedded constant.other, punctuation.section.embedded source, punctuation.section.embedded.begin | #8B4513 | — |
| punctuation.template-string.element.begin, punctuation.template-string.element.end, punctuation.definition.string.template.begin, punctuation.definition.string.template.end, string.quoted.template punctuation.definition.string.begin, string.quoted.template punctuation.definition.string.end, punctuation.definition.template-expression.begin, punctuation.definition.template-expression.end | #8B4513 | — |
| meta.paragraph.markdown meta.dummy.line-break, meta.paragraph.markdown meta.hard-line-break.markdown | — | — |
| markup.underline.link punctuation | #9B6B3F | — |
| meta.brace.round, meta.brace.square, keyword.operator.type.annotation, meta.type storage.modifier.array | #3E2723 | — |
| region.redish | #C41E3A | — |
| region.orangish | #D2691E | — |
| region.yellowish | #A07B2E | — |
| region.greenish | #528A52 | — |
| region.bluish | #9B6B3F | — |
| region.purplish | #8B4513 | — |
| region.pinkish | #A07B2E | — |
| region.whitish | #FAF6F1 | — |
| source | #3E2723 | — |
| source.scss, source.sass | #3E2723 | — |
| source.sass variable.other, source.sass variable.sass, source.scss variable.other, source.scss variable.scss, source.scss variable.sass, source.css variable.other, source.css variable.scss, source.less variable.other, source.less variable.other.less, source.less variable.declaration.less | #D2691E | italic |
| source.git-show.commit.sha | #9B6B3F | — |
| source.git-show.author, source.git-show.date, source.git-diff.command, source.git-diff.command meta.diff.git-diff.header.from-file, source.git-diff.command meta.diff.git-diff.header.to-file | #9B6B3F | — |
| source.git-show meta.diff.git-diff.header.extended.index.from-sha, source.git-show meta.diff.git-diff.header.extended.index.to-sha | #9B6B3F | — |
| source.git-show meta.diff.range.unified | #9B6B3F | — |
| source.git-show meta.diff.header.from-file, source.git-show meta.diff.header.to-file | #9B6B3F | — |
| storage | #8B4513 | — |
| storage.type | #8B4513 | italic |
| storage.type.extends | #8B4513 | normal |
| storage.type.function.arrow | #8B4513 | normal |
| storage.modifier, storage.type.modifier | #8B4513 | italic |
| storage.class.restructuredtext.ref | #8B4513 | — |
| storage.modifier.visibility.rust, storage.modifier.lifetime.rust | #8B4513 | — |
| storage.type.rust, storage.modifier.const.rust, storage.modifier.dyn.rust, storage.modifier.mut.rust, storage.modifier.static.rust, keyword.other.rust, keyword.other.where.rust | #8B4513 | — |
| storage.modifier.import.java | #8B4513 | — |
| string | #A0522D | — |
| string.unquoted.label | #A0522D | — |
| string source | #3E2723 | — |
| string source punctuation.section.embedded, string punctuation.definition.string source | #8B4513 | — |
| string.other.link.title, string.other.link.description | #A0522D | — |
| string.other.link.description.title | #A0522D | — |
| string.regexp punctuation.definition.string.begin, string.regexp punctuation.definition.string.end | #D2691E | — |
| string.other.ref, string.other.restructuredtext.ref | #A0522D | — |
| string.other.git-status.help.key | #8C5D31 | — |
| string.other.git-status.remote | #4C724C | — |
| support.constant | #D2691E | — |
| support.constant.handlebars | #8B4513 | — |
| support.type.vendor-prefix.css | #6B5B52 | — |
| support.function | #9B5C24 | — |
| support.macro | #9B5C24 | — |
| support.function.delimiter.elm | #3E2723 | — |
| support.type, entity.name.type.object.console | #8B4513 | italic |
| support.variable, support.variable.property | #3E2723 | — |
| support.type.property-name | #8B4513 | normal |
| support.class | #8B4513 | — |
| support.constant.core.rust | #D2691E | — |
| comment support, comment support.class | #635249 | — |
| text | #3E2723 | — |
| text.find-in-files | #3E2723 | — |
| variable, variable.other | #3E2723 | — |
| variable.parameter, parameters variable.function | #3E2723 | italic |
| variable.language, variable.parameter.function.language.special.self.python, variable.parameter.function.language.special.cls.python | #9B5C24 | italic |
| variable.language.arguments | #9B5C24 | — |
| variable.other.class | #3E2723 | — |
| variable.other.constant | #D2691E | — |
| variable.other.readwrite | #3E2723 | — |
| variable.other.member | #3E2723 | — |
| variable.other.enummember | #D2691E | — |
| variable.other.property, variable.other.property.static, variable.other.event | #3E2723 | — |
| variable.function | #9B5C24 | — |
| variable.other.substitution | #A0522D | — |
| source.ruby variable.other.readwrite.instance.ruby, source.ruby variable.other.readwrite.class.ruby | #3E2723 | — |
| source.jinja2 variable.other.jinja2.block | #8B4513 | — |
| source.jinja2 variable.other.jinja2 | #3E2723 | — |
TypeScript sample highlighted with this variant's colors and tokenColors.
export interface User {
id: string;
name: string;
role: "admin" | "member";
tags: string[];
}
/**
* Fetch user data by ID
* @param id
* @returns User object or null if ID is invalid
*/
export async function fetchUser(id: string): Promise<User | null> {
if (!id) {
return null;
}
const response = await fetch(`/api/users/${id}`, {
method: "GET",
headers: { Accept: "application/json" },
});
if (!response.ok) {
throw new Error(`HTTP ${response.status}`);
}
return (await response.json()) as User;
}
function greet(user: User): string {
// Simple greeting function that uses the user's name
return `Hello, ${user.name}!`;
}
export interface User {
id: string;
name: string;
role: "admin" | "member";
tags: string[];
}
/**
* Fetch user data by ID
* @param id
* @returns User object or null if ID is invalid
*/
export async function fetchUser(id: string): Promise<User | null> {
if (!id) {
return null;
}
const response = await fetch(`/api/users/${id}`, {
method: "GET",
headers: { Accept: "application/json" },
});
if (!response.ok) {
throw new Error(`HTTP ${response.status}`);
}
return (await response.json()) as User;
}
function greet(user: User): string {
// Simple greeting function that uses the user's name
return `Hello, ${user.name}!`;
}