Skip to content

Commit 0437455

Browse files
committed
Export theme and lang names
1 parent dad4be4 commit 0437455

12 files changed

+1001
-356
lines changed

.changeset/violet-zoos-visit.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@code-hike/lighter": patch
3+
---
4+
5+
Export theme and lang names

lib/dist/browser.esm.mjs

+247-45
Large diffs are not rendered by default.

lib/dist/index.cjs.js

+249-44
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/dist/index.d.ts

+11-8
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
type LanguageAlias = "abap" | "actionscript-3" | "ada" | "apache" | "apex" | "apl" | "applescript" | "ara" | "asm" | "astro" | "awk" | "ballerina" | "bat" | "batch" | "berry" | "be" | "bibtex" | "bicep" | "blade" | "c" | "cadence" | "cdc" | "clarity" | "clojure" | "clj" | "cmake" | "cobol" | "codeql" | "ql" | "coffee" | "cpp" | "crystal" | "csharp" | "c#" | "cs" | "css" | "cue" | "d" | "dart" | "dax" | "diff" | "docker" | "dream-maker" | "elixir" | "elm" | "erb" | "erlang" | "erl" | "fish" | "fsharp" | "f#" | "fs" | "gherkin" | "git-commit" | "git-rebase" | "glsl" | "gnuplot" | "go" | "graphql" | "groovy" | "hack" | "haml" | "handlebars" | "hbs" | "haskell" | "hs" | "hcl" | "hlsl" | "html" | "http" | "imba" | "ini" | "properties" | "java" | "javascript" | "js" | "jinja-html" | "jison" | "json" | "json5" | "jsonc" | "jsonnet" | "jssm" | "fsl" | "jsx" | "julia" | "kotlin" | "kusto" | "kql" | "latex" | "less" | "liquid" | "lisp" | "logo" | "lua" | "make" | "makefile" | "markdown" | "md" | "marko" | "matlab" | "mdx" | "mermaid" | "nginx" | "nim" | "nix" | "objective-c" | "objc" | "objective-cpp" | "ocaml" | "pascal" | "perl" | "php" | "plsql" | "postcss" | "powerquery" | "powershell" | "ps" | "ps1" | "prisma" | "prolog" | "proto" | "pug" | "jade" | "puppet" | "purescript" | "python" | "py" | "r" | "raku" | "perl6" | "razor" | "rel" | "riscv" | "rst" | "ruby" | "rb" | "rust" | "rs" | "sas" | "sass" | "scala" | "scheme" | "scss" | "shaderlab" | "shader" | "shellscript" | "bash" | "console" | "sh" | "shell" | "zsh" | "smalltalk" | "solidity" | "sparql" | "sql" | "ssh-config" | "stata" | "stylus" | "styl" | "svelte" | "swift" | "system-verilog" | "tasl" | "tcl" | "tex" | "toml" | "tsx" | "turtle" | "twig" | "typescript" | "ts" | "v" | "vb" | "cmd" | "verilog" | "vhdl" | "viml" | "vim" | "vimscript" | "vue-html" | "vue" | "wasm" | "wenyan" | "文言" | "wgsl" | "xml" | "xsl" | "yaml" | "yml" | "zenscript";
1+
declare const LANG_NAMES: string[];
2+
type NamesTuple$1 = typeof LANG_NAMES;
3+
type LanguageAlias = NamesTuple$1[number];
24
type LanguageName = "abap" | "actionscript-3" | "ada" | "apache" | "apex" | "apl" | "applescript" | "ara" | "asm" | "astro" | "awk" | "ballerina" | "bat" | "berry" | "bibtex" | "bicep" | "blade" | "c" | "cadence" | "clarity" | "clojure" | "cmake" | "cobol" | "codeql" | "coffee" | "cpp" | "crystal" | "csharp" | "css" | "cue" | "d" | "dart" | "dax" | "diff" | "docker" | "dream-maker" | "elixir" | "elm" | "erb" | "erlang" | "fish" | "fsharp" | "gherkin" | "git-commit" | "git-rebase" | "glsl" | "gnuplot" | "go" | "graphql" | "groovy" | "hack" | "haml" | "handlebars" | "haskell" | "hcl" | "hlsl" | "html" | "http" | "imba" | "ini" | "java" | "javascript" | "jinja-html" | "jison" | "json" | "json5" | "jsonc" | "jsonnet" | "jssm" | "jsx" | "julia" | "kotlin" | "kusto" | "latex" | "less" | "liquid" | "lisp" | "logo" | "lua" | "make" | "markdown" | "marko" | "matlab" | "mdx" | "mermaid" | "nginx" | "nim" | "nix" | "objective-c" | "objective-cpp" | "ocaml" | "pascal" | "perl" | "php" | "plsql" | "postcss" | "powerquery" | "powershell" | "prisma" | "prolog" | "proto" | "pug" | "puppet" | "purescript" | "python" | "r" | "raku" | "razor" | "rel" | "riscv" | "rst" | "ruby" | "rust" | "sas" | "sass" | "scala" | "scheme" | "scss" | "shaderlab" | "shellscript" | "smalltalk" | "solidity" | "sparql" | "sql" | "ssh-config" | "stata" | "stylus" | "svelte" | "swift" | "system-verilog" | "tasl" | "tcl" | "tex" | "toml" | "tsx" | "turtle" | "twig" | "typescript" | "v" | "vb" | "verilog" | "vhdl" | "viml" | "vue-html" | "vue" | "wasm" | "wenyan" | "wgsl" | "xml" | "xsl" | "yaml" | "zenscript";
35

