├── LICENSE.txt ├── Alabaster.sublime-color-scheme ├── Alabaster Dark.sublime-color-scheme ├── Alabaster Mono.sublime-color-scheme ├── Alabaster BG.sublime-color-scheme ├── Alabaster Dark Mono.sublime-color-scheme └── README.md /LICENSE.txt: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2018 Nikita Prokopov 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Alabaster.sublime-color-scheme: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Alabaster", 3 | "author": "Nikita Prokopov", 4 | "variables": 5 | { 6 | "active": "#007ACC", 7 | "selection": "#BFDBFE", 8 | "blue": "#325CC0", 9 | "green": "#448C27", 10 | "red": "#AA3731", 11 | "magenta": "#7A3E9D", 12 | "grey": "#777", 13 | "orange": "#FFBC5D" 14 | }, 15 | "globals": 16 | { 17 | "foreground": "#000000", 18 | "background": "#F7F7F7", 19 | "caret": "var(active)", 20 | "line_highlight": "#f0f0f0", 21 | "misspelling": "var(red)", 22 | "selection": "var(selection)", 23 | "selection_border_width": "0", 24 | "inactive_selection": "#E0E0E0", 25 | "selection_corner_radius": "2", 26 | "highlight": "var(orange)", 27 | "find_highlight_foreground": "#000", 28 | "find_highlight": "var(orange)", 29 | "brackets_options": "foreground underline", 30 | "brackets_foreground": "var(active)", 31 | "bracket_contents_options": "foreground underline", 32 | "bracket_contents_foreground": "var(active)", 33 | "tags_options": "foreground", 34 | "tags_foreground": "var(active)" 35 | }, 36 | "rules": 37 | [ 38 | {"name": "Comment", 39 | "scope": "comment, punctuation.definition.comment", 40 | "foreground": "var(red)"}, 41 | 42 | {"name": "String", 43 | "scope": "string", 44 | "foreground": "var(green)"}, 45 | 46 | {"name": "Escapes", 47 | "scope": "constant.character.escape, constant.other.placeholder", 48 | "foreground": "var(grey)"}, 49 | 50 | {"name": "Punctuation", 51 | "scope": "punctuation", 52 | "foreground": "var(grey)"}, 53 | 54 | {"name": "Constants", 55 | "scope": "constant", 56 | "foreground": "var(magenta)"}, 57 | 58 | {"name": "Definitions", 59 | "scope": "entity.name", 60 | "foreground": "var(blue)"}, 61 | 62 | {"name": "Mistakes", 63 | "scope": "invalid", 64 | "foreground": "var(red)", 65 | "background": "color(var(red) alpha(0.2))"}, 66 | 67 | {"scope": "markup.inserted", 68 | "foreground": "hsl(100, 50%, 50%)"}, 69 | 70 | {"scope": "markup.deleted", 71 | "foreground": "hsl(2, 65%, 50%)"}, 72 | 73 | {"scope": "markup.changed", 74 | "foreground": "hsl(30, 85%, 50%)"}, 75 | 76 | {"scope": "markup.ignored", 77 | "foreground": "#aaa"}, 78 | 79 | {"scope": "markup.untracked", 80 | "foreground": "#aaa"} 81 | ] 82 | } -------------------------------------------------------------------------------- /Alabaster Dark.sublime-color-scheme: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Alabaster Dark", 3 | "author": "Nikita Prokopov", 4 | "variables": 5 | { 6 | "fg": "#CECECE", 7 | "active": "#CD974B" 8 | }, 9 | "globals": 10 | { 11 | "foreground": "var(fg)", 12 | "background": "#0E1415", 13 | "caret": "var(active)", 14 | "line_highlight": "#ffffff10", 15 | "misspelling": "#f00", 16 | "selection": "#293334", 17 | "selection_border_width": "0", 18 | "selection_corner_radius": "2", 19 | "highlight": "var(active)", 20 | "find_highlight_foreground": "#000", 21 | "find_highlight": "var(active)", 22 | "brackets_options": "underline", 23 | "brackets_foreground": "var(active)", 24 | "bracket_contents_options": "underline", 25 | "bracket_contents_foreground": "var(active)", 26 | "tags_options": "underline", 27 | "tags_foreground": "var(active)", 28 | }, 29 | "rules": 30 | [ 31 | {"name": "Comments", 32 | "scope": "comment, punctuation.definition.comment, invalid comment", 33 | // "foreground": "#000", 34 | "foreground": "#DFDF8E"}, 35 | 36 | {"name": "Strings", 37 | "scope": "string", 38 | "foreground": "#95CB82"}, 39 | 40 | {"name": "Escapes \n", 41 | "scope": "constant.character.escape, constant.other.placeholder", 42 | "background": "#ffffff10"}, 43 | 44 | // {"name": "Constants", 45 | // "scope": "constant", 46 | // "background": "#F9E0FF"}, 47 | 48 | {"name": "Constants", 49 | "scope": "constant, punctuation.definition.constant", 50 | "foreground": "#CC8BC9"}, 51 | 52 | {"name": "Definitions", 53 | "scope": "entity.name - entity.name.tag", 54 | "foreground": "#71ADE7"}, 55 | 56 | {"name": "Punctuation", 57 | "scope": "punctuation - punctuation.section, keyword.operator, string punctuation.section", 58 | "foreground": "#708B8D"}, 59 | 60 | // {"name": "Outer brackets", 61 | // "scope": "meta.parens punctuation.section, meta.brackets punctuation.section, meta.braces punctuation.section", 62 | // "foreground": "#708B8D"}, 63 | 64 | {"name": "Inner brackets", 65 | "scope": "meta.parens meta.parens punctuation.section, meta.parens meta.brackets punctuation.section, meta.parens meta.braces punctuation.section, meta.brackets meta.parens punctuation.section, meta.brackets meta.brackets punctuation.section, meta.brackets meta.braces punctuation.section, meta.braces meta.parens punctuation.section, meta.braces meta.brackets punctuation.section, meta.braces meta.braces punctuation.section", 66 | "foreground": "color(var(fg) alpha(0.4))"}, 67 | 68 | {"name": "Mistakes", 69 | "scope": "invalid, invalid string, invalid constant, invalid entity.name, invalid punctuation, invalid source.symbol", 70 | "foreground": "#c33", 71 | "background": "#2B1D1E"}, 72 | 73 | {"scope": "markup.inserted", 74 | "foreground": "hsl(100, 50%, 50%)"}, 75 | 76 | {"scope": "markup.deleted", 77 | "foreground": "hsl(2, 65%, 50%)"}, 78 | 79 | {"scope": "markup.changed", 80 | "foreground": "hsl(30, 85%, 50%)"}, 81 | 82 | {"scope": "markup.ignored", 83 | "foreground": "#aaa"}, 84 | 85 | {"scope": "markup.untracked", 86 | "foreground": "#aaa"} 87 | ] 88 | } 89 | -------------------------------------------------------------------------------- /Alabaster Mono.sublime-color-scheme: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Alabaster Mono", 3 | "author": "Nikita Prokopov", 4 | "variables": { 5 | "fg": "#000", 6 | "grey": "#999", 7 | "grey2": "#D9D9D9", 8 | "bg": "#EEE", 9 | "caret": "#16BDEC" 10 | }, 11 | "globals": 12 | { 13 | "foreground": "var(fg)", 14 | "background": "#FFF", 15 | "caret": "var(caret)", 16 | "line_highlight": "#00000005", 17 | "misspelling": "#f00", 18 | "selection": "#B3D7FF", 19 | // "selection_foreground": "#fff", 20 | "selection_border_width": "0", 21 | "selection_corner_radius": "2", 22 | "highlight": "var(caret)", 23 | "find_highlight_foreground": "#000", 24 | "find_highlight": "var(caret)", 25 | "brackets_options": "underline", 26 | "brackets_foreground": "var(caret)", 27 | "bracket_contents_options": "underline", 28 | "bracket_contents_foreground": "var(caret)", 29 | "tags_options": "underline", 30 | "tags_foreground": "var(caret)", 31 | }, 32 | "rules": 33 | [ 34 | {"name": "Comments", 35 | "scope": "comment, punctuation.definition.comment, invalid comment", 36 | "foreground": "var(grey)"}, 37 | 38 | {"name": "Strings", 39 | "scope": "string, string punctuation", 40 | "background": "var(bg)"}, 41 | 42 | {"name": "Escapes \n", 43 | "scope": "constant.character.escape, constant.other.placeholder", 44 | // "foreground": "var(grey)", 45 | "background": "var(grey2)"}, 46 | 47 | // {"name": "Constants", 48 | // "scope": "constant", 49 | // "background": "#F9E0FF"}, 50 | 51 | {"name": "Constants", 52 | "scope": "constant, punctuation.definition.constant", 53 | "background": "var(bg)"}, 54 | 55 | {"name": "Definitions", 56 | "scope": "entity.name - entity.name.tag", 57 | "background": "var(bg)"}, 58 | 59 | // {"name": "Punctuation", 60 | // "scope": "punctuation - punctuation.section, keyword.operator", 61 | // "foreground": "var(bg)"}, 62 | 63 | {"name": "Outer brackets", 64 | "scope": "meta.parens punctuation.section, meta.brackets punctuation.section, meta.braces punctuation.section", 65 | "foreground": "var(fg)"}, 66 | 67 | {"name": "Inner brackets", 68 | "scope": "meta.parens meta.parens punctuation.section, meta.parens meta.brackets punctuation.section, meta.parens meta.braces punctuation.section, meta.brackets meta.parens punctuation.section, meta.brackets meta.brackets punctuation.section, meta.brackets meta.braces punctuation.section, meta.braces meta.parens punctuation.section, meta.braces meta.brackets punctuation.section, meta.braces meta.braces punctuation.section", 69 | "foreground": "var(grey)"}, 70 | 71 | {"name": "Mistakes", 72 | "scope": "invalid, invalid string, invalid constant, invalid entity.name, invalid punctuation, invalid source.symbol", 73 | "foreground": "#c33", 74 | "background": "#FFE4E4"}, 75 | 76 | {"scope": "markup.inserted", 77 | "foreground": "hsl(100, 50%, 50%)"}, 78 | 79 | {"scope": "markup.deleted", 80 | "foreground": "hsl(2, 65%, 50%)"}, 81 | 82 | {"scope": "markup.changed", 83 | "foreground": "hsl(30, 85%, 50%)"}, 84 | 85 | {"scope": "markup.ignored", 86 | "foreground": "#aaa"}, 87 | 88 | {"scope": "markup.untracked", 89 | "foreground": "#aaa"} 90 | ] 91 | } 92 | -------------------------------------------------------------------------------- /Alabaster BG.sublime-color-scheme: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Alabaster BG", 3 | "author": "Nikita Prokopov", 4 | "variables": 5 | { 6 | "active": "#007ACC", 7 | "fg": "#000", 8 | "bg": "#fff", 9 | "blue": "#DBF1FF", 10 | "green": "#F1FADF", 11 | "dark_green": "#DBECB6", 12 | "red": "#FFE0E0", 13 | "magenta": "#F9E0FF", 14 | "yellow": "#FFFABC", 15 | "orange": "#FFBC5D", 16 | }, 17 | "globals": 18 | { 19 | "foreground": "var(fg)", 20 | "background": "var(bg)", 21 | "caret": "var(active)", 22 | "line_highlight": "#00000010", 23 | "misspelling": "#f00", 24 | "selection": "#B4D8FD", 25 | "selection_border_width": "0", 26 | "inactive_selection": "#E0E0E0", 27 | "selection_corner_radius": "2", 28 | "highlight": "var(orange)", 29 | "find_highlight_foreground": "#000", 30 | "find_highlight": "var(orange)", 31 | "brackets_options": "underline", 32 | "brackets_foreground": "var(active)", 33 | "bracket_contents_options": "underline", 34 | "bracket_contents_foreground": "var(active)", 35 | "tags_options": "underline", 36 | "tags_foreground": "var(active)", 37 | }, 38 | "rules": 39 | [ 40 | {"name": "Comments", 41 | "scope": "comment, punctuation.definition.comment, invalid comment", 42 | "foreground": "#000", 43 | "background": "var(yellow)"}, 44 | 45 | {"name": "Strings", 46 | "scope": "string", 47 | "background": "var(green)"}, 48 | 49 | {"name": "Escapes", 50 | "scope": "constant.character.escape, constant.other.placeholder", 51 | "background": "var(dark_green)"}, 52 | 53 | // {"name": "Constants", 54 | // "scope": "constant", 55 | // "background": "var(magenta)"}, 56 | {"name": "Constants", 57 | "scope": "constant, punctuation.definition.constant", 58 | "foreground": "#7A3E9D"}, 59 | 60 | {"name": "Definitions", 61 | "scope": "entity.name - entity.name.tag", 62 | "background": "var(blue)"}, 63 | 64 | {"name": "Punctuation", 65 | "scope": "punctuation - punctuation.section, keyword.operator, string punctuation.section", 66 | "foreground": "#00000090"}, 67 | 68 | {"name": "Inner brackets", 69 | "scope": "meta.parens meta.parens punctuation.section, meta.parens meta.brackets punctuation.section, meta.parens meta.braces punctuation.section, meta.brackets meta.parens punctuation.section, meta.brackets meta.brackets punctuation.section, meta.brackets meta.braces punctuation.section, meta.braces meta.parens punctuation.section, meta.braces meta.brackets punctuation.section, meta.braces meta.braces punctuation.section", 70 | "foreground": "#00000075"}, 71 | 72 | {"name": "Mistakes", 73 | "scope": "invalid, invalid string, invalid constant, invalid entity.name, invalid punctuation, invalid source.symbol", 74 | "foreground": "#c33", 75 | "background": "var(red)"}, 76 | 77 | {"scope": "markup.inserted", 78 | "foreground": "hsl(100, 50%, 50%)"}, 79 | 80 | {"scope": "markup.deleted", 81 | "foreground": "hsl(2, 65%, 50%)"}, 82 | 83 | {"scope": "markup.changed", 84 | "foreground": "hsl(30, 85%, 50%)"}, 85 | 86 | {"scope": "markup.ignored", 87 | "foreground": "#aaa"}, 88 | 89 | {"scope": "markup.untracked", 90 | "foreground": "#aaa"} 91 | ] 92 | } -------------------------------------------------------------------------------- /Alabaster Dark Mono.sublime-color-scheme: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Alabaster Dark Mono", 3 | "author": "Nikita Prokopov", 4 | "variables": 5 | { 6 | "middle": "#999", 7 | "bright": "#EEE", 8 | "dark": "#333", 9 | "active": "#CD974B", 10 | // "active": "#16BDEC" 11 | }, 12 | "globals": 13 | { 14 | "foreground": "var(middle)", 15 | "background": "#111", 16 | "caret": "var(active)", 17 | "line_highlight": "#ffffff0C", 18 | "misspelling": "#f00", 19 | "selection": "#ffffff20", 20 | // "selection_foreground": "#fff", 21 | "selection_border_width": "0", 22 | "selection_corner_radius": "2", 23 | "highlight": "var(active)", 24 | "find_highlight_foreground": "#000", 25 | "find_highlight": "var(active)", 26 | "brackets_options": "underline", 27 | "brackets_foreground": "var(active)", 28 | "bracket_contents_options": "underline", 29 | "bracket_contents_foreground": "var(active)", 30 | "tags_options": "underline", 31 | "tags_foreground": "var(active)", 32 | }, 33 | "rules": 34 | [ 35 | {"name": "Comments", 36 | "scope": "comment, punctuation.definition.comment, invalid comment", 37 | // "foreground": "var(bright)", 38 | "background": "var(dark)"}, 39 | 40 | {"name": "Strings", 41 | "scope": "string, string punctuation", 42 | "foreground": "var(bright)"}, 43 | 44 | {"name": "Escapes \n", 45 | "scope": "constant.character.escape, constant.other.placeholder", 46 | "background": "#ffffff20"}, 47 | 48 | // {"name": "Constants", 49 | // "scope": "constant", 50 | // "background": "#F9E0FF"}, 51 | 52 | {"name": "Constants", 53 | "scope": "constant, punctuation.definition.constant", 54 | "foreground": "var(bright)"}, 55 | 56 | {"name": "Definitions", 57 | "scope": "entity.name - entity.name.tag", 58 | "foreground": "var(bright)", 59 | "background": "var(dark)"}, 60 | 61 | // {"name": "Punctuation", 62 | // "scope": "punctuation - punctuation.section, keyword.operator", 63 | // "foreground": "var(dark)"}, 64 | 65 | {"name": "Outer brackets", 66 | "scope": "meta.parens punctuation.section, meta.brackets punctuation.section, meta.braces punctuation.section", 67 | "foreground": "var(bright)"}, 68 | 69 | {"name": "Inner brackets", 70 | "scope": "meta.parens meta.parens punctuation.section, meta.parens meta.brackets punctuation.section, meta.parens meta.braces punctuation.section, meta.brackets meta.parens punctuation.section, meta.brackets meta.brackets punctuation.section, meta.brackets meta.braces punctuation.section, meta.braces meta.parens punctuation.section, meta.braces meta.brackets punctuation.section, meta.braces meta.braces punctuation.section", 71 | "foreground": "var(middle)"}, 72 | 73 | {"name": "Mistakes", 74 | "scope": "invalid, invalid string, invalid constant, invalid entity.name, invalid punctuation, invalid source.symbol", 75 | "foreground": "#c33", 76 | "background": "#2B1D1E"}, 77 | 78 | {"scope": "markup.inserted", 79 | "foreground": "hsl(100, 50%, 50%)"}, 80 | 81 | {"scope": "markup.deleted", 82 | "foreground": "hsl(2, 65%, 50%)"}, 83 | 84 | {"scope": "markup.changed", 85 | "foreground": "hsl(30, 85%, 50%)"}, 86 | 87 | {"scope": "markup.ignored", 88 | "foreground": "#aaa"}, 89 | 90 | {"scope": "markup.untracked", 91 | "foreground": "#aaa"} 92 | ] 93 | } 94 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Alabaster Color Scheme 2 | 3 | A light color scheme with minimal amount of highlighting for Sublime Text 3. 4 | 5 | ## Motivation 6 | 7 | Most color schemes highlight everything they can, ending up looking like a fireworks show. 8 | 9 | Instead, Alabaster uses minimal highlighting; it defines just four classes: 10 | 11 | 1. Strings 12 | 2. All statically known constants (numbers, symbols, keywords, boolean values) 13 | 3. Comments 14 | 4. Global definitions 15 | 16 | Additionally: 17 | 18 | - Alabaster does not highlight standard language keywords (if, else, function, etc). They are usually least important and most obvious part of any program. 19 | 20 | - Alabaster highlights comments. Most schemes try to dim comments by using low-contrast greys. I think if code was complex enough that it deserved an explanation then it’s that explanation we should see and read first. It would be a crime to hide it. 21 | 22 | - Alabaster doesn’t use font variations. It’s hard to scan code when it jumps between normal, **bold** and *italics* all the time. Also, not all fonts provide bold/italics variants. 23 | 24 | - Having minimal amount of rules means you can consciously use them to look for the exact piece of information you need. Most other “fireworks” schemes provide only one meaningful contribution: if it’s colored it’s probably syntactically correct. Instead, in Alabaster you can actually remember all the rules, and e.g. if you need to look for a string you know that you’re looking for a green token. And all the strings really pop out because there are not many other things highlighted. 25 | 26 | - Alabaster only highlights things that parser could identify reliably. I believe that if highlighting works only partially then it does more harm than good. When highlighting works reliably, your brain learns to rely on it. When it’s not reliable, your brain spends precious brain cycles to re-check everything it sees on the screen. 27 | 28 | ## Variations 29 | 30 | Alabaster BG is a variation of the same scheme but it uses background color for highlighting instead of text color. The idea is that it is easier to read when all text is black rather than when it changes color every few words. The colored background in that case creates a separate layer which is easier to ignore if you just trying to read the words. 31 | 32 | Alabaster Dark is just a dark version based on the same principles. 33 | 34 | Alabaster Mono and Alabaster Dark Mono are monochromatic version, with only cursor and occasional errors/search results highlighted. 35 | 36 | ![Screenshot](alabaster_family.png) 37 | 38 | ## What our users [are saying](https://marketplace.visualstudio.com/items?itemName=tonsky.theme-alabaster&ssr=false#review-details)? 39 | 40 | > It's like I had this weight on my eyes, and now it's gone. Awesome! 41 | 42 | – Alex Sugak ★★★★★ 43 | 44 | > After your theme others looks like unreadable neon things 🤯 45 | 46 | – lamartire ★★★★★ 47 | 48 | > Minimalistic cool 49 | 50 | – denisgrib ★★★★★ 51 | 52 | > Super minimal and undistracting. Easy to read. 53 | 54 | – Josh Bernitt ★★★★★ 55 | 56 | > A little bit confusing at first if you're from The Dark Land. But then you just chill. 57 | 58 | – aenor.realm ★★★★★ 59 | 60 | ## Installation 61 | 62 | Both schemes are packed in the same package. 63 | 64 | ### Via Package Control 65 | 66 | First, install Alabaster via Package Control: 67 | 68 | 1. `Tools` → `Command Palette...` → `Package Control: Install Package` 69 | 2. Select `Alabaster Color Scheme` and press Enter. 70 | 71 | Then, enable it: 72 | 73 | 3. Select `Preferences → Color Scheme ...` 74 | 4. Pick `Auto`, then `Alabaster` (or `Alabaster BG`) for light variant and `Alabaster Dark` for dark variant. 75 | 76 | ## Variations 77 | 78 | - for Visual Studio Code [tonsky/vscode-theme-alabaster](https://github.com/tonsky/vscode-theme-alabaster) 79 | - for Vim [agudulin/vim-colors-alabaster](https://github.com/agudulin/vim-colors-alabaster) [sderev/alabaster.vim](https://github.com/sderev/alabaster.vim) 80 | - for NeoVim [p00f/alabaster.nvim](https://git.sr.ht/~p00f/alabaster.nvim) 81 | - for JetBrains IDEs (IntelliJ IDEA etc) [tonsky/intellij-alabaster](https://github.com/tonsky/intellij-alabaster) 82 | - for Sublime Text 2 (unofficial) [freetonik/Travertine](https://github.com/freetonik/Travertine) 83 | - Dark for Visual Studio Code [apust/vscode-rubber-theme](https://github.com/apust/vscode-rubber-theme) 84 | - for LigthTable [tonsky/alabaster-lighttable-skin](https://github.com/tonsky/alabaster-lighttable-skin) 85 | - for [CudaText](https://sourceforge.net/projects/cudatext/files/addons/themes/theme.Alabaster.zip/download) 86 | - for Windows Terminal [awbv/Windows-Terminal-Alabaster-Scheme](https://github.com/awbv/Windows-Terminal-Alabaster-Scheme) 87 | - for Xresources [anmolmathias/xresources-alabaster](https://github.com/anmolmathias/xresources-alabaster) 88 | - for iTerm2 [mkaschenko/iterm2-theme-alabaster](https://github.com/mkaschenko/iterm2-theme-alabaster) 89 | - for Emacs [uzhne/alabaster-emacs](https://github.com/uzhne/alabaster-emacs/blob/master/alabaster-theme.el) 90 | - for Android Studio [chrisetheridge/alabaster-android](https://github.com/chrisetheridge/alabaster-android) 91 | - for Kitty Terminal [anmolmathias/kitty-alabaster](https://github.com/anmolmathias/kitty-alabaster) 92 | - for Warp Terminal [arsenydubrovin/warp-alabaster-theme](https://github.com/arsenydubrovin/warp-alabaster-theme) 93 | - for Zed [tsimoshka/zed-theme-alabaster](https://github.com/tsimoshka/zed-theme-alabaster) 94 | 95 | ## See also 96 | 97 | [Writer Color Scheme](https://github.com/tonsky/sublime-scheme-writer): minimal color scheme for long-term writing. 98 | 99 | [Profile Switcher](https://github.com/tonsky/sublime-profiles): Switch quickly between writing and coding profiles. 100 | 101 | [Fira Code](https://github.com/tonsky/FiraCode/): Best coding font in the world. 102 | 103 | ## Credits 104 | 105 | Made by [Niki Tonsky](https://twitter.com/nikitonsky). 106 | 107 | ## License 108 | 109 | [MIT License](./LICENSE.txt) 110 | --------------------------------------------------------------------------------