retroscope
Publisher: David SuThemes in package: 1
Retro theme for VS Code and Antigravity
Retro theme for VS Code and Antigravity
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 |
|---|---|---|
| comment.line.double-slash.dart | #6B5B4F | italic |
| entity.name.function.dart, storage.type.annotation.dart | #89AEA3 | — |
| keyword.operator.bitwise.dart, keyword.control.catch-exception.dart, keyword.control.return.dart, keyword.declaration.dart, keyword.operator.arithmetic.dart, keyword.operator.assignment.dart, keyword.operator.closure.dart, keyword.operator.comparison.dart, keyword.operator.ternary.dart, keyword.other.import.dart, other.source.dart, storage.modifier.dart, variable.language.dart | #F75123 | — |
| keyword.control.dart | #F5AF36 | — |
| source.dart | #FFCB93 | — |
| meta.embedded.expression.dart, punctuation.comma.dart, punctuation.dot.dart, punctuation.terminator.dart | #B58156 | — |
| storage.type.primitive.dart, support.class.dart | #F59D50 | — |
| constant.language.dart | #C79DD7 | — |
| constant.numeric.dart | #C79DD7 | — |
| string.interpolated.single.dart | #ADB26B | — |
| meta.declaration.dart, variable.parameter.dart | #FFCB93 | — |
| comment.line.number-sign.dockerfile | #6B5B4F | italic |
| punctuation.definition.comment.dockerfile | #B58156 | — |
| keyword.control.dockerfile, keyword.other.special-method.dockerfile | #F75123 | — |
| string.quoted.double.dockerfile | #ADB26B | — |
| comment.line | #6B5B4F | italic |
| punctuation.definition.comment | #B58156 | — |
| entity.name.function | #89AEA3 | — |
| keyword | #F75123 | — |
| storage.type.function, keyword.other.fn, storage.modifier | #F5AF36 | — |
| source | #FFCB93 | — |
| punctuation | #B58156 | — |
| entity.name.type, support.type | #F59D50 | — |
| constant.language | #C79DD7 | — |
| constant.numeric, constant.numeric | #C79DD7 | — |
| string | #ADB26B | — |
| constant.other, variable | #FFCB93 | — |
| comment.block.go, comment.line.double-slash.go | #6B5B4F | italic |
| punctuation.definition.comment.go | #B58156 | — |
| entity.name.function.go, entity.name.function.support.builtin.go, entity.name.function.support.go | #89AEA3 | — |
| keyword.channel.go, keyword.const.go, keyword.control.import.go, keyword.control.go, keyword.function.go, keyword.interface.go, keyword.operator.address.go, keyword.operator.arithmetic.bitwise.go, keyword.operator.assignment.go, keyword.operator.channel.go, keyword.map.go, keyword.package.go, keyword.struct.go, keyword.type.go, keyword.var.go | #F75123 | — |
| keyword.function.go | #F5AF36 | — |
| punctuation.definition.begin.bracket.curly.go, punctuation.definition.begin.bracket.round.go, punctuation.definition.begin.bracket.square.go, punctuation.definition.end.bracket.curly.go, punctuation.definition.end.bracket.round.go, punctuation.definition.end.bracket.square.go, punctuation.definition.imports.begin.bracket.round.go, punctuation.definition.imports.end.bracket.round.go, punctuation.definition.string.begin.go, punctuation.definition.string.end.go, punctuation.other.colon.go, punctuation.other.comma.go, punctuation.other.period.go, punctuation.terminator.go | #B58156 | — |
| entity.name.import.go, entity.name.type.any.go, entity.name.type.comparable.go, entity.name.type.go, entity.name.type.package.go, storage.type.boolean.go, storage.type.byte.go, storage.type.error.go, storage.type.numeric.go, storage.type.string.go | #F59D50 | — |
| constant.language.boolean.go | #C79DD7 | — |
| constant.language.iota.go | #AD74EE | — |
| constant.language.null.go | #FF7979 | — |
| constant.numeric.decimal.go | #C79DD7 | — |
| constant.other.rune.go | #F75123 | — |
| string.quoted.double.go, string.quoted.raw.go | #ADB26B | — |
| variable.other.assignment.go, variable.other.constant.go, variable.other.property.go, variable.other.go, variable.parameter.go | #FFCB93 | — |
| comment.block.documentation.json, comment.line.double-slash.js | #6B5B4F | italic |
| punctuation.definition.comment.json | #B58156 | — |
| punctuation.support.type.property-name.begin.json, punctuation.support.type.property-name.end.json, punctuation.separator.dictionary.key-value.json, punctuation.separator.dictionary.pair.json, punctuation.definition.string.begin.json, punctuation.definition.string.end.json | #B58156 | — |
| punctuation.definition.array.begin.json, punctuation.definition.array.end.json, punctuation.definition.dictionary.begin.json, punctuation.definition.dictionary.end.json | #D5712F | — |
| constant.language.json | #FF7979 | — |
| constant.character.escape.json | #789BB9 | — |
| constant.numeric.json | #C79DD7 | — |
| string.quoted.double.json | #ADB26B | — |
| support.type.property-name.json | #FFCB93 | — |
| comment.block.html | #6B5B4F | italic |
| punctuation.definition.comment.html | #B58156 | — |
| markup.fenced_code.block.markdown | #ADB26B | — |
| fenced_code.block.language, fenced_code.block.language.markdown | #AD74EE | — |
| heading.1.markdown | #F75123 | — |
| heading.2.markdown | #FF7979 | — |
| heading.3.markdown | #D5712F | — |
| heading.4.markdown | #F59D50 | — |
| heading.5.markdown | #F5AF36 | — |
| heading.6.markdown | #D29834 | — |
| entity.other.attribute-name.html | #FFCB93 | — |
| entity.name.tag.html | #F59D50 | — |
| constant.other.reference.link.markdown, markup.underline.link.image.markdown, markup.underline.link.markdown | #789BB9 | — |
| string.other.link.title.markdown | #D29834 | — |
| meta.embedded.math.markdown | #F59D50 | — |
| constant.character.math.tex | #ADB26B | — |
| entity.name.function.math.tex | #89AEA3 | — |
| constant.other.general.math.tex | #F75123 | — |
| constant.numeric.math.tex | #C79DD7 | — |
| punctuation.definition.arguments.begin.math.tex, punctuation.definition.arguments.end.math.tex, punctuation.definition.begin.frontmatter, punctuation.definition.bold.markdown, punctuation.definition.end.frontmatter, punctuation.definition.heading.markdown, punctuation.definition.italic.markdown, punctuation.definition.constant.begin.markdown, punctuation.definition.constant.end.markdown, punctuation.definition.constant.markdown, punctuation.definition.constant.math.tex, punctuation.definition.function.math.tex, punctuation.definition.link.description.begin.markdown, punctuation.definition.link.description.end.markdown, punctuation.definition.link.title.begin.markdown, punctuation.definition.link.title.end.markdown, punctuation.definition.list.begin.markdown, punctuation.definition.markdown, punctuation.definition.math.begin.markdown, punctuation.definition.math.end.markdown, punctuation.definition.metadata.markdown, punctuation.definition.quote.begin.markdown, punctuation.definition.quote.end.markdown, punctuation.definition.raw.markdown, punctuation.definition.strikethrough.markdown, punctuation.definition.string.begin.html, punctuation.definition.string.begin.markdown, punctuation.definition.string.end.html, punctuation.definition.string.end.markdown, punctuation.definition.table.markdown, punctuation.definition.tag.begin.html, punctuation.definition.tag.end.html, punctuation.math.begin.bracket.curly, punctuation.math.end.bracket.curly, punctuation.math.operator.latex, punctuation.separator.key-value.html, punctuation.separator.table.markdown | #B58156 | — |
| punctuation.separator.key-value.markdown | #D5712F | — |
| markup.bold.markdown | #F75123 | bold |
| markup.italic.markdown | #C79DD7 | italic |
| markup.strikethrough.markdown | #C79DD7 | bold |
| constant.character.escape.markdown | #789BB9 | — |
| markup.inline.raw.string.markdown, string.other.link.description.markdown, string.other.link.description.title.markdown, string.quoted.double.html | #ADB26B | — |
| text.html.markdown | #FFCB93 | — |
| comment.line.number-sign.python | #6B5B4F | italic |
| punctuation.definition.comment.python | #B58156 | — |
| entity.name.function.python, entity.name.function.decorator.python, meta.function-call.generic.python, support.function.builtin.python, variable.language.special.cls.python | #89AEA3 | — |
| keyword.control.flow.python, keyword.control.import.python, storage.type.class.python, storage.type.format.python, storage.type.function.lambda.python, storage.type.imaginary.number.python, storage.type.string.python | #F75123 | — |
| storage.type.function.python, storage.type.function.async.python | #F5AF36 | — |
| source.python | #FFCB93 | — |
| constant.character.format.placeholder.other.python, punctuation.definition.arguments.begin.python, punctuation.definition.arguments.end.python, punctuation.definition.decorator.python, punctuation.definition.dict.begin.python, punctuation.definition.dict.end.python, punctuation.definition.inheritance.begin.python, punctuation.definition.inheritance.end.python, punctuation.definition.list.begin.python, punctuation.definition.list.end.python, punctuation.definition.parameters.begin.python, punctuation.definition.parameters.end.python, punctuation.definition.string.begin.python, punctuation.definition.string.end.python, punctuation.parenthesis.begin.python, punctuation.parenthesis.end.python, punctuation.section.function.begin.python, punctuation.section.function.lambda.begin.python, punctuation.separator.annotation.result.python, punctuation.separator.arguments.python, punctuation.separator.dict.python, punctuation.separator.element.python, punctuation.separator.parameters.python, punctuation.separator.period.python | #B58156 | — |
| punctuation.separator.annotation.python, punctuation.separator.colon.python | #D5712F | — |
| support.function.magic.python, support.variable.magic.python | #AD74EE | — |
| entity.name.type.class.python, entity.other.inherited-class.python, meta.attribute.python, meta.function.parameters.python, meta.indexed-name.python, support.type.python, support.type.builtin.python, support.type.exception.python | #F59D50 | — |
| constant.language.python | #C79DD7 | — |
| constant.numeric.dec.python, constant.numeric.float.python | #C79DD7 | — |
| string.quoted.docstring.multi.python, string.quoted.double.python, string.quoted.raw.single.python, string.quoted.multi.python, string.quoted.single.python, string.quoted.binary.single.python | #ADB26B | — |
| constant.other.caps.python, constant.other.ellipsis.python, meta.fstring.python, meta.function-call.arguments.python, variable.language.special.self.python, variable.parameter.function.language.python, variable.parameter.function.language.special.self.python | #FFCB93 | — |
| support.class.builtin.tsx, support.class.promise.tsx, support.constant.math.tsx | #F5AF36 | — |
| meta.tag.without-attributes.tsx | #C9B19F | — |
| comment.block.documentation.tsx, comment.block.tsx, comment.line.double-slash.tsx | #6B5B4F | italic |
| punctuation.definition.comment.tsx | #B58156 | — |
| meta.decorator.tsx, meta.definition.function.tsx, meta.definition.method.tsx, meta.function-call.tsx, support.function.math.tsx, support.function.tsx | #89AEA3 | — |
| storage.type.function.tsx, storage.modifier.async.tsx | #F5AF36 | — |
| constant.language.import-export-all.tsx | #FFCB93 | — |
| cast.expr.tsx, keyword.control.anchor.regexp, keyword.control.as.tsx, keyword.control.conditional.tsx, keyword.control.default.tsx, keyword.control.export.tsx, keyword.control.flow.tsx, keyword.control.from.tsx, keyword.control.import.tsx, keyword.control.loop.tsx, keyword.control.satisfies.tsx, keyword.control.switch.tsx, keyword.control.trycatch.tsx, keyword.control.type.tsx, keyword.operator, keyword.operator.arithmetic.tsx, keyword.operator.assignment.tsx, keyword.operator.comparison.tsx, keyword.operator.decrement.tsx, keyword.operator.expression.import.tsx, keyword.operator.expression.of.tsx, keyword.operator.expression.typeof.tsx, keyword.operator.logical.tsx, keyword.operator.new.tsx, keyword.operator.optional.tsx, keyword.operator.relational.tsx, keyword.operator.spread.tsx, keyword.operator.ternary.tsx, keyword.operator.type.tsx, storage.type.class.tsx, storage.type.function.arrow.tsx, storage.type.interface.tsx, storage.type.namespace.tsx, storage.type.property.tsx, storage.type.type.tsx, variable.language.this.tsx, variable.language.super.tsx | #F75123 | — |
| storage.modifier.tsx, storage.type.tsx, storage.type.enum.tsx | #F75123 | — |
| meta.object-literal.key.tsx | #C9B19F | — |
| entity.name.label.tsx | #F5AF36 | — |
| source.tsx | #FFCB93 | — |
| punctuation.accessor.tsx, punctuation.accessor.optional.tsx, punctuation.decorator.tsx, punctuation.definition.binding-pattern.array.tsx, punctuation.definition.binding-pattern.object.tsx, punctuation.definition.block.tsx, punctuation.definition.section.case-statement.tsx, punctuation.definition.group.regexp, punctuation.definition.parameters.begin.tsx, punctuation.definition.parameters.end.tsx, punctuation.definition.string.begin.tsx, punctuation.definition.string.end.tsx, punctuation.definition.tag.begin.tsx, punctuation.definition.tag.directive.tsx, punctuation.definition.tag.end.tsx, punctuation.definition.template-expression.begin.tsx, punctuation.definition.template-expression.end.tsx, punctuation.definition.typeparameters.begin.tsx, punctuation.definition.typeparameters.end.tsx, punctuation.section.embedded.begin.tsx, punctuation.section.embedded.end.tsx, punctuation.separator.comma.tsx, punctuation.separator.key-value.tsx, punctuation.separator.parameter.tsx, punctuation.terminator.statement.tsx | #B58156 | — |
| keyword.operator.type.annotation.tsx, punctuation.separator.label.tsx | #D5712F | — |
| punctuation.definition.character-class.regexp | #D4A574 | — |
| keyword.operator.negation.regexp | #D5712F | — |
| constant.other.character-class, string.regexp.tsx | #ADB26B | — |
| keyword.operator.quantifier | #AD74EE | — |
| meta.brace.round.tsx | #FFCB93 | — |
| meta.brace.square.tsx | #D5712F | — |
| support.constant.property.math.tsx, support.variable.property.tsx, support.variable.property.importmeta.tsx | #AD74EE | — |
| entity.other.attribute-name.tsx | #D5712F | — |
| entity.name.tag.directive.tsx, entity.name.tag.tsx | #F59D50 | — |
| entity.name.type.tsx, entity.name.type.alias.tsx, entity.name.type.class.tsx, entity.name.type.enum.tsx, entity.name.type.interface.tsx, entity.name.type.module.tsx, entity.other.inherited-class.tsx, keyword.operator.expression.void.tsx, support.class.error.tsx, support.type.builtin.tsx, support.type.primitive.tsx | #F59D50 | — |
| constant.language.boolean.false.tsx, constant.language.boolean.true.tsx | #C79DD7 | — |
| constant.language.null.tsx, constant.language.undefined.tsx | #FF7979 | — |
| constant.numeric.decimal.tsx | #C79DD7 | — |
| string.quoted.double.tsx, string.quoted.single.tsx, string.template.tsx | #ADB26B | — |
| entity.other.attribute-name.directive.tsx, meta.block.tsx, meta.embedded.expression.tsx, meta.export.default.tsx, meta.parameters.tsx, meta.var.expr.tsx, switch-expression.expr.tsx, variable.object.property.tsx, variable.other.constant.tsx, variable.other.constant.object.tsx, variable.other.constant.property.tsx, variable.other.enummember.tsx, variable.other.object.tsx, variable.other.object.property.tsx, variable.other.property.tsx, variable.other.readwrite.alias.tsx, variable.parameter.tsx | #FFCB93 | — |
| support.class.builtin.ts, support.class.promise.ts, support.constant.math.ts | #F5AF36 | — |
| comment.block.documentation.ts, comment.block.ts, comment.line.double-slash.ts | #6B5B4F | italic |
| punctuation.definition.comment.ts | #B58156 | — |
| meta.decorator.ts, meta.definition.function.ts, meta.definition.method.ts, meta.function-call.ts, support.function.math.ts, support.function.ts | #89AEA3 | — |
| storage.type.function.ts, storage.modifier.async.ts | #F5AF36 | — |
| constant.language.import-export-all.ts | #FFCB93 | — |
| cast.expr.ts, keyword.control.anchor.regexp, keyword.control.as.ts, keyword.control.conditional.ts, keyword.control.default.ts, keyword.control.export.ts, keyword.control.flow.ts, keyword.control.from.ts, keyword.control.import.ts, keyword.control.loop.ts, keyword.control.satisfies.ts, keyword.control.switch.ts, keyword.control.trycatch.ts, keyword.control.type.ts, keyword.operator, keyword.operator.arithmetic.ts, keyword.operator.assignment.ts, keyword.operator.comparison.ts, keyword.operator.decrement.ts, keyword.operator.expression.import.ts, keyword.operator.expression.of.ts, keyword.operator.expression.typeof.ts, keyword.operator.logical.ts, keyword.operator.new.ts, keyword.operator.optional.ts, keyword.operator.relational.ts, keyword.operator.spread.ts, keyword.operator.ternary.ts, keyword.operator.type.ts, storage.type.class.ts, storage.type.function.arrow.ts, storage.type.interface.ts, storage.type.namespace.ts, storage.type.property.ts, storage.type.type.ts, variable.language.this.ts, variable.language.super.ts | #F75123 | — |
| storage.modifier.ts, storage.type.ts, storage.type.enum.ts | #F75123 | — |
| meta.object-literal.key.ts | #C9B19F | — |
| entity.name.label.ts | #F5AF36 | — |
| source.ts | #FFCB93 | — |
| punctuation.accessor.ts, punctuation.accessor.optional.ts, punctuation.decorator.ts, punctuation.definition.binding-pattern.array.ts, punctuation.definition.binding-pattern.object.ts, punctuation.definition.block.ts, punctuation.definition.section.case-statement.ts, punctuation.definition.group.regexp, punctuation.definition.parameters.begin.ts, punctuation.definition.parameters.end.ts, punctuation.definition.string.begin.ts, punctuation.definition.string.end.ts, punctuation.definition.template-expression.begin.ts, punctuation.definition.template-expression.end.ts, punctuation.definition.typeparameters.begin.ts, punctuation.definition.typeparameters.end.ts, punctuation.separator.comma.ts, punctuation.separator.key-value.ts, punctuation.separator.parameter.ts, punctuation.terminator.statement.ts | #B58156 | — |
| keyword.operator.type.annotation.ts, punctuation.separator.label.ts | #D5712F | — |
| punctuation.definition.character-class.regexp | #D4A574 | — |
| keyword.operator.negation.regexp | #D5712F | — |
| constant.other.character-class, string.regexp.ts | #ADB26B | — |
| keyword.operator.quantifier | #AD74EE | — |
| meta.brace.round.ts | #FFCB93 | — |
| meta.brace.square.ts | #D5712F | — |
| support.constant.property.math.ts, support.variable.property.ts, support.variable.property.importmeta.ts | #AD74EE | — |
| entity.name.type.ts, entity.name.type.alias.ts, entity.name.type.class.ts, entity.name.type.enum.ts, entity.name.type.interface.ts, entity.name.type.module.ts, entity.other.inherited-class.ts, keyword.operator.expression.void.ts, support.class.error.ts, support.type.builtin.ts, support.type.primitive.ts | #F59D50 | — |
| constant.language.boolean.false.ts, constant.language.boolean.true.ts | #C79DD7 | — |
| constant.language.null.ts, constant.language.undefined.ts | #FF7979 | — |
| constant.numeric.decimal.ts | #C79DD7 | — |
| string.quoted.double.ts, string.quoted.single.ts, string.template.ts | #ADB26B | — |
| meta.block.ts, meta.export.default.ts, meta.parameters.ts, meta.var.expr.ts, switch-expression.expr.ts, variable.object.property.ts, variable.other.constant.ts, variable.other.constant.object.ts, variable.other.constant.property.ts, variable.other.enummember.ts, variable.other.object.ts, variable.other.object.property.ts, variable.other.property.ts, variable.other.readwrite.alias.ts, variable.parameter.ts | #FFCB93 | — |
| entity.name.type.anchor.yaml | #789BB9 | — |
| storage.modifier.chomping-indicator.yaml | #F5AF36 | — |
| comment.line.number-sign.yaml | #6B5B4F | italic |
| punctuation.definition.comment.yaml | #B58156 | — |
| keyword.control.flow.alias.yaml, keyword.control.flow.block-scalar.folded.yaml, keyword.control.flow.block-scalar.literal.yaml, keyword.control.property.anchor.yaml, keyword.other.directive.tag.yaml, keyword.other.directive.yaml.yaml, meta.block-mapping.yaml | #F75123 | — |
| entity.other.document.begin.yaml, entity.other.document.end.yaml, punctuation.definition.block.sequence.item.yaml, punctuation.definition.directive.begin.yaml, punctuation.definition.sequence.begin.yaml, punctuation.definition.sequence.end.yaml, punctuation.definition.string.begin.yaml, punctuation.definition.string.end.yaml, punctuation.separator.key-value.mapping.yaml, punctuation.separator.sequence.yaml | #B58156 | — |
| punctuation.definition.mapping.begin.yaml, punctuation.definition.mapping.end.yaml, punctuation.definition.sequence.begin.yaml, punctuation.definition.sequence.end.yaml | #D5712F | — |
| variable.other.alias.yaml | #AD74EE | — |
| constant.language.boolean.yaml | #C79DD7 | — |
| constant.language.null.yaml | #FF7979 | — |
| constant.language.merge.yaml, constant.language.value.yaml, constant.numeric.float.yaml, constant.numeric.indentation-indicator.yaml, constant.numeric.integer.yaml, constant.other.timestamp.yaml | #C79DD7 | — |
| string.quoted.double.yaml, string.quoted.single.yaml, string.unquoted.block.yaml, string.unquoted.plain.in.yaml, string.unquoted.plain.out.yaml | #ADB26B | — |
| entity.name.tag.yaml | #FFCB93 | — |
| constant.numeric.yaml-version.yaml, support.type.tag-prefix.yaml, storage.type.tag-handle.yaml | #F59D50 | — |
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}!`;
}