summaryrefslogtreecommitdiffhomepage
path: root/packages/ui/src/components
diff options
context:
space:
mode:
authorDavid Hill <[email protected]>2025-11-10 13:44:12 +0000
committerDavid Hill <[email protected]>2025-11-10 13:44:12 +0000
commitc6e830c954418808dc39284a1c073aa63a6d4d21 (patch)
tree9c3052e0509115188768a553c0be5a8441ebdd96 /packages/ui/src/components
parent7088bfabd773e2f076aab1c9d2468c04feff0570 (diff)
parentfc78c28df64383a9f99382093f61fc28caf6569f (diff)
downloadopencode-c6e830c954418808dc39284a1c073aa63a6d4d21.tar.gz
opencode-c6e830c954418808dc39284a1c073aa63a6d4d21.zip
Merge branch 'dev' of https://github.com/sst/opencode into dev
Diffstat (limited to 'packages/ui/src/components')
-rw-r--r--packages/ui/src/components/accordion.tsx11
-rw-r--r--packages/ui/src/components/button.css19
-rw-r--r--packages/ui/src/components/code.tsx7
-rw-r--r--packages/ui/src/components/diff-changes.tsx21
-rw-r--r--packages/ui/src/components/diff.tsx3557
-rw-r--r--packages/ui/src/components/icon-button.css87
-rw-r--r--packages/ui/src/components/icon-button.tsx2
-rw-r--r--packages/ui/src/components/icon.tsx7
-rw-r--r--packages/ui/src/components/index.ts1
-rw-r--r--packages/ui/src/components/input.tsx18
-rw-r--r--packages/ui/src/components/message-part.tsx23
-rw-r--r--packages/ui/src/components/progress-circle.tsx16
-rw-r--r--packages/ui/src/components/select.css12
-rw-r--r--packages/ui/src/components/select.tsx14
-rw-r--r--packages/ui/src/components/tabs.css4
-rw-r--r--packages/ui/src/components/tooltip.css69
-rw-r--r--packages/ui/src/components/tooltip.tsx8
-rw-r--r--packages/ui/src/components/typewriter.tsx6
18 files changed, 346 insertions, 3536 deletions
diff --git a/packages/ui/src/components/accordion.tsx b/packages/ui/src/components/accordion.tsx
index 535d38e3d..02f00b7be 100644
--- a/packages/ui/src/components/accordion.tsx
+++ b/packages/ui/src/components/accordion.tsx
@@ -1,9 +1,11 @@
import { Accordion as Kobalte } from "@kobalte/core/accordion"
-import { splitProps } from "solid-js"
+import { createSignal, splitProps } from "solid-js"
import type { ComponentProps, ParentProps } from "solid-js"
export interface AccordionProps extends ComponentProps<typeof Kobalte> {}
-export interface AccordionItemProps extends ComponentProps<typeof Kobalte.Item> {}
+export interface AccordionItemProps extends ComponentProps<typeof Kobalte.Item> {
+ defaultOpen?: boolean
+}
export interface AccordionHeaderProps extends ComponentProps<typeof Kobalte.Header> {}
export interface AccordionTriggerProps extends ComponentProps<typeof Kobalte.Trigger> {}
export interface AccordionContentProps extends ComponentProps<typeof Kobalte.Content> {}
@@ -23,11 +25,14 @@ function AccordionRoot(props: AccordionProps) {
}
function AccordionItem(props: AccordionItemProps) {
- const [split, rest] = splitProps(props, ["class", "classList"])
+ const [split, rest] = splitProps(props, ["class", "classList", "defaultOpen"])
+ const [open, setOpen] = createSignal(split.defaultOpen ?? false)
return (
<Kobalte.Item
{...rest}
data-slot="accordion-item"
+ onOpenChange={setOpen}
+ open={open()}
classList={{
...(split.classList ?? {}),
[split.class ?? ""]: !!split.class,
diff --git a/packages/ui/src/components/button.css b/packages/ui/src/components/button.css
index 88511e011..80ded60fd 100644
--- a/packages/ui/src/components/button.css
+++ b/packages/ui/src/components/button.css
@@ -7,6 +7,7 @@
border-radius: 6px;
text-decoration: none;
user-select: none;
+ cursor: default;
outline: none;
&[data-variant="primary"] {
@@ -66,27 +67,26 @@
color: var(--text-strong);
&:hover:not(:disabled) {
- background-color: var(--surface-hover);
+ background-color: var(--button-ghost-hover);
}
&:active:not(:disabled) {
- border-color: var(--border-active);
- background-color: var(--surface-active);
+ background-color: var(--button-ghost-hover-2);
}
&:focus:not(:disabled) {
- border-color: var(--border-focus);
- background-color: var(--surface-focus);
+ background-color: var(--button-ghost-hover);
}
}
&[data-size="normal"] {
+ height: 24px;
padding: 0 6px;
&[data-icon] {
- padding: 0 6px 0 4px;
+ padding: 0 8px 0 6px;
}
font-size: var(--font-size-small);
line-height: var(--line-height-large);
- gap: calc(var(--spacing) * 0.5);
+ gap: 6px;
}
&[data-size="large"] {
@@ -99,11 +99,12 @@
gap: 8px;
+ /* text-12-medium */
font-family: var(--font-family-sans);
- font-size: var(--font-size-base);
+ font-size: var(--font-size-small);
font-style: normal;
font-weight: var(--font-weight-medium);
- line-height: var(--line-height-large); /* 171.429% */
+ line-height: var(--line-height-large); /* 166.667% */
letter-spacing: var(--letter-spacing-normal);
}
diff --git a/packages/ui/src/components/code.tsx b/packages/ui/src/components/code.tsx
index f1c7efada..06541fe4e 100644
--- a/packages/ui/src/components/code.tsx
+++ b/packages/ui/src/components/code.tsx
@@ -11,20 +11,21 @@ export type CodeProps<T = {}> = FileOptions<T> & {
export function Code<T>(props: CodeProps<T>) {
let container!: HTMLDivElement
const [local, others] = splitProps(props, ["file", "class", "classList", "annotations"])
- const file = () => local.file
createEffect(() => {
const instance = new File<T>({
- theme: { dark: "oc-1-dark", light: "oc-1-light" }, // or any Shiki theme
+ theme: "OpenCode",
overflow: "wrap", // or 'scroll'
themeType: "system", // 'system', 'light', or 'dark'
+ disableFileHeader: true,
disableLineNumbers: false, // optional
// lang: 'typescript', // optional - auto-detected from filename if not provided
...others,
})
+ container.innerHTML = ""
instance.render({
- file: file(),
+ file: local.file,
lineAnnotations: local.annotations,
containerWrapper: container,
})
diff --git a/packages/ui/src/components/diff-changes.tsx b/packages/ui/src/components/diff-changes.tsx
index e6c04f519..a8ab737f7 100644
--- a/packages/ui/src/components/diff-changes.tsx
+++ b/packages/ui/src/components/diff-changes.tsx
@@ -1,18 +1,21 @@
-import type { FileDiff } from "@opencode-ai/sdk"
import { createMemo, For, Match, Show, Switch } from "solid-js"
-export function DiffChanges(props: { diff: FileDiff | FileDiff[]; variant?: "default" | "bars" }) {
+export function DiffChanges(props: {
+ class?: string
+ changes: { additions: number; deletions: number } | { additions: number; deletions: number }[]
+ variant?: "default" | "bars"
+}) {
const variant = () => props.variant ?? "default"
const additions = createMemo(() =>
- Array.isArray(props.diff)
- ? props.diff.reduce((acc, diff) => acc + (diff.additions ?? 0), 0)
- : props.diff.additions,
+ Array.isArray(props.changes)
+ ? props.changes.reduce((acc, diff) => acc + (diff.additions ?? 0), 0)
+ : props.changes.additions,
)
const deletions = createMemo(() =>
- Array.isArray(props.diff)
- ? props.diff.reduce((acc, diff) => acc + (diff.deletions ?? 0), 0)
- : props.diff.deletions,
+ Array.isArray(props.changes)
+ ? props.changes.reduce((acc, diff) => acc + (diff.deletions ?? 0), 0)
+ : props.changes.deletions,
)
const total = createMemo(() => (additions() ?? 0) + (deletions() ?? 0))
@@ -90,7 +93,7 @@ export function DiffChanges(props: { diff: FileDiff | FileDiff[]; variant?: "def
return (
<Show when={variant() === "default" ? total() > 0 : true}>
- <div data-component="diff-changes" data-variant={variant()}>
+ <div data-component="diff-changes" data-variant={variant()} classList={{ [props.class ?? ""]: true }}>
<Switch>
<Match when={variant() === "bars"}>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 12" fill="none">
diff --git a/packages/ui/src/components/diff.tsx b/packages/ui/src/components/diff.tsx
index f3ca74a88..a53d5b3f3 100644
--- a/packages/ui/src/components/diff.tsx
+++ b/packages/ui/src/components/diff.tsx
@@ -23,13 +23,7 @@ export type DiffProps<T = {}> = FileDiffOptions<T> & {
export function Diff<T>(props: DiffProps<T>) {
let container!: HTMLDivElement
- const [local, others] = splitProps(props, [
- "before",
- "after",
- "class",
- "classList",
- "annotations",
- ])
+ const [local, others] = splitProps(props, ["before", "after", "class", "classList", "annotations"])
// const lineAnnotations: DiffLineAnnotation<ThreadMetadata>[] = [
// {
@@ -55,8 +49,7 @@ export function Diff<T>(props: DiffProps<T>) {
// annotations and a container element to hold the diff
createEffect(() => {
const instance = new FileDiff<T>({
- // theme: "pierre-light",
- theme: { dark: "oc-1-dark", light: "oc-1-light" },
+ theme: "OpenCode",
// When using the 'themes' prop, 'themeType' allows you to force 'dark'
// or 'light' theme, or inherit from the OS ('system') theme.
themeType: "system",
@@ -154,6 +147,7 @@ export function Diff<T>(props: DiffProps<T>) {
...others,
})
+ container.innerHTML = ""
instance.render({
oldFile: local.before,
newFile: local.after,
@@ -179,3572 +173,367 @@ export function Diff<T>(props: DiffProps<T>) {
)
}
-registerCustomTheme("oc-1-light", () => {
+registerCustomTheme("OpenCode", () => {
return Promise.resolve({
- name: "oc-1-light",
- type: "light",
+ name: "OpenCode",
colors: {
"editor.background": "transparent",
- "editor.foreground": "#070707",
- foreground: "#070707",
- focusBorder: "#008cff",
- "selection.background": "#dfe7ff",
- "editor.selectionBackground": "#008cff2e",
- "editor.lineHighlightBackground": "#dfe7ff8c",
- "editorCursor.foreground": "#008cff",
- "editorLineNumber.foreground": "#84848A",
- "editorLineNumber.activeForeground": "#6C6C71",
- "editorIndentGuide.background": "#eeeeef",
- "editorIndentGuide.activeBackground": "#dbdbdd",
- "diffEditor.insertedTextBackground": "#00cab133",
- "diffEditor.deletedTextBackground": "#ff2e3f33",
- "sideBar.background": "#f8f8f8",
- "sideBar.foreground": "#6C6C71",
- "sideBar.border": "#eeeeef",
- "sideBarTitle.foreground": "#070707",
- "sideBarSectionHeader.background": "#f8f8f8",
- "sideBarSectionHeader.foreground": "#6C6C71",
- "sideBarSectionHeader.border": "#eeeeef",
- "activityBar.background": "#f8f8f8",
- "activityBar.foreground": "#070707",
- "activityBar.border": "#eeeeef",
- "activityBar.activeBorder": "#008cff",
- "activityBarBadge.background": "#008cff",
- "activityBarBadge.foreground": "#ffffff",
- "titleBar.activeBackground": "#f8f8f8",
- "titleBar.activeForeground": "#070707",
- "titleBar.inactiveBackground": "#f8f8f8",
- "titleBar.inactiveForeground": "#84848A",
- "titleBar.border": "#eeeeef",
- "list.activeSelectionBackground": "#dfe7ffcc",
- "list.activeSelectionForeground": "#070707",
- "list.inactiveSelectionBackground": "#dfe7ff73",
- "list.hoverBackground": "#dfe7ff59",
- "list.focusOutline": "#008cff",
- "tab.activeBackground": "#ffffff",
- "tab.activeForeground": "#070707",
- "tab.activeBorderTop": "#008cff",
- "tab.inactiveBackground": "#f8f8f8",
- "tab.inactiveForeground": "#84848A",
- "tab.border": "#eeeeef",
- "editorGroupHeader.tabsBackground": "#f8f8f8",
- "editorGroupHeader.tabsBorder": "#eeeeef",
- "panel.background": "#f8f8f8",
- "panel.border": "#eeeeef",
- "panelTitle.activeBorder": "#008cff",
- "panelTitle.activeForeground": "#070707",
- "panelTitle.inactiveForeground": "#84848A",
- "statusBar.background": "#f8f8f8",
- "statusBar.foreground": "#6C6C71",
- "statusBar.border": "#eeeeef",
- "statusBar.noFolderBackground": "#f8f8f8",
- "statusBar.debuggingBackground": "#ffca00",
- "statusBar.debuggingForeground": "#ffffff",
- "statusBarItem.remoteBackground": "#f8f8f8",
- "statusBarItem.remoteForeground": "#6C6C71",
- "input.background": "#f2f2f3",
- "input.border": "#dbdbdd",
- "input.foreground": "#070707",
- "input.placeholderForeground": "#8E8E95",
- "dropdown.background": "#f2f2f3",
- "dropdown.border": "#dbdbdd",
- "dropdown.foreground": "#070707",
- "button.background": "#008cff",
- "button.foreground": "#ffffff",
- "button.hoverBackground": "#1a98ff",
- "textLink.foreground": "#008cff",
- "textLink.activeForeground": "#008cff",
- "gitDecoration.addedResourceForeground": "#00cab1",
- "gitDecoration.conflictingResourceForeground": "#ffca00",
- "gitDecoration.modifiedResourceForeground": "#008cff",
- "gitDecoration.deletedResourceForeground": "#ff2e3f",
- "gitDecoration.untrackedResourceForeground": "#00cab1",
- "gitDecoration.ignoredResourceForeground": "#84848A",
- "terminal.titleForeground": "#6C6C71",
- "terminal.titleInactiveForeground": "#84848A",
- "terminal.background": "#f8f8f8",
- "terminal.foreground": "#6C6C71",
- "terminal.ansiBlack": "#1F1F21",
- "terminal.ansiRed": "#ff2e3f",
- "terminal.ansiGreen": "#0dbe4e",
- "terminal.ansiYellow": "#ffca00",
- "terminal.ansiBlue": "#008cff",
- "terminal.ansiMagenta": "#c635e4",
- "terminal.ansiCyan": "#08c0ef",
- "terminal.ansiWhite": "#c6c6c8",
- "terminal.ansiBrightBlack": "#1F1F21",
- "terminal.ansiBrightRed": "#ff2e3f",
- "terminal.ansiBrightGreen": "#0dbe4e",
- "terminal.ansiBrightYellow": "#ffca00",
- "terminal.ansiBrightBlue": "#008cff",
- "terminal.ansiBrightMagenta": "#c635e4",
- "terminal.ansiBrightCyan": "#08c0ef",
- "terminal.ansiBrightWhite": "#c6c6c8",
+ "editor.foreground": "var(--text-base)",
+ "gitDecoration.addedResourceForeground": "var(--syntax-diff-add)",
+ "gitDecoration.deletedResourceForeground": "var(--syntax-diff-delete)",
+ // "gitDecoration.conflictingResourceForeground": "#ffca00",
+ // "gitDecoration.modifiedResourceForeground": "#1a76d4",
+ // "gitDecoration.untrackedResourceForeground": "#00cab1",
+ // "gitDecoration.ignoredResourceForeground": "#84848A",
+ // "terminal.titleForeground": "#adadb1",
+ // "terminal.titleInactiveForeground": "#84848A",
+ // "terminal.background": "#141415",
+ // "terminal.foreground": "#adadb1",
+ // "terminal.ansiBlack": "#141415",
+ // "terminal.ansiRed": "#ff2e3f",
+ // "terminal.ansiGreen": "#0dbe4e",
+ // "terminal.ansiYellow": "#ffca00",
+ // "terminal.ansiBlue": "#008cff",
+ // "terminal.ansiMagenta": "#c635e4",
+ // "terminal.ansiCyan": "#08c0ef",
+ // "terminal.ansiWhite": "#c6c6c8",
+ // "terminal.ansiBrightBlack": "#141415",
+ // "terminal.ansiBrightRed": "#ff2e3f",
+ // "terminal.ansiBrightGreen": "#0dbe4e",
+ // "terminal.ansiBrightYellow": "#ffca00",
+ // "terminal.ansiBrightBlue": "#008cff",
+ // "terminal.ansiBrightMagenta": "#c635e4",
+ // "terminal.ansiBrightCyan": "#08c0ef",
+ // "terminal.ansiBrightWhite": "#c6c6c8",
},
tokenColors: [
{
- scope: ["comment", "punctuation.definition.comment"],
+ scope: ["comment", "punctuation.definition.comment", "string.comment"],
settings: {
- foreground: "#84848A",
+ foreground: "var(--syntax-comment)",
},
},
{
- scope: "comment markup.link",
+ scope: ["entity.other.attribute-name"],
settings: {
- foreground: "#84848A",
+ foreground: "var(--syntax-property)", // maybe attribute
},
},
{
- scope: ["string", "constant.other.symbol"],
+ scope: ["constant", "entity.name.constant", "variable.other.constant", "variable.language", "entity"],
settings: {
- foreground: "#199f43",
+ foreground: "var(--syntax-constant)",
},
},
{
- scope: ["punctuation.definition.string.begin", "punctuation.definition.string.end"],
+ scope: ["entity.name", "meta.export.default", "meta.definition.variable"],
settings: {
- foreground: "#199f43",
- },
- },
- {
- scope: ["constant.numeric", "constant.language.boolean"],
- settings: {
- foreground: "#1ca1c7",
- },
- },
- {
- scope: "constant",
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: "punctuation.definition.constant",
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: "constant.language",
- settings: {
- foreground: "#1ca1c7",
- },
- },
- {
- scope: "variable.other.constant",
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: "keyword",
- settings: {
- foreground: "#fc2b73",
- },
- },
- {
- scope: "keyword.control",
- settings: {
- foreground: "#fc2b73",
- },
- },
- {
- scope: ["storage", "storage.type", "storage.modifier"],
- settings: {
- foreground: "#fc2b73",
- },
- },
- {
- scope: "token.storage",
- settings: {
- foreground: "#fc2b73",
- },
- },
- {
- scope: [
- "keyword.operator.new",
- "keyword.operator.expression.instanceof",
- "keyword.operator.expression.typeof",
- "keyword.operator.expression.void",
- "keyword.operator.expression.delete",
- "keyword.operator.expression.in",
- "keyword.operator.expression.of",
- "keyword.operator.expression.keyof",
- ],
- settings: {
- foreground: "#fc2b73",
- },
- },
- {
- scope: "keyword.operator.delete",
- settings: {
- foreground: "#fc2b73",
- },
- },
- {
- scope: ["variable", "identifier", "meta.definition.variable"],
- settings: {
- foreground: "#d47628",
- },
- },
- {
- scope: [
- "variable.other.readwrite",
- "meta.object-literal.key",
- "support.variable.property",
- "support.variable.object.process",
- "support.variable.object.node",
- ],
- settings: {
- foreground: "#d47628",
- },
- },
- {
- scope: "variable.language",
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: "variable.parameter.function",
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: "function.parameter",
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: "variable.parameter",
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: "variable.parameter.function.language.python",
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: "variable.parameter.function.python",
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: [
- "support.function",
- "entity.name.function",
- "meta.function-call",
- "meta.require",
- "support.function.any-method",
- "variable.function",
- ],
- settings: {
- foreground: "#7b43f8",
- },
- },
- {
- scope: "keyword.other.special-method",
- settings: {
- foreground: "#7b43f8",
- },
- },
- {
- scope: "entity.name.function",
- settings: {
- foreground: "#7b43f8",
- },
- },
- {
- scope: "support.function.console",
- settings: {
- foreground: "#7b43f8",
- },
- },
- {
- scope: ["support.type", "entity.name.type", "entity.name.class", "storage.type"],
- settings: {
- foreground: "#c635e4",
- },
- },
- {
- scope: ["support.class", "entity.name.type.class"],
- settings: {
- foreground: "#c635e4",
- },
- },
- {
- scope: ["entity.name.class", "variable.other.class.js", "variable.other.class.ts"],
- settings: {
- foreground: "#c635e4",
- },
- },
- {
- scope: "entity.name.class.identifier.namespace.type",
- settings: {
- foreground: "#c635e4",
- },
- },
- {
- scope: "entity.name.type.namespace",
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: "entity.other.inherited-class",
- settings: {
- foreground: "#c635e4",
- },
- },
- {
- scope: "entity.name.namespace",
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: "keyword.operator",
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: ["keyword.operator.logical", "keyword.operator.bitwise", "keyword.operator.channel"],
- settings: {
- foreground: "#08c0ef",
- },
- },
- {
- scope: [
- "keyword.operator.arithmetic",
- "keyword.operator.comparison",
- "keyword.operator.relational",
- "keyword.operator.increment",
- "keyword.operator.decrement",
- ],
- settings: {
- foreground: "#08c0ef",
- },
- },
- {
- scope: "keyword.operator.assignment",
- settings: {
- foreground: "#08c0ef",
- },
- },
- {
- scope: "keyword.operator.assignment.compound",
- settings: {
- foreground: "#fc2b73",
- },
- },
- {
- scope: [
- "keyword.operator.assignment.compound.js",
- "keyword.operator.assignment.compound.ts",
- ],
- settings: {
- foreground: "#08c0ef",
- },
- },
- {
- scope: "keyword.operator.ternary",
- settings: {
- foreground: "#fc2b73",
- },
- },
- {
- scope: "keyword.operator.optional",
- settings: {
- foreground: "#fc2b73",
- },
- },
- {
- scope: "punctuation",
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: "punctuation.separator.delimiter",
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: "punctuation.separator.key-value",
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: "punctuation.terminator",
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: "meta.brace",
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: "meta.brace.square",
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: "meta.brace.round",
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: "function.brace",
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: ["punctuation.definition.parameters", "punctuation.definition.typeparameters"],
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: ["punctuation.definition.block", "punctuation.definition.tag"],
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: ["meta.tag.tsx", "meta.tag.jsx", "meta.tag.js", "meta.tag.ts"],
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: "keyword.operator.expression.import",
- settings: {
- foreground: "#7b43f8",
- },
- },
- {
- scope: "keyword.operator.module",
- settings: {
- foreground: "#fc2b73",
- },
- },
- {
- scope: "support.type.object.console",
- settings: {
- foreground: "#d47628",
- },
- },
- {
- scope: ["support.module.node", "support.type.object.module", "entity.name.type.module"],
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: "support.constant.math",
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: "support.constant.property.math",
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: "support.constant.json",
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: "support.type.object.dom",
- settings: {
- foreground: "#08c0ef",
- },
- },
- {
- scope: ["support.variable.dom", "support.variable.property.dom"],
- settings: {
- foreground: "#d47628",
- },
- },
- {
- scope: "support.variable.property.process",
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: "meta.property.object",
- settings: {
- foreground: "#d47628",
- },
- },
- {
- scope: "variable.parameter.function.js",
- settings: {
- foreground: "#d47628",
- },
- },
- {
- scope: ["keyword.other.template.begin", "keyword.other.template.end"],
- settings: {
- foreground: "#199f43",
- },
- },
- {
- scope: ["keyword.other.substitution.begin", "keyword.other.substitution.end"],
- settings: {
- foreground: "#199f43",
- },
- },
- {
- scope: [
- "punctuation.definition.template-expression.begin",
- "punctuation.definition.template-expression.end",
- ],
- settings: {
- foreground: "#fc2b73",
- },
- },
- {
- scope: "meta.template.expression",
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: "punctuation.section.embedded",
- settings: {
- foreground: "#d47628",
- },
- },
- {
- scope: "variable.interpolation",
- settings: {
- foreground: "#d47628",
- },
- },
- {
- scope: ["punctuation.section.embedded.begin", "punctuation.section.embedded.end"],
- settings: {
- foreground: "#fc2b73",
- },
- },
- {
- scope: "punctuation.quasi.element",
- settings: {
- foreground: "#fc2b73",
- },
- },
- {
- scope: [
- "support.type.primitive.ts",
- "support.type.builtin.ts",
- "support.type.primitive.tsx",
- "support.type.builtin.tsx",
- ],
- settings: {
- foreground: "#c635e4",
- },
- },
- {
- scope: "support.type.type.flowtype",
- settings: {
- foreground: "#7b43f8",
- },
- },
- {
- scope: "support.type.primitive",
- settings: {
- foreground: "#c635e4",
- },
- },
- {
- scope: "support.variable.magic.python",
- settings: {
- foreground: "#d52c36",
- },
- },
- {
- scope: "variable.parameter.function.language.special.self.python",
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: [
- "punctuation.separator.period.python",
- "punctuation.separator.element.python",
- "punctuation.parenthesis.begin.python",
- "punctuation.parenthesis.end.python",
- ],
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: [
- "punctuation.definition.arguments.begin.python",
- "punctuation.definition.arguments.end.python",
- "punctuation.separator.arguments.python",
- "punctuation.definition.list.begin.python",
- "punctuation.definition.list.end.python",
- ],
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: "support.type.python",
- settings: {
- foreground: "#08c0ef",
- },
- },
- {
- scope: "keyword.operator.logical.python",
- settings: {
- foreground: "#fc2b73",
- },
- },
- {
- scope: "meta.function-call.generic.python",
- settings: {
- foreground: "#7b43f8",
- },
- },
- {
- scope: "constant.character.format.placeholder.other.python",
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: "meta.function.decorator.python",
- settings: {
- foreground: "#7b43f8",
- },
- },
- {
- scope: ["support.token.decorator.python", "meta.function.decorator.identifier.python"],
- settings: {
- foreground: "#08c0ef",
- },
- },
- {
- scope: "storage.modifier.lifetime.rust",
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: "support.function.std.rust",
- settings: {
- foreground: "#7b43f8",
- },
- },
- {
- scope: "entity.name.lifetime.rust",
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: "variable.language.rust",
- settings: {
- foreground: "#d52c36",
- },
- },
- {
- scope: "keyword.operator.misc.rust",
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: "keyword.operator.sigil.rust",
- settings: {
- foreground: "#fc2b73",
- },
- },
- {
- scope: "support.constant.core.rust",
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: ["meta.function.c", "meta.function.cpp"],
- settings: {
- foreground: "#d52c36",
- },
- },
- {
- scope: [
- "punctuation.section.block.begin.bracket.curly.cpp",
- "punctuation.section.block.end.bracket.curly.cpp",
- "punctuation.terminator.statement.c",
- "punctuation.section.block.begin.bracket.curly.c",
- "punctuation.section.block.end.bracket.curly.c",
- "punctuation.section.parens.begin.bracket.round.c",
- "punctuation.section.parens.end.bracket.round.c",
- "punctuation.section.parameters.begin.bracket.round.c",
- "punctuation.section.parameters.end.bracket.round.c",
- ],
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: [
- "keyword.operator.assignment.c",
- "keyword.operator.comparison.c",
- "keyword.operator.c",
- "keyword.operator.increment.c",
- "keyword.operator.decrement.c",
- "keyword.operator.bitwise.shift.c",
- ],
- settings: {
- foreground: "#fc2b73",
- },
- },
- {
- scope: [
- "keyword.operator.assignment.cpp",
- "keyword.operator.comparison.cpp",
- "keyword.operator.cpp",
- "keyword.operator.increment.cpp",
- "keyword.operator.decrement.cpp",
- "keyword.operator.bitwise.shift.cpp",
- ],
- settings: {
- foreground: "#fc2b73",
- },
- },
- {
- scope: ["punctuation.separator.c", "punctuation.separator.cpp"],
- settings: {
- foreground: "#fc2b73",
- },
- },
- {
- scope: ["support.type.posix-reserved.c", "support.type.posix-reserved.cpp"],
- settings: {
- foreground: "#08c0ef",
- },
- },
- {
- scope: ["keyword.operator.sizeof.c", "keyword.operator.sizeof.cpp"],
- settings: {
- foreground: "#fc2b73",
- },
- },
- {
- scope: "variable.c",
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: ["storage.type.annotation.java", "storage.type.object.array.java"],
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: "source.java",
- settings: {
- foreground: "#d52c36",
- },
- },
- {
- scope: [
- "punctuation.section.block.begin.java",
- "punctuation.section.block.end.java",
- "punctuation.definition.method-parameters.begin.java",
- "punctuation.definition.method-parameters.end.java",
- "meta.method.identifier.java",
- "punctuation.section.method.begin.java",
- "punctuation.section.method.end.java",
- "punctuation.terminator.java",
- "punctuation.section.class.begin.java",
- "punctuation.section.class.end.java",
- "punctuation.section.inner-class.begin.java",
- "punctuation.section.inner-class.end.java",
- "meta.method-call.java",
- "punctuation.section.class.begin.bracket.curly.java",
- "punctuation.section.class.end.bracket.curly.java",
- "punctuation.section.method.begin.bracket.curly.java",
- "punctuation.section.method.end.bracket.curly.java",
- "punctuation.separator.period.java",
- "punctuation.bracket.angle.java",
- "punctuation.definition.annotation.java",
- "meta.method.body.java",
- ],
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: "meta.method.java",
- settings: {
- foreground: "#7b43f8",
- },
- },
- {
- scope: ["storage.modifier.import.java", "storage.type.java", "storage.type.generic.java"],
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: "keyword.operator.instanceof.java",
- settings: {
- foreground: "#fc2b73",
- },
- },
- {
- scope: "meta.definition.variable.name.java",
- settings: {
- foreground: "#d52c36",
- },
- },
- {
- scope: "token.variable.parameter.java",
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: "import.storage.java",
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: "token.package.keyword",
- settings: {
- foreground: "#fc2b73",
- },
- },
- {
- scope: "token.package",
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: "token.storage.type.java",
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: "keyword.operator.assignment.go",
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: ["keyword.operator.arithmetic.go", "keyword.operator.address.go"],
- settings: {
- foreground: "#fc2b73",
- },
- },
- {
- scope: "entity.name.package.go",
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: [
- "support.other.namespace.use.php",
- "support.other.namespace.use-as.php",
- "support.other.namespace.php",
- "entity.other.alias.php",
- "meta.interface.php",
- ],
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: "keyword.operator.error-control.php",
- settings: {
- foreground: "#fc2b73",
- },
- },
- {
- scope: "keyword.operator.type.php",
- settings: {
- foreground: "#fc2b73",
- },
- },
- {
- scope: ["punctuation.section.array.begin.php", "punctuation.section.array.end.php"],
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: [
- "storage.type.php",
- "meta.other.type.phpdoc.php",
- "keyword.other.type.php",
- "keyword.other.array.phpdoc.php",
- ],
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: [
- "meta.function-call.php",
- "meta.function-call.object.php",
- "meta.function-call.static.php",
- ],
- settings: {
- foreground: "#7b43f8",
- },
- },
- {
- scope: [
- "punctuation.definition.parameters.begin.bracket.round.php",
- "punctuation.definition.parameters.end.bracket.round.php",
- "punctuation.separator.delimiter.php",
- "punctuation.section.scope.begin.php",
- "punctuation.section.scope.end.php",
- "punctuation.terminator.expression.php",
- "punctuation.definition.arguments.begin.bracket.round.php",
- "punctuation.definition.arguments.end.bracket.round.php",
- "punctuation.definition.storage-type.begin.bracket.round.php",
- "punctuation.definition.storage-type.end.bracket.round.php",
- "punctuation.definition.array.begin.bracket.round.php",
- "punctuation.definition.array.end.bracket.round.php",
- "punctuation.definition.begin.bracket.round.php",
- "punctuation.definition.end.bracket.round.php",
- "punctuation.definition.begin.bracket.curly.php",
- "punctuation.definition.end.bracket.curly.php",
- "punctuation.definition.section.switch-block.end.bracket.curly.php",
- "punctuation.definition.section.switch-block.start.bracket.curly.php",
- "punctuation.definition.section.switch-block.begin.bracket.curly.php",
- "punctuation.definition.section.switch-block.end.bracket.curly.php",
- ],
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: [
- "support.constant.ext.php",
- "support.constant.std.php",
- "support.constant.core.php",
- "support.constant.parser-token.php",
- ],
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: ["entity.name.goto-label.php", "support.other.php"],
- settings: {
- foreground: "#7b43f8",
- },
- },
- {
- scope: [
- "keyword.operator.logical.php",
- "keyword.operator.bitwise.php",
- "keyword.operator.arithmetic.php",
- ],
- settings: {
- foreground: "#08c0ef",
- },
- },
- {
- scope: "keyword.operator.regexp.php",
- settings: {
- foreground: "#fc2b73",
- },
- },
- {
- scope: "keyword.operator.comparison.php",
- settings: {
- foreground: "#08c0ef",
- },
- },
- {
- scope: ["keyword.operator.heredoc.php", "keyword.operator.nowdoc.php"],
- settings: {
- foreground: "#fc2b73",
- },
- },
- {
- scope: "variable.other.class.php",
- settings: {
- foreground: "#d52c36",
- },
- },
- {
- scope: "invalid.illegal.non-null-typehinted.php",
- settings: {
- foreground: "#f44747",
- },
- },
- {
- scope: "variable.other.generic-type.haskell",
- settings: {
- foreground: "#fc2b73",
- },
- },
- {
- scope: "storage.type.haskell",
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: "storage.type.cs",
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: "entity.name.variable.local.cs",
- settings: {
- foreground: "#d52c36",
- },
- },
- {
- scope: "entity.name.label.cs",
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: [
- "entity.name.scope-resolution.function.call",
- "entity.name.scope-resolution.function.definition",
- ],
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: [
- "punctuation.definition.delayed.unison",
- "punctuation.definition.list.begin.unison",
- "punctuation.definition.list.end.unison",
- "punctuation.definition.ability.begin.unison",
- "punctuation.definition.ability.end.unison",
- "punctuation.operator.assignment.as.unison",
- "punctuation.separator.pipe.unison",
- "punctuation.separator.delimiter.unison",
- "punctuation.definition.hash.unison",
- ],
- settings: {
- foreground: "#d52c36",
- },
- },
- {
- scope: "support.constant.edge",
- settings: {
- foreground: "#fc2b73",
- },
- },
- {
- scope: "support.type.prelude.elm",
- settings: {
- foreground: "#08c0ef",
- },
- },
- {
- scope: "support.constant.elm",
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: "entity.global.clojure",
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: "meta.symbol.clojure",
- settings: {
- foreground: "#d52c36",
- },
- },
- {
- scope: "constant.keyword.clojure",
- settings: {
- foreground: "#08c0ef",
- },
- },
- {
- scope: ["meta.arguments.coffee", "variable.parameter.function.coffee"],
- settings: {
- foreground: "#d52c36",
- },
- },
- {
- scope: "storage.modifier.import.groovy",
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: "meta.method.groovy",
- settings: {
- foreground: "#7b43f8",
- },
- },
- {
- scope: "meta.definition.variable.name.groovy",
- settings: {
- foreground: "#d52c36",
- },
- },
- {
- scope: "meta.definition.class.inherited.classes.groovy",
- settings: {
- foreground: "#199f43",
- },
- },
- {
- scope: "support.variable.semantic.hlsl",
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: [
- "support.type.texture.hlsl",
- "support.type.sampler.hlsl",
- "support.type.object.hlsl",
- "support.type.object.rw.hlsl",
- "support.type.fx.hlsl",
- "support.type.object.hlsl",
- ],
- settings: {
- foreground: "#fc2b73",
- },
- },
- {
- scope: ["text.variable", "text.bracketed"],
- settings: {
- foreground: "#d52c36",
- },
- },
- {
- scope: ["support.type.swift", "support.type.vb.asp"],
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: "meta.scope.prerequisites.makefile",
- settings: {
- foreground: "#d52c36",
- },
- },
- {
- scope: "source.makefile",
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: "source.ini",
- settings: {
- foreground: "#199f43",
- },
- },
- {
- scope: "constant.language.symbol.ruby",
- settings: {
- foreground: "#08c0ef",
- },
- },
- {
- scope: ["function.parameter.ruby", "function.parameter.cs"],
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: "constant.language.symbol.elixir",
- settings: {
- foreground: "#08c0ef",
- },
- },
- {
- scope:
- "text.html.laravel-blade source.php.embedded.line.html entity.name.tag.laravel-blade",
- settings: {
- foreground: "#fc2b73",
- },
- },
- {
- scope:
- "text.html.laravel-blade source.php.embedded.line.html support.constant.laravel-blade",
- settings: {
- foreground: "#fc2b73",
- },
- },
- {
- scope: "entity.name.function.xi",
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: "entity.name.class.xi",
- settings: {
- foreground: "#08c0ef",
- },
- },
- {
- scope: "constant.character.character-class.regexp.xi",
- settings: {
- foreground: "#d52c36",
- },
- },
- {
- scope: "constant.regexp.xi",
- settings: {
- foreground: "#fc2b73",
- },
- },
- {
- scope: "keyword.control.xi",
- settings: {
- foreground: "#08c0ef",
- },
- },
- {
- scope: "invalid.xi",
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: "beginning.punctuation.definition.quote.markdown.xi",
- settings: {
- foreground: "#199f43",
- },
- },
- {
- scope: "beginning.punctuation.definition.list.markdown.xi",
- settings: {
- foreground: "#84848A",
- },
- },
- {
- scope: "constant.character.xi",
- settings: {
- foreground: "#7b43f8",
- },
- },
- {
- scope: "accent.xi",
- settings: {
- foreground: "#7b43f8",
- },
- },
- {
- scope: "wikiword.xi",
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: "constant.other.color.rgb-value.xi",
- settings: {
- foreground: "#ffffff",
- },
- },
- {
- scope: "punctuation.definition.tag.xi",
- settings: {
- foreground: "#84848A",
- },
- },
- {
- scope: ["support.constant.property-value.scss", "support.constant.property-value.css"],
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: ["keyword.operator.css", "keyword.operator.scss", "keyword.operator.less"],
- settings: {
- foreground: "#08c0ef",
- },
- },
- {
- scope: [
- "support.constant.color.w3c-standard-color-name.css",
- "support.constant.color.w3c-standard-color-name.scss",
- ],
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: "punctuation.separator.list.comma.css",
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: "support.type.vendored.property-name.css",
- settings: {
- foreground: "#08c0ef",
- },
- },
- {
- scope: "support.type.property-name.css",
- settings: {
- foreground: "#08c0ef",
- },
- },
- {
- scope: "support.type.property-name",
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: "support.constant.property-value",
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: "support.constant.font-name",
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: "entity.other.attribute-name.class.css",
- settings: {
- foreground: "#16a994",
- fontStyle: "normal",
- },
- },
- {
- scope: "entity.other.attribute-name.id",
- settings: {
- foreground: "#7b43f8",
- fontStyle: "normal",
- },
- },
- {
- scope: [
- "entity.other.attribute-name.pseudo-element",
- "entity.other.attribute-name.pseudo-class",
- ],
- settings: {
- foreground: "#08c0ef",
- },
- },
- {
- scope: "meta.selector",
- settings: {
- foreground: "#fc2b73",
- },
- },
- {
- scope: "selector.sass",
- settings: {
- foreground: "#d52c36",
- },
- },
- {
- scope: "rgb-value",
- settings: {
- foreground: "#08c0ef",
- },
- },
- {
- scope: "inline-color-decoration rgb-value",
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: "less rgb-value",
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: "control.elements",
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: "keyword.operator.less",
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: "entity.name.tag",
- settings: {
- foreground: "#d52c36",
- },
- },
- {
- scope: "entity.other.attribute-name",
- settings: {
- foreground: "#16a994",
- fontStyle: "normal",
- },
- },
- {
- scope: "constant.character.entity",
- settings: {
- foreground: "#d52c36",
- },
- },
- {
- scope: "meta.tag",
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: "invalid.illegal.bad-ampersand.html",
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: "markup.heading",
- settings: {
- foreground: "#d52c36",
- },
- },
- {
- scope: ["markup.heading punctuation.definition.heading", "entity.name.section"],
- settings: {
- foreground: "#7b43f8",
- },
- },
- {
- scope: "entity.name.section.markdown",
- settings: {
- foreground: "#d52c36",
- },
- },
- {
- scope: "punctuation.definition.heading.markdown",
- settings: {
- foreground: "#d52c36",
- },
- },
- {
- scope: "markup.heading.setext",
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: ["markup.heading.setext.1.markdown", "markup.heading.setext.2.markdown"],
- settings: {
- foreground: "#d52c36",
- },
- },
- {
- scope: ["markup.bold", "todo.bold"],
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: "punctuation.definition.bold",
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: "punctuation.definition.bold.markdown",
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: ["markup.italic", "punctuation.definition.italic", "todo.emphasis"],
- settings: {
- foreground: "#fc2b73",
- fontStyle: "italic",
- },
- },
- {
- scope: "emphasis md",
- settings: {
- foreground: "#fc2b73",
- },
- },
- {
- scope: "markup.italic.markdown",
- settings: {
- fontStyle: "italic",
- },
- },
- {
- scope: ["markup.underline.link.markdown", "markup.underline.link.image.markdown"],
- settings: {
- foreground: "#fc2b73",
- },
- },
- {
- scope: ["string.other.link.title.markdown", "string.other.link.description.markdown"],
- settings: {
- foreground: "#7b43f8",
- },
- },
- {
- scope: "punctuation.definition.metadata.markdown",
- settings: {
- foreground: "#d52c36",
- },
- },
- {
- scope: ["markup.inline.raw.markdown", "markup.inline.raw.string.markdown"],
- settings: {
- foreground: "#199f43",
- },
- },
- {
- scope: "punctuation.definition.list.begin.markdown",
- settings: {
- foreground: "#d52c36",
- },
- },
- {
- scope: "punctuation.definition.list.markdown",
- settings: {
- foreground: "#d52c36",
- },
- },
- {
- scope: "beginning.punctuation.definition.list.markdown",
- settings: {
- foreground: "#d52c36",
- },
- },
- {
- scope: [
- "punctuation.definition.string.begin.markdown",
- "punctuation.definition.string.end.markdown",
- ],
- settings: {
- foreground: "#d52c36",
- },
- },
- {
- scope: "markup.quote.markdown",
- settings: {
- foreground: "#84848A",
- },
- },
- {
- scope: "keyword.other.unit",
- settings: {
- foreground: "#d52c36",
- },
- },
- {
- scope: "markup.changed.diff",
- settings: {
- foreground: "#d5a910",
+ foreground: "var(--syntax-type)",
},
},
{
scope: [
- "meta.diff.header.from-file",
- "meta.diff.header.to-file",
- "punctuation.definition.from-file.diff",
- "punctuation.definition.to-file.diff",
+ "variable.parameter.function",
+ "meta.jsx.children",
+ "meta.block",
+ "meta.tag.attributes",
+ "entity.name.constant",
+ "meta.object.member",
+ "meta.embedded.expression",
+ "meta.template.expression",
+ "string.other.begin.yaml",
+ "string.other.end.yaml",
],
settings: {
- foreground: "#7b43f8",
- },
- },
- {
- scope: "markup.inserted.diff",
- settings: {
- foreground: "#199f43",
- },
- },
- {
- scope: "markup.deleted.diff",
- settings: {
- foreground: "#d52c36",
- },
- },
- {
- scope: "string.regexp",
- settings: {
- foreground: "#17a5af",
- },
- },
- {
- scope: "constant.other.character-class.regexp",
- settings: {
- foreground: "#d52c36",
- },
- },
- {
- scope: "keyword.operator.quantifier.regexp",
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: "constant.character.escape",
- settings: {
- foreground: "#1ca1c7",
- },
- },
- {
- scope: "source.json meta.structure.dictionary.json > string.quoted.json",
- settings: {
- foreground: "#d52c36",
+ foreground: "var(--syntax-punctuation)",
},
},
{
- scope:
- "source.json meta.structure.dictionary.json > string.quoted.json > punctuation.string",
+ scope: ["entity.name.function", "support.type.primitive"],
settings: {
- foreground: "#d52c36",
+ foreground: "var(--syntax-primitive)",
},
},
{
- scope: [
- "source.json meta.structure.dictionary.json > value.json > string.quoted.json",
- "source.json meta.structure.array.json > value.json > string.quoted.json",
- "source.json meta.structure.dictionary.json > value.json > string.quoted.json > punctuation",
- "source.json meta.structure.array.json > value.json > string.quoted.json > punctuation",
- ],
- settings: {
- foreground: "#199f43",
- },
- },
- {
- scope: [
- "source.json meta.structure.dictionary.json > constant.language.json",
- "source.json meta.structure.array.json > constant.language.json",
- ],
+ scope: ["support.class.component"],
settings: {
- foreground: "#08c0ef",
- },
- },
- {
- scope: "support.type.property-name.json",
- settings: {
- foreground: "#d52c36",
- },
- },
- {
- scope: "support.type.property-name.json punctuation",
- settings: {
- foreground: "#d52c36",
- },
- },
- {
- scope: "punctuation.definition.block.sequence.item.yaml",
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: "block.scope.end",
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: "block.scope.begin",
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: "token.info-token",
- settings: {
- foreground: "#7b43f8",
- },
- },
- {
- scope: "token.warn-token",
- settings: {
- foreground: "#d5a910",
- },
- },
- {
- scope: "token.error-token",
- settings: {
- foreground: "#f44747",
- },
- },
- {
- scope: "token.debug-token",
- settings: {
- foreground: "#fc2b73",
- },
- },
- {
- scope: "invalid.illegal",
- settings: {
- foreground: "#ffffff",
- },
- },
- {
- scope: "invalid.broken",
- settings: {
- foreground: "#ffffff",
- },
- },
- {
- scope: "invalid.deprecated",
- settings: {
- foreground: "#ffffff",
- },
- },
- {
- scope: "invalid.unimplemented",
- settings: {
- foreground: "#ffffff",
- },
- },
- ],
- semanticTokenColors: {
- comment: "#84848A",
- string: "#199f43",
- number: "#1ca1c7",
- regexp: "#17a5af",
- keyword: "#fc2b73",
- variable: "#d47628",
- parameter: "#79797F",
- property: "#d47628",
- function: "#7b43f8",
- method: "#7b43f8",
- type: "#c635e4",
- class: "#c635e4",
- namespace: "#d5a910",
- enumMember: "#08c0ef",
- "variable.constant": "#d5a910",
- "variable.defaultLibrary": "#d5a910",
- },
- } as unknown as ThemeRegistrationResolved)
-})
-
-registerCustomTheme("oc-1-dark", () => {
- return Promise.resolve({
- name: "oc-1-dark",
- type: "dark",
- colors: {
- "editor.background": "transparent",
- "editor.foreground": "#fbfbfb",
- foreground: "#fbfbfb",
- focusBorder: "#1a76d4",
- "selection.background": "#19253c",
- "editor.selectionBackground": "#1a76d44d",
- "editor.lineHighlightBackground": "#19253c8c",
- "editorCursor.foreground": "#1a76d4",
- "editorLineNumber.foreground": "#84848A",
- "editorLineNumber.activeForeground": "#adadb1",
- "editorIndentGuide.background": "#39393c",
- "editorIndentGuide.activeBackground": "#2e2e30",
- "diffEditor.insertedTextBackground": "#00cab11a",
- "diffEditor.deletedTextBackground": "#ff2e3f1a",
- "sideBar.background": "#141415",
- "sideBar.foreground": "#adadb1",
- "sideBar.border": "#070707",
- "sideBarTitle.foreground": "#fbfbfb",
- "sideBarSectionHeader.background": "#141415",
- "sideBarSectionHeader.foreground": "#adadb1",
- "sideBarSectionHeader.border": "#070707",
- "activityBar.background": "#141415",
- "activityBar.foreground": "#fbfbfb",
- "activityBar.border": "#070707",
- "activityBar.activeBorder": "#1a76d4",
- "activityBarBadge.background": "#1a76d4",
- "activityBarBadge.foreground": "#070707",
- "titleBar.activeBackground": "#141415",
- "titleBar.activeForeground": "#fbfbfb",
- "titleBar.inactiveBackground": "#141415",
- "titleBar.inactiveForeground": "#84848A",
- "titleBar.border": "#070707",
- "list.activeSelectionBackground": "#19253c99",
- "list.activeSelectionForeground": "#fbfbfb",
- "list.inactiveSelectionBackground": "#19253c73",
- "list.hoverBackground": "#19253c59",
- "list.focusOutline": "#1a76d4",
- "tab.activeBackground": "#070707",
- "tab.activeForeground": "#fbfbfb",
- "tab.activeBorderTop": "#1a76d4",
- "tab.inactiveBackground": "#141415",
- "tab.inactiveForeground": "#84848A",
- "tab.border": "#070707",
- "editorGroupHeader.tabsBackground": "#141415",
- "editorGroupHeader.tabsBorder": "#070707",
- "panel.background": "#141415",
- "panel.border": "#070707",
- "panelTitle.activeBorder": "#1a76d4",
- "panelTitle.activeForeground": "#fbfbfb",
- "panelTitle.inactiveForeground": "#84848A",
- "statusBar.background": "#141415",
- "statusBar.foreground": "#adadb1",
- "statusBar.border": "#070707",
- "statusBar.noFolderBackground": "#141415",
- "statusBar.debuggingBackground": "#ffca00",
- "statusBar.debuggingForeground": "#070707",
- "statusBarItem.remoteBackground": "#141415",
- "statusBarItem.remoteForeground": "#adadb1",
- "input.background": "#1F1F21",
- "input.border": "#424245",
- "input.foreground": "#fbfbfb",
- "input.placeholderForeground": "#79797F",
- "dropdown.background": "#1F1F21",
- "dropdown.border": "#424245",
- "dropdown.foreground": "#fbfbfb",
- "button.background": "#1a76d4",
- "button.foreground": "#070707",
- "button.hoverBackground": "#186bc0",
- "textLink.foreground": "#1a76d4",
- "textLink.activeForeground": "#1a76d4",
- "gitDecoration.addedResourceForeground": "#00cab1",
- "gitDecoration.conflictingResourceForeground": "#ffca00",
- "gitDecoration.modifiedResourceForeground": "#1a76d4",
- "gitDecoration.deletedResourceForeground": "#ff2e3f",
- "gitDecoration.untrackedResourceForeground": "#00cab1",
- "gitDecoration.ignoredResourceForeground": "#84848A",
- "terminal.titleForeground": "#adadb1",
- "terminal.titleInactiveForeground": "#84848A",
- "terminal.background": "#141415",
- "terminal.foreground": "#adadb1",
- "terminal.ansiBlack": "#141415",
- "terminal.ansiRed": "#ff2e3f",
- "terminal.ansiGreen": "#0dbe4e",
- "terminal.ansiYellow": "#ffca00",
- "terminal.ansiBlue": "#008cff",
- "terminal.ansiMagenta": "#c635e4",
- "terminal.ansiCyan": "#08c0ef",
- "terminal.ansiWhite": "#c6c6c8",
- "terminal.ansiBrightBlack": "#141415",
- "terminal.ansiBrightRed": "#ff2e3f",
- "terminal.ansiBrightGreen": "#0dbe4e",
- "terminal.ansiBrightYellow": "#ffca00",
- "terminal.ansiBrightBlue": "#008cff",
- "terminal.ansiBrightMagenta": "#c635e4",
- "terminal.ansiBrightCyan": "#08c0ef",
- "terminal.ansiBrightWhite": "#c6c6c8",
- },
- tokenColors: [
- {
- scope: ["comment", "punctuation.definition.comment"],
- settings: {
- foreground: "#84848A",
- },
- },
- {
- scope: "comment markup.link",
- settings: {
- foreground: "#84848A",
- },
- },
- {
- scope: ["string", "constant.other.symbol"],
- settings: {
- foreground: "#5ecc71",
- },
- },
- {
- scope: ["punctuation.definition.string.begin", "punctuation.definition.string.end"],
- settings: {
- foreground: "#5ecc71",
- },
- },
- {
- scope: ["constant.numeric", "constant.language.boolean"],
- settings: {
- foreground: "#68cdf2",
- },
- },
- {
- scope: "constant",
- settings: {
- foreground: "#ffd452",
- },
- },
- {
- scope: "punctuation.definition.constant",
- settings: {
- foreground: "#ffd452",
- },
- },
- {
- scope: "constant.language",
- settings: {
- foreground: "#68cdf2",
- },
- },
- {
- scope: "variable.other.constant",
- settings: {
- foreground: "#ffca00",
+ foreground: "var(--syntax-type)",
},
},
{
scope: "keyword",
settings: {
- foreground: "#ff678d",
- },
- },
- {
- scope: "keyword.control",
- settings: {
- foreground: "#ff678d",
- },
- },
- {
- scope: ["storage", "storage.type", "storage.modifier"],
- settings: {
- foreground: "#ff678d",
- },
- },
- {
- scope: "token.storage",
- settings: {
- foreground: "#ff678d",
- },
- },
- {
- scope: [
- "keyword.operator.new",
- "keyword.operator.expression.instanceof",
- "keyword.operator.expression.typeof",
- "keyword.operator.expression.void",
- "keyword.operator.expression.delete",
- "keyword.operator.expression.in",
- "keyword.operator.expression.of",
- "keyword.operator.expression.keyof",
- ],
- settings: {
- foreground: "#ff678d",
- },
- },
- {
- scope: "keyword.operator.delete",
- settings: {
- foreground: "#ff678d",
- },
- },
- {
- scope: ["variable", "identifier", "meta.definition.variable"],
- settings: {
- foreground: "#ffa359",
- },
- },
- {
- scope: [
- "variable.other.readwrite",
- "meta.object-literal.key",
- "support.variable.property",
- "support.variable.object.process",
- "support.variable.object.node",
- ],
- settings: {
- foreground: "#ffa359",
- },
- },
- {
- scope: "variable.language",
- settings: {
- foreground: "#ffca00",
- },
- },
- {
- scope: "variable.parameter.function",
- settings: {
- foreground: "#adadb1",
- },
- },
- {
- scope: "function.parameter",
- settings: {
- foreground: "#adadb1",
- },
- },
- {
- scope: "variable.parameter",
- settings: {
- foreground: "#adadb1",
- },
- },
- {
- scope: "variable.parameter.function.language.python",
- settings: {
- foreground: "#ffd452",
- },
- },
- {
- scope: "variable.parameter.function.python",
- settings: {
- foreground: "#ffd452",
- },
- },
- {
- scope: [
- "support.function",
- "entity.name.function",
- "meta.function-call",
- "meta.require",
- "support.function.any-method",
- "variable.function",
- ],
- settings: {
- foreground: "#9d6afb",
- },
- },
- {
- scope: "keyword.other.special-method",
- settings: {
- foreground: "#9d6afb",
- },
- },
- {
- scope: "entity.name.function",
- settings: {
- foreground: "#9d6afb",
- },
- },
- {
- scope: "support.function.console",
- settings: {
- foreground: "#9d6afb",
- },
- },
- {
- scope: ["support.type", "entity.name.type", "entity.name.class", "storage.type"],
- settings: {
- foreground: "#d568ea",
- },
- },
- {
- scope: ["support.class", "entity.name.type.class"],
- settings: {
- foreground: "#d568ea",
- },
- },
- {
- scope: ["entity.name.class", "variable.other.class.js", "variable.other.class.ts"],
- settings: {
- foreground: "#d568ea",
- },
- },
- {
- scope: "entity.name.class.identifier.namespace.type",
- settings: {
- foreground: "#d568ea",
- },
- },
- {
- scope: "entity.name.type.namespace",
- settings: {
- foreground: "#ffca00",
- },
- },
- {
- scope: "entity.other.inherited-class",
- settings: {
- foreground: "#d568ea",
- },
- },
- {
- scope: "entity.name.namespace",
- settings: {
- foreground: "#ffca00",
- },
- },
- {
- scope: "keyword.operator",
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: ["keyword.operator.logical", "keyword.operator.bitwise", "keyword.operator.channel"],
- settings: {
- foreground: "#08c0ef",
- },
- },
- {
- scope: [
- "keyword.operator.arithmetic",
- "keyword.operator.comparison",
- "keyword.operator.relational",
- "keyword.operator.increment",
- "keyword.operator.decrement",
- ],
- settings: {
- foreground: "#08c0ef",
- },
- },
- {
- scope: "keyword.operator.assignment",
- settings: {
- foreground: "#08c0ef",
- },
- },
- {
- scope: "keyword.operator.assignment.compound",
- settings: {
- foreground: "#ff678d",
- },
- },
- {
- scope: [
- "keyword.operator.assignment.compound.js",
- "keyword.operator.assignment.compound.ts",
- ],
- settings: {
- foreground: "#08c0ef",
- },
- },
- {
- scope: "keyword.operator.ternary",
- settings: {
- foreground: "#ff678d",
- },
- },
- {
- scope: "keyword.operator.optional",
- settings: {
- foreground: "#ff678d",
- },
- },
- {
- scope: "punctuation",
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: "punctuation.separator.delimiter",
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: "punctuation.separator.key-value",
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: "punctuation.terminator",
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: "meta.brace",
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: "meta.brace.square",
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: "meta.brace.round",
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: "function.brace",
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: ["punctuation.definition.parameters", "punctuation.definition.typeparameters"],
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: ["punctuation.definition.block", "punctuation.definition.tag"],
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: ["meta.tag.tsx", "meta.tag.jsx", "meta.tag.js", "meta.tag.ts"],
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: "keyword.operator.expression.import",
- settings: {
- foreground: "#9d6afb",
- },
- },
- {
- scope: "keyword.operator.module",
- settings: {
- foreground: "#ff678d",
- },
- },
- {
- scope: "support.type.object.console",
- settings: {
- foreground: "#ffa359",
- },
- },
- {
- scope: ["support.module.node", "support.type.object.module", "entity.name.type.module"],
- settings: {
- foreground: "#ffca00",
- },
- },
- {
- scope: "support.constant.math",
- settings: {
- foreground: "#ffca00",
- },
- },
- {
- scope: "support.constant.property.math",
- settings: {
- foreground: "#ffd452",
- },
- },
- {
- scope: "support.constant.json",
- settings: {
- foreground: "#ffd452",
- },
- },
- {
- scope: "support.type.object.dom",
- settings: {
- foreground: "#08c0ef",
- },
- },
- {
- scope: ["support.variable.dom", "support.variable.property.dom"],
- settings: {
- foreground: "#ffa359",
- },
- },
- {
- scope: "support.variable.property.process",
- settings: {
- foreground: "#ffd452",
- },
- },
- {
- scope: "meta.property.object",
- settings: {
- foreground: "#ffa359",
- },
- },
- {
- scope: "variable.parameter.function.js",
- settings: {
- foreground: "#ffa359",
- },
- },
- {
- scope: ["keyword.other.template.begin", "keyword.other.template.end"],
- settings: {
- foreground: "#5ecc71",
- },
- },
- {
- scope: ["keyword.other.substitution.begin", "keyword.other.substitution.end"],
- settings: {
- foreground: "#5ecc71",
- },
- },
- {
- scope: [
- "punctuation.definition.template-expression.begin",
- "punctuation.definition.template-expression.end",
- ],
- settings: {
- foreground: "#ff678d",
- },
- },
- {
- scope: "meta.template.expression",
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: "punctuation.section.embedded",
- settings: {
- foreground: "#ffa359",
- },
- },
- {
- scope: "variable.interpolation",
- settings: {
- foreground: "#ffa359",
- },
- },
- {
- scope: ["punctuation.section.embedded.begin", "punctuation.section.embedded.end"],
- settings: {
- foreground: "#ff678d",
- },
- },
- {
- scope: "punctuation.quasi.element",
- settings: {
- foreground: "#ff678d",
- },
- },
- {
- scope: [
- "support.type.primitive.ts",
- "support.type.builtin.ts",
- "support.type.primitive.tsx",
- "support.type.builtin.tsx",
- ],
- settings: {
- foreground: "#d568ea",
- },
- },
- {
- scope: "support.type.type.flowtype",
- settings: {
- foreground: "#9d6afb",
- },
- },
- {
- scope: "support.type.primitive",
- settings: {
- foreground: "#d568ea",
- },
- },
- {
- scope: "support.variable.magic.python",
- settings: {
- foreground: "#ff6762",
- },
- },
- {
- scope: "variable.parameter.function.language.special.self.python",
- settings: {
- foreground: "#ffca00",
- },
- },
- {
- scope: [
- "punctuation.separator.period.python",
- "punctuation.separator.element.python",
- "punctuation.parenthesis.begin.python",
- "punctuation.parenthesis.end.python",
- ],
- settings: {
- foreground: "#79797F",
+ foreground: "var(--syntax-keyword)",
},
},
{
scope: [
- "punctuation.definition.arguments.begin.python",
- "punctuation.definition.arguments.end.python",
- "punctuation.separator.arguments.python",
- "punctuation.definition.list.begin.python",
- "punctuation.definition.list.end.python",
+ "keyword.operator",
+ "storage.type.function.arrow",
+ "punctuation.separator.key-value.css",
+ "entity.name.tag.yaml",
+ "punctuation.separator.key-value.mapping.yaml",
],
settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: "support.type.python",
- settings: {
- foreground: "#08c0ef",
- },
- },
- {
- scope: "keyword.operator.logical.python",
- settings: {
- foreground: "#ff678d",
- },
- },
- {
- scope: "meta.function-call.generic.python",
- settings: {
- foreground: "#9d6afb",
- },
- },
- {
- scope: "constant.character.format.placeholder.other.python",
- settings: {
- foreground: "#ffd452",
- },
- },
- {
- scope: "meta.function.decorator.python",
- settings: {
- foreground: "#9d6afb",
- },
- },
- {
- scope: ["support.token.decorator.python", "meta.function.decorator.identifier.python"],
- settings: {
- foreground: "#08c0ef",
- },
- },
- {
- scope: "storage.modifier.lifetime.rust",
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: "support.function.std.rust",
- settings: {
- foreground: "#9d6afb",
- },
- },
- {
- scope: "entity.name.lifetime.rust",
- settings: {
- foreground: "#ffca00",
- },
- },
- {
- scope: "variable.language.rust",
- settings: {
- foreground: "#ff6762",
- },
- },
- {
- scope: "keyword.operator.misc.rust",
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: "keyword.operator.sigil.rust",
- settings: {
- foreground: "#ff678d",
- },
- },
- {
- scope: "support.constant.core.rust",
- settings: {
- foreground: "#ffd452",
- },
- },
- {
- scope: ["meta.function.c", "meta.function.cpp"],
- settings: {
- foreground: "#ff6762",
+ foreground: "var(--syntax-operator)",
},
},
{
- scope: [
- "punctuation.section.block.begin.bracket.curly.cpp",
- "punctuation.section.block.end.bracket.curly.cpp",
- "punctuation.terminator.statement.c",
- "punctuation.section.block.begin.bracket.curly.c",
- "punctuation.section.block.end.bracket.curly.c",
- "punctuation.section.parens.begin.bracket.round.c",
- "punctuation.section.parens.end.bracket.round.c",
- "punctuation.section.parameters.begin.bracket.round.c",
- "punctuation.section.parameters.end.bracket.round.c",
- ],
+ scope: ["storage", "storage.type"],
settings: {
- foreground: "#79797F",
+ foreground: "var(--syntax-keyword)",
},
},
{
- scope: [
- "keyword.operator.assignment.c",
- "keyword.operator.comparison.c",
- "keyword.operator.c",
- "keyword.operator.increment.c",
- "keyword.operator.decrement.c",
- "keyword.operator.bitwise.shift.c",
- ],
+ scope: ["storage.modifier.package", "storage.modifier.import", "storage.type.java"],
settings: {
- foreground: "#ff678d",
+ foreground: "var(--syntax-primitive)",
},
},
{
scope: [
- "keyword.operator.assignment.cpp",
- "keyword.operator.comparison.cpp",
- "keyword.operator.cpp",
- "keyword.operator.increment.cpp",
- "keyword.operator.decrement.cpp",
- "keyword.operator.bitwise.shift.cpp",
+ "string",
+ "punctuation.definition.string",
+ "string punctuation.section.embedded source",
+ "entity.name.tag",
],
settings: {
- foreground: "#ff678d",
- },
- },
- {
- scope: ["punctuation.separator.c", "punctuation.separator.cpp"],
- settings: {
- foreground: "#ff678d",
+ foreground: "var(--syntax-string)",
},
},
{
- scope: ["support.type.posix-reserved.c", "support.type.posix-reserved.cpp"],
+ scope: "support",
settings: {
- foreground: "#08c0ef",
+ foreground: "var(--syntax-primitive)",
},
},
{
- scope: ["keyword.operator.sizeof.c", "keyword.operator.sizeof.cpp"],
+ scope: ["support.type.object.module", "variable.other.object", "support.type.property-name.css"],
settings: {
- foreground: "#ff678d",
+ foreground: "var(--syntax-object)",
},
},
{
- scope: "variable.c",
+ scope: "meta.property-name",
settings: {
- foreground: "#79797F",
+ foreground: "var(--syntax-property)",
},
},
{
- scope: ["storage.type.annotation.java", "storage.type.object.array.java"],
+ scope: "variable",
settings: {
- foreground: "#ffca00",
+ foreground: "var(--syntax-variable)",
},
},
{
- scope: "source.java",
+ scope: "variable.other",
settings: {
- foreground: "#ff6762",
+ foreground: "var(--syntax-variable)",
},
},
{
scope: [
- "punctuation.section.block.begin.java",
- "punctuation.section.block.end.java",
- "punctuation.definition.method-parameters.begin.java",
- "punctuation.definition.method-parameters.end.java",
- "meta.method.identifier.java",
- "punctuation.section.method.begin.java",
- "punctuation.section.method.end.java",
- "punctuation.terminator.java",
- "punctuation.section.class.begin.java",
- "punctuation.section.class.end.java",
- "punctuation.section.inner-class.begin.java",
- "punctuation.section.inner-class.end.java",
- "meta.method-call.java",
- "punctuation.section.class.begin.bracket.curly.java",
- "punctuation.section.class.end.bracket.curly.java",
- "punctuation.section.method.begin.bracket.curly.java",
- "punctuation.section.method.end.bracket.curly.java",
- "punctuation.separator.period.java",
- "punctuation.bracket.angle.java",
- "punctuation.definition.annotation.java",
- "meta.method.body.java",
- ],
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: "meta.method.java",
- settings: {
- foreground: "#9d6afb",
- },
- },
- {
- scope: ["storage.modifier.import.java", "storage.type.java", "storage.type.generic.java"],
- settings: {
- foreground: "#ffca00",
- },
- },
- {
- scope: "keyword.operator.instanceof.java",
- settings: {
- foreground: "#ff678d",
- },
- },
- {
- scope: "meta.definition.variable.name.java",
- settings: {
- foreground: "#ff6762",
- },
- },
- {
- scope: "token.variable.parameter.java",
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: "import.storage.java",
- settings: {
- foreground: "#ffca00",
- },
- },
- {
- scope: "token.package.keyword",
- settings: {
- foreground: "#ff678d",
- },
- },
- {
- scope: "token.package",
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: "token.storage.type.java",
- settings: {
- foreground: "#ffca00",
- },
- },
- {
- scope: "keyword.operator.assignment.go",
- settings: {
- foreground: "#ffca00",
- },
- },
- {
- scope: ["keyword.operator.arithmetic.go", "keyword.operator.address.go"],
- settings: {
- foreground: "#ff678d",
- },
- },
- {
- scope: "entity.name.package.go",
- settings: {
- foreground: "#ffca00",
- },
- },
- {
- scope: [
- "support.other.namespace.use.php",
- "support.other.namespace.use-as.php",
- "support.other.namespace.php",
- "entity.other.alias.php",
- "meta.interface.php",
- ],
- settings: {
- foreground: "#ffca00",
- },
- },
- {
- scope: "keyword.operator.error-control.php",
- settings: {
- foreground: "#ff678d",
- },
- },
- {
- scope: "keyword.operator.type.php",
- settings: {
- foreground: "#ff678d",
- },
- },
- {
- scope: ["punctuation.section.array.begin.php", "punctuation.section.array.end.php"],
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: [
- "storage.type.php",
- "meta.other.type.phpdoc.php",
- "keyword.other.type.php",
- "keyword.other.array.phpdoc.php",
- ],
- settings: {
- foreground: "#ffca00",
- },
- },
- {
- scope: [
- "meta.function-call.php",
- "meta.function-call.object.php",
- "meta.function-call.static.php",
- ],
- settings: {
- foreground: "#9d6afb",
- },
- },
- {
- scope: [
- "punctuation.definition.parameters.begin.bracket.round.php",
- "punctuation.definition.parameters.end.bracket.round.php",
- "punctuation.separator.delimiter.php",
- "punctuation.section.scope.begin.php",
- "punctuation.section.scope.end.php",
- "punctuation.terminator.expression.php",
- "punctuation.definition.arguments.begin.bracket.round.php",
- "punctuation.definition.arguments.end.bracket.round.php",
- "punctuation.definition.storage-type.begin.bracket.round.php",
- "punctuation.definition.storage-type.end.bracket.round.php",
- "punctuation.definition.array.begin.bracket.round.php",
- "punctuation.definition.array.end.bracket.round.php",
- "punctuation.definition.begin.bracket.round.php",
- "punctuation.definition.end.bracket.round.php",
- "punctuation.definition.begin.bracket.curly.php",
- "punctuation.definition.end.bracket.curly.php",
- "punctuation.definition.section.switch-block.end.bracket.curly.php",
- "punctuation.definition.section.switch-block.start.bracket.curly.php",
- "punctuation.definition.section.switch-block.begin.bracket.curly.php",
- "punctuation.definition.section.switch-block.end.bracket.curly.php",
- ],
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: [
- "support.constant.ext.php",
- "support.constant.std.php",
- "support.constant.core.php",
- "support.constant.parser-token.php",
- ],
- settings: {
- foreground: "#ffd452",
- },
- },
- {
- scope: ["entity.name.goto-label.php", "support.other.php"],
- settings: {
- foreground: "#9d6afb",
- },
- },
- {
- scope: [
- "keyword.operator.logical.php",
- "keyword.operator.bitwise.php",
- "keyword.operator.arithmetic.php",
- ],
- settings: {
- foreground: "#08c0ef",
- },
- },
- {
- scope: "keyword.operator.regexp.php",
- settings: {
- foreground: "#ff678d",
- },
- },
- {
- scope: "keyword.operator.comparison.php",
- settings: {
- foreground: "#08c0ef",
- },
- },
- {
- scope: ["keyword.operator.heredoc.php", "keyword.operator.nowdoc.php"],
- settings: {
- foreground: "#ff678d",
- },
- },
- {
- scope: "variable.other.class.php",
- settings: {
- foreground: "#ff6762",
- },
- },
- {
- scope: "invalid.illegal.non-null-typehinted.php",
- settings: {
- foreground: "#f44747",
- },
- },
- {
- scope: "variable.other.generic-type.haskell",
- settings: {
- foreground: "#ff678d",
- },
- },
- {
- scope: "storage.type.haskell",
- settings: {
- foreground: "#ffd452",
- },
- },
- {
- scope: "storage.type.cs",
- settings: {
- foreground: "#ffca00",
- },
- },
- {
- scope: "entity.name.variable.local.cs",
- settings: {
- foreground: "#ff6762",
- },
- },
- {
- scope: "entity.name.label.cs",
- settings: {
- foreground: "#ffca00",
- },
- },
- {
- scope: [
- "entity.name.scope-resolution.function.call",
- "entity.name.scope-resolution.function.definition",
- ],
- settings: {
- foreground: "#ffca00",
- },
- },
- {
- scope: [
- "punctuation.definition.delayed.unison",
- "punctuation.definition.list.begin.unison",
- "punctuation.definition.list.end.unison",
- "punctuation.definition.ability.begin.unison",
- "punctuation.definition.ability.end.unison",
- "punctuation.operator.assignment.as.unison",
- "punctuation.separator.pipe.unison",
- "punctuation.separator.delimiter.unison",
- "punctuation.definition.hash.unison",
- ],
- settings: {
- foreground: "#ff6762",
- },
- },
- {
- scope: "support.constant.edge",
- settings: {
- foreground: "#ff678d",
- },
- },
- {
- scope: "support.type.prelude.elm",
- settings: {
- foreground: "#08c0ef",
- },
- },
- {
- scope: "support.constant.elm",
- settings: {
- foreground: "#ffd452",
- },
- },
- {
- scope: "entity.global.clojure",
- settings: {
- foreground: "#ffca00",
- },
- },
- {
- scope: "meta.symbol.clojure",
- settings: {
- foreground: "#ff6762",
- },
- },
- {
- scope: "constant.keyword.clojure",
- settings: {
- foreground: "#08c0ef",
- },
- },
- {
- scope: ["meta.arguments.coffee", "variable.parameter.function.coffee"],
- settings: {
- foreground: "#ff6762",
- },
- },
- {
- scope: "storage.modifier.import.groovy",
- settings: {
- foreground: "#ffca00",
- },
- },
- {
- scope: "meta.method.groovy",
- settings: {
- foreground: "#9d6afb",
- },
- },
- {
- scope: "meta.definition.variable.name.groovy",
- settings: {
- foreground: "#ff6762",
- },
- },
- {
- scope: "meta.definition.class.inherited.classes.groovy",
- settings: {
- foreground: "#5ecc71",
- },
- },
- {
- scope: "support.variable.semantic.hlsl",
- settings: {
- foreground: "#ffca00",
- },
- },
- {
- scope: [
- "support.type.texture.hlsl",
- "support.type.sampler.hlsl",
- "support.type.object.hlsl",
- "support.type.object.rw.hlsl",
- "support.type.fx.hlsl",
- "support.type.object.hlsl",
- ],
- settings: {
- foreground: "#ff678d",
- },
- },
- {
- scope: ["text.variable", "text.bracketed"],
- settings: {
- foreground: "#ff6762",
- },
- },
- {
- scope: ["support.type.swift", "support.type.vb.asp"],
- settings: {
- foreground: "#ffca00",
- },
- },
- {
- scope: "meta.scope.prerequisites.makefile",
- settings: {
- foreground: "#ff6762",
- },
- },
- {
- scope: "source.makefile",
- settings: {
- foreground: "#ffca00",
- },
- },
- {
- scope: "source.ini",
- settings: {
- foreground: "#5ecc71",
- },
- },
- {
- scope: "constant.language.symbol.ruby",
- settings: {
- foreground: "#08c0ef",
- },
- },
- {
- scope: ["function.parameter.ruby", "function.parameter.cs"],
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: "constant.language.symbol.elixir",
- settings: {
- foreground: "#08c0ef",
- },
- },
- {
- scope:
- "text.html.laravel-blade source.php.embedded.line.html entity.name.tag.laravel-blade",
- settings: {
- foreground: "#ff678d",
- },
- },
- {
- scope:
- "text.html.laravel-blade source.php.embedded.line.html support.constant.laravel-blade",
- settings: {
- foreground: "#ff678d",
- },
- },
- {
- scope: "entity.name.function.xi",
- settings: {
- foreground: "#ffca00",
- },
- },
- {
- scope: "entity.name.class.xi",
- settings: {
- foreground: "#08c0ef",
- },
- },
- {
- scope: "constant.character.character-class.regexp.xi",
- settings: {
- foreground: "#ff6762",
- },
- },
- {
- scope: "constant.regexp.xi",
- settings: {
- foreground: "#ff678d",
- },
- },
- {
- scope: "keyword.control.xi",
- settings: {
- foreground: "#08c0ef",
- },
- },
- {
- scope: "invalid.xi",
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: "beginning.punctuation.definition.quote.markdown.xi",
- settings: {
- foreground: "#5ecc71",
- },
- },
- {
- scope: "beginning.punctuation.definition.list.markdown.xi",
- settings: {
- foreground: "#84848A",
- },
- },
- {
- scope: "constant.character.xi",
- settings: {
- foreground: "#9d6afb",
- },
- },
- {
- scope: "accent.xi",
- settings: {
- foreground: "#9d6afb",
- },
- },
- {
- scope: "wikiword.xi",
- settings: {
- foreground: "#ffd452",
- },
- },
- {
- scope: "constant.other.color.rgb-value.xi",
- settings: {
- foreground: "#ffffff",
- },
- },
- {
- scope: "punctuation.definition.tag.xi",
- settings: {
- foreground: "#84848A",
- },
- },
- {
- scope: ["support.constant.property-value.scss", "support.constant.property-value.css"],
- settings: {
- foreground: "#ffd452",
- },
- },
- {
- scope: ["keyword.operator.css", "keyword.operator.scss", "keyword.operator.less"],
- settings: {
- foreground: "#08c0ef",
- },
- },
- {
- scope: [
- "support.constant.color.w3c-standard-color-name.css",
- "support.constant.color.w3c-standard-color-name.scss",
+ "invalid.broken",
+ "invalid.illegal",
+ "invalid.unimplemented",
+ "invalid.deprecated",
+ "message.error",
+ "markup.deleted",
+ "meta.diff.header.from-file",
+ "punctuation.definition.deleted",
+ "brackethighlighter.unmatched",
+ "token.error-token",
],
settings: {
- foreground: "#ffd452",
- },
- },
- {
- scope: "punctuation.separator.list.comma.css",
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: "support.type.vendored.property-name.css",
- settings: {
- foreground: "#08c0ef",
- },
- },
- {
- scope: "support.type.property-name.css",
- settings: {
- foreground: "#08c0ef",
- },
- },
- {
- scope: "support.type.property-name",
- settings: {
- foreground: "#79797F",
+ foreground: "var(--syntax-critical)",
},
},
{
- scope: "support.constant.property-value",
+ scope: "carriage-return",
settings: {
- foreground: "#79797F",
+ foreground: "var(--syntax-keyword)",
},
},
{
- scope: "support.constant.font-name",
+ scope: "string source",
settings: {
- foreground: "#ffd452",
+ foreground: "var(--syntax-variable)",
},
},
{
- scope: "entity.other.attribute-name.class.css",
+ scope: "string variable",
settings: {
- foreground: "#61d5c0",
- fontStyle: "normal",
- },
- },
- {
- scope: "entity.other.attribute-name.id",
- settings: {
- foreground: "#9d6afb",
- fontStyle: "normal",
+ foreground: "var(--syntax-constant)",
},
},
{
scope: [
- "entity.other.attribute-name.pseudo-element",
- "entity.other.attribute-name.pseudo-class",
+ "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",
],
settings: {
- foreground: "#08c0ef",
- },
- },
- {
- scope: "meta.selector",
- settings: {
- foreground: "#ff678d",
- },
- },
- {
- scope: "selector.sass",
- settings: {
- foreground: "#ff6762",
- },
- },
- {
- scope: "rgb-value",
- settings: {
- foreground: "#08c0ef",
- },
- },
- {
- scope: "inline-color-decoration rgb-value",
- settings: {
- foreground: "#ffd452",
- },
- },
- {
- scope: "less rgb-value",
- settings: {
- foreground: "#ffd452",
- },
- },
- {
- scope: "control.elements",
- settings: {
- foreground: "#ffd452",
- },
- },
- {
- scope: "keyword.operator.less",
- settings: {
- foreground: "#ffd452",
- },
- },
- {
- scope: "entity.name.tag",
- settings: {
- foreground: "#ff6762",
- },
- },
- {
- scope: "entity.other.attribute-name",
- settings: {
- foreground: "#61d5c0",
- fontStyle: "normal",
- },
- },
- {
- scope: "constant.character.entity",
- settings: {
- foreground: "#ff6762",
+ foreground: "var(--syntax-regexp)",
},
},
{
- scope: "meta.tag",
+ scope: "support.constant",
settings: {
- foreground: "#79797F",
+ foreground: "var(--syntax-primitive)",
},
},
{
- scope: "invalid.illegal.bad-ampersand.html",
+ scope: "support.variable",
settings: {
- foreground: "#79797F",
+ foreground: "var(--syntax-variable)",
},
},
{
- scope: "markup.heading",
+ scope: "meta.module-reference",
settings: {
- foreground: "#ff6762",
- },
- },
- {
- scope: ["markup.heading punctuation.definition.heading", "entity.name.section"],
- settings: {
- foreground: "#9d6afb",
- },
- },
- {
- scope: "entity.name.section.markdown",
- settings: {
- foreground: "#ff6762",
- },
- },
- {
- scope: "punctuation.definition.heading.markdown",
- settings: {
- foreground: "#ff6762",
- },
- },
- {
- scope: "markup.heading.setext",
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: ["markup.heading.setext.1.markdown", "markup.heading.setext.2.markdown"],
- settings: {
- foreground: "#ff6762",
- },
- },
- {
- scope: ["markup.bold", "todo.bold"],
- settings: {
- foreground: "#ffd452",
- },
- },
- {
- scope: "punctuation.definition.bold",
- settings: {
- foreground: "#ffca00",
- },
- },
- {
- scope: "punctuation.definition.bold.markdown",
- settings: {
- foreground: "#ffd452",
- },
- },
- {
- scope: ["markup.italic", "punctuation.definition.italic", "todo.emphasis"],
- settings: {
- foreground: "#ff678d",
- fontStyle: "italic",
- },
- },
- {
- scope: "emphasis md",
- settings: {
- foreground: "#ff678d",
- },
- },
- {
- scope: "markup.italic.markdown",
- settings: {
- fontStyle: "italic",
- },
- },
- {
- scope: ["markup.underline.link.markdown", "markup.underline.link.image.markdown"],
- settings: {
- foreground: "#ff678d",
- },
- },
- {
- scope: ["string.other.link.title.markdown", "string.other.link.description.markdown"],
- settings: {
- foreground: "#9d6afb",
- },
- },
- {
- scope: "punctuation.definition.metadata.markdown",
- settings: {
- foreground: "#ff6762",
- },
- },
- {
- scope: ["markup.inline.raw.markdown", "markup.inline.raw.string.markdown"],
- settings: {
- foreground: "#5ecc71",
+ foreground: "var(--syntax-info)",
},
},
{
scope: "punctuation.definition.list.begin.markdown",
settings: {
- foreground: "#ff6762",
+ foreground: "var(--syntax-punctuation)",
},
},
{
- scope: "punctuation.definition.list.markdown",
+ scope: ["markup.heading", "markup.heading entity.name"],
settings: {
- foreground: "#ff6762",
+ fontStyle: "bold",
+ foreground: "var(--syntax-info)",
},
},
{
- scope: "beginning.punctuation.definition.list.markdown",
+ scope: "markup.quote",
settings: {
- foreground: "#ff6762",
+ foreground: "var(--syntax-info)",
},
},
{
- scope: [
- "punctuation.definition.string.begin.markdown",
- "punctuation.definition.string.end.markdown",
- ],
+ scope: "markup.italic",
settings: {
- foreground: "#ff6762",
- },
- },
- {
- scope: "markup.quote.markdown",
- settings: {
- foreground: "#84848A",
- },
- },
- {
- scope: "keyword.other.unit",
- settings: {
- foreground: "#ff6762",
+ fontStyle: "italic",
+ // foreground: "",
},
},
{
- scope: "markup.changed.diff",
+ scope: "markup.bold",
settings: {
- foreground: "#ffca00",
+ fontStyle: "bold",
+ foreground: "var(--text-strong)",
},
},
{
scope: [
- "meta.diff.header.from-file",
+ "markup.raw",
+ "markup.inserted",
"meta.diff.header.to-file",
- "punctuation.definition.from-file.diff",
- "punctuation.definition.to-file.diff",
+ "punctuation.definition.inserted",
+ "markup.changed",
+ "punctuation.definition.changed",
+ "markup.ignored",
+ "markup.untracked",
],
settings: {
- foreground: "#9d6afb",
- },
- },
- {
- scope: "markup.inserted.diff",
- settings: {
- foreground: "#5ecc71",
- },
- },
- {
- scope: "markup.deleted.diff",
- settings: {
- foreground: "#ff6762",
- },
- },
- {
- scope: "string.regexp",
- settings: {
- foreground: "#64d1db",
- },
- },
- {
- scope: "constant.other.character-class.regexp",
- settings: {
- foreground: "#ff6762",
+ foreground: "var(--text-base)",
},
},
{
- scope: "keyword.operator.quantifier.regexp",
+ scope: "meta.diff.range",
settings: {
- foreground: "#ffd452",
+ fontStyle: "bold",
+ foreground: "var(--syntax-unknown)",
},
},
{
- scope: "constant.character.escape",
+ scope: "meta.diff.header",
settings: {
- foreground: "#68cdf2",
+ foreground: "var(--syntax-unknown)",
},
},
{
- scope: "source.json meta.structure.dictionary.json > string.quoted.json",
+ scope: "meta.separator",
settings: {
- foreground: "#ff6762",
+ fontStyle: "bold",
+ foreground: "var(--syntax-unknown)",
},
},
{
- scope:
- "source.json meta.structure.dictionary.json > string.quoted.json > punctuation.string",
+ scope: "meta.output",
settings: {
- foreground: "#ff6762",
+ foreground: "var(--syntax-unknown)",
},
},
{
- scope: [
- "source.json meta.structure.dictionary.json > value.json > string.quoted.json",
- "source.json meta.structure.array.json > value.json > string.quoted.json",
- "source.json meta.structure.dictionary.json > value.json > string.quoted.json > punctuation",
- "source.json meta.structure.array.json > value.json > string.quoted.json > punctuation",
- ],
+ scope: "meta.export.default",
settings: {
- foreground: "#5ecc71",
+ foreground: "var(--syntax-unknown)",
},
},
{
scope: [
- "source.json meta.structure.dictionary.json > constant.language.json",
- "source.json meta.structure.array.json > constant.language.json",
+ "brackethighlighter.tag",
+ "brackethighlighter.curly",
+ "brackethighlighter.round",
+ "brackethighlighter.square",
+ "brackethighlighter.angle",
+ "brackethighlighter.quote",
],
settings: {
- foreground: "#08c0ef",
+ foreground: "var(--syntax-unknown)",
},
},
{
- scope: "support.type.property-name.json",
+ scope: ["constant.other.reference.link", "string.other.link"],
settings: {
- foreground: "#ff6762",
- },
- },
- {
- scope: "support.type.property-name.json punctuation",
- settings: {
- foreground: "#ff6762",
- },
- },
- {
- scope: "punctuation.definition.block.sequence.item.yaml",
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: "block.scope.end",
- settings: {
- foreground: "#79797F",
- },
- },
- {
- scope: "block.scope.begin",
- settings: {
- foreground: "#79797F",
+ fontStyle: "underline",
+ foreground: "var(--syntax-unknown)",
},
},
{
scope: "token.info-token",
settings: {
- foreground: "#9d6afb",
+ foreground: "var(--syntax-info)",
},
},
{
scope: "token.warn-token",
settings: {
- foreground: "#ffd452",
- },
- },
- {
- scope: "token.error-token",
- settings: {
- foreground: "#f44747",
+ foreground: "var(--syntax-warning)",
},
},
{
scope: "token.debug-token",
settings: {
- foreground: "#ff678d",
- },
- },
- {
- scope: "invalid.illegal",
- settings: {
- foreground: "#ffffff",
- },
- },
- {
- scope: "invalid.broken",
- settings: {
- foreground: "#ffffff",
- },
- },
- {
- scope: "invalid.deprecated",
- settings: {
- foreground: "#ffffff",
- },
- },
- {
- scope: "invalid.unimplemented",
- settings: {
- foreground: "#ffffff",
+ foreground: "var(--syntax-info)",
},
},
],
semanticTokenColors: {
- comment: "#84848A",
- string: "#5ecc71",
- number: "#68cdf2",
- regexp: "#64d1db",
- keyword: "#ff678d",
- variable: "#ffa359",
- parameter: "#adadb1",
- property: "#ffa359",
- function: "#9d6afb",
- method: "#9d6afb",
- type: "#d568ea",
- class: "#d568ea",
- namespace: "#ffca00",
- enumMember: "#08c0ef",
- "variable.constant": "#ffd452",
- "variable.defaultLibrary": "#ffca00",
+ comment: "var(--syntax-comment)",
+ string: "var(--syntax-string)",
+ number: "var(--syntax-constant)",
+ regexp: "var(--syntax-regexp)",
+ keyword: "var(--syntax-keyword)",
+ variable: "var(--syntax-variable)",
+ parameter: "var(--syntax-variable)",
+ property: "var(--syntax-property)",
+ function: "var(--syntax-primitive)",
+ method: "var(--syntax-primitive)",
+ type: "var(--syntax-type)",
+ class: "var(--syntax-type)",
+ namespace: "var(--syntax-type)",
+ enumMember: "var(--syntax-primitive)",
+ "variable.constant": "var(--syntax-constant)",
+ "variable.defaultLibrary": "var(--syntax-unknown)",
},
} as unknown as ThemeRegistrationResolved)
})
diff --git a/packages/ui/src/components/icon-button.css b/packages/ui/src/components/icon-button.css
index 6fe95fccf..a491074fe 100644
--- a/packages/ui/src/components/icon-button.css
+++ b/packages/ui/src/components/icon-button.css
@@ -2,20 +2,11 @@
display: inline-flex;
align-items: center;
justify-content: center;
- border-radius: 100%;
+ border-radius: 6px;
text-decoration: none;
user-select: none;
aspect-ratio: 1;
-
- &:disabled {
- background-color: var(--icon-strong-disabled);
- color: var(--icon-invert-base);
- cursor: not-allowed;
- }
-
- &:focus {
- outline: none;
- }
+ flex-shrink: 0;
&[data-variant="primary"] {
background-color: var(--icon-strong-base);
@@ -51,45 +42,62 @@
}
&[data-variant="secondary"] {
+ border: transparent;
background-color: var(--button-secondary-base);
color: var(--text-strong);
+ box-shadow: var(--shadow-xs-border);
&:hover:not(:disabled) {
- background-color: var(--surface-hover);
+ background-color: var(--button-secondary-hover);
}
&:active:not(:disabled) {
- background-color: var(--surface-active);
+ background-color: var(--button-secondary-base);
}
&:focus:not(:disabled) {
- background-color: var(--surface-focus);
+ background-color: var(--button-secondary-base);
+ }
+ &:focus-visible:not(:active) {
+ background-color: var(--button-secondary-base);
+ box-shadow: var(--shadow-xs-border-focus);
+ }
+ &:focus-visible:active {
+ box-shadow: none;
+ }
+
+ [data-slot="icon"] {
+ color: var(--icon-strong-base);
}
}
&[data-variant="ghost"] {
background-color: transparent;
+ /* color: var(--icon-base); */
[data-slot="icon"] {
- color: var(--icon-weak-base);
+ color: var(--icon-base);
+ }
- &:hover:not(:disabled) {
- color: var(--icon-weak-hover);
+ &:hover:not(:disabled) {
+ background-color: var(--surface-base-hover);
+
+ [data-slot="icon"] {
+ color: var(--icon-hover);
}
- &:active:not(:disabled) {
- color: var(--icon-string-active);
+ }
+ &:active:not(:disabled) {
+ [data-slot="icon"] {
+ color: var(--icon-active);
}
}
-
- /* color: var(--text-strong); */
- /**/
- /* &:hover:not(:disabled) { */
- /* background-color: var(--surface-hover); */
- /* } */
- /* &:active:not(:disabled) { */
- /* background-color: var(--surface-active); */
- /* } */
- /* &:focus:not(:disabled) { */
- /* background-color: var(--surface-focus); */
- /* } */
+ &:selected:not(:disabled) {
+ background-color: var(--surface-base-active);
+ [data-slot="icon"] {
+ color: var(--icon-selected);
+ }
+ }
+ &:focus:not(:disabled) {
+ background-color: var(--surface-focus);
+ }
}
&[data-size="normal"] {
@@ -103,9 +111,14 @@
&[data-size="large"] {
height: 32px;
- padding: 0 8px 0 6px;
+ /* padding: 0 8px 0 6px; */
gap: 8px;
+ [data-slot="icon"] {
+ height: 16px;
+ width: 16px;
+ }
+
/* text-12-medium */
font-family: var(--font-family-sans);
font-size: var(--font-size-small);
@@ -114,4 +127,14 @@
line-height: var(--line-height-large); /* 166.667% */
letter-spacing: var(--letter-spacing-normal);
}
+
+ &:disabled {
+ background-color: var(--icon-strong-disabled);
+ color: var(--icon-invert-base);
+ cursor: not-allowed;
+ }
+
+ &:focus {
+ outline: none;
+ }
}
diff --git a/packages/ui/src/components/icon-button.tsx b/packages/ui/src/components/icon-button.tsx
index abc82609b..79a7cb9c9 100644
--- a/packages/ui/src/components/icon-button.tsx
+++ b/packages/ui/src/components/icon-button.tsx
@@ -2,7 +2,7 @@ import { Button as Kobalte } from "@kobalte/core/button"
import { type ComponentProps, splitProps } from "solid-js"
import { Icon, IconProps } from "./icon"
-export interface IconButtonProps {
+export interface IconButtonProps extends ComponentProps<typeof Kobalte> {
icon: IconProps["name"]
size?: "normal" | "large"
iconSize?: IconProps["size"]
diff --git a/packages/ui/src/components/icon.tsx b/packages/ui/src/components/icon.tsx
index a2e127290..27a43e51e 100644
--- a/packages/ui/src/components/icon.tsx
+++ b/packages/ui/src/components/icon.tsx
@@ -150,6 +150,13 @@ const newIcons = {
"code-lines": `<path d="M2.08325 3.75H11.2499M14.5833 3.75H17.9166M2.08325 10L7.08325 10M10.4166 10L17.9166 10M2.08325 16.25L8.74992 16.25M12.0833 16.25L17.9166 16.25" stroke="currentColor" stroke-linecap="square" stroke-linejoin="round"/>`,
"square-arrow-top-right": `<path d="M7.91675 2.9165H2.91675V17.0832H17.0834V12.0832M12.0834 2.9165H17.0834V7.9165M9.58342 10.4165L16.6667 3.33317" stroke="currentColor" stroke-linecap="square"/>`,
"circle-ban-sign": `<path d="M15.3675 4.63087L4.55742 15.441M17.9163 9.9987C17.9163 14.371 14.3719 17.9154 9.99967 17.9154C7.81355 17.9154 5.83438 17.0293 4.40175 15.5966C2.96911 14.164 2.08301 12.1848 2.08301 9.9987C2.08301 5.62644 5.62742 2.08203 9.99967 2.08203C12.1858 2.08203 14.165 2.96813 15.5976 4.40077C17.0302 5.8334 17.9163 7.81257 17.9163 9.9987Z" stroke="currentColor" stroke-linecap="round"/>`,
+ stop: `<rect x="5" y="5" width="10" height="10" fill="currentColor"/>`,
+ enter: `<path d="M5.83333 15.8334L2.5 12.5L5.83333 9.16671M3.33333 12.5H17.9167V4.58337H10" stroke="currentColor" stroke-linecap="square"/>`,
+ "layout-left": `<path d="M2.91675 2.91699L2.91675 2.41699L2.41675 2.41699L2.41675 2.91699L2.91675 2.91699ZM17.0834 2.91699L17.5834 2.91699L17.5834 2.41699L17.0834 2.41699L17.0834 2.91699ZM17.0834 17.0837L17.0834 17.5837L17.5834 17.5837L17.5834 17.0837L17.0834 17.0837ZM2.91675 17.0837L2.41675 17.0837L2.41675 17.5837L2.91675 17.5837L2.91675 17.0837ZM7.41674 17.0837L7.41674 17.5837L8.41674 17.5837L8.41674 17.0837L7.91674 17.0837L7.41674 17.0837ZM8.41674 2.91699L8.41674 2.41699L7.41674 2.41699L7.41674 2.91699L7.91674 2.91699L8.41674 2.91699ZM2.91675 2.91699L2.91675 3.41699L17.0834 3.41699L17.0834 2.91699L17.0834 2.41699L2.91675 2.41699L2.91675 2.91699ZM17.0834 2.91699L16.5834 2.91699L16.5834 17.0837L17.0834 17.0837L17.5834 17.0837L17.5834 2.91699L17.0834 2.91699ZM17.0834 17.0837L17.0834 16.5837L2.91675 16.5837L2.91675 17.0837L2.91675 17.5837L17.0834 17.5837L17.0834 17.0837ZM2.91675 17.0837L3.41675 17.0837L3.41675 2.91699L2.91675 2.91699L2.41675 2.91699L2.41675 17.0837L2.91675 17.0837ZM7.91674 17.0837L8.41674 17.0837L8.41674 2.91699L7.91674 2.91699L7.41674 2.91699L7.41674 17.0837L7.91674 17.0837Z" fill="currentColor"/>`,
+ "layout-right": `<path d="M17.0832 2.91699L17.5832 2.91699L17.5832 2.41699L17.0832 2.41699L17.0832 2.91699ZM2.91651 2.91699L2.91651 2.41699L2.41651 2.41699L2.41651 2.91699L2.91651 2.91699ZM2.9165 17.0837L2.4165 17.0837L2.4165 17.5837L2.9165 17.5837L2.9165 17.0837ZM17.0832 17.0837L17.0832 17.5837L17.5832 17.5837L17.5832 17.0837L17.0832 17.0837ZM11.5832 17.0837L11.5832 17.5837L12.5832 17.5837L12.5832 17.0837L12.0832 17.0837L11.5832 17.0837ZM12.5832 2.91699L12.5832 2.41699L11.5832 2.41699L11.5832 2.91699L12.0832 2.91699L12.5832 2.91699ZM17.0832 2.91699L17.0832 2.41699L2.91651 2.41699L2.91651 2.91699L2.91651 3.41699L17.0832 3.41699L17.0832 2.91699ZM2.91651 2.91699L2.41651 2.91699L2.4165 17.0837L2.9165 17.0837L3.4165 17.0837L3.41651 2.91699L2.91651 2.91699ZM2.9165 17.0837L2.9165 17.5837L17.0832 17.5837L17.0832 17.0837L17.0832 16.5837L2.9165 16.5837L2.9165 17.0837ZM17.0832 17.0837L17.5832 17.0837L17.5832 2.91699L17.0832 2.91699L16.5832 2.91699L16.5832 17.0837L17.0832 17.0837ZM12.0832 17.0837L12.5832 17.0837L12.5832 2.91699L12.0832 2.91699L11.5832 2.91699L11.5832 17.0837L12.0832 17.0837Z" fill="currentColor"/>`,
+ "speech-bubble": `<path d="M18.3334 10.0003C18.3334 5.57324 15.0927 2.91699 10.0001 2.91699C4.90749 2.91699 1.66675 5.57324 1.66675 10.0003C1.66675 11.1497 2.45578 13.1016 2.5771 13.3949C2.5878 13.4207 2.59839 13.4444 2.60802 13.4706C2.69194 13.6996 3.04282 14.9364 1.66675 16.7684C3.5186 17.6538 5.48526 16.1982 5.48526 16.1982C6.84592 16.9202 8.46491 17.0837 10.0001 17.0837C15.0927 17.0837 18.3334 14.4274 18.3334 10.0003Z" stroke="currentColor" stroke-linecap="square"/>`,
+ "align-right": `<path d="M12.292 6.04167L16.2503 9.99998L12.292 13.9583M2.91699 9.99998H15.6253M17.0837 3.75V16.25" stroke="currentColor" stroke-linecap="square"/>`,
+ expand: `<path d="M4.58301 10.4163V15.4163H9.58301M10.4163 4.58301H15.4163V9.58301" stroke="currentColor" stroke-linecap="square"/>`,
}
export interface IconProps extends ComponentProps<"svg"> {
diff --git a/packages/ui/src/components/index.ts b/packages/ui/src/components/index.ts
index cd2d4caa9..ebc897a1f 100644
--- a/packages/ui/src/components/index.ts
+++ b/packages/ui/src/components/index.ts
@@ -24,5 +24,4 @@ export * from "./tooltip"
export * from "./typewriter"
export * from "../context/helper"
-export * from "../context/shiki"
export * from "../context/marked"
diff --git a/packages/ui/src/components/input.tsx b/packages/ui/src/components/input.tsx
index 509e242c9..9557e90f3 100644
--- a/packages/ui/src/components/input.tsx
+++ b/packages/ui/src/components/input.tsx
@@ -2,22 +2,32 @@ import { TextField as Kobalte } from "@kobalte/core/text-field"
import { Show, splitProps } from "solid-js"
import type { ComponentProps } from "solid-js"
-export interface InputProps extends ComponentProps<typeof Kobalte> {
+export interface InputProps
+ extends ComponentProps<typeof Kobalte.Input>,
+ Partial<Pick<ComponentProps<typeof Kobalte>, "value" | "onChange" | "onKeyDown">> {
label?: string
hideLabel?: boolean
description?: string
}
export function Input(props: InputProps) {
- const [local, others] = splitProps(props, ["class", "label", "hideLabel", "description", "placeholder"])
+ const [local, others] = splitProps(props, [
+ "class",
+ "label",
+ "hideLabel",
+ "description",
+ "value",
+ "onChange",
+ "onKeyDown",
+ ])
return (
- <Kobalte {...others} data-component="input">
+ <Kobalte data-component="input" value={local.value} onChange={local.onChange} onKeyDown={local.onKeyDown}>
<Show when={local.label}>
<Kobalte.Label data-slot="label" classList={{ "sr-only": local.hideLabel }}>
{local.label}
</Kobalte.Label>
</Show>
- <Kobalte.Input data-slot="input" class={local.class} placeholder={local.placeholder} />
+ <Kobalte.Input {...others} data-slot="input" class={local.class} />
<Show when={local.description}>
<Kobalte.Description data-slot="description">{local.description}</Kobalte.Description>
</Show>
diff --git a/packages/ui/src/components/message-part.tsx b/packages/ui/src/components/message-part.tsx
index 01a58025a..74d9a3113 100644
--- a/packages/ui/src/components/message-part.tsx
+++ b/packages/ui/src/components/message-part.tsx
@@ -53,16 +53,11 @@ export function Message(props: MessageProps) {
return (
<Switch>
<Match when={props.message.role === "user" && props.message}>
- {(userMessage) => (
- <UserMessageDisplay message={userMessage() as UserMessage} parts={props.parts} />
- )}
+ {(userMessage) => <UserMessageDisplay message={userMessage() as UserMessage} parts={props.parts} />}
</Match>
<Match when={props.message.role === "assistant" && props.message}>
{(assistantMessage) => (
- <AssistantMessageDisplay
- message={assistantMessage() as AssistantMessage}
- parts={props.parts}
- />
+ <AssistantMessageDisplay message={assistantMessage() as AssistantMessage} parts={props.parts} />
)}
</Match>
</Switch>
@@ -93,12 +88,7 @@ export function Part(props: MessagePartProps) {
const component = createMemo(() => PART_MAPPING[props.part.type])
return (
<Show when={component()}>
- <Dynamic
- component={component()}
- part={props.part}
- message={props.message}
- hideDetails={props.hideDetails}
- />
+ <Dynamic component={component()} part={props.part} message={props.message} hideDetails={props.hideDetails} />
</Show>
)
}
@@ -226,10 +216,7 @@ ToolRegistry.register({
name: "list",
render(props) {
return (
- <BasicTool
- icon="bullet-list"
- trigger={{ title: "List", subtitle: getDirectory(props.input.path || "/") }}
- >
+ <BasicTool icon="bullet-list" trigger={{ title: "List", subtitle: getDirectory(props.input.path || "/") }}>
<Show when={false && props.output}>
<div data-component="tool-output">{props.output}</div>
</Show>
@@ -364,7 +351,7 @@ ToolRegistry.register({
</div>
<div data-slot="actions">
<Show when={props.metadata.filediff}>
- <DiffChanges diff={props.metadata.filediff} />
+ <DiffChanges changes={props.metadata.filediff} />
</Show>
</div>
</div>
diff --git a/packages/ui/src/components/progress-circle.tsx b/packages/ui/src/components/progress-circle.tsx
index a659c0f2e..f2e497fe5 100644
--- a/packages/ui/src/components/progress-circle.tsx
+++ b/packages/ui/src/components/progress-circle.tsx
@@ -7,13 +7,7 @@ export interface ProgressCircleProps extends Pick<ComponentProps<"svg">, "class"
}
export function ProgressCircle(props: ProgressCircleProps) {
- const [split, rest] = splitProps(props, [
- "percentage",
- "size",
- "strokeWidth",
- "class",
- "classList",
- ])
+ const [split, rest] = splitProps(props, ["percentage", "size", "strokeWidth", "class", "classList"])
const size = () => split.size || 16
const strokeWidth = () => split.strokeWidth || 3
@@ -42,13 +36,7 @@ export function ProgressCircle(props: ProgressCircleProps) {
[split.class ?? ""]: !!split.class,
}}
>
- <circle
- cx={center}
- cy={center}
- r={radius()}
- data-slot="background"
- stroke-width={strokeWidth()}
- />
+ <circle cx={center} cy={center} r={radius()} data-slot="background" stroke-width={strokeWidth()} />
<circle
cx={center}
cy={center}
diff --git a/packages/ui/src/components/select.css b/packages/ui/src/components/select.css
index ed10cbf14..79445420a 100644
--- a/packages/ui/src/components/select.css
+++ b/packages/ui/src/components/select.css
@@ -1,14 +1,14 @@
[data-component="select"] {
- [data-slot="trigger"] {
+ [data-slot="select-trigger"] {
padding: 0 4px 0 8px;
box-shadow: none;
- [data-slot="value"] {
+ [data-slot="select-trigger-value"] {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
- [data-slot="icon"] {
+ [data-slot="select-trigger-icon"] {
width: 16px;
height: 16px;
flex-shrink: 0;
@@ -38,7 +38,7 @@
animation: select-open 0.15s ease-out;
}
- [data-slot="list"] {
+ [data-slot="select-content-list"] {
overflow-y: auto;
max-height: 12rem;
white-space: nowrap;
@@ -55,7 +55,7 @@
/* [data-slot="section"] { */
/* } */
- [data-slot="item"] {
+ [data-slot="select-item"] {
position: relative;
display: flex;
align-items: center;
@@ -85,7 +85,7 @@
background-color: var(--surface-raised-base);
pointer-events: none;
}
- [data-slot="item-indicator"] {
+ [data-slot="select-item-indicator"] {
margin-left: auto;
width: 16px;
height: 16px;
diff --git a/packages/ui/src/components/select.tsx b/packages/ui/src/components/select.tsx
index 806d7be12..dea6743ee 100644
--- a/packages/ui/src/components/select.tsx
+++ b/packages/ui/src/components/select.tsx
@@ -41,17 +41,17 @@ export function Select<T>(props: SelectProps<T> & ButtonProps) {
)}
itemComponent={(itemProps) => (
<Kobalte.Item
- data-slot="item"
+ data-slot="select-item"
classList={{
...(props.classList ?? {}),
[props.class ?? ""]: !!props.class,
}}
{...itemProps}
>
- <Kobalte.ItemLabel data-slot="item-label">
+ <Kobalte.ItemLabel data-slot="select-item-label">
{props.label ? props.label(itemProps.item.rawValue) : (itemProps.item.rawValue as string)}
</Kobalte.ItemLabel>
- <Kobalte.ItemIndicator data-slot="item-indicator">
+ <Kobalte.ItemIndicator data-slot="select-item-indicator">
<Icon name="check-small" size="small" />
</Kobalte.ItemIndicator>
</Kobalte.Item>
@@ -61,7 +61,7 @@ export function Select<T>(props: SelectProps<T> & ButtonProps) {
}}
>
<Kobalte.Trigger
- data-slot="trigger"
+ data-slot="select-trigger"
as={Button}
size={props.size}
variant={props.variant}
@@ -70,7 +70,7 @@ export function Select<T>(props: SelectProps<T> & ButtonProps) {
[props.class ?? ""]: !!props.class,
}}
>
- <Kobalte.Value<T> data-slot="value">
+ <Kobalte.Value<T> data-slot="select-trigger-value">
{(state) => {
const selected = state.selectedOption() ?? props.current
if (!selected) return props.placeholder || ""
@@ -78,7 +78,7 @@ export function Select<T>(props: SelectProps<T> & ButtonProps) {
return selected as string
}}
</Kobalte.Value>
- <Kobalte.Icon data-slot="icon">
+ <Kobalte.Icon data-slot="select-trigger-icon">
<Icon name="chevron-down" size="small" />
</Kobalte.Icon>
</Kobalte.Trigger>
@@ -90,7 +90,7 @@ export function Select<T>(props: SelectProps<T> & ButtonProps) {
}}
data-component="select-content"
>
- <Kobalte.Listbox data-slot="list" />
+ <Kobalte.Listbox data-slot="select-content-list" />
</Kobalte.Content>
</Kobalte.Portal>
</Kobalte>
diff --git a/packages/ui/src/components/tabs.css b/packages/ui/src/components/tabs.css
index 1d786fb4a..67f289283 100644
--- a/packages/ui/src/components/tabs.css
+++ b/packages/ui/src/components/tabs.css
@@ -7,7 +7,7 @@
overflow: clip;
[data-slot="list"] {
- height: 40px;
+ height: 48px;
width: 100%;
position: relative;
display: flex;
@@ -39,7 +39,7 @@
[data-slot="trigger"] {
position: relative;
height: 100%;
- padding: 8px 24px;
+ padding: 14px 24px;
display: flex;
align-items: center;
color: var(--text-base);
diff --git a/packages/ui/src/components/tooltip.css b/packages/ui/src/components/tooltip.css
index 0577365d6..92825aca1 100644
--- a/packages/ui/src/components/tooltip.css
+++ b/packages/ui/src/components/tooltip.css
@@ -6,54 +6,55 @@
[data-component="tooltip"] {
z-index: 1000;
max-width: 320px;
- border-radius: 12px;
+ border-radius: 6px;
background-color: var(--surface-float-base);
- color: var(--white);
- padding: 2px 12px 2px 12px;
+ color: rgba(253, 252, 252, 0.94);
+ padding: 2px 8px;
+ border: 0.5px solid rgba(253, 252, 252, 0.2);
box-shadow: var(--shadow-md);
pointer-events: none !important;
- transition: all 150ms ease-out;
- transform: translate3d(0, 0, 0);
- transform-origin: var(--kb-tooltip-content-transform-origin);
+ /* transition: all 150ms ease-out; */
+ /* transform: translate3d(0, 0, 0); */
+ /* transform-origin: var(--kb-tooltip-content-transform-origin); */
- /* text-14-regular */
+ /* text-12-medium */
font-family: var(--font-family-sans);
- font-size: var(--font-size-base);
+ font-size: var(--font-size-small);
font-style: normal;
- font-weight: var(--font-weight-regular);
- line-height: var(--line-height-large); /* 171.429% */
+ font-weight: var(--font-weight-medium);
+ line-height: var(--line-height-large); /* 166.667% */
letter-spacing: var(--letter-spacing-normal);
&[data-expanded] {
opacity: 1;
- transform: translate3d(0, 0, 0);
+ /* transform: translate3d(0, 0, 0); */
}
&[data-closed] {
opacity: 0;
}
- &[data-placement="top"] {
- &[data-closed] {
- transform: translate3d(0, 4px, 0);
- }
- }
-
- &[data-placement="bottom"] {
- &[data-closed] {
- transform: translate3d(0, -4px, 0);
- }
- }
-
- &[data-placement="left"] {
- &[data-closed] {
- transform: translate3d(4px, 0, 0);
- }
- }
-
- &[data-placement="right"] {
- &[data-closed] {
- transform: translate3d(-4px, 0, 0);
- }
- }
+ /* &[data-placement="top"] { */
+ /* &[data-closed] { */
+ /* transform: translate3d(0, 4px, 0); */
+ /* } */
+ /* } */
+ /**/
+ /* &[data-placement="bottom"] { */
+ /* &[data-closed] { */
+ /* transform: translate3d(0, -4px, 0); */
+ /* } */
+ /* } */
+ /**/
+ /* &[data-placement="left"] { */
+ /* &[data-closed] { */
+ /* transform: translate3d(4px, 0, 0); */
+ /* } */
+ /* } */
+ /**/
+ /* &[data-placement="right"] { */
+ /* &[data-closed] { */
+ /* transform: translate3d(-4px, 0, 0); */
+ /* } */
+ /* } */
}
diff --git a/packages/ui/src/components/tooltip.tsx b/packages/ui/src/components/tooltip.tsx
index ff13c8d61..e3784ed8e 100644
--- a/packages/ui/src/components/tooltip.tsx
+++ b/packages/ui/src/components/tooltip.tsx
@@ -1,9 +1,9 @@
import { Tooltip as KobalteTooltip } from "@kobalte/core/tooltip"
-import { children, createEffect, createSignal, splitProps } from "solid-js"
+import { children, createEffect, createSignal, splitProps, type JSX } from "solid-js"
import type { ComponentProps } from "solid-js"
export interface TooltipProps extends ComponentProps<typeof KobalteTooltip> {
- value: string | (() => string)
+ value: JSX.Element
class?: string
}
@@ -29,13 +29,13 @@ export function Tooltip(props: TooltipProps) {
})
return (
- <KobalteTooltip forceMount {...others} open={open()} onOpenChange={setOpen}>
+ <KobalteTooltip forceMount gutter={4} {...others} open={open()} onOpenChange={setOpen}>
<KobalteTooltip.Trigger as={"div"} data-component="tooltip-trigger" class={local.class}>
{c()}
</KobalteTooltip.Trigger>
<KobalteTooltip.Portal>
<KobalteTooltip.Content data-component="tooltip" data-placement={props.placement}>
- {typeof others.value === "function" ? others.value() : others.value}
+ {others.value}
{/* <KobalteTooltip.Arrow data-slot="arrow" /> */}
</KobalteTooltip.Content>
</KobalteTooltip.Portal>
diff --git a/packages/ui/src/components/typewriter.tsx b/packages/ui/src/components/typewriter.tsx
index 9adb267ad..2f6ecb016 100644
--- a/packages/ui/src/components/typewriter.tsx
+++ b/packages/ui/src/components/typewriter.tsx
@@ -2,11 +2,7 @@ import { createEffect, Show, type ValidComponent } from "solid-js"
import { createStore } from "solid-js/store"
import { Dynamic } from "solid-js/web"
-export const Typewriter = <T extends ValidComponent = "p">(props: {
- text?: string
- class?: string
- as?: T
-}) => {
+export const Typewriter = <T extends ValidComponent = "p">(props: { text?: string; class?: string; as?: T }) => {
const [store, setStore] = createStore({
typing: false,
displayed: "",