From ae9a0a99ea97ef470b19da02d2f6fe1a914dcc33 Mon Sep 17 00:00:00 2001 From: Nate Butler Date: Wed, 19 Oct 2022 17:02:23 -0400 Subject: [PATCH 01/15] Add new internal themes --- styles/src/themes/internal/dracula.ts | 29 +++++++++++++++ styles/src/themes/internal/embers.ts | 30 ++++++++++++++++ styles/src/themes/internal/gruvbox.ts | 51 +++++++++++++++++++++++++++ styles/src/themes/internal/heath.ts | 29 +++++++++++++++ styles/src/themes/internal/monokai.ts | 29 +++++++++++++++ styles/src/themes/internal/nord.ts | 29 +++++++++++++++ 6 files changed, 197 insertions(+) create mode 100644 styles/src/themes/internal/dracula.ts create mode 100644 styles/src/themes/internal/embers.ts create mode 100644 styles/src/themes/internal/gruvbox.ts create mode 100644 styles/src/themes/internal/heath.ts create mode 100644 styles/src/themes/internal/monokai.ts create mode 100644 styles/src/themes/internal/nord.ts diff --git a/styles/src/themes/internal/dracula.ts b/styles/src/themes/internal/dracula.ts new file mode 100644 index 0000000000..2994996338 --- /dev/null +++ b/styles/src/themes/internal/dracula.ts @@ -0,0 +1,29 @@ +import chroma from "chroma-js"; +import { colorRamp, createColorScheme } from "../common/ramps"; + +const name = "Dracula"; +const author = "Base16 port by Mike Barkmin (http://github.com/mikebarkmin)"; +const url = "http://github.com/dracula" + +// `name-[light|dark]`, isLight, color ramps +export const dark = createColorScheme(`${name}`, false, { + neutral: chroma + .scale([ + "#282936", + "#3a3c4e", + "#4d4f68", + "#626483", + "#62d6e8", + "#e9e9f4", + "#f1f2f8", + "#f7f7fb", + ]), + red: colorRamp(chroma("#ea51b2")), + orange: colorRamp(chroma("#b45bcf")), + yellow: colorRamp(chroma("#ebff87")), + green: colorRamp(chroma("#00f769")), + cyan: colorRamp(chroma("#a1efe4")), + blue: colorRamp(chroma("#62d6e8")), + violet: colorRamp(chroma("#b45bcf")), + magenta: colorRamp(chroma("#00f769")), +}); \ No newline at end of file diff --git a/styles/src/themes/internal/embers.ts b/styles/src/themes/internal/embers.ts new file mode 100644 index 0000000000..8e11f4e7f0 --- /dev/null +++ b/styles/src/themes/internal/embers.ts @@ -0,0 +1,30 @@ +import chroma from "chroma-js"; +import { colorRamp, createColorScheme } from "../common/ramps"; + +// Ashes scheme for the Base16 Builder (https://github.com/chriskempson/base16-builder) +const name = "Embers"; +const author = "Jannik Siebert (https://github.com/janniks)"; +const url = "" + +// `name-[light|dark]`, isLight, color ramps +export const dark = createColorScheme(`${name}`, false, { + neutral: chroma + .scale([ + "#16130F", + "#2C2620", + "#433B32", + "#5A5047", + "#8A8075", + "#A39A90", + "#BEB6AE", + "#DBD6D1", + ]), + red: colorRamp(chroma("#826D57")), + orange: colorRamp(chroma("#828257")), + yellow: colorRamp(chroma("#6D8257")), + green: colorRamp(chroma("#57826D")), + cyan: colorRamp(chroma("#576D82")), + blue: colorRamp(chroma("#6D5782")), + violet: colorRamp(chroma("#82576D")), + magenta: colorRamp(chroma("#825757")), +}); \ No newline at end of file diff --git a/styles/src/themes/internal/gruvbox.ts b/styles/src/themes/internal/gruvbox.ts new file mode 100644 index 0000000000..42caf53623 --- /dev/null +++ b/styles/src/themes/internal/gruvbox.ts @@ -0,0 +1,51 @@ +import chroma from "chroma-js"; +import { colorRamp, createColorScheme } from "../common/ramps"; + +const name = "Gruvbox"; +const author = "Dawid Kurek (dawikur@gmail.com)"; +const url = "https://github.com/morhetz/gruvbox" + +// `name-[light|dark]`, isLight, color ramps +export const dark = createColorScheme(`${name}-dark-medium`, false, { + neutral: chroma + .scale([ + "#282828", + "#3c3836", + "#504945", + "#665c54", + "#bdae93", + "#d5c4a1", + "#ebdbb2", + "#fbf1c7", + ]), + red: colorRamp(chroma("#fb4934")), + orange: colorRamp(chroma("#fe8019")), + yellow: colorRamp(chroma("#fabd2f")), + green: colorRamp(chroma("#b8bb26")), + cyan: colorRamp(chroma("#8ec07c")), + blue: colorRamp(chroma("#83a598")), + violet: colorRamp(chroma("#d3869b")), + magenta: colorRamp(chroma("#d65d0e")), +}); + +export const light = createColorScheme(`${name}-light-medium`, true, { + neutral: chroma + .scale([ + "#282828", + "#3c3836", + "#504945", + "#665c54", + "#bdae93", + "#d5c4a1", + "#ebdbb2", + "#fbf1c7", + ]), + red: colorRamp(chroma("#9d0006")), + orange: colorRamp(chroma("#af3a03")), + yellow: colorRamp(chroma("#b57614")), + green: colorRamp(chroma("#79740e")), + cyan: colorRamp(chroma("#427b58")), + blue: colorRamp(chroma("#076678")), + violet: colorRamp(chroma("#8f3f71")), + magenta: colorRamp(chroma("#d65d0e")), +}); \ No newline at end of file diff --git a/styles/src/themes/internal/heath.ts b/styles/src/themes/internal/heath.ts new file mode 100644 index 0000000000..14b0e9683f --- /dev/null +++ b/styles/src/themes/internal/heath.ts @@ -0,0 +1,29 @@ +import chroma from "chroma-js"; +import { colorRamp, createColorScheme } from "../common/ramps"; + +const name = "Atelier Heath"; +const author = "Bram de Haan (http://atelierbramdehaan.nl)"; +const url = "" + +// `name-[light|dark]`, isLight, color ramps +export const dark = createColorScheme(`${name}`, false, { + neutral: chroma + .scale([ + "#1b181b", + "#292329", + "#695d69", + "#776977", + "#9e8f9e", + "#ab9bab", + "#d8cad8", + "#f7f3f7", + ]), + red: colorRamp(chroma("#ca402b")), + orange: colorRamp(chroma("#a65926")), + yellow: colorRamp(chroma("#bb8a35")), + green: colorRamp(chroma("#918b3b")), + cyan: colorRamp(chroma("#159393")), + blue: colorRamp(chroma("#516aec")), + violet: colorRamp(chroma("#7b59c0")), + magenta: colorRamp(chroma("#cc33cc")), +}); \ No newline at end of file diff --git a/styles/src/themes/internal/monokai.ts b/styles/src/themes/internal/monokai.ts new file mode 100644 index 0000000000..0f5f0b8863 --- /dev/null +++ b/styles/src/themes/internal/monokai.ts @@ -0,0 +1,29 @@ +import chroma from "chroma-js"; +import { colorRamp, createColorScheme } from "../common/ramps"; + +const name = "Monokai"; +const author = "Wimer Hazenberg (http://www.monokai.nl)"; +const url = "" + +// `name-[light|dark]`, isLight, color ramps +export const dark = createColorScheme(`${name}`, false, { + neutral: chroma + .scale([ + "#272822", + "#383830", + "#49483e", + "#75715e", + "#a59f85", + "#f8f8f2", + "#f5f4f1", + "#f9f8f5", + ]), + red: colorRamp(chroma("#f92672")), + orange: colorRamp(chroma("#fd971f")), + yellow: colorRamp(chroma("#f4bf75")), + green: colorRamp(chroma("#a6e22e")), + cyan: colorRamp(chroma("#a1efe4")), + blue: colorRamp(chroma("#66d9ef")), + violet: colorRamp(chroma("#ae81ff")), + magenta: colorRamp(chroma("#cc6633")), +}); diff --git a/styles/src/themes/internal/nord.ts b/styles/src/themes/internal/nord.ts new file mode 100644 index 0000000000..51adb5def7 --- /dev/null +++ b/styles/src/themes/internal/nord.ts @@ -0,0 +1,29 @@ +import chroma from "chroma-js"; +import { colorRamp, createColorScheme } from "../common/ramps"; + +const name = "Nord"; +const author = "arcticicestudio"; +const url = "" + +// `name-[light|dark]`, isLight, color ramps +export const dark = createColorScheme(`${name}`, false, { + neutral: chroma + .scale([ + "#2E3440", + "#3B4252", + "#434C5E", + "#4C566A", + "#D8DEE9", + "#E5E9F0", + "#ECEFF4", + "#8FBCBB", + ]), + red: colorRamp(chroma("#88C0D0")), + orange: colorRamp(chroma("#81A1C1")), + yellow: colorRamp(chroma("#5E81AC")), + green: colorRamp(chroma("#BF616A")), + cyan: colorRamp(chroma("#D08770")), + blue: colorRamp(chroma("#EBCB8B")), + violet: colorRamp(chroma("#A3BE8C")), + magenta: colorRamp(chroma("#B48EAD")), +}); \ No newline at end of file From c83cae60f6c33dfd201e34eb61f48294fb2eda7f Mon Sep 17 00:00:00 2001 From: Nate Butler Date: Thu, 20 Oct 2022 13:28:50 -0400 Subject: [PATCH 02/15] Add Ayu to iternal themes --- styles/src/themes/internal/ayu.ts | 47 +++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 styles/src/themes/internal/ayu.ts diff --git a/styles/src/themes/internal/ayu.ts b/styles/src/themes/internal/ayu.ts new file mode 100644 index 0000000000..71968cd55b --- /dev/null +++ b/styles/src/themes/internal/ayu.ts @@ -0,0 +1,47 @@ +import chroma from "chroma-js"; +import { colorRamp, createColorScheme } from "../common/ramps"; + +const name = "Ayu"; +const author = "Khue Nguyen "; + +export const dark = createColorScheme(`${name} Dark`, false, { + neutral: chroma.scale([ + "#0F1419", + "#131721", + "#272D38", + "#3E4B59", + "#BFBDB6", + "#E6E1CF", + "#E6E1CF", + "#F3F4F5", + ]), + red: colorRamp(chroma("#F07178")), + orange: colorRamp(chroma("#FF8F40")), + yellow: colorRamp(chroma("#FFB454")), + green: colorRamp(chroma("#B8CC52")), + cyan: colorRamp(chroma("#95E6CB")), + blue: colorRamp(chroma("#59C2FF")), + violet: colorRamp(chroma("#D2A6FF")), + magenta: colorRamp(chroma("#E6B673")), +}); + +export const light = createColorScheme(`${name} Light`, true, { + neutral: chroma.scale([ + "#1A1F29", + "#242936", + "#5C6773", + "#828C99", + "#ABB0B6", + "#F8F9FA", + "#F3F4F5", + "#FAFAFA", + ]), + red: colorRamp(chroma("#F07178")), + orange: colorRamp(chroma("#FA8D3E")), + yellow: colorRamp(chroma("#F2AE49")), + green: colorRamp(chroma("#86B300")), + cyan: colorRamp(chroma("#4CBF99")), + blue: colorRamp(chroma("#36A3D9")), + violet: colorRamp(chroma("#A37ACC")), + magenta: colorRamp(chroma("#E6BA7E")), +}); From bd8509990a9a3f3269816b3cdc783f944952886a Mon Sep 17 00:00:00 2001 From: Nate Butler Date: Thu, 20 Oct 2022 15:31:17 -0400 Subject: [PATCH 03/15] Rename One theme and update Zed default theme --- assets/settings/default.json | 450 ++++++++++++++++---------------- crates/settings/src/settings.rs | 2 +- styles/src/themes/one-dark.ts | 40 --- styles/src/themes/one-light.ts | 40 --- styles/src/themes/one.ts | 58 ++++ 5 files changed, 284 insertions(+), 306 deletions(-) delete mode 100644 styles/src/themes/one-dark.ts delete mode 100644 styles/src/themes/one-light.ts create mode 100644 styles/src/themes/one.ts diff --git a/assets/settings/default.json b/assets/settings/default.json index 51aa108cd9..3eb82e94c7 100644 --- a/assets/settings/default.json +++ b/assets/settings/default.json @@ -1,230 +1,230 @@ { - // The name of the Zed theme to use for the UI - "theme": "one-dark", - // The name of a font to use for rendering text in the editor - "buffer_font_family": "Zed Mono", - // The default font size for text in the editor - "buffer_font_size": 15, - // Whether to enable vim modes and key bindings - "vim_mode": false, - // Whether to show the informational hover box when moving the mouse - // over symbols in the editor. - "hover_popover_enabled": true, - // Whether the cursor blinks in the editor. - "cursor_blink": true, - // Whether to pop the completions menu while typing in an editor without - // explicitly requesting it. - "show_completions_on_input": true, - // Whether new projects should start out 'online'. Online projects - // appear in the contacts panel under your name, so that your contacts - // can see which projects you are working on. Regardless of this - // setting, projects keep their last online status when you reopen them. - "projects_online_by_default": true, - // Whether to use language servers to provide code intelligence. - "enable_language_server": true, - // When to automatically save edited buffers. This setting can - // take four values. - // - // 1. Never automatically save: - // "autosave": "off", - // 2. Save when changing focus away from the Zed window: - // "autosave": "on_window_change", - // 3. Save when changing focus away from a specific buffer: - // "autosave": "on_focus_change", - // 4. Save when idle for a certain amount of time: - // "autosave": { "after_delay": {"milliseconds": 500} }, - "autosave": "off", - // Where to place the dock by default. This setting can take three - // values: - // - // 1. Position the dock attached to the bottom of the workspace - // "default_dock_anchor": "bottom" - // 2. Position the dock to the right of the workspace like a side panel - // "default_dock_anchor": "right" - // 3. Position the dock full screen over the entire workspace" - // "default_dock_anchor": "expanded" - "default_dock_anchor": "right", - // Whether or not to perform a buffer format before saving - "format_on_save": "on", - // How to perform a buffer format. This setting can take two values: - // - // 1. Format code using the current language server: - // "format_on_save": "language_server" - // 2. Format code using an external command: - // "format_on_save": { - // "external": { - // "command": "prettier", - // "arguments": ["--stdin-filepath", "{buffer_path}"] - // } + // The name of the Zed theme to use for the UI + "theme": "One Dark", + // The name of a font to use for rendering text in the editor + "buffer_font_family": "Zed Mono", + // The default font size for text in the editor + "buffer_font_size": 15, + // Whether to enable vim modes and key bindings + "vim_mode": false, + // Whether to show the informational hover box when moving the mouse + // over symbols in the editor. + "hover_popover_enabled": true, + // Whether the cursor blinks in the editor. + "cursor_blink": true, + // Whether to pop the completions menu while typing in an editor without + // explicitly requesting it. + "show_completions_on_input": true, + // Whether new projects should start out 'online'. Online projects + // appear in the contacts panel under your name, so that your contacts + // can see which projects you are working on. Regardless of this + // setting, projects keep their last online status when you reopen them. + "projects_online_by_default": true, + // Whether to use language servers to provide code intelligence. + "enable_language_server": true, + // When to automatically save edited buffers. This setting can + // take four values. + // + // 1. Never automatically save: + // "autosave": "off", + // 2. Save when changing focus away from the Zed window: + // "autosave": "on_window_change", + // 3. Save when changing focus away from a specific buffer: + // "autosave": "on_focus_change", + // 4. Save when idle for a certain amount of time: + // "autosave": { "after_delay": {"milliseconds": 500} }, + "autosave": "off", + // Where to place the dock by default. This setting can take three + // values: + // + // 1. Position the dock attached to the bottom of the workspace + // "default_dock_anchor": "bottom" + // 2. Position the dock to the right of the workspace like a side panel + // "default_dock_anchor": "right" + // 3. Position the dock full screen over the entire workspace" + // "default_dock_anchor": "expanded" + "default_dock_anchor": "right", + // Whether or not to perform a buffer format before saving + "format_on_save": "on", + // How to perform a buffer format. This setting can take two values: + // + // 1. Format code using the current language server: + // "format_on_save": "language_server" + // 2. Format code using an external command: + // "format_on_save": { + // "external": { + // "command": "prettier", + // "arguments": ["--stdin-filepath", "{buffer_path}"] + // } + // } + "formatter": "language_server", + // How to soft-wrap long lines of text. This setting can take + // three values: + // + // 1. Do not soft wrap. + // "soft_wrap": "none", + // 2. Soft wrap lines that overflow the editor: + // "soft_wrap": "editor_width", + // 3. Soft wrap lines at the preferred line length + // "soft_wrap": "preferred_line_length", + "soft_wrap": "none", + // The column at which to soft-wrap lines, for buffers where soft-wrap + // is enabled. + "preferred_line_length": 80, + // Whether to indent lines using tab characters, as opposed to multiple + // spaces. + "hard_tabs": false, + // How many columns a tab should occupy. + "tab_size": 4, + // Git gutter behavior configuration. + "git": { + // Control whether the git gutter is shown. May take 2 values: + // 1. Show the gutter + // "git_gutter": "tracked_files" + // 2. Hide the gutter + // "git_gutter": "hide" + "git_gutter": "tracked_files" + }, + // Settings specific to journaling + "journal": { + // The path of the directory where journal entries are stored + "path": "~", + // What format to display the hours in + // May take 2 values: + // 1. hour12 + // 2. hour24 + "hour_format": "hour12" + }, + // Settings specific to the terminal + "terminal": { + // What shell to use when opening a terminal. May take 3 values: + // 1. Use the system's default terminal configuration (e.g. $TERM). + // "shell": "system" + // 2. A program: + // "shell": { + // "program": "sh" + // } + // 3. A program with arguments: + // "shell": { + // "with_arguments": { + // "program": "/bin/bash", + // "arguments": ["--login"] + // } // } - "formatter": "language_server", - // How to soft-wrap long lines of text. This setting can take - // three values: + "shell": "system", + // What working directory to use when launching the terminal. + // May take 4 values: + // 1. Use the current file's project directory. Will Fallback to the + // first project directory strategy if unsuccessful + // "working_directory": "current_project_directory" + // 2. Use the first project in this workspace's directory + // "working_directory": "first_project_directory" + // 3. Always use this platform's home directory (if we can find it) + // "working_directory": "always_home" + // 4. Always use a specific directory. This value will be shell expanded. + // If this path is not a valid directory the terminal will default to + // this platform's home directory (if we can find it) + // "working_directory": { + // "always": { + // "directory": "~/zed/projects/" + // } + // } // - // 1. Do not soft wrap. - // "soft_wrap": "none", - // 2. Soft wrap lines that overflow the editor: - // "soft_wrap": "editor_width", - // 3. Soft wrap lines at the preferred line length - // "soft_wrap": "preferred_line_length", - "soft_wrap": "none", - // The column at which to soft-wrap lines, for buffers where soft-wrap - // is enabled. - "preferred_line_length": 80, - // Whether to indent lines using tab characters, as opposed to multiple - // spaces. - "hard_tabs": false, - // How many columns a tab should occupy. - "tab_size": 4, - // Git gutter behavior configuration. - "git": { - // Control whether the git gutter is shown. May take 2 values: - // 1. Show the gutter - // "git_gutter": "tracked_files" - // 2. Hide the gutter - // "git_gutter": "hide" - "git_gutter": "tracked_files" - }, - // Settings specific to journaling - "journal": { - // The path of the directory where journal entries are stored - "path": "~", - // What format to display the hours in - // May take 2 values: - // 1. hour12 - // 2. hour24 - "hour_format": "hour12" - }, - // Settings specific to the terminal - "terminal": { - // What shell to use when opening a terminal. May take 3 values: - // 1. Use the system's default terminal configuration (e.g. $TERM). - // "shell": "system" - // 2. A program: - // "shell": { - // "program": "sh" - // } - // 3. A program with arguments: - // "shell": { - // "with_arguments": { - // "program": "/bin/bash", - // "arguments": ["--login"] - // } - // } - "shell": "system", - // What working directory to use when launching the terminal. - // May take 4 values: - // 1. Use the current file's project directory. Will Fallback to the - // first project directory strategy if unsuccessful - // "working_directory": "current_project_directory" - // 2. Use the first project in this workspace's directory - // "working_directory": "first_project_directory" - // 3. Always use this platform's home directory (if we can find it) - // "working_directory": "always_home" - // 4. Always use a specific directory. This value will be shell expanded. - // If this path is not a valid directory the terminal will default to - // this platform's home directory (if we can find it) - // "working_directory": { - // "always": { - // "directory": "~/zed/projects/" - // } - // } - // - // - "working_directory": "current_project_directory", - // Set the cursor blinking behavior in the terminal. - // May take 4 values: - // 1. Never blink the cursor, ignoring the terminal mode - // "blinking": "off", - // 2. Default the cursor blink to off, but allow the terminal to - // set blinking - // "blinking": "terminal_controlled", - // 3. Always blink the cursor, ignoring the terminal mode - // "blinking": "on", - "blinking": "terminal_controlled", - // Set whether Alternate Scroll mode (code: ?1007) is active by default. - // Alternate Scroll mode converts mouse scroll events into up / down key - // presses when in the alternate screen (e.g. when running applications - // like vim or less). The terminal can still set and unset this mode. - // May take 2 values: - // 1. Default alternate scroll mode to on - // "alternate_scroll": "on", - // 2. Default alternate scroll mode to off - // "alternate_scroll": "off", - "alternate_scroll": "off", - // Set whether the option key behaves as the meta key. - // May take 2 values: - // 1. Rely on default platform handling of option key, on macOS - // this means generating certain unicode characters - // "option_to_meta": false, - // 2. Make the option keys behave as a 'meta' key, e.g. for emacs - // "option_to_meta": true, - "option_as_meta": false, - // Whether or not selecting text in the terminal will automatically - // copy to the system clipboard. - "copy_on_select": false, - // Any key-value pairs added to this list will be added to the terminal's - // enviroment. Use `:` to seperate multiple values. - "env": { - // "KEY": "value1:value2" - } - // Set the terminal's font size. If this option is not included, - // the terminal will default to matching the buffer's font size. - // "font_size": "15" - // Set the terminal's font family. If this option is not included, - // the terminal will default to matching the buffer's font family. - // "font_family": "Zed Mono" - }, - // Different settings for specific languages. - "languages": { - "Plain Text": { - "soft_wrap": "preferred_line_length" - }, - "C": { - "tab_size": 2 - }, - "C++": { - "tab_size": 2 - }, - "Elixir": { - "tab_size": 2 - }, - "Go": { - "tab_size": 4, - "hard_tabs": true - }, - "Markdown": { - "soft_wrap": "preferred_line_length" - }, - "Rust": { - "tab_size": 4 - }, - "JavaScript": { - "tab_size": 2 - }, - "TypeScript": { - "tab_size": 2 - }, - "TSX": { - "tab_size": 2 - } - }, - // LSP Specific settings. - "lsp": { - // Specify the LSP name as a key here. - // As of 8/10/22, supported LSPs are: - // pyright - // gopls - // rust-analyzer - // typescript-language-server - // vscode-json-languageserver - // "rust_analyzer": { - // //These initialization options are merged into Zed's defaults - // "initialization_options": { - // "checkOnSave": { - // "command": "clippy" - // } - // } - // } + // + "working_directory": "current_project_directory", + // Set the cursor blinking behavior in the terminal. + // May take 4 values: + // 1. Never blink the cursor, ignoring the terminal mode + // "blinking": "off", + // 2. Default the cursor blink to off, but allow the terminal to + // set blinking + // "blinking": "terminal_controlled", + // 3. Always blink the cursor, ignoring the terminal mode + // "blinking": "on", + "blinking": "terminal_controlled", + // Set whether Alternate Scroll mode (code: ?1007) is active by default. + // Alternate Scroll mode converts mouse scroll events into up / down key + // presses when in the alternate screen (e.g. when running applications + // like vim or less). The terminal can still set and unset this mode. + // May take 2 values: + // 1. Default alternate scroll mode to on + // "alternate_scroll": "on", + // 2. Default alternate scroll mode to off + // "alternate_scroll": "off", + "alternate_scroll": "off", + // Set whether the option key behaves as the meta key. + // May take 2 values: + // 1. Rely on default platform handling of option key, on macOS + // this means generating certain unicode characters + // "option_to_meta": false, + // 2. Make the option keys behave as a 'meta' key, e.g. for emacs + // "option_to_meta": true, + "option_as_meta": false, + // Whether or not selecting text in the terminal will automatically + // copy to the system clipboard. + "copy_on_select": false, + // Any key-value pairs added to this list will be added to the terminal's + // enviroment. Use `:` to seperate multiple values. + "env": { + // "KEY": "value1:value2" } + // Set the terminal's font size. If this option is not included, + // the terminal will default to matching the buffer's font size. + // "font_size": "15" + // Set the terminal's font family. If this option is not included, + // the terminal will default to matching the buffer's font family. + // "font_family": "Zed Mono" + }, + // Different settings for specific languages. + "languages": { + "Plain Text": { + "soft_wrap": "preferred_line_length" + }, + "C": { + "tab_size": 2 + }, + "C++": { + "tab_size": 2 + }, + "Elixir": { + "tab_size": 2 + }, + "Go": { + "tab_size": 4, + "hard_tabs": true + }, + "Markdown": { + "soft_wrap": "preferred_line_length" + }, + "Rust": { + "tab_size": 4 + }, + "JavaScript": { + "tab_size": 2 + }, + "TypeScript": { + "tab_size": 2 + }, + "TSX": { + "tab_size": 2 + } + }, + // LSP Specific settings. + "lsp": { + // Specify the LSP name as a key here. + // As of 8/10/22, supported LSPs are: + // pyright + // gopls + // rust-analyzer + // typescript-language-server + // vscode-json-languageserver + // "rust_analyzer": { + // //These initialization options are merged into Zed's defaults + // "initialization_options": { + // "checkOnSave": { + // "command": "clippy" + // } + // } + // } + } } diff --git a/crates/settings/src/settings.rs b/crates/settings/src/settings.rs index ee389c7a0e..d8f8e8926a 100644 --- a/crates/settings/src/settings.rs +++ b/crates/settings/src/settings.rs @@ -665,7 +665,7 @@ mod tests { fn test_write_theme_into_settings_with_theme() { let settings = r#" { - "theme": "one-dark" + "theme": "One Dark" } "# .unindent(); diff --git a/styles/src/themes/one-dark.ts b/styles/src/themes/one-dark.ts deleted file mode 100644 index 4af4444471..0000000000 --- a/styles/src/themes/one-dark.ts +++ /dev/null @@ -1,40 +0,0 @@ -import chroma from "chroma-js"; -import { colorRamp, createColorScheme } from "./common/ramps"; - -const name = "one"; -const author = "Chris Kempson (http://chriskempson.com)"; -const url = - "https://github.com/chriskempson/base16-vim/blob/master/colors/base16-onedark.vim"; - -const base00 = "#282c34"; -const base01 = "#353b45"; -const base02 = "#3e4451"; -const base03 = "#545862"; -const base04 = "#565c64"; -const base05 = "#abb2bf"; -const base06 = "#b6bdca"; -const base07 = "#c8ccd4"; -const base08 = "#e06c75"; -const base09 = "#d19a66"; -const base0A = "#e5c07b"; -const base0B = "#98c379"; -const base0C = "#56b6c2"; -const base0D = "#61afef"; -const base0E = "#c678dd"; -const base0F = "#be5046"; - -const ramps = { - neutral: chroma - .scale([base00, base01, base02, base03, base04, base05, base06, base07]) - .domain([0.05, 0.22, 0.25, 0.45, 0.62, 0.8, 0.9, 1]), - red: colorRamp(chroma(base08)), - orange: colorRamp(chroma(base09)), - yellow: colorRamp(chroma(base0A)), - green: colorRamp(chroma(base0B)), - cyan: colorRamp(chroma(base0C)), - blue: colorRamp(chroma(base0D)), - violet: colorRamp(chroma(base0E)), - magenta: colorRamp(chroma(base0F)), -}; - -export const dark = createColorScheme(`${name}-dark`, false, ramps); diff --git a/styles/src/themes/one-light.ts b/styles/src/themes/one-light.ts deleted file mode 100644 index 585ee7a170..0000000000 --- a/styles/src/themes/one-light.ts +++ /dev/null @@ -1,40 +0,0 @@ -import chroma from "chroma-js"; -import { colorRamp, createColorScheme } from "./common/ramps"; - -const name = "one"; -const author = "Daniel Pfeifer (http://github.com/purpleKarrot)"; -const url = - "https://github.com/purpleKarrot/base16-one-light-scheme/blob/master/one-light.yaml"; - -const base00 = "#090a0b"; -const base01 = "#202227"; -const base02 = "#383a42"; -const base03 = "#696c77"; -const base04 = "#a0a1a7"; -const base05 = "#e5e5e6"; -const base06 = "#f0f0f1"; -const base07 = "#fafafa"; -const base08 = "#ca1243"; -const base09 = "#d75f00"; -const base0A = "#c18401"; -const base0B = "#50a14f"; -const base0C = "#0184bc"; -const base0D = "#4078f2"; -const base0E = "#a626a4"; -const base0F = "#986801"; - -const ramps = { - neutral: chroma - .scale([base00, base01, base02, base03, base04, base05, base06, base07]) - .domain([0, 0.05, 0.77, 1]), - red: colorRamp(chroma(base08)), - orange: colorRamp(chroma(base09)), - yellow: colorRamp(chroma(base0A)), - green: colorRamp(chroma(base0B)), - cyan: colorRamp(chroma(base0C)), - blue: colorRamp(chroma(base0D)), - violet: colorRamp(chroma(base0E)), - magenta: colorRamp(chroma(base0F)), -}; - -export const light = createColorScheme(`${name}-light`, true, ramps); diff --git a/styles/src/themes/one.ts b/styles/src/themes/one.ts new file mode 100644 index 0000000000..f0872d020e --- /dev/null +++ b/styles/src/themes/one.ts @@ -0,0 +1,58 @@ +import chroma from "chroma-js"; +import { colorRamp, createColorScheme } from "./common/ramps"; + +const name = "One"; +const author = ""; +const url = ""; +const license = { + type: "", + url: "", +}; + +export const dark = createColorScheme(`${name} Dark`, false, { + neutral: chroma + .scale([ + "#282c34", + "#353b45", + "#3e4451", + "#545862", + "#565c64", + "#abb2bf", + "#b6bdca", + "#c8ccd4", + ]) + .domain([0.05, 0.22, 0.25, 0.45, 0.62, 0.8, 0.9, 1]), + + red: colorRamp(chroma("#e06c75")), + orange: colorRamp(chroma("#d19a66")), + yellow: colorRamp(chroma("#e5c07b")), + green: colorRamp(chroma("#98c379")), + cyan: colorRamp(chroma("#56b6c2")), + blue: colorRamp(chroma("#61afef")), + violet: colorRamp(chroma("#c678dd")), + magenta: colorRamp(chroma("#be5046")), +}); + +export const light = createColorScheme(`${name} Light`, true, { + neutral: chroma + .scale([ + "#090a0b", + "#202227", + "#383a42", + "#696c77", + "#a0a1a7", + "#e5e5e6", + "#f0f0f1", + "#fafafa", + ]) + .domain([0.05, 0.22, 0.25, 0.45, 0.62, 0.8, 0.9, 1]), + + red: colorRamp(chroma("#ca1243")), + orange: colorRamp(chroma("#d75f00")), + yellow: colorRamp(chroma("#c18401")), + green: colorRamp(chroma("#50a14f")), + cyan: colorRamp(chroma("#0184bc")), + blue: colorRamp(chroma("#4078f2")), + violet: colorRamp(chroma("#a626a4")), + magenta: colorRamp(chroma("#986801")), +}); From fbfe8a23116f8d50e55a97a7ff3d273051ffdff5 Mon Sep 17 00:00:00 2001 From: Nate Butler Date: Thu, 20 Oct 2022 15:32:13 -0400 Subject: [PATCH 04/15] WIP Update theme metadata and add license information --- styles/src/themes/andromeda.ts | 8 +++++++- styles/src/themes/cave.ts | 13 ++++++++++--- styles/src/themes/common/base16.ts | 6 +++--- styles/src/themes/common/ramps.ts | 16 ++++++++++++---- styles/src/themes/rose-pine-dawn.ts | 4 +++- styles/src/themes/rose-pine-moon.ts | 4 +++- styles/src/themes/rose-pine.ts | 4 +++- styles/src/themes/sandcastle.ts | 4 +++- styles/src/themes/solarized.ts | 4 +++- styles/src/themes/sulphurpool.ts | 4 +++- styles/src/themes/summercamp.ts | 4 +++- 11 files changed, 53 insertions(+), 18 deletions(-) diff --git a/styles/src/themes/andromeda.ts b/styles/src/themes/andromeda.ts index 2c03c8c680..dc4a5a00d4 100644 --- a/styles/src/themes/andromeda.ts +++ b/styles/src/themes/andromeda.ts @@ -1,7 +1,13 @@ import chroma from "chroma-js"; import { colorRamp, createColorScheme } from "./common/ramps"; -const name = "andromeda"; +const name = "Andromeda"; +const author = ""; +const url = ""; +const license = { + type: "", + url: "", +}; const ramps = { neutral: chroma diff --git a/styles/src/themes/cave.ts b/styles/src/themes/cave.ts index f13b9f028a..a6099c3a0b 100644 --- a/styles/src/themes/cave.ts +++ b/styles/src/themes/cave.ts @@ -1,7 +1,13 @@ import chroma from "chroma-js"; import { colorRamp, createColorScheme } from "./common/ramps"; -const name = "cave"; +const name = "Cave"; +const author = ""; +const url = ""; +const license = { + type: "", + url: "" +} export const dark = createColorScheme(`${name}-dark`, false, { neutral: chroma @@ -37,7 +43,8 @@ export const light = createColorScheme(`${name}-light`, true, { "#8b8792", "#e2dfe7", "#efecf4", - ]).correctLightness(), + ]) + .correctLightness(), red: colorRamp(chroma("#be4678")), orange: colorRamp(chroma("#aa573c")), yellow: colorRamp(chroma("#a06e3b")), @@ -46,4 +53,4 @@ export const light = createColorScheme(`${name}-light`, true, { blue: colorRamp(chroma("#576ddb")), violet: colorRamp(chroma("#955ae7")), magenta: colorRamp(chroma("#bf40bf")), -}); \ No newline at end of file +}); diff --git a/styles/src/themes/common/base16.ts b/styles/src/themes/common/base16.ts index 1c4a5e4076..c5b914d62b 100644 --- a/styles/src/themes/common/base16.ts +++ b/styles/src/themes/common/base16.ts @@ -116,8 +116,8 @@ export function createTheme( on500Ok: { base: sample(ramps.green, 0.05), hovered: sample(ramps.green, 0.1), - active: sample(ramps.green, 0.15) - } + active: sample(ramps.green, 0.15), + }, }; const borderColor = { @@ -186,7 +186,7 @@ export function createTheme( weight: fontWeights.normal, }, "variable.special": { - color: sample(ramps.blue, 0.80), + color: sample(ramps.blue, 0.8), weight: fontWeights.normal, }, comment: { diff --git a/styles/src/themes/common/ramps.ts b/styles/src/themes/common/ramps.ts index 81b94bdb84..971830ed07 100644 --- a/styles/src/themes/common/ramps.ts +++ b/styles/src/themes/common/ramps.ts @@ -142,9 +142,13 @@ function buildStyleSet( ramp: Scale, backgroundBase: number, foregroundBase: number, - step: number = 0.08, + step: number = 0.08 ): StyleSet { - let styleDefinitions = buildStyleDefinition(backgroundBase, foregroundBase, step); + let styleDefinitions = buildStyleDefinition( + backgroundBase, + foregroundBase, + step + ); function colorString(indexOrColor: number | Color): string { if (typeof indexOrColor === "number") { @@ -172,7 +176,11 @@ function buildStyleSet( }; } -function buildStyleDefinition(bgBase: number, fgBase: number, step: number = 0.08) { +function buildStyleDefinition( + bgBase: number, + fgBase: number, + step: number = 0.08 +) { return { background: { default: bgBase, @@ -199,4 +207,4 @@ function buildStyleDefinition(bgBase: number, fgBase: number, step: number = 0.0 inverted: bgBase + step * 2, }, }; -} \ No newline at end of file +} diff --git a/styles/src/themes/rose-pine-dawn.ts b/styles/src/themes/rose-pine-dawn.ts index e0e72e21ec..1c5866b3ff 100644 --- a/styles/src/themes/rose-pine-dawn.ts +++ b/styles/src/themes/rose-pine-dawn.ts @@ -1,7 +1,9 @@ import chroma from "chroma-js"; import { colorRamp, createColorScheme } from "./common/ramps"; -const name = "rosé-pine-dawn"; +const name = "Rosé Pine Dawn"; +const author = ""; +const url = ""; const ramps = { neutral: chroma diff --git a/styles/src/themes/rose-pine-moon.ts b/styles/src/themes/rose-pine-moon.ts index 52a4252d31..27e2caf07b 100644 --- a/styles/src/themes/rose-pine-moon.ts +++ b/styles/src/themes/rose-pine-moon.ts @@ -1,7 +1,9 @@ import chroma from "chroma-js"; import { colorRamp, createColorScheme } from "./common/ramps"; -const name = "rosé-pine-moon"; +const name = "Rosé Pine Moon"; +const author = ""; +const url = ""; const ramps = { neutral: chroma diff --git a/styles/src/themes/rose-pine.ts b/styles/src/themes/rose-pine.ts index b33c4a3fb5..5e6f6d028e 100644 --- a/styles/src/themes/rose-pine.ts +++ b/styles/src/themes/rose-pine.ts @@ -1,7 +1,9 @@ import chroma from "chroma-js"; import { colorRamp, createColorScheme } from "./common/ramps"; -const name = "rosé-pine"; +const name = "Rosé Pine"; +const author = ""; +const url = ""; const ramps = { neutral: chroma.scale([ diff --git a/styles/src/themes/sandcastle.ts b/styles/src/themes/sandcastle.ts index 5e5230104b..51ca87913f 100644 --- a/styles/src/themes/sandcastle.ts +++ b/styles/src/themes/sandcastle.ts @@ -1,7 +1,9 @@ import chroma from "chroma-js"; import { colorRamp, createColorScheme } from "./common/ramps"; -const name = "sandcastle"; +const name = "Sandcastle"; +const author = ""; +const url = ""; const ramps = { neutral: chroma.scale([ diff --git a/styles/src/themes/solarized.ts b/styles/src/themes/solarized.ts index b528708eca..b9d1690eb5 100644 --- a/styles/src/themes/solarized.ts +++ b/styles/src/themes/solarized.ts @@ -1,7 +1,9 @@ import chroma from "chroma-js"; import { colorRamp, createColorScheme } from "./common/ramps"; -const name = "solarized"; +const name = "Solarized"; +const author = ""; +const url = ""; const ramps = { neutral: chroma diff --git a/styles/src/themes/sulphurpool.ts b/styles/src/themes/sulphurpool.ts index 976e7cf7cd..1f4c896868 100644 --- a/styles/src/themes/sulphurpool.ts +++ b/styles/src/themes/sulphurpool.ts @@ -1,7 +1,9 @@ import chroma from "chroma-js"; import { colorRamp, createColorScheme } from "./common/ramps"; -const name = "sulphurpool"; +const name = "Sulphurpool"; +const author = ""; +const url = ""; const ramps = { neutral: chroma diff --git a/styles/src/themes/summercamp.ts b/styles/src/themes/summercamp.ts index f762785414..8c66e3690b 100644 --- a/styles/src/themes/summercamp.ts +++ b/styles/src/themes/summercamp.ts @@ -1,7 +1,9 @@ import chroma from "chroma-js"; import { colorRamp, createColorScheme } from "./common/ramps"; -const name = "summercamp"; +const name = "Summercamp"; +const author = ""; +const url = ""; const ramps = { neutral: chroma From 5d87a04dc3feaedf9a8d28abe0190d27a14ab489 Mon Sep 17 00:00:00 2001 From: Nate Butler Date: Thu, 20 Oct 2022 15:32:20 -0400 Subject: [PATCH 05/15] Remove old theme template --- styles/src/themes/template.ts | 69 ----------------------------------- 1 file changed, 69 deletions(-) delete mode 100644 styles/src/themes/template.ts diff --git a/styles/src/themes/template.ts b/styles/src/themes/template.ts deleted file mode 100644 index 9f9ba89799..0000000000 --- a/styles/src/themes/template.ts +++ /dev/null @@ -1,69 +0,0 @@ -/** - * To create a new theme duplicate this file and move into templates - **/ - -import chroma from "chroma-js"; -import { colorRamp, createColorScheme } from "./common/ramps"; - -/** - * Theme Name - * - * What the theme will be called in the UI - * Also used to generate filenames, etc - **/ - -const name = "themeName"; - -/** - * Theme Colors - * - * Zed themes are based on [base16](https://github.com/chriskempson/base16) - * The first 8 colors ("Neutrals") are used to construct the UI background, panels, etc. - * The latter 8 colors ("Accents") are used for syntax themes, semantic colors, and UI states. - **/ - -/** - * Color Ramps - * - * We use (chroma-js)[https://gka.github.io/chroma.js/] to minipulate color in themes and to build color ramps. - * - * You can use chroma-js operations on the ramps here. - * For example, you could use chroma.scale(...).correctLightness if your color ramps seem washed out near the ends. - **/ - -// TODO: Express accents without refering to them directly by color name. -// See common/base16.ts for where color tokens are used. - -const ramps = { - neutral: chroma.scale([ - "#19171c", // Dark: darkest backgrounds, inputs | Light: Lightest text, active states - "#26232a", - "#585260", - "#655f6d", - "#7e7887", - "#8b8792", - "#e2dfe7", - "#efecf4", // Light: darkest backgrounds, inputs | Dark: Lightest text, active states - ]), - red: colorRamp(chroma("#be4678")), // Errors - orange: colorRamp(chroma("#aa573c")), - yellow: colorRamp(chroma("#a06e3b")), // Warnings - green: colorRamp(chroma("#2a9292")), // Positive - cyan: colorRamp(chroma("#398bc6")), // Player 1 (Host) - blue: colorRamp(chroma("#576ddb")), // Info - violet: colorRamp(chroma("#955ae7")), - magenta: colorRamp(chroma("#bf40bf")), -}; - -/** - * Color Scheme Variants - * - * Currently we only support (and require) dark and light themes - * Eventually you will be able to have only a light or dark theme, - * and define other variants here. - * - * createColorScheme([name], [isLight], [arrayOfRamps]) - **/ - -export const dark = createColorScheme(`${name}-dark`, false, ramps); -export const light = createColorScheme(`${name}-light`, true, ramps); From 038670cc6f3e7389dad076ca3c47ffa23d427061 Mon Sep 17 00:00:00 2001 From: Nate Butler Date: Thu, 20 Oct 2022 15:32:40 -0400 Subject: [PATCH 06/15] Add brush trees as a experimental theme --- styles/src/themes/experiments/brushtrees.ts | 73 +++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 styles/src/themes/experiments/brushtrees.ts diff --git a/styles/src/themes/experiments/brushtrees.ts b/styles/src/themes/experiments/brushtrees.ts new file mode 100644 index 0000000000..f14f1abe8c --- /dev/null +++ b/styles/src/themes/experiments/brushtrees.ts @@ -0,0 +1,73 @@ +import chroma from "chroma-js"; +import { colorRamp, createColorScheme } from "../common/ramps"; + +const name = "Brush Trees"; +const author = "Abraham White "; +const url = "https://github.com/WhiteAbeLincoln/base16-brushtrees-scheme"; +const license = { + type: "MIT", + url: "https://github.com/WhiteAbeLincoln/base16-brushtrees-scheme/blob/master/LICENSE" +} + +export const dark = createColorScheme(`${name} Dark`, false, { + neutral: chroma.scale([ + "#485867", + "#5A6D7A", + "#6D828E", + "#8299A1", + "#98AFB5", + "#B0C5C8", + "#C9DBDC", + "#E3EFEF", + ]), + red: colorRamp(chroma("#b38686")), + orange: colorRamp(chroma("#d8bba2")), + yellow: colorRamp(chroma("#aab386")), + green: colorRamp(chroma("#87b386")), + cyan: colorRamp(chroma("#86b3b3")), + blue: colorRamp(chroma("#868cb3")), + violet: colorRamp(chroma("#b386b2")), + magenta: colorRamp(chroma("#b39f9f")), +}); + +export const mirage = createColorScheme(`${name} Mirage`, false, { + neutral: chroma.scale([ + "#485867", + "#5A6D7A", + "#6D828E", + "#8299A1", + "#98AFB5", + "#B0C5C8", + "#C9DBDC", + "#E3EFEF", + ]), + red: colorRamp(chroma("#F28779")), + orange: colorRamp(chroma("#FFAD66")), + yellow: colorRamp(chroma("#FFD173")), + green: colorRamp(chroma("#D5FF80")), + cyan: colorRamp(chroma("#95E6CB")), + blue: colorRamp(chroma("#5CCFE6")), + violet: colorRamp(chroma("#D4BFFF")), + magenta: colorRamp(chroma("#F29E74")), +}); + +export const light = createColorScheme(`${name} Light`, true, { + neutral: chroma.scale([ + "#1A1F29", + "#242936", + "#5C6773", + "#828C99", + "#ABB0B6", + "#F8F9FA", + "#F3F4F5", + "#FAFAFA", + ]), + red: colorRamp(chroma("#b38686")), + orange: colorRamp(chroma("#d8bba2")), + yellow: colorRamp(chroma("#aab386")), + green: colorRamp(chroma("#87b386")), + cyan: colorRamp(chroma("#86b3b3")), + blue: colorRamp(chroma("#868cb3")), + violet: colorRamp(chroma("#b386b2")), + magenta: colorRamp(chroma("#b39f9f")), +}); From e3ef6d35ab0f4b36e61551d9c047f8d6a55d10a7 Mon Sep 17 00:00:00 2001 From: Nate Butler Date: Thu, 20 Oct 2022 15:32:56 -0400 Subject: [PATCH 07/15] Add a range of new themes as internal themes for testing --- styles/src/themes/internal/ayu-mirage.ts | 31 +++++++++++ styles/src/themes/internal/ayu.ts | 7 ++- styles/src/themes/internal/dracula.ts | 46 ++++++++-------- styles/src/themes/internal/embers.ts | 30 ----------- .../{gruvbox.ts => gruvbox-medium.ts} | 54 ++++++++++--------- styles/src/themes/internal/heath.ts | 48 ++++++++++++----- styles/src/themes/internal/monokai.ts | 23 ++++---- styles/src/themes/internal/nord.ts | 25 +++++---- styles/src/themes/internal/seaside.ts | 30 +++++++++++ styles/src/themes/internal/seti-ui.ts | 28 ++++++++++ .../src/themes/internal/tokyo-night-storm.ts | 28 ++++++++++ styles/src/themes/internal/tokyo-night.ts | 49 +++++++++++++++++ styles/src/themes/internal/twilight.ts | 28 ++++++++++ styles/src/themes/internal/zed-pro.ts | 8 +-- styles/src/themes/internal/zenburn.ts | 28 ++++++++++ 15 files changed, 342 insertions(+), 121 deletions(-) create mode 100644 styles/src/themes/internal/ayu-mirage.ts delete mode 100644 styles/src/themes/internal/embers.ts rename styles/src/themes/internal/{gruvbox.ts => gruvbox-medium.ts} (59%) create mode 100644 styles/src/themes/internal/seaside.ts create mode 100644 styles/src/themes/internal/seti-ui.ts create mode 100644 styles/src/themes/internal/tokyo-night-storm.ts create mode 100644 styles/src/themes/internal/tokyo-night.ts create mode 100644 styles/src/themes/internal/twilight.ts create mode 100644 styles/src/themes/internal/zenburn.ts diff --git a/styles/src/themes/internal/ayu-mirage.ts b/styles/src/themes/internal/ayu-mirage.ts new file mode 100644 index 0000000000..9294a9af64 --- /dev/null +++ b/styles/src/themes/internal/ayu-mirage.ts @@ -0,0 +1,31 @@ +import chroma from "chroma-js"; +import { colorRamp, createColorScheme } from "../common/ramps"; + +const name = "Ayu"; +const author = "Konstantin Pschera "; +const url = "https://github.com/ayu-theme/ayu-colors"; +const license = { + type: "MIT", + url: "https://github.com/ayu-theme/ayu-colors/blob/master/license" +} + +export const dark = createColorScheme(`${name} Mirage`, false, { + neutral: chroma.scale([ + "#171B24", + "#1F2430", + "#242936", + "#707A8C", + "#8A9199", + "#CCCAC2", + "#D9D7CE", + "#F3F4F5", + ]), + red: colorRamp(chroma("#F28779")), + orange: colorRamp(chroma("#FFAD66")), + yellow: colorRamp(chroma("#FFD173")), + green: colorRamp(chroma("#D5FF80")), + cyan: colorRamp(chroma("#95E6CB")), + blue: colorRamp(chroma("#5CCFE6")), + violet: colorRamp(chroma("#D4BFFF")), + magenta: colorRamp(chroma("#F29E74")), +}); diff --git a/styles/src/themes/internal/ayu.ts b/styles/src/themes/internal/ayu.ts index 71968cd55b..c5a526d8ce 100644 --- a/styles/src/themes/internal/ayu.ts +++ b/styles/src/themes/internal/ayu.ts @@ -2,7 +2,12 @@ import chroma from "chroma-js"; import { colorRamp, createColorScheme } from "../common/ramps"; const name = "Ayu"; -const author = "Khue Nguyen "; +const author = "Konstantin Pschera "; +const url = "https://github.com/ayu-theme/ayu-colors"; +const license = { + type: "MIT", + url: "https://github.com/ayu-theme/ayu-colors/blob/master/license" +} export const dark = createColorScheme(`${name} Dark`, false, { neutral: chroma.scale([ diff --git a/styles/src/themes/internal/dracula.ts b/styles/src/themes/internal/dracula.ts index 2994996338..0571574049 100644 --- a/styles/src/themes/internal/dracula.ts +++ b/styles/src/themes/internal/dracula.ts @@ -2,28 +2,30 @@ import chroma from "chroma-js"; import { colorRamp, createColorScheme } from "../common/ramps"; const name = "Dracula"; -const author = "Base16 port by Mike Barkmin (http://github.com/mikebarkmin)"; -const url = "http://github.com/dracula" +const author = "zenorocha"; +const url = "https://github.com/dracula/dracula-theme"; +const license = { + type: "MIT", + url: "https://github.com/dracula/dracula-theme/blob/master/LICENSE", +}; -// `name-[light|dark]`, isLight, color ramps export const dark = createColorScheme(`${name}`, false, { - neutral: chroma - .scale([ - "#282936", - "#3a3c4e", - "#4d4f68", - "#626483", - "#62d6e8", - "#e9e9f4", - "#f1f2f8", - "#f7f7fb", - ]), - red: colorRamp(chroma("#ea51b2")), - orange: colorRamp(chroma("#b45bcf")), - yellow: colorRamp(chroma("#ebff87")), - green: colorRamp(chroma("#00f769")), - cyan: colorRamp(chroma("#a1efe4")), - blue: colorRamp(chroma("#62d6e8")), - violet: colorRamp(chroma("#b45bcf")), + neutral: chroma.scale([ + "#282A36", + "#3a3c4e", + "#4d4f68", + "#626483", + "#62d6e8", + "#e9e9f4", + "#f1f2f8", + "#f8f8f2", + ]), + red: colorRamp(chroma("#ff5555")), + orange: colorRamp(chroma("#ffb86c")), + yellow: colorRamp(chroma("#f1fa8c")), + green: colorRamp(chroma("#50fa7b")), + cyan: colorRamp(chroma("#8be9fd")), + blue: colorRamp(chroma("#6272a4")), + violet: colorRamp(chroma("#bd93f9")), magenta: colorRamp(chroma("#00f769")), -}); \ No newline at end of file +}); diff --git a/styles/src/themes/internal/embers.ts b/styles/src/themes/internal/embers.ts deleted file mode 100644 index 8e11f4e7f0..0000000000 --- a/styles/src/themes/internal/embers.ts +++ /dev/null @@ -1,30 +0,0 @@ -import chroma from "chroma-js"; -import { colorRamp, createColorScheme } from "../common/ramps"; - -// Ashes scheme for the Base16 Builder (https://github.com/chriskempson/base16-builder) -const name = "Embers"; -const author = "Jannik Siebert (https://github.com/janniks)"; -const url = "" - -// `name-[light|dark]`, isLight, color ramps -export const dark = createColorScheme(`${name}`, false, { - neutral: chroma - .scale([ - "#16130F", - "#2C2620", - "#433B32", - "#5A5047", - "#8A8075", - "#A39A90", - "#BEB6AE", - "#DBD6D1", - ]), - red: colorRamp(chroma("#826D57")), - orange: colorRamp(chroma("#828257")), - yellow: colorRamp(chroma("#6D8257")), - green: colorRamp(chroma("#57826D")), - cyan: colorRamp(chroma("#576D82")), - blue: colorRamp(chroma("#6D5782")), - violet: colorRamp(chroma("#82576D")), - magenta: colorRamp(chroma("#825757")), -}); \ No newline at end of file diff --git a/styles/src/themes/internal/gruvbox.ts b/styles/src/themes/internal/gruvbox-medium.ts similarity index 59% rename from styles/src/themes/internal/gruvbox.ts rename to styles/src/themes/internal/gruvbox-medium.ts index 42caf53623..888c15e46c 100644 --- a/styles/src/themes/internal/gruvbox.ts +++ b/styles/src/themes/internal/gruvbox-medium.ts @@ -3,21 +3,24 @@ import { colorRamp, createColorScheme } from "../common/ramps"; const name = "Gruvbox"; const author = "Dawid Kurek (dawikur@gmail.com)"; -const url = "https://github.com/morhetz/gruvbox" +const url = "https://github.com/morhetz/gruvbox"; +const license = { + type: "MIT/X11", + url: "https://en.wikipedia.org/wiki/MIT_License", +}; // `name-[light|dark]`, isLight, color ramps -export const dark = createColorScheme(`${name}-dark-medium`, false, { - neutral: chroma - .scale([ - "#282828", - "#3c3836", - "#504945", - "#665c54", - "#bdae93", - "#d5c4a1", - "#ebdbb2", - "#fbf1c7", - ]), +export const dark = createColorScheme(`${name} Dark Medium`, false, { + neutral: chroma.scale([ + "#282828", + "#3c3836", + "#504945", + "#665c54", + "#bdae93", + "#d5c4a1", + "#ebdbb2", + "#fbf1c7", + ]), red: colorRamp(chroma("#fb4934")), orange: colorRamp(chroma("#fe8019")), yellow: colorRamp(chroma("#fabd2f")), @@ -28,18 +31,17 @@ export const dark = createColorScheme(`${name}-dark-medium`, false, { magenta: colorRamp(chroma("#d65d0e")), }); -export const light = createColorScheme(`${name}-light-medium`, true, { - neutral: chroma - .scale([ - "#282828", - "#3c3836", - "#504945", - "#665c54", - "#bdae93", - "#d5c4a1", - "#ebdbb2", - "#fbf1c7", - ]), +export const light = createColorScheme(`${name} Light Medium`, true, { + neutral: chroma.scale([ + "#282828", + "#3c3836", + "#504945", + "#665c54", + "#bdae93", + "#d5c4a1", + "#ebdbb2", + "#fbf1c7", + ]), red: colorRamp(chroma("#9d0006")), orange: colorRamp(chroma("#af3a03")), yellow: colorRamp(chroma("#b57614")), @@ -48,4 +50,4 @@ export const light = createColorScheme(`${name}-light-medium`, true, { blue: colorRamp(chroma("#076678")), violet: colorRamp(chroma("#8f3f71")), magenta: colorRamp(chroma("#d65d0e")), -}); \ No newline at end of file +}); diff --git a/styles/src/themes/internal/heath.ts b/styles/src/themes/internal/heath.ts index 14b0e9683f..b1bbf7544e 100644 --- a/styles/src/themes/internal/heath.ts +++ b/styles/src/themes/internal/heath.ts @@ -3,21 +3,20 @@ import { colorRamp, createColorScheme } from "../common/ramps"; const name = "Atelier Heath"; const author = "Bram de Haan (http://atelierbramdehaan.nl)"; -const url = "" +const url = ""; // `name-[light|dark]`, isLight, color ramps -export const dark = createColorScheme(`${name}`, false, { - neutral: chroma - .scale([ - "#1b181b", - "#292329", - "#695d69", - "#776977", - "#9e8f9e", - "#ab9bab", - "#d8cad8", - "#f7f3f7", - ]), +export const dark = createColorScheme(`${name} Dark`, false, { + neutral: chroma.scale([ + "#1b181b", + "#292329", + "#695d69", + "#776977", + "#9e8f9e", + "#ab9bab", + "#d8cad8", + "#f7f3f7", + ]), red: colorRamp(chroma("#ca402b")), orange: colorRamp(chroma("#a65926")), yellow: colorRamp(chroma("#bb8a35")), @@ -26,4 +25,25 @@ export const dark = createColorScheme(`${name}`, false, { blue: colorRamp(chroma("#516aec")), violet: colorRamp(chroma("#7b59c0")), magenta: colorRamp(chroma("#cc33cc")), -}); \ No newline at end of file +}); + +export const light = createColorScheme(`${name} Light`, true, { + neutral: chroma.scale([ + "#161b1d", + "#1f292e", + "#516d7b", + "#5a7b8c", + "#7195a8", + "#7ea2b4", + "#c1e4f6", + "#ebf8ff", + ]), + red: colorRamp(chroma("#d22d72")), + orange: colorRamp(chroma("#935c25")), + yellow: colorRamp(chroma("#8a8a0f")), + green: colorRamp(chroma("#568c3b")), + cyan: colorRamp(chroma("#2d8f6f")), + blue: colorRamp(chroma("#257fad")), + violet: colorRamp(chroma("#6b6bb8")), + magenta: colorRamp(chroma("#b72dd2")), +}); diff --git a/styles/src/themes/internal/monokai.ts b/styles/src/themes/internal/monokai.ts index 0f5f0b8863..8e6df116d5 100644 --- a/styles/src/themes/internal/monokai.ts +++ b/styles/src/themes/internal/monokai.ts @@ -3,21 +3,20 @@ import { colorRamp, createColorScheme } from "../common/ramps"; const name = "Monokai"; const author = "Wimer Hazenberg (http://www.monokai.nl)"; -const url = "" +const url = ""; // `name-[light|dark]`, isLight, color ramps export const dark = createColorScheme(`${name}`, false, { - neutral: chroma - .scale([ - "#272822", - "#383830", - "#49483e", - "#75715e", - "#a59f85", - "#f8f8f2", - "#f5f4f1", - "#f9f8f5", - ]), + neutral: chroma.scale([ + "#272822", + "#383830", + "#49483e", + "#75715e", + "#a59f85", + "#f8f8f2", + "#f5f4f1", + "#f9f8f5", + ]), red: colorRamp(chroma("#f92672")), orange: colorRamp(chroma("#fd971f")), yellow: colorRamp(chroma("#f4bf75")), diff --git a/styles/src/themes/internal/nord.ts b/styles/src/themes/internal/nord.ts index 51adb5def7..00902e60fa 100644 --- a/styles/src/themes/internal/nord.ts +++ b/styles/src/themes/internal/nord.ts @@ -3,21 +3,20 @@ import { colorRamp, createColorScheme } from "../common/ramps"; const name = "Nord"; const author = "arcticicestudio"; -const url = "" +const url = ""; // `name-[light|dark]`, isLight, color ramps export const dark = createColorScheme(`${name}`, false, { - neutral: chroma - .scale([ - "#2E3440", - "#3B4252", - "#434C5E", - "#4C566A", - "#D8DEE9", - "#E5E9F0", - "#ECEFF4", - "#8FBCBB", - ]), + neutral: chroma.scale([ + "#2E3440", + "#3B4252", + "#434C5E", + "#4C566A", + "#D8DEE9", + "#E5E9F0", + "#ECEFF4", + "#8FBCBB", + ]), red: colorRamp(chroma("#88C0D0")), orange: colorRamp(chroma("#81A1C1")), yellow: colorRamp(chroma("#5E81AC")), @@ -26,4 +25,4 @@ export const dark = createColorScheme(`${name}`, false, { blue: colorRamp(chroma("#EBCB8B")), violet: colorRamp(chroma("#A3BE8C")), magenta: colorRamp(chroma("#B48EAD")), -}); \ No newline at end of file +}); diff --git a/styles/src/themes/internal/seaside.ts b/styles/src/themes/internal/seaside.ts new file mode 100644 index 0000000000..b114c8cd6f --- /dev/null +++ b/styles/src/themes/internal/seaside.ts @@ -0,0 +1,30 @@ +import chroma from "chroma-js"; +import { colorRamp, createColorScheme } from "../common/ramps"; + +const name = "Atelier Seaside"; +const author = "Bram de Haan (http://atelierbramdehaan.nl)"; +const url = ""; + +const ramps = { + neutral: chroma.scale([ + "#131513", + "#242924", + "#5e6e5e", + "#687d68", + "#809980", + "#8ca68c", + "#cfe8cf", + "#f4fbf4", + ]), + red: colorRamp(chroma("#e6193c")), + orange: colorRamp(chroma("#87711d")), + yellow: colorRamp(chroma("#98981b")), + green: colorRamp(chroma("#29a329")), + cyan: colorRamp(chroma("#1999b3")), + blue: colorRamp(chroma("#3d62f5")), + violet: colorRamp(chroma("#ad2bee")), + magenta: colorRamp(chroma("#e619c3")), +}; + +export const dark = createColorScheme(`${name} Dark`, false, ramps); +export const light = createColorScheme(`${name} Light`, true, ramps); diff --git a/styles/src/themes/internal/seti-ui.ts b/styles/src/themes/internal/seti-ui.ts new file mode 100644 index 0000000000..29b25500cd --- /dev/null +++ b/styles/src/themes/internal/seti-ui.ts @@ -0,0 +1,28 @@ +import chroma from "chroma-js"; +import { colorRamp, createColorScheme } from "../common/ramps"; + +const name = "Seti UI"; +const author = "jesseweed"; +const url = ""; + +// `name-[light|dark]`, isLight, color ramps +export const dark = createColorScheme(`${name}`, false, { + neutral: chroma.scale([ + "#151718", + "#262B30", + "#1E2326", + "#41535B", + "#43a5d5", + "#d6d6d6", + "#eeeeee", + "#ffffff", + ]), + red: colorRamp(chroma("#Cd3f45")), + orange: colorRamp(chroma("#db7b55")), + yellow: colorRamp(chroma("#e6cd69")), + green: colorRamp(chroma("#9fca56")), + cyan: colorRamp(chroma("#55dbbe")), + blue: colorRamp(chroma("#55b5db")), + violet: colorRamp(chroma("#a074c4")), + magenta: colorRamp(chroma("#8a553f")), +}); diff --git a/styles/src/themes/internal/tokyo-night-storm.ts b/styles/src/themes/internal/tokyo-night-storm.ts new file mode 100644 index 0000000000..2aa08f8cec --- /dev/null +++ b/styles/src/themes/internal/tokyo-night-storm.ts @@ -0,0 +1,28 @@ +import chroma from "chroma-js"; +import { colorRamp, createColorScheme } from "../common/ramps"; + +const name = "Tokyo Night Storm"; +const author = "ghifarit53"; +const url = "https://github.com/ghifarit53/tokyonight-vim"; + +// `name-[light|dark]`, isLight, color ramps +export const dark = createColorScheme(`${name}`, false, { + neutral: chroma.scale([ + "#24283B", + "#16161E", + "#343A52", + "#444B6A", + "#787C99", + "#A9B1D6", + "#CBCCD1", + "#D5D6DB", + ]), + red: colorRamp(chroma("#C0CAF5")), + orange: colorRamp(chroma("#A9B1D6")), + yellow: colorRamp(chroma("#0DB9D7")), + green: colorRamp(chroma("#9ECE6A")), + cyan: colorRamp(chroma("#B4F9F8")), + blue: colorRamp(chroma("#2AC3DE")), + violet: colorRamp(chroma("#BB9AF7")), + magenta: colorRamp(chroma("#F7768E")), +}); diff --git a/styles/src/themes/internal/tokyo-night.ts b/styles/src/themes/internal/tokyo-night.ts new file mode 100644 index 0000000000..23805daf46 --- /dev/null +++ b/styles/src/themes/internal/tokyo-night.ts @@ -0,0 +1,49 @@ +import chroma from "chroma-js"; +import { colorRamp, createColorScheme } from "../common/ramps"; + +const name = "Tokyo"; +const author = "Michaël Ball"; +const url = "https://github.com/folke/tokyonight.nvim"; + +// `name-[light|dark]`, isLight, color ramps +export const dark = createColorScheme(`${name} Night`, false, { + neutral: chroma.scale([ + "#1A1B26", + "#16161E", + "#2F3549", + "#444B6A", + "#787C99", + "#A9B1D6", + "#CBCCD1", + "#D5D6DB", + ]), + red: colorRamp(chroma("#C0CAF5")), + orange: colorRamp(chroma("#A9B1D6")), + yellow: colorRamp(chroma("#0DB9D7")), + green: colorRamp(chroma("#9ECE6A")), + cyan: colorRamp(chroma("#B4F9F8")), + blue: colorRamp(chroma("#2AC3DE")), + violet: colorRamp(chroma("#BB9AF7")), + magenta: colorRamp(chroma("#F7768E")), +}); + +export const light = createColorScheme(`${name} Day`, true, { + neutral: chroma.scale([ + "#1A1B26", + "#1A1B26", + "#343B59", + "#4C505E", + "#9699A3", + "#DFE0E5", + "#CBCCD1", + "#D5D6DB", + ]), + red: colorRamp(chroma("#343B58")), + orange: colorRamp(chroma("#965027")), + yellow: colorRamp(chroma("#166775")), + green: colorRamp(chroma("#485E30")), + cyan: colorRamp(chroma("#3E6968")), + blue: colorRamp(chroma("#34548A")), + violet: colorRamp(chroma("#5A4A78")), + magenta: colorRamp(chroma("#8C4351")), +}); diff --git a/styles/src/themes/internal/twilight.ts b/styles/src/themes/internal/twilight.ts new file mode 100644 index 0000000000..98e83588ac --- /dev/null +++ b/styles/src/themes/internal/twilight.ts @@ -0,0 +1,28 @@ +import chroma from "chroma-js"; +import { colorRamp, createColorScheme } from "../common/ramps"; + +const name = "Twilight"; +const author = "David Hart (https://github.com/hartbit)"; +const url = ""; + +// `name-[light|dark]`, isLight, color ramps +export const dark = createColorScheme(`${name}`, false, { + neutral: chroma.scale([ + "#1e1e1e", + "#323537", + "#464b50", + "#5f5a60", + "#838184", + "#a7a7a7", + "#c3c3c3", + "#ffffff", + ]), + red: colorRamp(chroma("#cf6a4c")), + orange: colorRamp(chroma("#cda869")), + yellow: colorRamp(chroma("#f9ee98")), + green: colorRamp(chroma("#8f9d6a")), + cyan: colorRamp(chroma("#afc4db")), + blue: colorRamp(chroma("#7587a6")), + violet: colorRamp(chroma("#9b859d")), + magenta: colorRamp(chroma("#9b703f")), +}); diff --git a/styles/src/themes/internal/zed-pro.ts b/styles/src/themes/internal/zed-pro.ts index 466db7a03d..aa91f76c22 100644 --- a/styles/src/themes/internal/zed-pro.ts +++ b/styles/src/themes/internal/zed-pro.ts @@ -1,7 +1,9 @@ import chroma from "chroma-js"; import { colorRamp, createColorScheme } from "../common/ramps"; -const name = "zed-pro"; +const name = "Zed Pro"; +const author = "Nate Butler" +const url = "https://github.com/iamnbutler" const ramps = { neutral: chroma @@ -26,5 +28,5 @@ const ramps = { magenta: colorRamp(chroma("#DE9AB8")), }; -export const dark = createColorScheme(`${name}-dark`, false, ramps); -export const light = createColorScheme(`${name}-light`, true, ramps); +export const dark = createColorScheme(`${name} Dark`, false, ramps); +export const light = createColorScheme(`${name} Light`, true, ramps); diff --git a/styles/src/themes/internal/zenburn.ts b/styles/src/themes/internal/zenburn.ts new file mode 100644 index 0000000000..76692be270 --- /dev/null +++ b/styles/src/themes/internal/zenburn.ts @@ -0,0 +1,28 @@ +import chroma from "chroma-js"; +import { colorRamp, createColorScheme } from "../common/ramps"; + +const name = "Zenburn"; +const author = "elnawe"; +const url = ""; + +// `name-[light|dark]`, isLight, color ramps +export const dark = createColorScheme(`${name}`, false, { + neutral: chroma.scale([ + "#383838", + "#404040", + "#606060", + "#6f6f6f", + "#808080", + "#dcdccc", + "#c0c0c0", + "#ffffff", + ]), + red: colorRamp(chroma("#dca3a3")), + orange: colorRamp(chroma("#dfaf8f")), + yellow: colorRamp(chroma("#e0cf9f")), + green: colorRamp(chroma("#5f7f5f")), + cyan: colorRamp(chroma("#93e0e3")), + blue: colorRamp(chroma("#7cb8bb")), + violet: colorRamp(chroma("#dc8cc3")), + magenta: colorRamp(chroma("#000000")), +}); From a86756ed2079cfb6f8615aedf4810ddc7e4b227f Mon Sep 17 00:00:00 2001 From: Nate Butler Date: Thu, 20 Oct 2022 16:25:54 -0400 Subject: [PATCH 08/15] Update gruvbox to use manual accent ramps Also updated it's neutral to contain more values sourced from the gruvbox repo Co-Authored-By: gibusu <95764254+gibusu@users.noreply.github.com> --- styles/src/themes/internal/gruvbox-medium.ts | 119 ++++++++++++++++--- 1 file changed, 102 insertions(+), 17 deletions(-) diff --git a/styles/src/themes/internal/gruvbox-medium.ts b/styles/src/themes/internal/gruvbox-medium.ts index 888c15e46c..26707f627f 100644 --- a/styles/src/themes/internal/gruvbox-medium.ts +++ b/styles/src/themes/internal/gruvbox-medium.ts @@ -9,26 +9,108 @@ const license = { url: "https://en.wikipedia.org/wiki/MIT_License", }; -// `name-[light|dark]`, isLight, color ramps export const dark = createColorScheme(`${name} Dark Medium`, false, { neutral: chroma.scale([ "#282828", "#3c3836", "#504945", "#665c54", - "#bdae93", - "#d5c4a1", - "#ebdbb2", - "#fbf1c7", + "#7C6F64", + "#928374", + "#A89984", + "#BDAE93", + "#D5C4A1", + "#EBDBB2", + "#FBF1C7", + ]), + red: chroma.scale([ + "#4D150F", + "#7D241A", + "#A31C17", + "#CC241D", + "#C83A29", + "#FB4934", + "#F06D61", + "#E6928E", + "#FFFFFF", + ]), + orange: chroma.scale([ + "#462307", + "#7F400C", + "#AB4A0B", + "#D65D0E", + "#CB6614", + "#FE8019", + "#F49750", + "#EBAE87", + "#FFFFFF", + ]), + yellow: chroma.scale([ + "#3D2C05", + "#7D5E17", + "#AC7A1A", + "#D79921", + "#E8AB28", + "#FABD2F", + "#F2C45F", + "#EBCC90", + "#FFFFFF", + ]), + green: chroma.scale([ + "#32330A", + "#5C5D13", + "#797814", + "#98971A", + "#93951E", + "#B8BB26", + "#C2C359", + "#CCCB8D", + "#FFFFFF", + ]), + cyan: chroma.scale([ + "#283D20", + "#47603E", + "#537D54", + "#689D6A", + "#719963", + "#8EC07C", + "#A1C798", + "#B4CEB5", + "#FFFFFF", + ]), + blue: chroma.scale([ + "#103738", + "#214C4D", + "#376A6C", + "#458588", + "#688479", + "#83A598", + "#92B3AE", + "#A2C2C4", + "#FFFFFF", + ]), + violet: chroma.scale([ + "#392228", + "#69434D", + "#8D4E6B", + "#B16286", + "#A86B7C", + "#D3869B", + "#D59BAF", + "#D8B1C3", + "#FFFFFF", + ]), + magenta: chroma.scale([ + "#48402C", + "#756D59", + "#867A69", + "#A89984", + "#BCAF8E", + "#EBDBB2", + "#DFD3BA", + "#D4CCC2", + "#FFFFFF", ]), - red: colorRamp(chroma("#fb4934")), - orange: colorRamp(chroma("#fe8019")), - yellow: colorRamp(chroma("#fabd2f")), - green: colorRamp(chroma("#b8bb26")), - cyan: colorRamp(chroma("#8ec07c")), - blue: colorRamp(chroma("#83a598")), - violet: colorRamp(chroma("#d3869b")), - magenta: colorRamp(chroma("#d65d0e")), }); export const light = createColorScheme(`${name} Light Medium`, true, { @@ -37,10 +119,13 @@ export const light = createColorScheme(`${name} Light Medium`, true, { "#3c3836", "#504945", "#665c54", - "#bdae93", - "#d5c4a1", - "#ebdbb2", - "#fbf1c7", + "#7C6F64", + "#928374", + "#A89984", + "#BDAE93", + "#D5C4A1", + "#EBDBB2", + "#FBF1C7", ]), red: colorRamp(chroma("#9d0006")), orange: colorRamp(chroma("#af3a03")), From c3900565b9d46884c89b5a290661b7a55bdc212c Mon Sep 17 00:00:00 2001 From: Nate Butler Date: Thu, 20 Oct 2022 16:28:08 -0400 Subject: [PATCH 09/15] Fix a few incorrectly named themes Co-Authored-By: gibusu <95764254+gibusu@users.noreply.github.com> --- styles/src/themes/cave.ts | 4 ++-- styles/src/themes/solarized.ts | 4 ++-- styles/src/themes/sulphurpool.ts | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/styles/src/themes/cave.ts b/styles/src/themes/cave.ts index a6099c3a0b..b26dfaf7bc 100644 --- a/styles/src/themes/cave.ts +++ b/styles/src/themes/cave.ts @@ -9,7 +9,7 @@ const license = { url: "" } -export const dark = createColorScheme(`${name}-dark`, false, { +export const dark = createColorScheme(`${name} Dark`, false, { neutral: chroma .scale([ "#19171c", @@ -32,7 +32,7 @@ export const dark = createColorScheme(`${name}-dark`, false, { magenta: colorRamp(chroma("#bf40bf")), }); -export const light = createColorScheme(`${name}-light`, true, { +export const light = createColorScheme(`${name} Light`, true, { neutral: chroma .scale([ "#19171c", diff --git a/styles/src/themes/solarized.ts b/styles/src/themes/solarized.ts index b9d1690eb5..18c10c35c3 100644 --- a/styles/src/themes/solarized.ts +++ b/styles/src/themes/solarized.ts @@ -28,5 +28,5 @@ const ramps = { magenta: colorRamp(chroma("#d33682")), }; -export const dark = createColorScheme(`${name}-dark`, false, ramps); -export const light = createColorScheme(`${name}-light`, true, ramps); +export const dark = createColorScheme(`${name} Dark`, false, ramps); +export const light = createColorScheme(`${name} Light`, true, ramps); diff --git a/styles/src/themes/sulphurpool.ts b/styles/src/themes/sulphurpool.ts index 1f4c896868..409f581fde 100644 --- a/styles/src/themes/sulphurpool.ts +++ b/styles/src/themes/sulphurpool.ts @@ -28,5 +28,5 @@ const ramps = { magenta: colorRamp(chroma("#9c637a")), }; -export const dark = createColorScheme(`${name}-dark`, false, ramps); -export const light = createColorScheme(`${name}-light`, true, ramps); +export const dark = createColorScheme(`${name} Dark`, false, ramps); +export const light = createColorScheme(`${name} Light`, true, ramps); From b700ea84a54667c490e91678af5dc95888f45d9f Mon Sep 17 00:00:00 2001 From: Nate Butler Date: Thu, 20 Oct 2022 17:08:09 -0400 Subject: [PATCH 10/15] Add metadata to all themes and organize Co-Authored-By: gibusu <95764254+gibusu@users.noreply.github.com> --- styles/src/themes/andromeda.ts | 8 +-- .../src/themes/{cave.ts => atelier-cave.ts} | 12 ++-- ...{sulphurpool.ts => atelier-sulphurpool.ts} | 10 +++- styles/src/themes/internal/atelier-dune.ts | 34 +++++++++++ .../internal/{heath.ts => atelier-heath.ts} | 8 ++- .../{seaside.ts => atelier-seaside.ts} | 8 ++- styles/src/themes/internal/monokai.ts | 6 +- styles/src/themes/internal/nord.ts | 6 +- styles/src/themes/internal/seti-ui.ts | 6 +- .../src/themes/internal/tokyo-night-storm.ts | 4 ++ styles/src/themes/internal/tokyo-night.ts | 4 ++ styles/src/themes/internal/twilight.ts | 28 --------- styles/src/themes/internal/zed-pro.ts | 4 ++ styles/src/themes/internal/zenburn.ts | 6 +- styles/src/themes/one-dark.ts | 34 +++++++++++ styles/src/themes/one-light.ts | 33 +++++++++++ styles/src/themes/one.ts | 58 ------------------- styles/src/themes/rose-pine-dawn.ts | 8 ++- styles/src/themes/rose-pine-moon.ts | 8 ++- styles/src/themes/rose-pine.ts | 8 ++- styles/src/themes/sandcastle.ts | 8 ++- styles/src/themes/solarized.ts | 8 ++- styles/src/themes/summercamp.ts | 8 ++- 23 files changed, 198 insertions(+), 119 deletions(-) rename styles/src/themes/{cave.ts => atelier-cave.ts} (84%) rename styles/src/themes/{sulphurpool.ts => atelier-sulphurpool.ts} (74%) create mode 100644 styles/src/themes/internal/atelier-dune.ts rename styles/src/themes/internal/{heath.ts => atelier-heath.ts} (84%) rename styles/src/themes/internal/{seaside.ts => atelier-seaside.ts} (76%) delete mode 100644 styles/src/themes/internal/twilight.ts create mode 100644 styles/src/themes/one-dark.ts create mode 100644 styles/src/themes/one-light.ts delete mode 100644 styles/src/themes/one.ts diff --git a/styles/src/themes/andromeda.ts b/styles/src/themes/andromeda.ts index dc4a5a00d4..520ceb67fe 100644 --- a/styles/src/themes/andromeda.ts +++ b/styles/src/themes/andromeda.ts @@ -2,11 +2,11 @@ import chroma from "chroma-js"; import { colorRamp, createColorScheme } from "./common/ramps"; const name = "Andromeda"; -const author = ""; -const url = ""; +const author = "EliverLara"; +const url = "https://github.com/EliverLara/Andromeda"; const license = { - type: "", - url: "", + type: "MIT", + url: "https://github.com/EliverLara/Andromeda/blob/master/LICENSE.md", }; const ramps = { diff --git a/styles/src/themes/cave.ts b/styles/src/themes/atelier-cave.ts similarity index 84% rename from styles/src/themes/cave.ts rename to styles/src/themes/atelier-cave.ts index b26dfaf7bc..98cf834704 100644 --- a/styles/src/themes/cave.ts +++ b/styles/src/themes/atelier-cave.ts @@ -1,13 +1,13 @@ import chroma from "chroma-js"; import { colorRamp, createColorScheme } from "./common/ramps"; -const name = "Cave"; -const author = ""; -const url = ""; +const name = "Atelier Cave"; +const author = "atelierbram"; +const url = "https://atelierbram.github.io/syntax-highlighting/atelier-schemes/cave/"; const license = { - type: "", - url: "" -} + type: "MIT", + url: "https://github.com/atelierbram/syntax-highlighting/blob/master/LICENSE", +}; export const dark = createColorScheme(`${name} Dark`, false, { neutral: chroma diff --git a/styles/src/themes/sulphurpool.ts b/styles/src/themes/atelier-sulphurpool.ts similarity index 74% rename from styles/src/themes/sulphurpool.ts rename to styles/src/themes/atelier-sulphurpool.ts index 409f581fde..d8293db3a7 100644 --- a/styles/src/themes/sulphurpool.ts +++ b/styles/src/themes/atelier-sulphurpool.ts @@ -1,9 +1,13 @@ import chroma from "chroma-js"; import { colorRamp, createColorScheme } from "./common/ramps"; -const name = "Sulphurpool"; -const author = ""; -const url = ""; +const name = "Atelier Sulphurpool"; +const author = "atelierbram"; +const url = "https://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune/"; +const license = { + type: "MIT", + url: "https://github.com/atelierbram/syntax-highlighting/blob/master/LICENSE", +}; const ramps = { neutral: chroma diff --git a/styles/src/themes/internal/atelier-dune.ts b/styles/src/themes/internal/atelier-dune.ts new file mode 100644 index 0000000000..9879fe4b58 --- /dev/null +++ b/styles/src/themes/internal/atelier-dune.ts @@ -0,0 +1,34 @@ +import chroma from "chroma-js"; +import { colorRamp, createColorScheme } from "../common/ramps"; + +const name = "Atelier Dune"; +const author = "atelierbram"; +const url = "https://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune/"; +const license = { + type: "MIT", + url: "https://github.com/atelierbram/syntax-highlighting/blob/master/LICENSE", +}; + +const ramps = { + neutral: chroma.scale([ + "#20201d", + "#292824", + "#6e6b5e", + "#7d7a68", + "#999580", + "#a6a28c", + "#e8e4cf", + "#fefbec", + ]), + red: colorRamp(chroma("#d73737")), + orange: colorRamp(chroma("#b65611")), + yellow: colorRamp(chroma("#ae9513")), + green: colorRamp(chroma("#60ac39")), + cyan: colorRamp(chroma("#1fad83")), + blue: colorRamp(chroma("#6684e1")), + violet: colorRamp(chroma("#b854d4")), + magenta: colorRamp(chroma("#d43552")), +}; + +export const dark = createColorScheme(`${name} Dark`, false, ramps); +export const light = createColorScheme(`${name} Light`, true, ramps); diff --git a/styles/src/themes/internal/heath.ts b/styles/src/themes/internal/atelier-heath.ts similarity index 84% rename from styles/src/themes/internal/heath.ts rename to styles/src/themes/internal/atelier-heath.ts index b1bbf7544e..e73e919dad 100644 --- a/styles/src/themes/internal/heath.ts +++ b/styles/src/themes/internal/atelier-heath.ts @@ -2,8 +2,12 @@ import chroma from "chroma-js"; import { colorRamp, createColorScheme } from "../common/ramps"; const name = "Atelier Heath"; -const author = "Bram de Haan (http://atelierbramdehaan.nl)"; -const url = ""; +const author = "atelierbram"; +const url = "https://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath/"; +const license = { + type: "MIT", + url: "https://github.com/atelierbram/syntax-highlighting/blob/master/LICENSE", +}; // `name-[light|dark]`, isLight, color ramps export const dark = createColorScheme(`${name} Dark`, false, { diff --git a/styles/src/themes/internal/seaside.ts b/styles/src/themes/internal/atelier-seaside.ts similarity index 76% rename from styles/src/themes/internal/seaside.ts rename to styles/src/themes/internal/atelier-seaside.ts index b114c8cd6f..74c8112f77 100644 --- a/styles/src/themes/internal/seaside.ts +++ b/styles/src/themes/internal/atelier-seaside.ts @@ -2,8 +2,12 @@ import chroma from "chroma-js"; import { colorRamp, createColorScheme } from "../common/ramps"; const name = "Atelier Seaside"; -const author = "Bram de Haan (http://atelierbramdehaan.nl)"; -const url = ""; +const author = "atelierbram"; +const url = "https://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside/"; +const license = { + type: "MIT", + url: "https://github.com/atelierbram/syntax-highlighting/blob/master/LICENSE", +}; const ramps = { neutral: chroma.scale([ diff --git a/styles/src/themes/internal/monokai.ts b/styles/src/themes/internal/monokai.ts index 8e6df116d5..0a7ee275bb 100644 --- a/styles/src/themes/internal/monokai.ts +++ b/styles/src/themes/internal/monokai.ts @@ -3,7 +3,11 @@ import { colorRamp, createColorScheme } from "../common/ramps"; const name = "Monokai"; const author = "Wimer Hazenberg (http://www.monokai.nl)"; -const url = ""; +const url = "https://base16.netlify.app/previews/base16-monokai.html"; +const license = { + type: "?", + url: "?", +}; // `name-[light|dark]`, isLight, color ramps export const dark = createColorScheme(`${name}`, false, { diff --git a/styles/src/themes/internal/nord.ts b/styles/src/themes/internal/nord.ts index 00902e60fa..5e303fcd47 100644 --- a/styles/src/themes/internal/nord.ts +++ b/styles/src/themes/internal/nord.ts @@ -3,7 +3,11 @@ import { colorRamp, createColorScheme } from "../common/ramps"; const name = "Nord"; const author = "arcticicestudio"; -const url = ""; +const url = "https://www.nordtheme.com/"; +const license = { + type: "MIT", + url: "https://github.com/arcticicestudio/nord/blob/develop/LICENSE.md", +}; // `name-[light|dark]`, isLight, color ramps export const dark = createColorScheme(`${name}`, false, { diff --git a/styles/src/themes/internal/seti-ui.ts b/styles/src/themes/internal/seti-ui.ts index 29b25500cd..d1c809f6d9 100644 --- a/styles/src/themes/internal/seti-ui.ts +++ b/styles/src/themes/internal/seti-ui.ts @@ -3,7 +3,11 @@ import { colorRamp, createColorScheme } from "../common/ramps"; const name = "Seti UI"; const author = "jesseweed"; -const url = ""; +const url = "https://github.com/jesseweed/seti-ui"; +const license = { + type: "MIT", + url: "https://github.com/jesseweed/seti-ui/blob/master/LICENSE.md", +}; // `name-[light|dark]`, isLight, color ramps export const dark = createColorScheme(`${name}`, false, { diff --git a/styles/src/themes/internal/tokyo-night-storm.ts b/styles/src/themes/internal/tokyo-night-storm.ts index 2aa08f8cec..009c0f2969 100644 --- a/styles/src/themes/internal/tokyo-night-storm.ts +++ b/styles/src/themes/internal/tokyo-night-storm.ts @@ -4,6 +4,10 @@ import { colorRamp, createColorScheme } from "../common/ramps"; const name = "Tokyo Night Storm"; const author = "ghifarit53"; const url = "https://github.com/ghifarit53/tokyonight-vim"; +const license = { + type: "MIT", + url: "https://github.com/ghifarit53/tokyonight-vim/blob/master/LICENSE", +}; // `name-[light|dark]`, isLight, color ramps export const dark = createColorScheme(`${name}`, false, { diff --git a/styles/src/themes/internal/tokyo-night.ts b/styles/src/themes/internal/tokyo-night.ts index 23805daf46..fb3f3e1b33 100644 --- a/styles/src/themes/internal/tokyo-night.ts +++ b/styles/src/themes/internal/tokyo-night.ts @@ -4,6 +4,10 @@ import { colorRamp, createColorScheme } from "../common/ramps"; const name = "Tokyo"; const author = "Michaël Ball"; const url = "https://github.com/folke/tokyonight.nvim"; +const license = { + type: "Apache License 2.0", + url: "https://github.com/folke/tokyonight.nvim/blob/main/LICENSE", +}; // `name-[light|dark]`, isLight, color ramps export const dark = createColorScheme(`${name} Night`, false, { diff --git a/styles/src/themes/internal/twilight.ts b/styles/src/themes/internal/twilight.ts deleted file mode 100644 index 98e83588ac..0000000000 --- a/styles/src/themes/internal/twilight.ts +++ /dev/null @@ -1,28 +0,0 @@ -import chroma from "chroma-js"; -import { colorRamp, createColorScheme } from "../common/ramps"; - -const name = "Twilight"; -const author = "David Hart (https://github.com/hartbit)"; -const url = ""; - -// `name-[light|dark]`, isLight, color ramps -export const dark = createColorScheme(`${name}`, false, { - neutral: chroma.scale([ - "#1e1e1e", - "#323537", - "#464b50", - "#5f5a60", - "#838184", - "#a7a7a7", - "#c3c3c3", - "#ffffff", - ]), - red: colorRamp(chroma("#cf6a4c")), - orange: colorRamp(chroma("#cda869")), - yellow: colorRamp(chroma("#f9ee98")), - green: colorRamp(chroma("#8f9d6a")), - cyan: colorRamp(chroma("#afc4db")), - blue: colorRamp(chroma("#7587a6")), - violet: colorRamp(chroma("#9b859d")), - magenta: colorRamp(chroma("#9b703f")), -}); diff --git a/styles/src/themes/internal/zed-pro.ts b/styles/src/themes/internal/zed-pro.ts index aa91f76c22..38f3268930 100644 --- a/styles/src/themes/internal/zed-pro.ts +++ b/styles/src/themes/internal/zed-pro.ts @@ -4,6 +4,10 @@ import { colorRamp, createColorScheme } from "../common/ramps"; const name = "Zed Pro"; const author = "Nate Butler" const url = "https://github.com/iamnbutler" +const license = { + type: "?", + url: "?", +}; const ramps = { neutral: chroma diff --git a/styles/src/themes/internal/zenburn.ts b/styles/src/themes/internal/zenburn.ts index 76692be270..7ad3e31ee1 100644 --- a/styles/src/themes/internal/zenburn.ts +++ b/styles/src/themes/internal/zenburn.ts @@ -3,7 +3,11 @@ import { colorRamp, createColorScheme } from "../common/ramps"; const name = "Zenburn"; const author = "elnawe"; -const url = ""; +const url = "https://github.com/elnawe/base16-zenburn-scheme"; +const license = { + type: "?", + url: "https://github.com/elnawe/base16-zenburn-scheme/blob/master/zenburn.yaml", +}; // `name-[light|dark]`, isLight, color ramps export const dark = createColorScheme(`${name}`, false, { diff --git a/styles/src/themes/one-dark.ts b/styles/src/themes/one-dark.ts new file mode 100644 index 0000000000..612a71ccc1 --- /dev/null +++ b/styles/src/themes/one-dark.ts @@ -0,0 +1,34 @@ +import chroma from "chroma-js"; +import { colorRamp, createColorScheme } from "./common/ramps"; + +const name = "One Dark"; +const author = "simurai"; +const url = "https://github.com/atom/atom/tree/master/packages/one-dark-ui"; +const license = { + type: "MIT", + url: "https://github.com/atom/atom/blob/master/packages/one-dark-ui/LICENSE.md", +}; + +export const dark = createColorScheme(`${name}`, false, { + neutral: chroma + .scale([ + "#282c34", + "#353b45", + "#3e4451", + "#545862", + "#565c64", + "#abb2bf", + "#b6bdca", + "#c8ccd4", + ]) + .domain([0.05, 0.22, 0.25, 0.45, 0.62, 0.8, 0.9, 1]), + + red: colorRamp(chroma("#e06c75")), + orange: colorRamp(chroma("#d19a66")), + yellow: colorRamp(chroma("#e5c07b")), + green: colorRamp(chroma("#98c379")), + cyan: colorRamp(chroma("#56b6c2")), + blue: colorRamp(chroma("#61afef")), + violet: colorRamp(chroma("#c678dd")), + magenta: colorRamp(chroma("#be5046")), +}); diff --git a/styles/src/themes/one-light.ts b/styles/src/themes/one-light.ts new file mode 100644 index 0000000000..d8c8e5272c --- /dev/null +++ b/styles/src/themes/one-light.ts @@ -0,0 +1,33 @@ +import chroma from "chroma-js"; +import { colorRamp, createColorScheme } from "./common/ramps"; + +const name = "One Light"; +const author = "simurai"; +const url = "https://github.com/atom/atom/tree/master/packages/one-light-ui"; +const license = { + type: "MIT", + url: "https://github.com/atom/atom/blob/master/packages/one-light-ui/LICENSE.md", +}; + +export const light = createColorScheme(`${name}`, true, { + neutral: chroma.scale([ + "#090a0b", + "#202227", + "#383a42", + "#696c77", + "#a0a1a7", + "#e5e5e6", + "#f0f0f1", + "#fafafa", + ]) + .domain([0.05, 0.22, 0.25, 0.45, 0.62, 0.8, 0.9, 1]), + + red: colorRamp(chroma("#ca1243")), + orange: colorRamp(chroma("#d75f00")), + yellow: colorRamp(chroma("#c18401")), + green: colorRamp(chroma("#50a14f")), + cyan: colorRamp(chroma("#0184bc")), + blue: colorRamp(chroma("#4078f2")), + violet: colorRamp(chroma("#a626a4")), + magenta: colorRamp(chroma("#986801")), +}); diff --git a/styles/src/themes/one.ts b/styles/src/themes/one.ts deleted file mode 100644 index f0872d020e..0000000000 --- a/styles/src/themes/one.ts +++ /dev/null @@ -1,58 +0,0 @@ -import chroma from "chroma-js"; -import { colorRamp, createColorScheme } from "./common/ramps"; - -const name = "One"; -const author = ""; -const url = ""; -const license = { - type: "", - url: "", -}; - -export const dark = createColorScheme(`${name} Dark`, false, { - neutral: chroma - .scale([ - "#282c34", - "#353b45", - "#3e4451", - "#545862", - "#565c64", - "#abb2bf", - "#b6bdca", - "#c8ccd4", - ]) - .domain([0.05, 0.22, 0.25, 0.45, 0.62, 0.8, 0.9, 1]), - - red: colorRamp(chroma("#e06c75")), - orange: colorRamp(chroma("#d19a66")), - yellow: colorRamp(chroma("#e5c07b")), - green: colorRamp(chroma("#98c379")), - cyan: colorRamp(chroma("#56b6c2")), - blue: colorRamp(chroma("#61afef")), - violet: colorRamp(chroma("#c678dd")), - magenta: colorRamp(chroma("#be5046")), -}); - -export const light = createColorScheme(`${name} Light`, true, { - neutral: chroma - .scale([ - "#090a0b", - "#202227", - "#383a42", - "#696c77", - "#a0a1a7", - "#e5e5e6", - "#f0f0f1", - "#fafafa", - ]) - .domain([0.05, 0.22, 0.25, 0.45, 0.62, 0.8, 0.9, 1]), - - red: colorRamp(chroma("#ca1243")), - orange: colorRamp(chroma("#d75f00")), - yellow: colorRamp(chroma("#c18401")), - green: colorRamp(chroma("#50a14f")), - cyan: colorRamp(chroma("#0184bc")), - blue: colorRamp(chroma("#4078f2")), - violet: colorRamp(chroma("#a626a4")), - magenta: colorRamp(chroma("#986801")), -}); diff --git a/styles/src/themes/rose-pine-dawn.ts b/styles/src/themes/rose-pine-dawn.ts index 1c5866b3ff..20d5dd1ebe 100644 --- a/styles/src/themes/rose-pine-dawn.ts +++ b/styles/src/themes/rose-pine-dawn.ts @@ -2,8 +2,12 @@ import chroma from "chroma-js"; import { colorRamp, createColorScheme } from "./common/ramps"; const name = "Rosé Pine Dawn"; -const author = ""; -const url = ""; +const author = "edunfelt"; +const url = "https://github.com/edunfelt/base16-rose-pine-scheme"; +const license = { + type: "MIT", + url: "https://github.com/edunfelt/base16-rose-pine-scheme/blob/main/rose-pine-dawn.yaml", +}; const ramps = { neutral: chroma diff --git a/styles/src/themes/rose-pine-moon.ts b/styles/src/themes/rose-pine-moon.ts index 27e2caf07b..5920357bd3 100644 --- a/styles/src/themes/rose-pine-moon.ts +++ b/styles/src/themes/rose-pine-moon.ts @@ -2,8 +2,12 @@ import chroma from "chroma-js"; import { colorRamp, createColorScheme } from "./common/ramps"; const name = "Rosé Pine Moon"; -const author = ""; -const url = ""; +const author = "edunfelt"; +const url = "https://github.com/edunfelt/base16-rose-pine-scheme"; +const license = { + type: "MIT", + url: "https://github.com/edunfelt/base16-rose-pine-scheme/blob/main/rose-pine-moon.yaml", +}; const ramps = { neutral: chroma diff --git a/styles/src/themes/rose-pine.ts b/styles/src/themes/rose-pine.ts index 5e6f6d028e..9144a136d2 100644 --- a/styles/src/themes/rose-pine.ts +++ b/styles/src/themes/rose-pine.ts @@ -2,8 +2,12 @@ import chroma from "chroma-js"; import { colorRamp, createColorScheme } from "./common/ramps"; const name = "Rosé Pine"; -const author = ""; -const url = ""; +const author = "edunfelt"; +const url = "https://github.com/edunfelt/base16-rose-pine-scheme"; +const license = { + type: "MIT", + url: "https://github.com/edunfelt/base16-rose-pine-scheme", +}; const ramps = { neutral: chroma.scale([ diff --git a/styles/src/themes/sandcastle.ts b/styles/src/themes/sandcastle.ts index 51ca87913f..c625ab2986 100644 --- a/styles/src/themes/sandcastle.ts +++ b/styles/src/themes/sandcastle.ts @@ -2,8 +2,12 @@ import chroma from "chroma-js"; import { colorRamp, createColorScheme } from "./common/ramps"; const name = "Sandcastle"; -const author = ""; -const url = ""; +const author = "gessig"; +const url = "https://github.com/gessig/base16-sandcastle-scheme"; +const license = { + type: "MIT", + url: "https://github.com/gessig/base16-sandcastle-scheme/blob/master/LICENSE", +}; const ramps = { neutral: chroma.scale([ diff --git a/styles/src/themes/solarized.ts b/styles/src/themes/solarized.ts index 18c10c35c3..3e0fff61e8 100644 --- a/styles/src/themes/solarized.ts +++ b/styles/src/themes/solarized.ts @@ -2,8 +2,12 @@ import chroma from "chroma-js"; import { colorRamp, createColorScheme } from "./common/ramps"; const name = "Solarized"; -const author = ""; -const url = ""; +const author = "Ethan Schoonover"; +const url = "https://github.com/altercation/solarized"; +const license = { + type: "MIT", + url: "https://github.com/altercation/solarized/blob/master/README.md", +}; const ramps = { neutral: chroma diff --git a/styles/src/themes/summercamp.ts b/styles/src/themes/summercamp.ts index 8c66e3690b..bc5b7e1d24 100644 --- a/styles/src/themes/summercamp.ts +++ b/styles/src/themes/summercamp.ts @@ -2,8 +2,12 @@ import chroma from "chroma-js"; import { colorRamp, createColorScheme } from "./common/ramps"; const name = "Summercamp"; -const author = ""; -const url = ""; +const author = "zoefiri"; +const url = "https://github.com/zoefiri/base16-sc"; +const license = { + type: "MIT", + url: "https://github.com/zoefiri/base16-sc/blob/master/summercamp.yaml", +}; const ramps = { neutral: chroma From c1e23fc6d9243d620821f4803bedfaaad28c5167 Mon Sep 17 00:00:00 2001 From: Nate Butler Date: Thu, 20 Oct 2022 18:22:34 -0400 Subject: [PATCH 11/15] Update tokyo night meta --- styles/src/themes/internal/tokyo-night-storm.ts | 4 ++-- styles/src/themes/internal/tokyo-night.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/styles/src/themes/internal/tokyo-night-storm.ts b/styles/src/themes/internal/tokyo-night-storm.ts index 009c0f2969..c7b52c159f 100644 --- a/styles/src/themes/internal/tokyo-night-storm.ts +++ b/styles/src/themes/internal/tokyo-night-storm.ts @@ -2,8 +2,8 @@ import chroma from "chroma-js"; import { colorRamp, createColorScheme } from "../common/ramps"; const name = "Tokyo Night Storm"; -const author = "ghifarit53"; -const url = "https://github.com/ghifarit53/tokyonight-vim"; +const author = "folke"; +const url = "https://github.com/folke/tokyonight.nvim"; const license = { type: "MIT", url: "https://github.com/ghifarit53/tokyonight-vim/blob/master/LICENSE", diff --git a/styles/src/themes/internal/tokyo-night.ts b/styles/src/themes/internal/tokyo-night.ts index fb3f3e1b33..783c45d50e 100644 --- a/styles/src/themes/internal/tokyo-night.ts +++ b/styles/src/themes/internal/tokyo-night.ts @@ -2,7 +2,7 @@ import chroma from "chroma-js"; import { colorRamp, createColorScheme } from "../common/ramps"; const name = "Tokyo"; -const author = "Michaël Ball"; +const author = "folke"; const url = "https://github.com/folke/tokyonight.nvim"; const license = { type: "Apache License 2.0", From 99e6ecc46655cf30ea08e332640b1a2bbb3c2df2 Mon Sep 17 00:00:00 2001 From: Nate Butler Date: Fri, 21 Oct 2022 13:03:54 -0400 Subject: [PATCH 12/15] Update Zenburn license --- styles/src/themes/internal/zenburn.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/styles/src/themes/internal/zenburn.ts b/styles/src/themes/internal/zenburn.ts index 7ad3e31ee1..e1ac041543 100644 --- a/styles/src/themes/internal/zenburn.ts +++ b/styles/src/themes/internal/zenburn.ts @@ -5,8 +5,8 @@ const name = "Zenburn"; const author = "elnawe"; const url = "https://github.com/elnawe/base16-zenburn-scheme"; const license = { - type: "?", - url: "https://github.com/elnawe/base16-zenburn-scheme/blob/master/zenburn.yaml", + type: "None", + url: "", }; // `name-[light|dark]`, isLight, color ramps From b015761131f64a718844173631799781991fde7b Mon Sep 17 00:00:00 2001 From: Nate Butler Date: Fri, 21 Oct 2022 13:04:24 -0400 Subject: [PATCH 13/15] WIP Re-case internal and experiment theme folders Co-Authored-By: Mikayla Maki --- .gitignore | 4 ++-- assets/themes/experiments/.gitkeep | 0 assets/themes/internal/.gitkeep | 0 crates/theme/src/theme_registry.rs | 4 ++-- styles/src/buildThemes.ts | 5 +++-- 5 files changed, 7 insertions(+), 6 deletions(-) delete mode 100644 assets/themes/experiments/.gitkeep delete mode 100644 assets/themes/internal/.gitkeep diff --git a/.gitignore b/.gitignore index 2d721f8ad2..072bf122e6 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,6 @@ /crates/collab/static/styles.css /vendor/bin /assets/themes/*.json -/assets/themes/internal/*.json -/assets/themes/experiments/*.json +/assets/themes/Internal-case-breaker/*.json +/assets/themes/Experiments-case-breaker/*.json **/venv \ No newline at end of file diff --git a/assets/themes/experiments/.gitkeep b/assets/themes/experiments/.gitkeep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/assets/themes/internal/.gitkeep b/assets/themes/internal/.gitkeep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/crates/theme/src/theme_registry.rs b/crates/theme/src/theme_registry.rs index 5735f13b14..3d4783604d 100644 --- a/crates/theme/src/theme_registry.rs +++ b/crates/theme/src/theme_registry.rs @@ -28,14 +28,14 @@ impl ThemeRegistry { if !internal { dirs = dirs .into_iter() - .filter(|path| !path.starts_with("themes/internal")) + .filter(|path| !path.starts_with("themes/Internal")) .collect() } if !experiments { dirs = dirs .into_iter() - .filter(|path| !path.starts_with("themes/experiments")) + .filter(|path| !path.starts_with("themes/Experiments")) .collect() } diff --git a/styles/src/buildThemes.ts b/styles/src/buildThemes.ts index 2ea809f09e..d0d014e71e 100644 --- a/styles/src/buildThemes.ts +++ b/styles/src/buildThemes.ts @@ -10,8 +10,9 @@ import snakeCase from "./utils/snakeCase"; import { ColorScheme } from "./themes/common/colorScheme"; const themeDirectory = `${__dirname}/../../assets/themes`; -const internalDirectory = `${themeDirectory}/internal`; -const experimentsDirectory = `${themeDirectory}/experiments`; +const internalDirectory = `${themeDirectory}/Internal`; +const experimentsDirectory = `${themeDirectory}/Experiments`; + const tempDirectory = fs.mkdtempSync(path.join(tmpdir(), "build-themes")); // Clear existing themes From 2a38c4938d3e11d6682f917cbb40735f79f1dd05 Mon Sep 17 00:00:00 2001 From: Nate Butler Date: Fri, 21 Oct 2022 13:05:59 -0400 Subject: [PATCH 14/15] Update gitignore because of macOS case sensitive weirdness Co-Authored-By: Mikayla Maki --- .gitignore | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 072bf122e6..93079fad52 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,6 @@ /crates/collab/static/styles.css /vendor/bin /assets/themes/*.json -/assets/themes/Internal-case-breaker/*.json -/assets/themes/Experiments-case-breaker/*.json +/assets/themes/Internal/*.json +/assets/themes/Experiments/*.json **/venv \ No newline at end of file From 6514eb520901e4f9ad833ce073ef5b2a0f36919e Mon Sep 17 00:00:00 2001 From: Nate Butler Date: Fri, 21 Oct 2022 13:19:44 -0400 Subject: [PATCH 15/15] Make the assets/themes folder if it doesn't exist - Also only run clearThemes if the folder exists Co-Authored-By: Mikayla Maki --- styles/src/buildThemes.ts | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/styles/src/buildThemes.ts b/styles/src/buildThemes.ts index d0d014e71e..32749a7aaa 100644 --- a/styles/src/buildThemes.ts +++ b/styles/src/buildThemes.ts @@ -17,11 +17,15 @@ const tempDirectory = fs.mkdtempSync(path.join(tmpdir(), "build-themes")); // Clear existing themes function clearThemes(themeDirectory: string) { - for (const file of fs.readdirSync(themeDirectory)) { - if (file.endsWith(".json")) { - const name = file.replace(/\.json$/, ""); - if (!colorSchemes.find((colorScheme) => colorScheme.name === name)) { - fs.unlinkSync(path.join(themeDirectory, file)); + if (!fs.existsSync(themeDirectory)) { + fs.mkdirSync(themeDirectory, { recursive: true }); + } else { + for (const file of fs.readdirSync(themeDirectory)) { + if (file.endsWith(".json")) { + const name = file.replace(/\.json$/, ""); + if (!colorSchemes.find((colorScheme) => colorScheme.name === name)) { + fs.unlinkSync(path.join(themeDirectory, file)); + } } } }