46
type RawTheme = {
@@ -27,8 +29,8 @@ type FinalTheme = {
2729
[key: string]: string;
2830
};
2931
};
30-
declare const ALL_NAMES: readonly ["dark-plus", "dracula-soft", "dracula", "github-dark", "github-dark-dimmed", "github-light", "light-plus", "material-darker", "material-default", "material-lighter", "material-ocean", "material-palenight", "min-dark", "min-light", "monokai", "nord", "one-dark-pro", "poimandres", "slack-dark", "slack-ochin", "solarized-dark", "solarized-light"];
31-
type NamesTuple = typeof ALL_NAMES;
32+
declare const THEME_NAMES: readonly ["dark-plus", "dracula-soft", "dracula", "github-dark", "github-dark-dimmed", "github-light", "light-plus", "material-darker", "material-default", "material-lighter", "material-ocean", "material-palenight", "min-dark", "min-light", "monokai", "nord", "one-dark-pro", "poimandres", "slack-dark", "slack-ochin", "solarized-dark", "solarized-light"];
33+
type NamesTuple = typeof THEME_NAMES;
3234
type StringTheme = NamesTuple[number];
3335
type Theme = StringTheme | RawTheme;
3436

@@ -120,6 +122,11 @@ declare class UnknownLanguageError extends Error {
120122
constructor(alias: string);
121123
}
122124

125+
declare class UnknownThemeError extends Error {
126+
theme: string;
127+
constructor(theme: string);
128+
}
129+
123130
declare function highlightWithScopes(code: string, alias: LanguageAlias, themeOrThemeName?: Theme): Promise<{
124131
lines: Token[][];
125132
lang: LanguageName;
@@ -229,9 +236,5 @@ declare function annotatedHighlight(code: string, alias: LanguageAlias, themeOrT
229236
colorScheme: "dark" | "light";
230237
};
231238
}>;
232-
declare class UnknownThemeError extends Error {
233-
theme: string;
234-
constructor(theme: string);
235-
}
236239

237-
export { Annotation, LanguageAlias, Line, LineGroup, Lines, RawTheme, StringTheme, Theme, ThemeColors, Token, TokenGroup, Tokens, UnknownLanguageError, UnknownThemeError, annotatedHighlight, extractAnnotations, highlight, highlightWithScopes };
240+
export { Annotation, LANG_NAMES, LanguageAlias, Line, LineGroup, Lines, RawTheme, StringTheme, THEME_NAMES, Theme, ThemeColors, Token, TokenGroup, Tokens, UnknownLanguageError, UnknownThemeError, annotatedHighlight, extractAnnotations, highlight, highlightWithScopes };

lib/dist/index.esm.mjs

+248-45
Large diffs are not rendered by default.

lib/src/index.ts

+12-11
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { loadTheme, Theme, StringTheme, RawTheme } from "./theme";
2-
import { LanguageAlias } from "./language-data";
1+
import { loadTheme, Theme, StringTheme, RawTheme, THEME_NAMES } from "./theme";
2+
import { LanguageAlias, LANG_NAMES } from "./language-data";
33
import { getThemeColors, ThemeColors } from "./theme-colors";
44
import {
55
highlightTokensWithScopes,
@@ -32,7 +32,16 @@ export type {
3232
Token,
3333
ThemeColors,
3434
};
35-
export { UnknownLanguageError };
35+
36+
class UnknownThemeError extends Error {
37+
theme: string;
38+
constructor(theme: string) {
39+
super(`Unknown theme: ${theme}`);
40+
this.theme = theme;
41+
}
42+
}
43+
44+
export { UnknownLanguageError, UnknownThemeError, THEME_NAMES, LANG_NAMES };
3645

3746
export async function highlightWithScopes(
3847
code: string,
@@ -121,11 +130,3 @@ export async function annotatedHighlight(
121130
colors: getThemeColors(theme),
122131
};
123132
}
124-
125-
export class UnknownThemeError extends Error {
126-
theme: string;
127-
constructor(theme: string) {
128-
super(`Unknown theme: ${theme}`);
129-
this.theme = theme;
130-
}
131-
}

0 commit comments

Comments
 (0)