@cyclone-ui/shiki 0.0.14 → 0.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/dark/INSTALL.md +7 -9
  3. package/dist/dark/theme.json +11 -43
  4. package/dist/dark-dimmed/INSTALL.md +7 -9
  5. package/dist/dark-dimmed/theme.json +11 -43
  6. package/dist/dark-high-contrast/INSTALL.md +7 -9
  7. package/dist/dark-high-contrast/theme.json +11 -43
  8. package/dist/light/INSTALL.md +7 -9
  9. package/dist/light/theme.json +11 -43
  10. package/dist/light-dimmed/INSTALL.md +7 -9
  11. package/dist/light-dimmed/theme.json +11 -43
  12. package/dist/light-high-contrast/INSTALL.md +7 -9
  13. package/dist/light-high-contrast/theme.json +11 -43
  14. package/dist/src/dark/INSTALL.md +43 -0
  15. package/dist/src/dark/theme.json +93 -0
  16. package/dist/src/dark-dimmed/INSTALL.md +43 -0
  17. package/dist/src/dark-dimmed/theme.json +93 -0
  18. package/dist/src/dark-high-contrast/INSTALL.md +43 -0
  19. package/dist/src/dark-high-contrast/theme.json +93 -0
  20. package/dist/src/light/INSTALL.md +43 -0
  21. package/dist/src/light/theme.json +93 -0
  22. package/dist/src/light-dimmed/INSTALL.md +43 -0
  23. package/dist/src/light-dimmed/theme.json +93 -0
  24. package/dist/src/light-high-contrast/INSTALL.md +43 -0
  25. package/dist/src/light-high-contrast/theme.json +93 -0
  26. package/package.json +2 -2
  27. package/src/dark/INSTALL.md +7 -9
  28. package/src/dark/theme.json +11 -43
  29. package/src/dark-dimmed/INSTALL.md +7 -9
  30. package/src/dark-dimmed/theme.json +11 -43
  31. package/src/dark-high-contrast/INSTALL.md +7 -9
  32. package/src/dark-high-contrast/theme.json +11 -43
  33. package/src/light/INSTALL.md +7 -9
  34. package/src/light/theme.json +11 -43
  35. package/src/light-dimmed/INSTALL.md +7 -9
  36. package/src/light-dimmed/theme.json +11 -43
  37. package/src/light-high-contrast/INSTALL.md +7 -9
  38. package/src/light-high-contrast/theme.json +11 -43
package/CHANGELOG.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  # Changelog for Cyclone UI - Shiki
4
4
 
