my-vscode-theme
Publisher: valentinbetbezeThemes in package: 1
Theme for C/C++ languages based on GitHub Themes
Theme for C/C++ languages based on GitHub Themes
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 |
|---|---|---|
| invalid.broken, invalid.deprecated, invalid.illegal, invalid.unimplemented, message.error | #FDAEB7 | italic |
| carriage-return | #24292E | italic underline |
| meta.module-reference | #79B8FF | — |
| punctuation.definition.list.begin.markdown | #FFAB70 | — |
| markup.heading, markup.heading entity.name | #79B8FF | bold |
| markup.quote | #85E89D | — |
| markup.italic | #E1E4E8 | italic |
| markup.bold | #E1E4E8 | bold |
| markup.underline | — | underline |
| markup.strikethrough | — | strikethrough |
| markup.inline.raw | #79B8FF | — |
| markup.deleted, meta.diff.header.from-file, punctuation.definition.deleted | #FDAEB7 | — |
| markup.inserted, meta.diff.header.to-file, punctuation.definition.inserted | #85E89D | — |
| markup.changed, punctuation.definition.changed | #FFAB70 | — |
| markup.ignored, markup.untracked | #2F363D | — |
| meta.diff.range | #B392F0 | bold |
| meta.diff.header | #79B8FF | — |
| meta.separator | #79B8FF | bold |
| meta.output | #79B8FF | — |
| brackethighlighter.tag, brackethighlighter.curly, brackethighlighter.round, brackethighlighter.square, brackethighlighter.angle, brackethighlighter.quote | #D1D5DA | — |
| brackethighlighter.unmatched | #FDAEB7 | — |
| constant.other.reference.link, string.other.link | #DBEDFF | underline |
| comment, punctuation.definition.comment, string.comment, storage.type.class.gtkdoc | #6A737D | — |
| storage.type.class.doxygen.c, keyword.other.parameter.direction.in.c, keyword.other.parameter.direction.out.c, storage.type.class.doxygen.cpp, keyword.other.parameter.direction.in.cpp, keyword.other.parameter.direction.out.cpp, storage.type.class.gtkdoc.cpp | #A2A9B1 | — |
| variable, variable.other, variable.parameter, variable.parameter.function, entity.name.variable, entity, entity.name, support.variable, keyword.operator.assignment.shell, string.unquoted.argument.shell, constant.source.cmake, variable.other.local.c, variable.other.property.c, variable.other.member.c, variable.parameter.c, punctuation.section.arguments.bracket.round.c, punctuation.definition.parameters.c, keyword.operator.c, keyword.operator.logical.c, keyword.operator.assignment.c, keyword.operator.comparison.c, keyword.operator.ternary.c, keyword.operator.increment.c, keyword.operator.decrement.c, keyword.operator.assignment.compound.c, keyword.operator.bitwise.shift.c, keyword.operator.assignment.compound.bitwise.c, storage.modifier.array.bracket.square.c, entity.name.label.c, markup.inline.raw.string.c, variable.other.local.cpp, variable.other.property.cpp, variable.other.member.cpp, variable.parameter.cpp, variable.language.this.cpp, punctuation.section.arguments.bracket.round.cpp, punctuation.definition.parameters.cpp, punctuation.section.attribute.begin.cpp, punctuation.section.attribute.end.cpp, keyword.operator.cpp, keyword.operator.arithmetic.cpp, keyword.operator.logical.cpp, keyword.operator.assignment.cpp, keyword.operator.comparison.cpp, keyword.operator.ternary.cpp, keyword.operator.increment.cpp, keyword.operator.decrement.cpp, keyword.operator.assignment.compound.cpp, keyword.operator.bitwise.shift.cpp, keyword.operator.bitwise.cpp, keyword.operator.assignment.compound.bitwise.cpp, keyword.other.operator.overload.cpp, storage.modifier.array.bracket.square.cpp, storage.modifier.reference.cpp, storage.modifier.pointer.cpp, entity.name.scope-resolution.cpp, entity.name.operator.cpp, entity.name.namespace.cpp, entity.name.scope-resolution.parameter.cpp, entity.name.scope-resolution.template.call.cpp, entity.name.label.cpp, markup.inline.raw.string.cpp, variable.language.special.self.python, support.variable.magic.python, keyword.operator.python, keyword.operator.assignment.python, keyword.operator.arithmetic.python, keyword.operator.unpacking.parameter.python, keyword.operator.comparison.python, meta.fstring.python, meta.function-call.arguments.python, punctuation.definition.arguments.begin.python, punctuation.definition.arguments.end.python, punctuation.separator.arguments.python, punctuation.parenthesis.begin.python, punctuation.parenthesis.end.python, punctuation.definition.decorator.python | #E7E7E7 | — |
| keyword, storage, support, entity.source.cmake, keyword.control.c, keyword.control.switch.c, keyword.control.case.c, keyword.control.default.c, keyword.control.directive.include.c, keyword.control.directive.define.c, keyword.control.directive.undef.c, keyword.control.directive.conditional.c, keyword.control.directive.include_next.c, keyword.control.directive.pragma.c, keyword.control.directive.diagnostic.error.c, keyword.other.unit.suffix.integer.c, keyword.other.unit.suffix.floating-point.c, keyword.other.unit.hexadecimal.c, keyword.other.unit.binary.c, keyword.other.typedef.c, storage.type.struct.c, storage.type.enum.c, storage.type.union.c, storage.type.asm.c, storage.modifier.c, storage.modifier.specifier.const.c, keyword.operator.sizeof.c, keyword.control.cpp, keyword.control.switch.cpp, keyword.control.case.cpp, keyword.control.default.cpp, keyword.control.break.cpp, keyword.control.if.cpp, keyword.control.else.cpp, keyword.control.for.cpp, keyword.control.do.cpp, keyword.control.while.cpp, keyword.control.goto.cpp, keyword.control.return.cpp, keyword.control.continue.cpp, keyword.control.throw.cpp, keyword.control.try.cpp, keyword.control.catch.cpp, keyword.control.directive.include.cpp, keyword.control.directive.conditional.if.cpp, keyword.control.directive.elif.cpp, keyword.control.directive.else.cpp, keyword.control.directive.endif.cpp, keyword.control.directive.conditional.defined.cpp, keyword.control.directive.define.cpp, keyword.control.directive.undef.cpp, keyword.control.directive.conditional.cpp, keyword.control.directive.include_next.cpp, keyword.control.directive.pragma.cpp, keyword.control.directive.diagnostic.error.cpp, keyword.control.directive.conditional.ifdef.cpp, keyword.control.directive.conditional.ifndef.cpp, keyword.operator.sizeof.cpp, keyword.operator.typeid.cpp, keyword.operator.delete.cpp, keyword.operator.delete.array.cpp, keyword.operator.delete.array.bracket.cpp, keyword.operator.new.cpp, keyword.operator.cast.static_cast.cpp, keyword.operator.cast.dynamic_cast.cpp, keyword.operator.cast.reinterpret_cast.cpp, keyword.operator.noexcept.cpp, keyword.operator.alignof.cpp, keyword.operator.not.cpp, keyword.operator.not_eq.cpp, keyword.operator.and.cpp, keyword.operator.and_eq.cpp, keyword.operator.or.cpp, keyword.operator.or_eq.cpp, keyword.operator.xor.cpp, keyword.operator.xor_eq.cpp, keyword.other.unit.suffix.integer.cpp, keyword.other.unit.suffix.floating-point.cpp, keyword.other.unit.hexadecimal.cpp, keyword.other.unit.binary.cpp, keyword.other.typedef.cpp, keyword.other.using.directive.cpp, keyword.other.export.cpp, keyword.other.typename.cpp, keyword.other.default.constructor.cpp, keyword.other.default.destructor.cpp, keyword.other.default.function.cpp, keyword.other.static_assert.cpp, keyword.other.delete.constructor.cpp, storage.type.struct.cpp, storage.type.enum.cpp, storage.type.union.cpp, storage.type.asm.cpp, storage.type.class.cpp, storage.type.modifier.access.control.public.cpp, storage.type.modifier.access.control.private.cpp, storage.type.modifier.access.control.protected.cpp, storage.type.namespace.definition.cpp, storage.type.namespace.directive.cpp, storage.type.namespace.alias.cpp, storage.type.template.cpp, storage.type.template.argument.typename.cpp, storage.type.template.argument.class.cpp, storage.type.modifier.virtual.cpp, storage.type.modifier.final, storage.type.modifier.access.public.cpp, storage.type.modifier.access.private.cpp, storage.type.modifier.access.protected.cpp, storage.type.decltype.cpp, storage.type.extern.cpp, storage.modifier.cpp, storage.modifier.static.cpp, storage.modifier.extern.cpp, storage.modifier.inline.cpp, storage.modifier.virtual.cpp, storage.modifier.constexpr.cpp, storage.modifier.consteval.cpp, storage.modifier.const.cpp, storage.modifier.specifier.const.cpp, storage.modifier.specifier.static.cpp, storage.modifier.specifier.extern.cpp, storage.modifier.specifier.volatile.cpp, storage.modifier.specifier.functional.pre-parameters.friend.cpp, storage.modifier.specifier.functional.pre-parameters.inline.cpp, storage.modifier.specifier.functional.pre-parameters.constexpr.cpp, storage.modifier.specifier.functional.pre-parameters.explicit.cpp, storage.modifier.specifier.functional.pre-parameters.virtual.cpp, storage.modifier.specifier.functional.post-parameters.const.cpp, storage.modifier.specifier.functional.post-parameters.noexcept.cpp, storage.modifier.specifier.functional.post-parameters.override.cpp, storage.modifier.specifier.functional.post-parameters.final.cpp, entity.other.attribute.noreturn.cpp, entity.other.attribute.carries_dependencies.cpp, entity.other.attribute.deprecated.cpp, entity.other.attribute.fallthrough.cpp, entity.other.attribute.maybe_unused.cpp, entity.other.attribute.nodiscard.cpp, entity.other.attribute.optimize_for_synchronized.cpp, entity.other.attribute.alignof.cpp, entity.other.attribute.long.cpp, entity.other.attribute.double.cpp, keyword.control.import.python, keyword.control.flow.python, storage.type.function.python, storage.type.class.python | #2E95D3 | — |
| storage.type, entity.name.type.class, type.c, storage.type.built-in.c, storage.type.built-in.primitive.c, entity.name.type.c, support.type.posix-reserved.c, support.type.built-in.posix-reserved.c, type.cpp, storage.type.built-in.cpp, storage.type.built-in.primitive.cpp, entity.name.operator.type.cpp, entity.name.type.cpp, entity.name.type.class.cpp, entity.name.type.struct.cpp, entity.name.type.alias.cpp, entity.name.type.class.templated.cpp, entity.name.type.parameter.cpp, entity.name.type.template.cpp, support.type.posix-reserved.cpp, support.type.built-in.posix-reserved.cpp, support.type.exception.python, storage.type.string.python, entity.name.type.class.python | #DF3079 | — |
| entity.name.function, entity.name.function.member, entity.name.function.shell, support.function.builtin.shell, entity.name.function.c, entity.name.function.member.c, entity.name.function.cpp, entity.name.function.definition.cpp, entity.name.function.call.cpp, entity.name.function.constructor.cpp, entity.name.function.definition.special.constructor.cpp, entity.name.function.definition.special.destructor.cpp, entity.name.function.definition.special.member.constructor, entity.name.function.definition.special.member.destructor.cpp, entity.name.function.call.initializer.cpp, entity.name.function.member.cpp, entity.name.function.member.static.cpp, entity.name.function.templated.cpp, entity.name.function.operator.cpp, entity.name.function.operator.member.cpp, support.function.builtin.python, support.function.magic.python, entity.name.function.python, meta.function-call.python, meta.function-call.generic.python | #E9950C | — |
| constant, support.constant, entity.name.constant, variable.other.constant, variable.other.enummember, variable.language, storage.source.cmake, number.c, constant.language.c, constant.character.escape.c, constant.numeric.binary.c, constant.numeric.decimal.c, constant.numeric.decimal.point.c, constant.numeric.hexadecimal.c, builtinConstant.c, entity.name.function.preprocessor.c, entity.other.attribute-name.pragma.preprocessor.c, variable.other.enummember.c, entity.name.other.preprocessor.macro.predefined.probably.VA_ARGS.c, entity.name.other.preprocessor.macro.predefined.__FUNCTION__.c, number.cpp, constant.language.cpp, constant.language.false.cpp, constant.language.true.cpp, constant.language.nullptr.cpp, constant.character.escape.cpp, constant.numeric.binary.cpp, constant.numeric.decimal.cpp, constant.numeric.decimal.point.cpp, constant.numeric.hexadecimal.cpp, builtinConstant.cpp, entity.name.function.preprocessor.cpp, entity.other.attribute-name.pragma.preprocessor.cpp, variable.other.enummember.cpp, entity.name.other.preprocessor.macro.predefined.__cplusplus.c, entity.name.other.preprocessor.macro.predefined.__STDC_VERSION__.cpp, meta.function.preprocessor.parameters.cpp, constant.language.python, constant.numeric.dec.python, constant.numeric.float.python, constant.other.caps.python | #C76CE6 | — |
| string, string variable, string punctuation.section.embedded source, punctuation.definition.string, source.regexp, string.regexp, string.regexp.character-class, string.regexp constant.character.escape, string.regexp source.ruby.embedded, string.regexp string.regexp.arbitrary-repitition, string.regexp constant.character.escape, support.other.match.any.regexp, constant.character.escape.regexp, constant.character.escape.regexp, string.quoted.single.c, string.quoted.double.c, string.quoted.double.include.c, string.quoted.other.lt-gt.include.c, punctuation.definition.string.begin.c, punctuation.definition.string.end.c, punctuation.definition.string.begin.assembly.c, punctuation.definition.string.end.assembly.c, string.unquoted.single.c, string.quoted.single.cpp, string.quoted.double.cpp, string.quoted.double.include.cpp, string.quoted.other.lt-gt.include.cpp, punctuation.definition.string.begin.cpp, punctuation.definition.string.end.cpp, punctuation.definition.string.begin.assembly.cpp, punctuation.definition.string.end.assembly.cpp, string.unquoted.cpp, string.unquoted.single.cpp, punctuation.definition.string.begin.python, punctuation.definition.string.end.python, string.quoted.single.python, string.regexp.quoted.single.python, string.quoted.docstring.multi.python | #00BA8B | — |
| constant.character.escape, constant.other.placeholder, constant.other.placeholder.c, constant.character.escape.c, constant.character.escape.line-continuation.c, constant.other.placeholder.cpp, constant.character.escape.cpp, constant.character.escape.line-continuation.cpp, constant.character.format.placeholder.other.python | #1C8F72 | — |
| token.info-token | #6796E6 | — |
| token.warn-token | #CD9731 | — |
| token.error-token | #F44747 | — |
| token.debug-token | #B267E6 | — |
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}!`;
}