Clion Dark Perfected
Publisher: ASRepairsThemes in package: 1
The most faithful Clion Theme for VSCode
The most faithful Clion Theme for VSCode
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 |
|---|---|---|
| keyword.control.directive.include, meta.preprocessor.include, keyword.control.directive.define, keyword.control.directive.conditional, keyword.control.directive.conditional.ifdef, keyword.control.directive.conditional.if, keyword.control.directive.else, keyword.control.directive.diagnostic.error, keyword.control.directive.diagnostic.warning, keyword.control.directive.endif, keyword.control.directive.pragma, meta.preprocessor.macro, keyword.control.directive.conditional.ifndef | #b2ad55 | — |
| entity.name.function.preprocessor, meta.preprocessor.macro | #8c8524 | — |
| string, storage.type.string, support.constant.color.w3c-standard-color-name, support.constant.color.w3c-extended-color-name, support.constant.property-value, keyword.other.unit.px, keyword.other.unit.percent, keyword.other.unit.rem, keyword.other.unit.em, keyword.other.unit.ex, keyword.other.unit.ch, keyword.other.unit.vw, keyword.other.unit.vh, markup.inline.raw.string, markup.fenced_code.block | #6aab73 | — |
| storage.modifier.specifier.static, storage.modifier.specifier.volatile, storage.modifier.specifier.const, storage.type.built-in.primitive, storage.type.built-in, constant.language.nullptr, constant.language.false, constant.language.true, constant.language.boolean, storage.type.js, storage.type.ts, variable.language.this.ts, variable.language.this.tsx, variable.language.this.js, keyword.control.import, keyword.control.export, keyword.control.as, keyword.control.from, storage.type.tsx, storage.type.class, support.type.primitive, storage.type.struct, constant.other.placeholder, keyword.other.typedef, keyword.other.typedef.c, storage.type.enum, entity.other.attribute-name.pragma.preprocessor, storage.type.extern, storage.modifier.specifier.functional.pre-parameters.constexpr, storage.modifier.static, storage.type.modifier.access.public, storage.type.modifier.access.public, storage.type.modifier.access.protected, storage.type.modifier.access.private, constant.character.escape, keyword.operator.cast.static_cast | #c38d6c | — |
| keyword, source.kconfig | #c38d6c | — |
| constant.numeric, keyword.other.unit.suffix.floating-point.cpp, keyword.other.unit.suffix.floating-point.c, keyword.other.unit.suffix.integer.cpp, keyword.other.unit.suffix.integer.c | #26c5d3 | — |
| comment | #787d84 | — |
| invalid | #F44747 | — |
| entity.name.function.call, entity.name.function, meta.head.function.definition, meta.function.cpp, meta.function.c, entity.name.function.member.cpp, entity.name.function.member.c, entity.name.function.js, entity.name.function | #65a4df | — |
| support.type.built-in.posix-reserved, support.type.posix-reserved, entity.name.type.parameter, meta.tail.enum.cpp, meta.tail.enum.c, entity.name.type.class, entity.name.type, entity.name.scope-resolution, variable.other.object.access | #b5b6e3 | — |
| keyword.control.if, keyword.control.else, keyword.control.while, keyword.control.for, keyword.control.c, keyword.control.cpp, keyword.control.switch, keyword.control.case, keyword.control.return, keyword.control.break, keyword.control.default, keyword.control.else-if, storage.modifier.c, storage.modifier.cpp, storage.modifier.kotlin, storage.type.kotlin, keyword.control.conditional, constant.language.boolean, keyword.control.flow, storage.type.function.js, storage.modifier.async.js, storage.modifier.async.ts, storage.modifier.async.tsx, keyword.control.trycatch, keyword.operator.new, keyword.control.loop, storage.type.function.ts, storage.type.function.tsx, storage.modifier.ts, storage.modifier.tsx, keyword.control.switch, keyword.control.case, keyword.control.default, keyword.control.else-if, keyword.control.else, constant.language.python, storage.type.function.python, constant.character.format.placeholder.other.python, meta.at-rule.media.header.css, punctuation.definition.heading, punctuation.definition.list.begin.markdown, punctuation.definition.bold.markdown, punctuation.definition.markdown, punctuation.separator.table.markdown, punctuation.definition.table.markdown, meta.separator.markdown | #c38d6c | — |
| variable.other.property.js, variable.other.constant.js, support.class.promise.js, variable.other.object.js, variable.other.readwrite.js, entity.name.section.markdown, entity.name.type.class.kotlin, meta.block.kotlin | #C77DBB | — |
| entity.name.tag.html, entity.other.attribute-name.pseudo-class.css, entity.other.attribute-name.class.css, entity.name.tag.css, entity.other.attribute-name.id.css, entity.other.attribute-name.css, support.constant.font-name.css, support.function.misc.css, variable.argument.css | #d4b16c | — |
| punctuation.definition.tag, punctuation.section.property-list, punctuation.definition.link.title, punctuation.definition.metadata.markdown | #ffd602 | — |
| support.type.exception.python, support.class.exception.python, support.function.builtin.python | #7f87c5 | — |
| variable.parameter.function-call.python | #f34646 | — |
| string.other.link.title.markdown, markup.underline.link.markdown | #4290de | — |
| punctuation.definition.dictionary | #ffd602 | — |
| variable.other.readwrite.ts, storage.modifier.inline | #a9b7c6 | — |
| support.type.property-name.json, fenced_code.block.language.markdown, variable.other.property.ts, variable.other.member | #C77DBB | — |
| entity.name.function.decorator.python, meta.declaration.annotation.kotlin | #b2ad55 | — |
| comment.line.double-slash.documentation.c, comment.line.double-slash.documentation.cpp, comment.line.double-slash.documentation.js, comment.line.double-slash.documentation.ts, comment.line.double-slash.documentation.tsx | #5b9271 | — |
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}!`;
}