5
+ ## [0.0.15](https://github.com/storm-software/cyclone-ui/releases/tag/shiki%400.0.15) (10/22/2026)
6
+
7
+ ### Bug Fixes
8
+
9
+ - **tokens:** Update token structure to better allow customizations ([7f23eb61](https://github.com/storm-software/cyclone-ui/commit/7f23eb61))
10
+
5
11
  ## [0.0.9](https://github.com/storm-software/cyclone-ui/releases/tag/shiki%400.0.9) (10/16/2026)
6
12
 
7
13
  ### Bug Fixes
@@ -13,29 +13,27 @@ Generated by `@razorwind/shiki`.
13
13
  2. Register themes when creating a Shiki highlighter:
14
14
 
15
15
  ```ts
16
- import { createHighlighter } from "shiki";
17
- import theme from "./theme.json";
16
+ import { createHighlighter } from "shiki"
17
+ import theme from "./theme.json"
18
18
 
19
19
  const highlighter = await createHighlighter({
20
20
  themes: [theme],
21
21
  langs: ["javascript"]
22
- });
22
+ })
23
23
 
24
24
  const html = highlighter.codeToHtml("const x = 1", {
25
25
  lang: "javascript",
26
26
  theme: "cyclone-dark"
27
- });
27
+ })
28
28
  ```
29
29
 
30
30
  Or load at runtime:
31
31
 
32
32
  ```ts
33
- import { readFile } from "node:fs/promises";
33
+ import { readFile } from "node:fs/promises"
34
34
 
35
- const theme = JSON.parse(
36
- await readFile("./theme.json", "utf8")
37
- );
38
- await highlighter.loadTheme(theme);
35
+ const theme = JSON.parse(await readFile("./theme.json", "utf8"))
36
+ await highlighter.loadTheme(theme)
39
37
  ```
40
38
 
41
39
  ## Select / load theme
@@ -2,49 +2,32 @@
2
2
  "name": "cyclone-dark",
3
3
  "settings": [
4
4
  {
5
- "scope": [
6
- "comment",
7
- "punctuation.definition.comment"
8
- ],
5
+ "scope": ["comment", "punctuation.definition.comment"],
9
6
  "settings": {
10
7
  "foreground": "#959698",
11
8
  "fontStyle": "italic"
12
9
  }
13
10
  },
14
11
  {
15
- "scope": [
16
- "string",
17
- "constant.other.symbol"
18
- ],
12
+ "scope": ["string", "constant.other.symbol"],
19
13
  "settings": {
20
14
  "foreground": "#45c791"
21
15
  }
22
16
  },
23
17
  {
24
- "scope": [
25
- "constant",
26
- "constant.numeric",
27
- "constant.language"
28
- ],
18
+ "scope": ["constant", "constant.numeric", "constant.language"],
29
19
  "settings": {
30
20
  "foreground": "#f7ac23"
31
21
  }
32
22
  },
33
23
  {
34
- "scope": [
35
- "keyword",
36
- "storage",
37
- "storage.type"
38
- ],
24
+ "scope": ["keyword", "storage", "storage.type"],
39
25
  "settings": {
40
26
  "foreground": "#4d8eff"
41
27
  }
42
28
  },
43
29
  {
44
- "scope": [
45
- "entity.name.function",
46
- "support.function"
47
- ],
30
+ "scope": ["entity.name.function", "support.function"],
48
31
  "settings": {
49
32
  "foreground": "#4d8eff"
50
33
  }
@@ -60,46 +43,31 @@
60
43
  }
61
44
  },
62
45
  {
63
- "scope": [
64
- "entity.name.tag",
65
- "meta.tag"
66
- ],
46
+ "scope": ["entity.name.tag", "meta.tag"],
67
47
  "settings": {
68
48
  "foreground": "#4d8eff"
69
49
  }
70
50
  },
71
51
  {
72
- "scope": [
73
- "entity.other.attribute-name",
74
- "support.constant"
75
- ],
52
+ "scope": ["entity.other.attribute-name", "support.constant"],
76
53
  "settings": {
77
54
  "foreground": "#4d8eff"
78
55
  }
79
56
  },
80
57
  {
81
- "scope": [
82
- "variable",
83
- "identifier"
84
- ],
58
+ "scope": ["variable", "identifier"],
85
59
  "settings": {
86
60
  "foreground": "#b0b0b1"
87
61
  }
88
62
  },
89
63
  {
90
- "scope": [
91
- "punctuation",
92
- "meta.brace"
93
- ],
64
+ "scope": ["punctuation", "meta.brace"],
94
65
  "settings": {
95
66
  "foreground": "#959698"
96
67
  }
97
68
  },
98
69
  {
99
- "scope": [
100
- "invalid",
101
- "invalid.illegal"
102
- ],
70
+ "scope": ["invalid", "invalid.illegal"],
103
71
  "settings": {
104
72
  "foreground": "#cf2d56"
105
73
  }
@@ -118,7 +86,7 @@
118
86
  "editor.inactiveSelectionBackground": "#1f1f21",
119
87
  "editorLineNumber.foreground": "#959698",
120
88
  "editorLineNumber.activeForeground": "#b0b0b1",
121
- "editorIndentGuide.background1": "#2d2e33",
89
+ "editorIndentGuide.background1": "#46464a",
122
90
  "editorIndentGuide.activeBackground1": "#959698",
123
91
  "editorWhitespace.foreground": "#959698"
124
92
  }
@@ -13,29 +13,27 @@ Generated by `@razorwind/shiki`.
13
13
  2. Register themes when creating a Shiki highlighter:
14
14
 
15
15
  ```ts
16
- import { createHighlighter } from "shiki";
17
- import theme from "./theme.json";
16
+ import { createHighlighter } from "shiki"
17
+ import theme from "./theme.json"
18
18
 
19
19
  const highlighter = await createHighlighter({
20
20
  themes: [theme],
21
21
  langs: ["javascript"]
22
- });
22
+ })
23
23
 
24
24
  const html = highlighter.codeToHtml("const x = 1", {
25
25
  lang: "javascript",
26
26
  theme: "cyclone-dark-dimmed"
27
- });
27
+ })
28
28
  ```
29
29
 
30
30
  Or load at runtime:
31
31
 
32
32
  ```ts
33
- import { readFile } from "node:fs/promises";
33
+ import { readFile } from "node:fs/promises"
34
34
 
35
- const theme = JSON.parse(
36
- await readFile("./theme.json", "utf8")
37
- );
38
- await highlighter.loadTheme(theme);
35
+ const theme = JSON.parse(await readFile("./theme.json", "utf8"))
36
+ await highlighter.loadTheme(theme)
39
37
  ```
40
38
 
41
39
  ## Select / load theme
@@ -2,49 +2,32 @@
2
2
  "name": "cyclone-dark-dimmed",
3
3
  "settings": [
4
4
  {
5
- "scope": [
6
- "comment",
7
- "punctuation.definition.comment"
8
- ],
5
+ "scope": ["comment", "punctuation.definition.comment"],
9
6
  "settings": {
10
7
  "foreground": "#8f8f90",
11
8
  "fontStyle": "italic"
12
9
  }
13
10
  },
14
11
  {
15
- "scope": [
16
- "string",
17
- "constant.other.symbol"
18
- ],
12
+ "scope": ["string", "constant.other.symbol"],
19
13
  "settings": {
20
14
  "foreground": "#60a88a"
21
15
  }
22
16
  },
23
17
  {
24
- "scope": [
25
- "constant",
26
- "constant.numeric",
27
- "constant.language"
28
- ],
18
+ "scope": ["constant", "constant.numeric", "constant.language"],
29
19
  "settings": {
30
20
  "foreground": "#c59b4d"
31
21
  }
32
22
  },
33
23
  {
34
- "scope": [
35
- "keyword",
36
- "storage",
37
- "storage.type"
38
- ],
24
+ "scope": ["keyword", "storage", "storage.type"],
39
25
  "settings": {
40
26
  "foreground": "#638cd2"
41
27
  }
42
28
  },
43
29
  {
44
- "scope": [
45
- "entity.name.function",
46
- "support.function"
47
- ],
30
+ "scope": ["entity.name.function", "support.function"],
48
31
  "settings": {
49
32
  "foreground": "#638cd2"
50
33
  }
@@ -60,46 +43,31 @@
60
43
  }
61
44
  },
62
45
  {
63
- "scope": [
64
- "entity.name.tag",
65
- "meta.tag"
66
- ],
46
+ "scope": ["entity.name.tag", "meta.tag"],
67
47
  "settings": {
68
48
  "foreground": "#638cd2"
69
49
  }
70
50
  },
71
51
  {
72
- "scope": [
73
- "entity.other.attribute-name",
74
- "support.constant"
75
- ],
52
+ "scope": ["entity.other.attribute-name", "support.constant"],
76
53
  "settings": {
77
54
  "foreground": "#638cd2"
78
55
  }
79
56
  },
80
57
  {
81
- "scope": [
82
- "variable",
83
- "identifier"
84
- ],
58
+ "scope": ["variable", "identifier"],
85
59
  "settings": {
86
60
  "foreground": "#a1a1a2"
87
61
  }
88
62
  },
89
63
  {
90
- "scope": [
91
- "punctuation",
92
- "meta.brace"
93
- ],
64
+ "scope": ["punctuation", "meta.brace"],
94
65
  "settings": {
95
66
  "foreground": "#8f8f90"
96
67
  }
97
68
  },
98
69
  {
99
- "scope": [
100
- "invalid",
101
- "invalid.illegal"
102
- ],
70
+ "scope": ["invalid", "invalid.illegal"],
103
71
  "settings": {
104
72
  "foreground": "#ab5268"
105
73
  }
@@ -118,7 +86,7 @@
118
86
  "editor.inactiveSelectionBackground": "#3c3c3e",
119
87
  "editorLineNumber.foreground": "#8f8f90",
120
88
  "editorLineNumber.activeForeground": "#a1a1a2",
121
- "editorIndentGuide.background1": "#45464a",
89
+ "editorIndentGuide.background1": "#57575a",
122
90
  "editorIndentGuide.activeBackground1": "#8f8f90",
123
91
  "editorWhitespace.foreground": "#8f8f90"
124
92
  }
@@ -13,29 +13,27 @@ Generated by `@razorwind/shiki`.
13
13
  2. Register themes when creating a Shiki highlighter:
14
14
 
15
15
  ```ts
16
- import { createHighlighter } from "shiki";
17
- import theme from "./theme.json";
16
+ import { createHighlighter } from "shiki"
17
+ import theme from "./theme.json"
18
18
 
19
19
  const highlighter = await createHighlighter({
20
20
  themes: [theme],
21
21
  langs: ["javascript"]
22
- });
22
+ })
23
23
 
24
24
  const html = highlighter.codeToHtml("const x = 1", {
25
25
  lang: "javascript",
26
26
  theme: "cyclone-dark-high-contrast"
27
- });
27
+ })
28
28
  ```
29
29
 
30
30
  Or load at runtime:
31
31
 
32
32
  ```ts
33
- import { readFile } from "node:fs/promises";
33
+ import { readFile } from "node:fs/promises"
34
34
 
35
- const theme = JSON.parse(
36
- await readFile("./theme.json", "utf8")
37
- );
38
- await highlighter.loadTheme(theme);
35
+ const theme = JSON.parse(await readFile("./theme.json", "utf8"))
36
+ await highlighter.loadTheme(theme)
39
37
  ```
40
38
 
41
39
  ## Select / load theme
@@ -2,49 +2,32 @@
2
2
  "name": "cyclone-dark-high-contrast",
3
3
  "settings": [
4
4
  {
5
- "scope": [
6
- "comment",
7
- "punctuation.definition.comment"
8
- ],
5
+ "scope": ["comment", "punctuation.definition.comment"],
9
6
  "settings": {
10
7
  "foreground": "#9a9fa7",
11
8
  "fontStyle": "italic"
12
9
  }
13
10
  },
14
11
  {
15
- "scope": [
16
- "string",
17
- "constant.other.symbol"
18
- ],
12
+ "scope": ["string", "constant.other.symbol"],
19
13
  "settings": {
20
14
  "foreground": "#2de498"
21
15
  }
22
16
  },
23
17
  {
24
- "scope": [
25
- "constant",
26
- "constant.numeric",
27
- "constant.language"
28
- ],
18
+ "scope": ["constant", "constant.numeric", "constant.language"],
29
19
  "settings": {
30
20
  "foreground": "#ffb327"
31
21
  }
32
22
  },
33
23
  {
34
- "scope": [
35
- "keyword",
36
- "storage",
37
- "storage.type"
38
- ],
24
+ "scope": ["keyword", "storage", "storage.type"],
39
25
  "settings": {
40
26
  "foreground": "#70a4ff"
41
27
  }
42
28
  },
43
29
  {
44
- "scope": [
45
- "entity.name.function",
46
- "support.function"
47
- ],
30
+ "scope": ["entity.name.function", "support.function"],
48
31
  "settings": {
49
32
  "foreground": "#70a4ff"
50
33
  }
@@ -60,46 +43,31 @@
60
43
  }
61
44
  },
62
45
  {
63
- "scope": [
64
- "entity.name.tag",
65
- "meta.tag"
66
- ],
46
+ "scope": ["entity.name.tag", "meta.tag"],
67
47
  "settings": {
68
48
  "foreground": "#70a4ff"
69
49
  }
70
50
  },
71
51
  {
72
- "scope": [
73
- "entity.other.attribute-name",
74
- "support.constant"
75
- ],
52
+ "scope": ["entity.other.attribute-name", "support.constant"],
76
53
  "settings": {
77
54
  "foreground": "#70a4ff"
78
55
  }
79
56
  },
80
57
  {
81
- "scope": [
82
- "variable",
83
- "identifier"
84
- ],
58
+ "scope": ["variable", "identifier"],
85
59
  "settings": {
86
60
  "foreground": "#c3c3ca"
87
61
  }
88
62
  },
89
63
  {
90
- "scope": [
91
- "punctuation",
92
- "meta.brace"
93
- ],
64
+ "scope": ["punctuation", "meta.brace"],
94
65
  "settings": {
95
66
  "foreground": "#9a9fa7"
96
67
  }
97
68
  },
98
69
  {
99
- "scope": [
100
- "invalid",
101
- "invalid.illegal"
102
- ],
70
+ "scope": ["invalid", "invalid.illegal"],
103
71
  "settings": {
104
72
  "foreground": "#f00a45"
105
73
  }
@@ -118,7 +86,7 @@
118
86
  "editor.inactiveSelectionBackground": "#000000",
119
87
  "editorLineNumber.foreground": "#9a9fa7",
120
88
  "editorLineNumber.activeForeground": "#c3c3ca",
121
- "editorIndentGuide.background1": "#0b0b0e",
89
+ "editorIndentGuide.background1": "#2b2b33",
122
90
  "editorIndentGuide.activeBackground1": "#9a9fa7",
123
91
  "editorWhitespace.foreground": "#9a9fa7"
124
92
  }
@@ -13,29 +13,27 @@ Generated by `@razorwind/shiki`.
13
13
  2. Register themes when creating a Shiki highlighter:
14
14
 
15
15
  ```ts
16
- import { createHighlighter } from "shiki";
17
- import theme from "./theme.json";
16
+ import { createHighlighter } from "shiki"
17
+ import theme from "./theme.json"
18
18
 
19
19
  const highlighter = await createHighlighter({
20
20
  themes: [theme],
21
21
  langs: ["javascript"]
22
- });
22
+ })
23
23
 
24
24
  const html = highlighter.codeToHtml("const x = 1", {
25
25
  lang: "javascript",
26
26
  theme: "cyclone-light"
27
- });
27
+ })
28
28
  ```
29
29
 
30
30
  Or load at runtime:
31
31
 
32
32
  ```ts
33
- import { readFile } from "node:fs/promises";
33
+ import { readFile } from "node:fs/promises"
34
34
 
35
- const theme = JSON.parse(
36
- await readFile("./theme.json", "utf8")
37
- );
38
- await highlighter.loadTheme(theme);
35
+ const theme = JSON.parse(await readFile("./theme.json", "utf8"))
36
+ await highlighter.loadTheme(theme)
39
37
  ```
40
38
 
41
39
  ## Select / load theme
@@ -2,49 +2,32 @@
2
2
  "name": "cyclone-light",
3
3
  "settings": [
4
4
  {
5
- "scope": [
6
- "comment",
7
- "punctuation.definition.comment"
8
- ],
5
+ "scope": ["comment", "punctuation.definition.comment"],
9
6
  "settings": {
10
7
  "foreground": "#959698",
11
8
  "fontStyle": "italic"
12
9
  }
13
10
  },
14
11
  {
15
- "scope": [
16
- "string",
17
- "constant.other.symbol"
18
- ],
12
+ "scope": ["string", "constant.other.symbol"],
19
13
  "settings": {
20
14
  "foreground": "#216b53"
21
15
  }
22
16
  },
23
17
  {
24
- "scope": [
25
- "constant",
26
- "constant.numeric",
27
- "constant.language"
28
- ],
18
+ "scope": ["constant", "constant.numeric", "constant.language"],
29
19
  "settings": {
30
20
  "foreground": "#765417"
31
21
  }
32
22
  },
33
23
  {
34
- "scope": [
35
- "keyword",
36
- "storage",
37
- "storage.type"
38
- ],
24
+ "scope": ["keyword", "storage", "storage.type"],
39
25
  "settings": {
40
26
  "foreground": "#2055b3"
41
27
  }
42
28
  },
43
29
  {
44
- "scope": [
45
- "entity.name.function",
46
- "support.function"
47
- ],
30
+ "scope": ["entity.name.function", "support.function"],
48
31
  "settings": {
49
32
  "foreground": "#2055b3"
50
33
  }
@@ -60,46 +43,31 @@
60
43
  }
61
44
  },
62
45
  {
63
- "scope": [
64
- "entity.name.tag",
65
- "meta.tag"
66
- ],
46
+ "scope": ["entity.name.tag", "meta.tag"],
67
47
  "settings": {
68
48
  "foreground": "#2055b3"
69
49
  }
70
50
  },
71
51
  {
72
- "scope": [
73
- "entity.other.attribute-name",
74
- "support.constant"
75
- ],
52
+ "scope": ["entity.other.attribute-name", "support.constant"],
76
53
  "settings": {
77
54
  "foreground": "#2055b3"
78
55
  }
79
56
  },
80
57
  {
81
- "scope": [
82
- "variable",
83
- "identifier"
84
- ],
58
+ "scope": ["variable", "identifier"],
85
59
  "settings": {
86
60
  "foreground": "#555659"
87
61
  }
88
62
  },
89
63
  {
90
- "scope": [
91
- "punctuation",
92
- "meta.brace"
93
- ],
64
+ "scope": ["punctuation", "meta.brace"],
94
65
  "settings": {
95
66
  "foreground": "#959698"
96
67
  }
97
68
  },
98
69
  {
99
- "scope": [
100
- "invalid",
101
- "invalid.illegal"
102
- ],
70
+ "scope": ["invalid", "invalid.illegal"],
103
71
  "settings": {
104
72
  "foreground": "#8e223e"
105
73
  }
@@ -118,7 +86,7 @@
118
86
  "editor.inactiveSelectionBackground": "#f1f1f1",
119
87
  "editorLineNumber.foreground": "#959698",
120
88
  "editorLineNumber.activeForeground": "#555659",
121
- "editorIndentGuide.background1": "#d0d0d1",
89
+ "editorIndentGuide.background1": "#c0c0c1",
122
90
  "editorIndentGuide.activeBackground1": "#959698",
123
91
  "editorWhitespace.foreground": "#959698"
124
92
  }
@@ -13,29 +13,27 @@ Generated by `@razorwind/shiki`.
13
13
  2. Register themes when creating a Shiki highlighter:
14
14
 
15
15
  ```ts
16
- import { createHighlighter } from "shiki";
17
- import theme from "./theme.json";
16
+ import { createHighlighter } from "shiki"
17
+ import theme from "./theme.json"
18
18
 
19
19
  const highlighter = await createHighlighter({
20
20
  themes: [theme],
21
21
  langs: ["javascript"]
22
- });
22
+ })
23
23
 
24
24
  const html = highlighter.codeToHtml("const x = 1", {
25
25
  lang: "javascript",
26
26
  theme: "cyclone-light-dimmed"
27
- });
27
+ })
28
28
  ```
29
29
 
30
30
  Or load at runtime:
31
31
 
32
32
  ```ts
33
- import { readFile } from "node:fs/promises";
33
+ import { readFile } from "node:fs/promises"
34
34
 
35
- const theme = JSON.parse(
36
- await readFile("./theme.json", "utf8")
37
- );
38
- await highlighter.loadTheme(theme);
35
+ const theme = JSON.parse(await readFile("./theme.json", "utf8"))
36
+ await highlighter.loadTheme(theme)
39
37
  ```
40
38
 
41
39
  ## Select / load theme