Ash # Theme
Publisher: AshrafSadaVsCodeExtsThemes in package: 1
Dark Theme for better syntax colorization for C# ASP.Net, razor, blazor, in addiotion to javascript, html, css, and json
Dark Theme for better syntax colorization for C# ASP.Net, razor, blazor, in addiotion to javascript, html, css, and json
Full workbench mockup using this variant's colors and tokenColors.
Loading...
Workbench UI color keys from the theme JSON colors map.
TextMate scopes and font styles (syntax highlighting rules).
| scope | foreground | fontStyle |
|---|---|---|
| text.log | #947979 | |
| log.date | #80708d | |
| log.string | #7d8379 | |
| log.constant | #6e8870 | |
| log.warning | #bd850e | |
| log.error | #b60c0c | |
| log.debug | #a10a6f | |
| log.trace | #9b497f | |
| log.info | #0b5a9b | |
| string.quoted.double.json.comments, string.json.comments | #9e9e9e | |
| support.type.property-name.json | #08917a | |
| punctuation.separator.dictionary.key-value.json.comments | #1dd396 | |
| constant.numeric.json.comments, constant.language.json.comments | #4a788c | |
| punctuation.definition.string.begin.json.comments, punctuation.definition.string.end.json.comments | #608e7f | |
| punctuation.definition.dictionary.begin.json.comments, punctuation.definition.dictionary.end.json.comments, punctuation.definition.array.begin.json.comments, punctuation.definition.array.end.json.comments | #b29008 | |
| meta.tag.preprocessor.xml, text.xml | #286D70 | |
| punctuation.definition.tag.xml | #36703f | |
| entity.name.tag.xml | #b13086 | |
| entity.other.attribute-name.xml | #889419 | |
| entity.name.tag.localname.xml | #935D65D8 | |
| entity.other.attribute-name.localname.xml | #7d6091 | |
| comment, comment.block, comment.line, comment.block.documentation, comment.line.double-slash, keyword.control.razor.comment.star, comment.line.number-sign.ini | #475754 | |
| meta.structure.dictionary, meta.structure.array, meta.brace.round, meta.brace.square, punctuation.curlybrace.close, punctuation.curlybrace.open, punctuation.definition.parameters.begin, punctuation.definition.parameters.end, punctuation.definition.string.begin, punctuation.definition.string.end, punctuation.parenthesis.close, punctuation.parenthesis.open, punctuation.squarebracket.close, punctuation.squarebracket.open, punctuation.support.type.property-name.begin, punctuation.support.type.property-name.end, punctuation.definition.block, punctuation.section.property-list.begin.bracket.curly, punctuation.section.property-list.end.bracket.curly, punctuation.definition.parameters.begin.bracket.round, punctuation.definition.parameters.end.bracket.round, punctuation.section.media.begin.bracket.curly, punctuation.section.media.end.bracket.curly, punctuation.definition.entity.begin.bracket.square, punctuation.definition.entity.end.bracket.square, punctuation.definition.constant, punctuation.definition.tag.begin, punctuation.definition.tag.end, punctuation.separator.key-value | #797979 | |
| punctuation.accessor, punctuation.separator.colon, punctuation.separator.comma, punctuation.separator.list.comma, punctuation.separator.question-mark, punctuation.statement.terminator, punctuation.terminator, punctuation.terminator.statement, punctuation.terminator.rule, keyword.control.razor.optionalSemicolon | #728AAE | |
| punctuation.definition.string.template.begin, punctuation.definition.string.template.end | #19b1b6 | |
| keyword.preprocessor.default, keyword.preprocessor.define, keyword.preprocessor.elif, keyword.preprocessor.else, keyword.preprocessor.endif, keyword.preprocessor.endregion.cs, keyword.preprocessor.pragma.cpp, keyword.preprocessor.pragma, keyword.preprocessor.endregion, keyword.preprocessor.error, keyword.preprocessor.hidden, keyword.preprocessor.if, keyword.preprocessor.line, keyword.preprocessor.region.cs, keyword.preprocessor.region, keyword.preprocessor.undef, keyword.preprocessor.warning, keyword.preprocessor | #722862 | |
| meta.preprocessor, meta.preprocessor.cs | #797979 | |
| keyword.type.string, keyword.type.object | #c76d56 | |
| keyword.type.bool | #9b40a3 | |
| keyword.type.int, keyword.type.short, keyword.type.long, keyword.type.decimal, constant.numeric, constant.numeric.decimal, keyword.type.int.cs, keyword.type.short.cs, keyword.type.long.cs, keyword.type.decimal.cs, constant.numeric.cs, constant.numeric.decimal.cs, constant.language.boolean.cs, constant.language.boolean | #534896 | |
| constant.language.null.cs, constant.language.null.cpp, constant.language.nullptr.cpp, constant.language.null | #CF5901 | |
| constant.language.boolean.false.cs | #c66d13 | |
| constant.language.boolean.true.cs | #07b357 | |
| keyword.other.unit | #36a970 | |
| keyword.other.definition, keyword.other.definition.ini | #939393 | |
| source.ini, source.cs | #3E7D68 | |
| keyword.type.float, keyword.type.double | #a93675 | |
| keyword.type.void | #728792 | |
| keyword.control.flow.return, keyword.control.flow, keyword.operator.expression.nameof.cs, keyword.operator.expression.new, keyword.operator.expression.typeof.cs, keyword.operator.new | #8D6D9F | |
| keyword.operator.assignment, keyword.operator.pattern, keyword.operator.combinator | #a0a0a0 | |
| keyword.operator.arrow, keyword.operator.arrow.cs | #777FC6 | |
| punctuation.definition.keyword | #e24f94 | |
| keyword.control.conditional.if, keyword.control.conditional.switch, keyword.control.trycatch, keyword.control.exception.try, keyword.control.exception.catch, keyword.control.exception.finally, keyword.operator.arithmetic, keyword.operator.comparison, keyword.operator.conditional.colon, keyword.operator.conditional.question-mark, keyword.operator.decrement, keyword.operator.increment, keyword.operator.range.exclusive, keyword.operator.range.inclusive, keyword.operator.range, keyword.operator.ternary, storage.type.var, storage.modifier.this, variable.language.this, keyword.other.var, keyword.other.var.cs, storage.modifier.const, storage.modifier.const.cs, keyword.operator.logical, keyword.operator.logical.cs, keyword.operator.comparison, keyword.operator.comparison.cs, keyword.control.loop.in, keyword.control.conditional.when, keyword.control.conditional, keyword.control.loop, keyword.control.loop.cs, keyword.operator.null-coalescing, keyword.operator.null-coalescing.cs, keyword.operator.null-conditional, keyword.operator.null-conditional.cs, keyword.operator.expression.pattern.combinator.not, keyword.operator.expression.pattern.is, keyword.control.loop.for, keyword.control.loop.foreach, keyword.control.loop.while, keyword.control.loop.for.cs, keyword.control.loop.foreach.cs, keyword.control.loop.while.cs, keyword.control.loop.do, keyword.control.loop.do.cs | #b95a7b | |
| keyword.operator.expression.await | #7156bd | |
| storage.modifier.private, storage.modifier.private.cs, storage.modifier.private.vb | #b18391 | |
| storage.modifier.internal, storage.modifier.internal.cs | #a76377 | |
| storage.modifier.protected | #b14d6b | |
| storage.modifier.public | #a54260 | |
| storage.modifier.override, storage.modifier.readonly, storage.modifier.async | #949778 | |
| keyword.operator.relational.cs | #b9b05e | |
| storage.type.namespace | #9c3b75 | |
| storage.type.class, storage.type.class.cs, storage.type.interface, storage.type.interface.cs, storage.type.record, storage.type.record.cs, storage.type.struct, storage.type.struct.cs, storage.type.enum, storage.type.enum.cs | #3A89B5 | |
| storage.modifier.static, storage.modifier.partial | #85679C | |
| storage.type.accessor.get, storage.type.accessor.set | #ababab | |
| entity.name.type.namespace | #857563 | |
| entity.name.function.call.c, entity.name.function.call.cpp, entity.name.function.call.cs, entity.name.function, entity.name.function.ts, entity.name.function.js, entity.name.function.python, entity.name.function.go, entity.name.function.ruby, entity.name.function.php, entity.name.function.shell, entity.name.function.perl, entity.name.function.rust, entity.name.function.haskell, entity.name.function.clojure, entity.name.function.fsharp, entity.name.function.swift, entity.name.function.cs, entity.name.function.vb | #3478B1 | |
| entity.name.type, entity.name.type.cs | #899689 | |
| entity.name.type.class, entity.name.type.class.cs, entity.name.type.class.vb | #6F68A4 | |
| entity.name.type.interface | #4a8851 | |
| entity.name.type.struct | #07a8b0 | |
| variable.other.constant | #8e8a97 | |
| entity.name.variable.field | #b3a400 | |
| string.quoted.double, string.quoted.single, string.unquoted.attribute-value, text.html.derivative, text.html.cshtml, text.aspnetcorerazor | #158E5C | |
| string.template | #C37550 | |
| variable.language.base | #738d01 | |
| entity.name.variable.local, entity.name.variable.local.cs, entity.name.variable.parameter, entity.name.variable.parameter.cs, entity.name.variable.tuple-element, entity.name.variable.tuple-element.cs, variable.other.property, variable.other.object.property, variable.other.object.property.cs, variable.other.object.property.vb, variable.other.object.property.fsharp, variable.other.object.property.swift, variable.other.object.property.go, variable.other.object.property.rust, variable.other.object.property.haskell, variable.other.object.property.clojure, variable.other.object.property.ruby, variable.other.object.property.perl, variable.other.object.property.shell, variable.other.object.property.python, variable.other.object.property.php, variable.other.object.property.js, variable.other.object.property.ts, variable.other.object.property.cpp, variable.other.object.property.c, variable.other.readwrite, variable.parameter, meta.parameter, variable, variable.argument | #AC874E | |
| variable.other.object, variable.other.object.cs, entity.name.variable.property, variable.other.object.property, entity.name.variable.property | #72939B | |
| storage.type.function | #9b1151 | |
| entity.name.tag.wildcard | #18b3da | underline |
| entity.other.attribute-name.class, entity.other.attribute-name | #9b4697 | |
| entity.other.attribute-name.pseudo-class | #8656b3 | |
| entity.other.attribute-name.pseudo-element | #808fa0 | |
| support.type.property-name, support.type.vendored.property-name | #397997 | |
| support.constant, support.constant.property-value | #a3a379 | |
| support.function.url | #b16243 | |
| variable.parameter.url | #868a8b | |
| support.function.misc, meta.function.variable | #9fb139 | |
| keyword.control.at-rule.media | #803eb6 | |
| meta.at-rule.media.header | #3f789e | |
| support.function.calc | #1abeb1 | |
| constant.other.color.rgb-value.hex | #37726d | |
| punctuation.definition.entity.css | #a5a5a5 | |
| punctuation.separator.key-value.html, punctuation.definition.string.begin.html, punctuation.definition.string.end.html, punctuation.definition.tag.begin.html, punctuation.definition.tag.end.html, constant.character.escape.razor.tagHelperOptOut, punctuation.definition.typeparameters.begin.cs, punctuation.definition.typeparameters.end.cs | #85857d | |
| keyword.control.cshtml.transition, constant.character.escape.razor.transition | #982941 | |
| punctuation.definition.entity.html, constant.character.entity.named, constant.character.escape | #22B5CF | |
| keyword.control.razor.directive.attribute, keyword.control.razor.directive.addTagHelper, keyword.control.razor.directive.code, meta.structure.razor.directive.codeblock, keyword.control.razor.directive.function, keyword.control.razor.directive.helper, keyword.control.razor.directive.inject, keyword.control.razor.directive.inherits, keyword.control.razor.directive.layout, keyword.control.razor.directive.model, keyword.control.razor.directive.namespace, keyword.control.razor.directive.page, keyword.control.razor.directive.removeTagHelper, keyword.control.razor.directive.rendermode, keyword.control.razor.directive.renderBody, keyword.control.razor.directive.renderSection, keyword.control.razor.directive.section, variable.other.razor.directive.sectionName, keyword.control.razor.directive.tagHelperPrefix, keyword.control.razor.directive.template, keyword.control.razor.directive.typeparam, keyword.control.razor.directive.using, keyword.control.razor.directive, keyword.control.razor.singleLineMarkup, keyword.other.directive.using, keyword.other.using.cs, keyword.other.directive.static.cs | #7A69AC | |
| keyword.control.razor.directive.codeblock.open, keyword.control.razor.directive.codeblock.close, keyword.control.razor.directive.preservewhitespace, razor.test.balanced.brackets, razor.test.balanced.parenthesis | #878d83 | |
| entity.name.tag.html | #AB4747 | |
| entity.other.attribute-name.html | #AC5B5B | |
| string.quoted.double.html, string.quoted.single.html, string.quoted.single.cshtml, string.quoted.double.cshtml | #249979 | |
| meta.structure.razor.directive.markblock, keyword.control.razor.singleLineMarkup, keyword.control.cshtml, meta.expression.explicit.cshtml | #477199 | |
| meta.expression.implicit.cshtml | #6792bb | |
| invalid.illegal.unrecognized-tag, invalid.illegal.unrecognized-tag.html, meta.structure.razor.directive.markblock | #3d768d |
TypeScript sample highlighted with this variant's colors and tokenColors.
Loading...
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}!`;
}