├── .gitignore
├── .supports-a-file-icon-customization
├── Default.sublime-commands
├── Icons.py
├── LICENSE
├── Preferences.sublime-settings
├── README.md
├── activation.py
├── assets
├── arrow-left.png
├── arrow-left@2x.png
├── arrow-left@3x.png
├── arrow-right.png
├── arrow-right@2x.png
├── arrow-right@3x.png
├── buffer.png
├── buffer@2x.png
├── buffer@3x.png
├── close.png
├── close@2x.png
├── close@3x.png
├── context.png
├── context@2x.png
├── context@3x.png
├── dirty.png
├── dirty@2x.png
├── dirty@3x.png
├── fold.png
├── fold@2x.png
├── fold@3x.png
├── folder-open-1.png
├── folder-open-1@2x.png
├── folder-open-1@3x.png
├── folder-open-2.png
├── folder-open-2@2x.png
├── folder-open-2@3x.png
├── folder-open-3.png
├── folder-open-3@2x.png
├── folder-open-3@3x.png
├── folder-open-4.png
├── folder-open-4@2x.png
├── folder-open-4@3x.png
├── folder-open-5.png
├── folder-open-5@2x.png
├── folder-open-5@3x.png
├── folder-open-6.png
├── folder-open-6@2x.png
├── folder-open-6@3x.png
├── folder-open.png
├── folder-open@1x.png
├── folder-open@2x.png
├── folder-symlink.png
├── folder-symlink@2x.png
├── folder-symlink@3x.png
├── folder.png
├── folder@2x.png
├── folder@3x.png
├── gitignore.png
├── gitignore@2x.png
├── gitignore@3x.png
├── highlight.png
├── highlight@2x.png
├── highlight@3x.png
├── input-bg.png
├── input-bg@2x.png
├── input-bg@3x.png
├── input-border.png
├── input-border@2x.png
├── input-border@3x.png
├── input-command.png
├── input-command@2x.png
├── input-command@3x.png
├── input-prompt.png
├── input-prompt@2x.png
├── input-prompt@3x.png
├── input-search.png
├── input-search@2x.png
├── input-search@3x.png
├── input-symbol.png
├── input-symbol@2x.png
├── input-symbol@3x.png
├── input-word.png
├── input-word@2x.png
├── input-word@3x.png
├── inselection.png
├── inselection@2x.png
├── inselection@3x.png
├── kind-bg.png
├── kind-bg@2x.png
├── kind-bg@3x.png
├── kind-border.png
├── kind-border@2x.png
├── kind-border@3x.png
├── matchcase.png
├── matchcase@2x.png
├── matchcase@3x.png
├── overflow-menu.png
├── overflow-menu@2x.png
├── overflow-menu@3x.png
├── overlay-bg.png
├── overlay-bg@2x.png
├── overlay-bg@3x.png
├── overlay-border.png
├── overlay-border@2x.png
├── overlay-border@3x.png
├── overlay-shadow.png
├── overlay-shadow@2x.png
├── overlay-shadow@3x.png
├── popup-bg.png
├── popup-bg@2x.png
├── popup-bg@3x.png
├── popup-border.png
├── popup-border@2x.png
├── popup-border@3x.png
├── popup-shadow.png
├── popup-shadow@2x.png
├── popup-shadow@3x.png
├── regex.png
├── regex@2x.png
├── regex@3x.png
├── replace-preserve-case.png
├── replace-preserve-case@2x.png
├── replace-preserve-case@3x.png
├── reverse.png
├── reverse@2x.png
├── reverse@3x.png
├── scrollbar-horizontal-wide.png
├── scrollbar-horizontal-wide@2x.png
├── scrollbar-horizontal-wide@3x.png
├── scrollbar-horizontal.png
├── scrollbar-horizontal@2x.png
├── scrollbar-horizontal@3x.png
├── scrollbar-vertical-wide.png
├── scrollbar-vertical-wide@2x.png
├── scrollbar-vertical-wide@3x.png
├── scrollbar-vertical.png
├── scrollbar-vertical@2x.png
├── scrollbar-vertical@3x.png
├── separator-bottom.png
├── separator-bottom@2x.png
├── separator-bottom@3x.png
├── separator-right.png
├── separator-right@2x.png
├── separator-right@3x.png
├── separator-sidebar.png
├── separator-sidebar@2x.png
├── separator-sidebar@3x.png
├── separator-top.png
├── separator-top@2x.png
├── separator-top@3x.png
├── sidebar-title.png
├── sidebar-title@2x.png
├── sidebar-title@3x.png
├── sidebar.png
├── sidebar@2x.png
├── sidebar@3x.png
├── spinner.png
├── spinner1.png
├── spinner10.png
├── spinner10@2x.png
├── spinner10@3x.png
├── spinner11.png
├── spinner11@2x.png
├── spinner11@3x.png
├── spinner1@2x.png
├── spinner1@3x.png
├── spinner2.png
├── spinner2@2x.png
├── spinner2@3x.png
├── spinner3.png
├── spinner3@2x.png
├── spinner3@3x.png
├── spinner4.png
├── spinner4@2x.png
├── spinner4@3x.png
├── spinner5.png
├── spinner5@2x.png
├── spinner5@3x.png
├── spinner6.png
├── spinner6@2x.png
├── spinner6@3x.png
├── spinner7.png
├── spinner7@2x.png
├── spinner7@3x.png
├── spinner8.png
├── spinner8@2x.png
├── spinner8@3x.png
├── spinner9.png
├── spinner9@2x.png
├── spinner9@3x.png
├── spinner@2x.png
├── spinner@3x.png
├── switch-panel.png
├── switch-panel@2x.png
├── switch-panel@3x.png
├── tab-border.png
├── tab-border@2x.png
├── tab-border@3x.png
├── tab.png
├── tab@2x.png
├── tab@3x.png
├── tabset-border.png
├── tabset-border@2x.png
├── tabset-border@3x.png
├── tree-highlight-border.png
├── tree-highlight-border@2x.png
├── tree-highlight-border@3x.png
├── tree-highlight.png
├── tree-highlight@2x.png
├── tree-highlight@3x.png
├── unfold.png
├── unfold@2x.png
├── unfold@3x.png
├── word.png
├── word@2x.png
├── word@3x.png
├── wrap.png
├── wrap@2x.png
└── wrap@3x.png
├── ayu-dark.sublime-color-scheme
├── ayu-dark.sublime-theme
├── ayu-light.sublime-color-scheme
├── ayu-light.sublime-theme
├── ayu-mirage.sublime-color-scheme
├── ayu-mirage.sublime-theme
├── ayu.skins
├── dependencies.json
├── icons
├── file_type_angular.png
├── file_type_angular@2x.png
├── file_type_binary.png
├── file_type_binary@2x.png
├── file_type_c.png
├── file_type_c@2x.png
├── file_type_cpp.png
├── file_type_cpp@2x.png
├── file_type_csharp.png
├── file_type_csharp@2x.png
├── file_type_css.png
├── file_type_css@2x.png
├── file_type_default.png
├── file_type_default@2x.png
├── file_type_font.png
├── file_type_font@2x.png
├── file_type_git.png
├── file_type_git@2x.png
├── file_type_graphviz.png
├── file_type_graphviz@2x.png
├── file_type_groovy.png
├── file_type_groovy@2x.png
├── file_type_gruntfile.png
├── file_type_gruntfile@2x.png
├── file_type_haskell.png
├── file_type_haskell@2x.png
├── file_type_haxe.png
├── file_type_haxe@2x.png
├── file_type_image.png
├── file_type_image@2x.png
├── file_type_js.png
├── file_type_js@2x.png
├── file_type_json.png
├── file_type_json@2x.png
├── file_type_license.png
├── file_type_license@2x.png
├── file_type_liquid.png
├── file_type_liquid@2x.png
├── file_type_lisp.png
├── file_type_lisp@2x.png
├── file_type_lua.png
├── file_type_lua@2x.png
├── file_type_markdown.png
├── file_type_markdown@2x.png
├── file_type_mustache.png
├── file_type_mustache@2x.png
├── file_type_nodejs.png
├── file_type_nodejs@2x.png
├── file_type_npm.png
├── file_type_npm@2x.png
├── file_type_pdf.png
├── file_type_pdf@2x.png
├── file_type_perl.png
├── file_type_perl@2x.png
├── file_type_php.png
├── file_type_php@2x.png
├── file_type_procfile.png
├── file_type_procfile@2x.png
├── file_type_python.png
├── file_type_python@2x.png
├── file_type_ruby.png
├── file_type_ruby@2x.png
├── file_type_rust.png
├── file_type_rust@2x.png
├── file_type_sass.png
├── file_type_sass@2x.png
├── file_type_scss.png
├── file_type_scss@2x.png
├── file_type_shell.png
├── file_type_shell@2x.png
├── file_type_sketch.png
├── file_type_sketch@2x.png
├── file_type_source.png
├── file_type_source@2x.png
├── file_type_stata.png
├── file_type_stata@2x.png
├── file_type_swift.png
├── file_type_swift@2x.png
├── file_type_text.png
├── file_type_text@2x.png
├── file_type_todo.png
├── file_type_todo@2x.png
├── file_type_typescript.png
├── file_type_typescript@2x.png
├── file_type_vue.png
├── file_type_vue@2x.png
├── file_type_yaml.png
└── file_type_yaml@2x.png
├── images
├── browse.png
├── dark-separator.png
├── hero.png
├── light-separator.png
└── mirage-no-separator.png
├── messages.json
├── messages
├── 1.2.0.txt
├── 1.3.0.txt
├── 1.3.1.txt
├── 1.3.2.txt
├── 1.3.3.txt
├── 2.0.0.txt
├── 2.0.1.txt
├── 2.0.2.txt
├── 2.0.3.txt
├── 2.1.0.txt
├── 2.1.1.txt
├── 2.2.0.txt
├── 2.2.1.txt
├── 2.2.2.txt
├── 3.0.0.md
├── 3.0.1.md
├── 3.1.0.md
├── 3.1.1.md
├── 3.1.2.md
├── 3.1.4.md
├── 3.1.5.md
├── 3.1.6.md
├── 3.1.8.md
├── 3.2.0.md
├── 3.2.1.md
├── 4.0.0.md
├── 5.0.0.md
├── 5.0.1.md
├── 5.0.2.md
├── 5.0.3.md
├── 5.1.0.md
├── 6.0.0.md
├── 6.0.1.md
├── 6.0.2.md
├── 6.0.3.md
├── 6.1.0.md
├── 6.1.1.md
├── 6.1.2.md
└── install.md
├── package.json
├── src
├── build.ts
└── templates
│ ├── index.ts
│ ├── syntax.ts
│ ├── ui.ts
│ └── widget.ts
├── test
├── C.c
├── Example.dart
├── Golang.go
├── Haskell.hs
├── JSX.jsx
├── Java.java
├── JavaScript.js
├── Jupyter.ipynb
├── Python.py
├── Ruby.rb
├── TSX.tsx
├── TypeScript.ts
├── pubspec.lock
└── pubspec.yaml
├── tsconfig.json
├── widgets
├── Widget - ayu-dark.stTheme
├── Widget - ayu-dark.sublime-settings
├── Widget - ayu-light.stTheme
├── Widget - ayu-light.sublime-settings
├── Widget - ayu-mirage.stTheme
└── Widget - ayu-mirage.sublime-settings
└── yarn.lock
/.gitignore:
--------------------------------------------------------------------------------
1 | ### OSX template
2 | .DS_Store
3 | .AppleDouble
4 | .LSOverride
5 |
6 | # Thumbnails
7 | ._*
8 |
9 | *.cache
10 | *.pyc
11 | npm-debug.log
12 |
13 | # Dependency directories
14 | node_modules
15 | jspm_packages
16 |
17 | # Optional npm cache directory
18 | .npm
19 |
20 | # color scheme gens
21 | /ayu-*.yml
22 |
--------------------------------------------------------------------------------
/.supports-a-file-icon-customization:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/.supports-a-file-icon-customization
--------------------------------------------------------------------------------
/Default.sublime-commands:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "caption": "ayu: Activate theme",
4 | "command": "ayu_activate"
5 | }
6 | ]
7 |
--------------------------------------------------------------------------------
/Icons.py:
--------------------------------------------------------------------------------
1 | """
2 | A File Icon Installer
3 | """
4 |
5 | import os
6 | import sublime
7 |
8 | ICONS_PACKAGE = "A File Icon"
9 | PKGCTRL_SETTINGS = "Package Control.sublime-settings"
10 |
11 | THEME_NAME = os.path.splitext(
12 | os.path.basename(os.path.dirname(__file__))
13 | )[0]
14 |
15 | MSG = """\
16 |
17 |
32 |
33 | {} requires
A File Icon
package for enhanced
support of
34 | the file-specific icons.
35 |
Would you like to install it?
36 |
Install Cancel
37 |
38 | """.format(THEME_NAME)
39 |
40 |
41 | def is_installed():
42 | pkgctrl_settings = sublime.load_settings(PKGCTRL_SETTINGS)
43 |
44 | return ICONS_PACKAGE in set(pkgctrl_settings.get("installed_packages", []))
45 |
46 |
47 | def on_navigate(href):
48 | if href.startswith("install"):
49 | install()
50 | else:
51 | hide()
52 |
53 |
54 | def install():
55 | print("Installing `{}` ...".format(ICONS_PACKAGE))
56 | sublime.active_window().run_command(
57 | "advanced_install_package", {"packages": ICONS_PACKAGE}
58 | )
59 | hide()
60 |
61 |
62 | def hide():
63 | sublime.active_window().active_view().hide_popup()
64 |
65 |
66 | def plugin_loaded():
67 | from package_control import events
68 |
69 | if events.install(THEME_NAME) and not is_installed():
70 | window = sublime.active_window()
71 | view = window.active_view()
72 | window.focus_view(view)
73 | row = int(view.rowcol(view.visible_region().a)[0] + 1)
74 | view.show_popup(
75 | MSG,
76 | location=view.text_point(row, 5),
77 | max_width=800,
78 | max_height=800,
79 | on_navigate=on_navigate
80 | )
81 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2016 Ike Ku
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 |
--------------------------------------------------------------------------------
/Preferences.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | // ayu theme: Use native titlebars on macOs
3 | "ui_native_titlebar": false,
4 |
5 | // ayu theme: Show separators between panels
6 | "ui_separator": false,
7 |
8 | // ayu theme: Display wider scrollbars
9 | "ui_wide_scrollbars": false
10 | }
11 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | 
2 |
3 | `ayu` is a simple theme with bright colors and comes in three versions — *dark*, *mirage* and *light* for all day long comfortable work.
4 |
5 | > All screenshots use wonderful [Pragmata Pro](https://fsd.it/shop/fonts/pragmatapro/) font
6 |
7 | ### File Icons
8 |
9 | `ayu` from version `3.0.0` supports customization via [A File Icon](https://github.com/SublimeText/AFileIcon) package. Please install it and restart Sublime for better experience.
10 |
11 | ### Custom UI fonts
12 |
13 | Since verion `5.0.0` monospaced fonts options were removed. But it's still possible to use your favourite font in the
14 | user interface of the theme, just follow through these simple steps:
15 |
16 | 
17 |
18 | 1. Pull up command pallete via cmd/ctrl + shift + p
19 | 2. Type in `Browse packages`
20 | 3. Navigate to the `/User` folder
21 | 4. Create a file named `ayu-mirage.sublime-theme` to modify mirage or `ayu-light.sublime-theme` and `ayu-dark.sublime-theme`
22 | 5. Open that file in Sublime
23 | 6. Copy and paste following content:
24 | ```json
25 | [
26 | {
27 | "class": "sidebar_label",
28 | "font.face": "PragmataPro Mono Liga"
29 | },
30 | {
31 | "class": "sidebar_heading",
32 | "font.face": "PragmataPro Mono Liga"
33 | },
34 | {
35 | "class": "tab_label",
36 | "font.face": "PragmataPro Mono Liga"
37 | },
38 | {
39 | "class": "label_control",
40 | "font.face": "PragmataPro Mono Liga"
41 | },
42 | {
43 | "class": "quick_panel_label",
44 | "font.face": "PragmataPro Mono Liga"
45 | },
46 | {
47 | "class": "quick_panel_path_label",
48 | "font.face": "PragmataPro Mono Liga"
49 | }
50 | ]
51 | ```
52 | 7. Replace `PragmataPro Mono Liga` with the font of your choice
53 | 8. Save and enjoy :)
54 |
55 | ### Screenshots
56 |
57 | Light with ui_separator
option on
58 |
59 | 
60 |
61 | ---
62 |
63 |
64 | Mirage with ui_separator
option off
65 |
66 | 
67 |
68 | ---
69 |
70 | Dark with ui_separator
option on
71 |
72 | 
73 |
74 | ### Settings
75 |
76 | ```js
77 | "ui_native_titlebar": true, // use native titlebars on macOs
78 | "ui_separator": true, // separators between panels
79 | "ui_wide_scrollbars": true, // wider scrollbars
80 | ```
81 |
82 | ---
83 |
84 | ### Installation
85 |
86 | ###### Recommended
87 |
88 | You can install `ayu` via [Package Control](https://packagecontrol.io/).
89 |
90 | 1. Press cmd/ctrl + shift + p to open the command palette.
91 | 2. Type `install package` and press enter. Then search for `ayu`
92 |
93 | ###### Manual
94 |
95 | 1. Download the [latest release](https://github.com/dempfi/ayu/releases/latest), extract and rename the directory to `ayu`.
96 | 2. Move the directory inside your sublime `/Packages` directory. *(Preferences > Browse packages...)*
97 |
98 | ---
99 |
100 | ### Activation
101 |
102 | ###### Recommended
103 |
104 | Open command palette via `Tools > Command Palette` (or cmd/ctrl + shift + p) and type `ayu: Activate theme`.
105 |
106 |
107 | ###### With Skins package
108 |
109 | [Skins](https://packagecontrol.io/packages/Skins) provides a simple and efficient way to change themes, save your own presets and quickly try out new looks. Activation is as simple as opening up the command palette, running `Select Skin` and choosing `Ayu - Dark` or `Ayu - Light` from the list.
110 |
111 |
112 | ###### Via Preferences
113 |
114 | Add these lines to your user settings *Preferences > Setting - User*:
115 |
116 | For light theme:
117 |
118 | ```js
119 | "theme": "ayu-light.sublime-theme",
120 | "color_scheme": "Packages/ayu/ayu-light.sublime-color-scheme",
121 | ```
122 |
123 | For mirage theme:
124 |
125 | ```js
126 | "theme": "ayu-mirage.sublime-theme",
127 | "color_scheme": "Packages/ayu/ayu-mirage.sublime-color-scheme",
128 | ```
129 |
130 | For dark theme:
131 |
132 | ```js
133 | "theme": "ayu-dark.sublime-theme",
134 | "color_scheme": "Packages/ayu/ayu-dark.sublime-color-scheme",
135 | ```
136 |
137 | ### Sublime Text 3
138 | ayu no longer supports Sublime Text 3. But you still can download
139 | and install manually [latest supported version](https://github.com/dempfi/ayu/releases/tag/v5.1.0).
140 |
141 | ### Sublime Text 2
142 |
143 | ayu no longer supports Sublime Text 2. But you still can download
144 | and install manually [latest supported version](https://github.com/dempfi/ayu/releases/tag/3.2.2).
145 |
146 | ### Related projects and ports
147 |
148 | - `ayu` for Ace: https://github.com/ayu-theme/ayu-ace
149 | - `ayu` colors as NPM package: https://github.com/ayu-theme/ayu-colors
150 | - `ayu` for VSCode: https://github.com/teabyii/vscode-ayu
151 | - `ayu` for XCode: https://github.com/vburojevic/ayu-xcode-theme
152 | - `ayu` for [Kakoune](https://github.com/mawww/kakoune): https://github.com/icantjuddle/ayu-kak
153 |
154 |
155 | made with ❤️ by @dempfi
156 |
157 |
--------------------------------------------------------------------------------
/activation.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 |
3 | import sublime
4 | import sublime_plugin
5 | import functools
6 |
7 | NO_SELECTION = -1
8 | PREFERENCES = 'Preferences.sublime-settings'
9 | THEMES = [ 'ayu-light', 'ayu-mirage', 'ayu-dark' ]
10 |
11 |
12 | def get_color_scheme():
13 | return sublime.load_settings(PREFERENCES).get('color_scheme', '')
14 |
15 |
16 | def set_color_scheme(path):
17 | return sublime.load_settings(PREFERENCES).set('color_scheme', path)
18 |
19 |
20 | def preview_color_scheme(path):
21 | set_color_scheme(path)
22 |
23 |
24 | def activate_color_scheme(path):
25 | set_color_scheme(path)
26 | commit()
27 |
28 |
29 | def revert_color_scheme(path):
30 | set_color_scheme(path)
31 |
32 |
33 | def get_ui_theme():
34 | return sublime.load_settings(PREFERENCES).get('theme', '')
35 |
36 |
37 | def set_ui_theme(path):
38 | return sublime.load_settings(PREFERENCES).set('theme', path)
39 |
40 |
41 | def preview_ui_theme(path):
42 | set_ui_theme(path)
43 |
44 |
45 | def activate_ui_theme(path):
46 | set_ui_theme(path)
47 | commit()
48 |
49 |
50 | def revert_ui_theme(path):
51 | set_ui_theme(path)
52 |
53 |
54 | def commit():
55 | return sublime.save_settings(PREFERENCES)
56 |
57 |
58 | class AyuActivateCommand(sublime_plugin.WindowCommand):
59 |
60 | def display_list(self, themes):
61 | self.themes = themes
62 | self.initial_color_scheme = get_color_scheme()
63 | self.initial_ui_theme = get_ui_theme()
64 |
65 | quick_list = [theme.replace("-", " ") for theme in self.themes]
66 | self.quick_list = quick_list
67 |
68 | self.window.show_quick_panel(quick_list, self.on_done, on_highlight=self.on_highlighted)
69 |
70 | def on_highlighted(self, index):
71 | preview_color_scheme(self._quick_list_to_scheme(index))
72 | preview_ui_theme(self._quick_list_to_theme(index))
73 |
74 | def on_done(self, index):
75 | if index is NO_SELECTION:
76 | revert_color_scheme(self.initial_color_scheme)
77 | revert_ui_theme(self.initial_ui_theme)
78 | return
79 |
80 | color_scheme = self._quick_list_to_scheme(index)
81 | activate_color_scheme(color_scheme)
82 |
83 | ui_theme = self._quick_list_to_theme(index)
84 | activate_ui_theme(ui_theme)
85 |
86 | def _quick_list_to_scheme(self, index):
87 | return 'Packages/ayu/%s.sublime-color-scheme' % THEMES[index]
88 |
89 | def _quick_list_to_theme(self, index):
90 | return '%s.sublime-theme' % THEMES[index]
91 |
92 | def run(self):
93 | self.display_list(THEMES)
94 |
--------------------------------------------------------------------------------
/assets/arrow-left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/arrow-left.png
--------------------------------------------------------------------------------
/assets/arrow-left@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/arrow-left@2x.png
--------------------------------------------------------------------------------
/assets/arrow-left@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/arrow-left@3x.png
--------------------------------------------------------------------------------
/assets/arrow-right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/arrow-right.png
--------------------------------------------------------------------------------
/assets/arrow-right@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/arrow-right@2x.png
--------------------------------------------------------------------------------
/assets/arrow-right@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/arrow-right@3x.png
--------------------------------------------------------------------------------
/assets/buffer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/buffer.png
--------------------------------------------------------------------------------
/assets/buffer@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/buffer@2x.png
--------------------------------------------------------------------------------
/assets/buffer@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/buffer@3x.png
--------------------------------------------------------------------------------
/assets/close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/close.png
--------------------------------------------------------------------------------
/assets/close@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/close@2x.png
--------------------------------------------------------------------------------
/assets/close@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/close@3x.png
--------------------------------------------------------------------------------
/assets/context.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/context.png
--------------------------------------------------------------------------------
/assets/context@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/context@2x.png
--------------------------------------------------------------------------------
/assets/context@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/context@3x.png
--------------------------------------------------------------------------------
/assets/dirty.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/dirty.png
--------------------------------------------------------------------------------
/assets/dirty@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/dirty@2x.png
--------------------------------------------------------------------------------
/assets/dirty@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/dirty@3x.png
--------------------------------------------------------------------------------
/assets/fold.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/fold.png
--------------------------------------------------------------------------------
/assets/fold@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/fold@2x.png
--------------------------------------------------------------------------------
/assets/fold@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/fold@3x.png
--------------------------------------------------------------------------------
/assets/folder-open-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/folder-open-1.png
--------------------------------------------------------------------------------
/assets/folder-open-1@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/folder-open-1@2x.png
--------------------------------------------------------------------------------
/assets/folder-open-1@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/folder-open-1@3x.png
--------------------------------------------------------------------------------
/assets/folder-open-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/folder-open-2.png
--------------------------------------------------------------------------------
/assets/folder-open-2@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/folder-open-2@2x.png
--------------------------------------------------------------------------------
/assets/folder-open-2@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/folder-open-2@3x.png
--------------------------------------------------------------------------------
/assets/folder-open-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/folder-open-3.png
--------------------------------------------------------------------------------
/assets/folder-open-3@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/folder-open-3@2x.png
--------------------------------------------------------------------------------
/assets/folder-open-3@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/folder-open-3@3x.png
--------------------------------------------------------------------------------
/assets/folder-open-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/folder-open-4.png
--------------------------------------------------------------------------------
/assets/folder-open-4@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/folder-open-4@2x.png
--------------------------------------------------------------------------------
/assets/folder-open-4@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/folder-open-4@3x.png
--------------------------------------------------------------------------------
/assets/folder-open-5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/folder-open-5.png
--------------------------------------------------------------------------------
/assets/folder-open-5@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/folder-open-5@2x.png
--------------------------------------------------------------------------------
/assets/folder-open-5@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/folder-open-5@3x.png
--------------------------------------------------------------------------------
/assets/folder-open-6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/folder-open-6.png
--------------------------------------------------------------------------------
/assets/folder-open-6@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/folder-open-6@2x.png
--------------------------------------------------------------------------------
/assets/folder-open-6@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/folder-open-6@3x.png
--------------------------------------------------------------------------------
/assets/folder-open.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/folder-open.png
--------------------------------------------------------------------------------
/assets/folder-open@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/folder-open@1x.png
--------------------------------------------------------------------------------
/assets/folder-open@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/folder-open@2x.png
--------------------------------------------------------------------------------
/assets/folder-symlink.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/folder-symlink.png
--------------------------------------------------------------------------------
/assets/folder-symlink@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/folder-symlink@2x.png
--------------------------------------------------------------------------------
/assets/folder-symlink@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/folder-symlink@3x.png
--------------------------------------------------------------------------------
/assets/folder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/folder.png
--------------------------------------------------------------------------------
/assets/folder@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/folder@2x.png
--------------------------------------------------------------------------------
/assets/folder@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/folder@3x.png
--------------------------------------------------------------------------------
/assets/gitignore.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/gitignore.png
--------------------------------------------------------------------------------
/assets/gitignore@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/gitignore@2x.png
--------------------------------------------------------------------------------
/assets/gitignore@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/gitignore@3x.png
--------------------------------------------------------------------------------
/assets/highlight.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/highlight.png
--------------------------------------------------------------------------------
/assets/highlight@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/highlight@2x.png
--------------------------------------------------------------------------------
/assets/highlight@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/highlight@3x.png
--------------------------------------------------------------------------------
/assets/input-bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/input-bg.png
--------------------------------------------------------------------------------
/assets/input-bg@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/input-bg@2x.png
--------------------------------------------------------------------------------
/assets/input-bg@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/input-bg@3x.png
--------------------------------------------------------------------------------
/assets/input-border.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/input-border.png
--------------------------------------------------------------------------------
/assets/input-border@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/input-border@2x.png
--------------------------------------------------------------------------------
/assets/input-border@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/input-border@3x.png
--------------------------------------------------------------------------------
/assets/input-command.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/input-command.png
--------------------------------------------------------------------------------
/assets/input-command@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/input-command@2x.png
--------------------------------------------------------------------------------
/assets/input-command@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/input-command@3x.png
--------------------------------------------------------------------------------
/assets/input-prompt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/input-prompt.png
--------------------------------------------------------------------------------
/assets/input-prompt@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/input-prompt@2x.png
--------------------------------------------------------------------------------
/assets/input-prompt@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/input-prompt@3x.png
--------------------------------------------------------------------------------
/assets/input-search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/input-search.png
--------------------------------------------------------------------------------
/assets/input-search@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/input-search@2x.png
--------------------------------------------------------------------------------
/assets/input-search@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/input-search@3x.png
--------------------------------------------------------------------------------
/assets/input-symbol.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/input-symbol.png
--------------------------------------------------------------------------------
/assets/input-symbol@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/input-symbol@2x.png
--------------------------------------------------------------------------------
/assets/input-symbol@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/input-symbol@3x.png
--------------------------------------------------------------------------------
/assets/input-word.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/input-word.png
--------------------------------------------------------------------------------
/assets/input-word@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/input-word@2x.png
--------------------------------------------------------------------------------
/assets/input-word@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/input-word@3x.png
--------------------------------------------------------------------------------
/assets/inselection.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/inselection.png
--------------------------------------------------------------------------------
/assets/inselection@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/inselection@2x.png
--------------------------------------------------------------------------------
/assets/inselection@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/inselection@3x.png
--------------------------------------------------------------------------------
/assets/kind-bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/kind-bg.png
--------------------------------------------------------------------------------
/assets/kind-bg@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/kind-bg@2x.png
--------------------------------------------------------------------------------
/assets/kind-bg@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/kind-bg@3x.png
--------------------------------------------------------------------------------
/assets/kind-border.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/kind-border.png
--------------------------------------------------------------------------------
/assets/kind-border@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/kind-border@2x.png
--------------------------------------------------------------------------------
/assets/kind-border@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/kind-border@3x.png
--------------------------------------------------------------------------------
/assets/matchcase.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/matchcase.png
--------------------------------------------------------------------------------
/assets/matchcase@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/matchcase@2x.png
--------------------------------------------------------------------------------
/assets/matchcase@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/matchcase@3x.png
--------------------------------------------------------------------------------
/assets/overflow-menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/overflow-menu.png
--------------------------------------------------------------------------------
/assets/overflow-menu@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/overflow-menu@2x.png
--------------------------------------------------------------------------------
/assets/overflow-menu@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/overflow-menu@3x.png
--------------------------------------------------------------------------------
/assets/overlay-bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/overlay-bg.png
--------------------------------------------------------------------------------
/assets/overlay-bg@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/overlay-bg@2x.png
--------------------------------------------------------------------------------
/assets/overlay-bg@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/overlay-bg@3x.png
--------------------------------------------------------------------------------
/assets/overlay-border.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/overlay-border.png
--------------------------------------------------------------------------------
/assets/overlay-border@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/overlay-border@2x.png
--------------------------------------------------------------------------------
/assets/overlay-border@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/overlay-border@3x.png
--------------------------------------------------------------------------------
/assets/overlay-shadow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/overlay-shadow.png
--------------------------------------------------------------------------------
/assets/overlay-shadow@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/overlay-shadow@2x.png
--------------------------------------------------------------------------------
/assets/overlay-shadow@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/overlay-shadow@3x.png
--------------------------------------------------------------------------------
/assets/popup-bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/popup-bg.png
--------------------------------------------------------------------------------
/assets/popup-bg@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/popup-bg@2x.png
--------------------------------------------------------------------------------
/assets/popup-bg@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/popup-bg@3x.png
--------------------------------------------------------------------------------
/assets/popup-border.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/popup-border.png
--------------------------------------------------------------------------------
/assets/popup-border@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/popup-border@2x.png
--------------------------------------------------------------------------------
/assets/popup-border@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/popup-border@3x.png
--------------------------------------------------------------------------------
/assets/popup-shadow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/popup-shadow.png
--------------------------------------------------------------------------------
/assets/popup-shadow@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/popup-shadow@2x.png
--------------------------------------------------------------------------------
/assets/popup-shadow@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/popup-shadow@3x.png
--------------------------------------------------------------------------------
/assets/regex.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/regex.png
--------------------------------------------------------------------------------
/assets/regex@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/regex@2x.png
--------------------------------------------------------------------------------
/assets/regex@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/regex@3x.png
--------------------------------------------------------------------------------
/assets/replace-preserve-case.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/replace-preserve-case.png
--------------------------------------------------------------------------------
/assets/replace-preserve-case@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/replace-preserve-case@2x.png
--------------------------------------------------------------------------------
/assets/replace-preserve-case@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/replace-preserve-case@3x.png
--------------------------------------------------------------------------------
/assets/reverse.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/reverse.png
--------------------------------------------------------------------------------
/assets/reverse@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/reverse@2x.png
--------------------------------------------------------------------------------
/assets/reverse@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/reverse@3x.png
--------------------------------------------------------------------------------
/assets/scrollbar-horizontal-wide.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/scrollbar-horizontal-wide.png
--------------------------------------------------------------------------------
/assets/scrollbar-horizontal-wide@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/scrollbar-horizontal-wide@2x.png
--------------------------------------------------------------------------------
/assets/scrollbar-horizontal-wide@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/scrollbar-horizontal-wide@3x.png
--------------------------------------------------------------------------------
/assets/scrollbar-horizontal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/scrollbar-horizontal.png
--------------------------------------------------------------------------------
/assets/scrollbar-horizontal@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/scrollbar-horizontal@2x.png
--------------------------------------------------------------------------------
/assets/scrollbar-horizontal@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/scrollbar-horizontal@3x.png
--------------------------------------------------------------------------------
/assets/scrollbar-vertical-wide.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/scrollbar-vertical-wide.png
--------------------------------------------------------------------------------
/assets/scrollbar-vertical-wide@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/scrollbar-vertical-wide@2x.png
--------------------------------------------------------------------------------
/assets/scrollbar-vertical-wide@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/scrollbar-vertical-wide@3x.png
--------------------------------------------------------------------------------
/assets/scrollbar-vertical.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/scrollbar-vertical.png
--------------------------------------------------------------------------------
/assets/scrollbar-vertical@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/scrollbar-vertical@2x.png
--------------------------------------------------------------------------------
/assets/scrollbar-vertical@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/scrollbar-vertical@3x.png
--------------------------------------------------------------------------------
/assets/separator-bottom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/separator-bottom.png
--------------------------------------------------------------------------------
/assets/separator-bottom@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/separator-bottom@2x.png
--------------------------------------------------------------------------------
/assets/separator-bottom@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/separator-bottom@3x.png
--------------------------------------------------------------------------------
/assets/separator-right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/separator-right.png
--------------------------------------------------------------------------------
/assets/separator-right@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/separator-right@2x.png
--------------------------------------------------------------------------------
/assets/separator-right@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/separator-right@3x.png
--------------------------------------------------------------------------------
/assets/separator-sidebar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/separator-sidebar.png
--------------------------------------------------------------------------------
/assets/separator-sidebar@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/separator-sidebar@2x.png
--------------------------------------------------------------------------------
/assets/separator-sidebar@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/separator-sidebar@3x.png
--------------------------------------------------------------------------------
/assets/separator-top.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/separator-top.png
--------------------------------------------------------------------------------
/assets/separator-top@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/separator-top@2x.png
--------------------------------------------------------------------------------
/assets/separator-top@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/separator-top@3x.png
--------------------------------------------------------------------------------
/assets/sidebar-title.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/sidebar-title.png
--------------------------------------------------------------------------------
/assets/sidebar-title@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/sidebar-title@2x.png
--------------------------------------------------------------------------------
/assets/sidebar-title@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/sidebar-title@3x.png
--------------------------------------------------------------------------------
/assets/sidebar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/sidebar.png
--------------------------------------------------------------------------------
/assets/sidebar@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/sidebar@2x.png
--------------------------------------------------------------------------------
/assets/sidebar@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/sidebar@3x.png
--------------------------------------------------------------------------------
/assets/spinner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/spinner.png
--------------------------------------------------------------------------------
/assets/spinner1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/spinner1.png
--------------------------------------------------------------------------------
/assets/spinner10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/spinner10.png
--------------------------------------------------------------------------------
/assets/spinner10@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/spinner10@2x.png
--------------------------------------------------------------------------------
/assets/spinner10@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/spinner10@3x.png
--------------------------------------------------------------------------------
/assets/spinner11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/spinner11.png
--------------------------------------------------------------------------------
/assets/spinner11@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/spinner11@2x.png
--------------------------------------------------------------------------------
/assets/spinner11@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/spinner11@3x.png
--------------------------------------------------------------------------------
/assets/spinner1@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/spinner1@2x.png
--------------------------------------------------------------------------------
/assets/spinner1@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/spinner1@3x.png
--------------------------------------------------------------------------------
/assets/spinner2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/spinner2.png
--------------------------------------------------------------------------------
/assets/spinner2@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/spinner2@2x.png
--------------------------------------------------------------------------------
/assets/spinner2@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/spinner2@3x.png
--------------------------------------------------------------------------------
/assets/spinner3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/spinner3.png
--------------------------------------------------------------------------------
/assets/spinner3@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/spinner3@2x.png
--------------------------------------------------------------------------------
/assets/spinner3@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/spinner3@3x.png
--------------------------------------------------------------------------------
/assets/spinner4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/spinner4.png
--------------------------------------------------------------------------------
/assets/spinner4@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/spinner4@2x.png
--------------------------------------------------------------------------------
/assets/spinner4@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/spinner4@3x.png
--------------------------------------------------------------------------------
/assets/spinner5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/spinner5.png
--------------------------------------------------------------------------------
/assets/spinner5@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/spinner5@2x.png
--------------------------------------------------------------------------------
/assets/spinner5@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/spinner5@3x.png
--------------------------------------------------------------------------------
/assets/spinner6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/spinner6.png
--------------------------------------------------------------------------------
/assets/spinner6@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/spinner6@2x.png
--------------------------------------------------------------------------------
/assets/spinner6@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/spinner6@3x.png
--------------------------------------------------------------------------------
/assets/spinner7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/spinner7.png
--------------------------------------------------------------------------------
/assets/spinner7@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/spinner7@2x.png
--------------------------------------------------------------------------------
/assets/spinner7@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/spinner7@3x.png
--------------------------------------------------------------------------------
/assets/spinner8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/spinner8.png
--------------------------------------------------------------------------------
/assets/spinner8@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/spinner8@2x.png
--------------------------------------------------------------------------------
/assets/spinner8@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/spinner8@3x.png
--------------------------------------------------------------------------------
/assets/spinner9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/spinner9.png
--------------------------------------------------------------------------------
/assets/spinner9@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/spinner9@2x.png
--------------------------------------------------------------------------------
/assets/spinner9@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/spinner9@3x.png
--------------------------------------------------------------------------------
/assets/spinner@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/spinner@2x.png
--------------------------------------------------------------------------------
/assets/spinner@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/spinner@3x.png
--------------------------------------------------------------------------------
/assets/switch-panel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/switch-panel.png
--------------------------------------------------------------------------------
/assets/switch-panel@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/switch-panel@2x.png
--------------------------------------------------------------------------------
/assets/switch-panel@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/switch-panel@3x.png
--------------------------------------------------------------------------------
/assets/tab-border.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/tab-border.png
--------------------------------------------------------------------------------
/assets/tab-border@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/tab-border@2x.png
--------------------------------------------------------------------------------
/assets/tab-border@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/tab-border@3x.png
--------------------------------------------------------------------------------
/assets/tab.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/tab.png
--------------------------------------------------------------------------------
/assets/tab@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/tab@2x.png
--------------------------------------------------------------------------------
/assets/tab@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/tab@3x.png
--------------------------------------------------------------------------------
/assets/tabset-border.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/tabset-border.png
--------------------------------------------------------------------------------
/assets/tabset-border@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/tabset-border@2x.png
--------------------------------------------------------------------------------
/assets/tabset-border@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/tabset-border@3x.png
--------------------------------------------------------------------------------
/assets/tree-highlight-border.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/tree-highlight-border.png
--------------------------------------------------------------------------------
/assets/tree-highlight-border@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/tree-highlight-border@2x.png
--------------------------------------------------------------------------------
/assets/tree-highlight-border@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/tree-highlight-border@3x.png
--------------------------------------------------------------------------------
/assets/tree-highlight.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/tree-highlight.png
--------------------------------------------------------------------------------
/assets/tree-highlight@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/tree-highlight@2x.png
--------------------------------------------------------------------------------
/assets/tree-highlight@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/tree-highlight@3x.png
--------------------------------------------------------------------------------
/assets/unfold.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/unfold.png
--------------------------------------------------------------------------------
/assets/unfold@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/unfold@2x.png
--------------------------------------------------------------------------------
/assets/unfold@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/unfold@3x.png
--------------------------------------------------------------------------------
/assets/word.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/word.png
--------------------------------------------------------------------------------
/assets/word@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/word@2x.png
--------------------------------------------------------------------------------
/assets/word@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/word@3x.png
--------------------------------------------------------------------------------
/assets/wrap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/wrap.png
--------------------------------------------------------------------------------
/assets/wrap@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/wrap@2x.png
--------------------------------------------------------------------------------
/assets/wrap@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/assets/wrap@3x.png
--------------------------------------------------------------------------------
/ayu-dark.sublime-color-scheme:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ayu",
3 | "globals": {
4 | "background": "#10141c",
5 | "foreground": "#bfbdb6",
6 | "invisibles": "#bfbdb64d",
7 | "caret": "#e6b450",
8 | "block_caret": "#e6b4504d",
9 | "line_highlight": "#161a24",
10 | "accent": "#e6b450",
11 | "popup_css": "\n html, body {\n background-color: #141821;\n color: #bfbdb6;\n --mdpopups-font-mono: \"PragmataPro Mono Liga\", \"sf mono\", Consolas, \"Liberation Mono\", Menlo, Courier, monospace;\n --mdpopups-bg: #141821;\n --mdpopups-link: #59c2ff;\n }\n body {\n padding: 1px 3px;\n }\n a {\n color: rgba(89,194,255, .7);\n }\n ",
12 | "gutter": "#10141c",
13 | "gutter_foreground": "#6c738099",
14 | "line_diff_width": "2",
15 | "line_diff_added": "#7fd962b3",
16 | "line_diff_modified": "#73b8ffb3",
17 | "line_diff_deleted": "#f26d78b3",
18 | "selection": "#3388ff40",
19 | "selection_border": "#3388ff40",
20 | "selection_border_width": "1",
21 | "inactive_selection": "#80b5ff26",
22 | "inactive_selection_border": "#80b5ff26",
23 | "selection_corner_style": "round",
24 | "selection_corner_radius": "4",
25 | "highlight": "#e6b45066",
26 | "find_highlight": "#e6b450",
27 | "find_highlight_foreground": "#10141c",
28 | "guide": "#6c73804d",
29 | "active_guide": "#6c738080",
30 | "stack_guide": "#6c738066",
31 | "shadow": "#10141c4d",
32 | "shadow_width": "3"
33 | },
34 | "rules": [
35 | {
36 | "name": "Comment",
37 | "scope": "comment",
38 | "font_style": "italic",
39 | "foreground": "#acb6bf8c"
40 | },
41 | {
42 | "name": "String",
43 | "scope": "string - meta.template, constant.other.symbol, string.quoted",
44 | "foreground": "#aad94c"
45 | },
46 | {
47 | "name": "Regular Expressions and Escape Characters",
48 | "scope": "string.regexp, constant.character, constant.other",
49 | "foreground": "#95e6cb"
50 | },
51 | {
52 | "name": "Number",
53 | "scope": "constant.numeric",
54 | "foreground": "#e6b450"
55 | },
56 | {
57 | "name": "Built-in constants",
58 | "scope": "constant.language",
59 | "foreground": "#e6b450"
60 | },
61 | {
62 | "name": "Constants",
63 | "scope": "meta.constant, entity.name.constant",
64 | "foreground": "#d2a6ff"
65 | },
66 | {
67 | "name": "Variable",
68 | "scope": "variable",
69 | "foreground": "#bfbdb6"
70 | },
71 | {
72 | "name": "Member Variable",
73 | "scope": "variable.member",
74 | "foreground": "#f07178"
75 | },
76 | {
77 | "name": "Language variable",
78 | "scope": "variable.language",
79 | "font_style": "italic",
80 | "foreground": "#39bae6"
81 | },
82 | {
83 | "name": "Storage",
84 | "scope": "storage, storage.type.keyword",
85 | "foreground": "#ff8f40"
86 | },
87 | {
88 | "name": "Keyword",
89 | "scope": "keyword",
90 | "foreground": "#ff8f40"
91 | },
92 | {
93 | "name": "Java keyword fixes",
94 | "scope": "source.java meta.class.java meta.class.identifier.java storage.type.java",
95 | "foreground": "#ff8f40"
96 | },
97 | {
98 | "name": "Operators",
99 | "scope": "keyword.operator",
100 | "foreground": "#f29668"
101 | },
102 | {
103 | "name": "Separators like ; or ,",
104 | "scope": "punctuation.separator, punctuation.terminator",
105 | "foreground": "#bfbdb6b3"
106 | },
107 | {
108 | "name": "Punctuation",
109 | "scope": "punctuation.section",
110 | "foreground": "#bfbdb6"
111 | },
112 | {
113 | "name": "Accessor",
114 | "scope": "punctuation.accessor",
115 | "foreground": "#f29668"
116 | },
117 | {
118 | "name": "JavaScript/TypeScript interpolation punctuation",
119 | "scope": "punctuation.definition.template-expression",
120 | "foreground": "#ff8f40"
121 | },
122 | {
123 | "name": "Ruby interpolation punctuation",
124 | "scope": "punctuation.section.interpolation",
125 | "foreground": "#ff8f40"
126 | },
127 | {
128 | "name": "Types fixes",
129 | "scope": "source.java storage.type, source.haskell storage.type, source.c storage.type, source.zig storage.type",
130 | "foreground": "#59c2ff"
131 | },
132 | {
133 | "name": "Inherited class type",
134 | "scope": "entity.other.inherited-class",
135 | "foreground": "#39bae6"
136 | },
137 | {
138 | "name": "Lambda arrow",
139 | "scope": "storage.type.function",
140 | "foreground": "#ff8f40"
141 | },
142 | {
143 | "name": "Java primitive variable types",
144 | "scope": "source.java storage.type.primitive",
145 | "foreground": "#39bae6"
146 | },
147 | {
148 | "name": "Function name",
149 | "scope": "entity.name.function",
150 | "foreground": "#ffb454"
151 | },
152 | {
153 | "name": "Function arguments",
154 | "scope": "variable.parameter, meta.parameter",
155 | "foreground": "#d2a6ff"
156 | },
157 | {
158 | "name": "Function call",
159 | "scope": "variable.function, variable.annotation, meta.function-call.generic, support.function.go",
160 | "foreground": "#ffb454"
161 | },
162 | {
163 | "name": "Library function",
164 | "scope": "support.function, support.macro",
165 | "foreground": "#f07178"
166 | },
167 | {
168 | "name": "Imports and packages",
169 | "scope": "entity.name.import, entity.name.package",
170 | "foreground": "#aad94c"
171 | },
172 | {
173 | "name": "Entity name",
174 | "scope": "entity.name, source.js meta.function-call.constructor variable.type",
175 | "foreground": "#59c2ff"
176 | },
177 | {
178 | "name": "Tag",
179 | "scope": "entity.name.tag, meta.tag.sgml",
180 | "foreground": "#39bae6"
181 | },
182 | {
183 | "name": "Tag start/end",
184 | "scope": "punctuation.definition.tag.end, punctuation.definition.tag.begin, punctuation.definition.tag",
185 | "foreground": "#39bae680"
186 | },
187 | {
188 | "name": "Tag attribute",
189 | "scope": "entity.other.attribute-name",
190 | "foreground": "#ffb454"
191 | },
192 | {
193 | "name": "Library constant",
194 | "scope": "support.constant",
195 | "font_style": "italic",
196 | "foreground": "#f29668"
197 | },
198 | {
199 | "name": "Library class/type",
200 | "scope": "support.type, support.class, source.go storage.type",
201 | "foreground": "#39bae6"
202 | },
203 | {
204 | "name": "Decorators/annotation",
205 | "scope": "meta.decorator variable.other, meta.decorator punctuation.decorator, storage.type.annotation, variable.annotation, punctuation.definition.annotation",
206 | "foreground": "#e6b673"
207 | },
208 | {
209 | "name": "Invalid",
210 | "scope": "invalid",
211 | "foreground": "#d95757"
212 | },
213 | {
214 | "name": "diff.header",
215 | "scope": "meta.diff, meta.diff.header",
216 | "foreground": "#c594c5"
217 | },
218 | {
219 | "name": "Ruby class methods",
220 | "scope": "source.ruby variable.other.readwrite",
221 | "foreground": "#ffb454"
222 | },
223 | {
224 | "name": "CSS tag names",
225 | "scope": "source.css entity.name.tag, source.sass entity.name.tag, source.scss entity.name.tag, source.less entity.name.tag, source.stylus entity.name.tag",
226 | "foreground": "#59c2ff"
227 | },
228 | {
229 | "name": "CSS browser prefix",
230 | "scope": "source.css support.type, source.sass support.type, source.scss support.type, source.less support.type, source.stylus support.type",
231 | "foreground": "#acb6bf8c"
232 | },
233 | {
234 | "name": "CSS Properties",
235 | "scope": "support.type.property-name",
236 | "font_style": "normal",
237 | "foreground": "#39bae6"
238 | },
239 | {
240 | "name": "Search Results Nums",
241 | "scope": "constant.numeric.line-number.find-in-files - match",
242 | "foreground": "#acb6bf8c"
243 | },
244 | {
245 | "name": "Search Results Match Nums",
246 | "scope": "constant.numeric.line-number.match",
247 | "foreground": "#ff8f40"
248 | },
249 | {
250 | "name": "Search Results Lines",
251 | "scope": "entity.name.filename.find-in-files",
252 | "foreground": "#aad94c"
253 | },
254 | {
255 | "scope": "message.error",
256 | "foreground": "#d95757"
257 | },
258 | {
259 | "name": "Markup heading",
260 | "scope": "markup.heading, markup.heading entity.name",
261 | "font_style": "bold",
262 | "foreground": "#aad94c"
263 | },
264 | {
265 | "name": "Markup links",
266 | "scope": "markup.underline.link, string.other.link",
267 | "foreground": "#59c2ff"
268 | },
269 | {
270 | "name": "Markup Italic",
271 | "scope": "markup.italic",
272 | "font_style": "italic",
273 | "foreground": "#f07178"
274 | },
275 | {
276 | "name": "Markup Bold",
277 | "scope": "markup.bold",
278 | "font_style": "bold",
279 | "foreground": "#f07178"
280 | },
281 | {
282 | "name": "Markup Bold/italic",
283 | "scope": "markup.italic markup.bold, markup.bold markup.italic",
284 | "font_style": "bold italic"
285 | },
286 | {
287 | "name": "Markup Code",
288 | "scope": "markup.raw",
289 | "background": "#bfbdb605"
290 | },
291 | {
292 | "name": "Markup Code Inline",
293 | "scope": "markup.raw.inline",
294 | "background": "#bfbdb60f"
295 | },
296 | {
297 | "name": "Markdown Separator",
298 | "scope": "meta.separator",
299 | "font_style": "bold",
300 | "background": "#bfbdb60f",
301 | "foreground": "#acb6bf8c"
302 | },
303 | {
304 | "name": "Markup Blockquote",
305 | "scope": "markup.quote",
306 | "foreground": "#95e6cb",
307 | "font_style": "italic"
308 | },
309 | {
310 | "name": "Markup List Bullet",
311 | "scope": "markup.list punctuation.definition.list.begin",
312 | "foreground": "#ffb454"
313 | },
314 | {
315 | "name": "Markup added",
316 | "scope": "markup.inserted",
317 | "foreground": "#7fd962"
318 | },
319 | {
320 | "name": "Markup modified",
321 | "scope": "markup.changed",
322 | "foreground": "#73b8ff"
323 | },
324 | {
325 | "name": "Markup removed",
326 | "scope": "markup.deleted",
327 | "foreground": "#f26d78"
328 | },
329 | {
330 | "name": "Markup Strike",
331 | "scope": "markup.strike",
332 | "foreground": "#e6b673"
333 | },
334 | {
335 | "name": "Markup Table",
336 | "scope": "markup.table",
337 | "background": "#bfbdb60f",
338 | "foreground": "#39bae6"
339 | },
340 | {
341 | "name": "Markup Raw Inline",
342 | "scope": "text.html.markdown markup.inline.raw",
343 | "foreground": "#f29668"
344 | },
345 | {
346 | "name": "Markdown - Line Break",
347 | "scope": "text.html.markdown meta.dummy.line-break",
348 | "background": "#acb6bf8c",
349 | "foreground": "#acb6bf8c"
350 | },
351 | {
352 | "name": "Markdown - Raw Block Fenced",
353 | "scope": "punctuation.definition.markdown",
354 | "background": "#bfbdb6",
355 | "foreground": "#acb6bf8c"
356 | }
357 | ]
358 | }
--------------------------------------------------------------------------------
/ayu-light.sublime-color-scheme:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ayu",
3 | "globals": {
4 | "background": "#fcfcfc",
5 | "foreground": "#5c6166",
6 | "invisibles": "#5c61664d",
7 | "caret": "#ffaa33",
8 | "block_caret": "#ffaa334d",
9 | "line_highlight": "#8a91991a",
10 | "accent": "#ffaa33",
11 | "popup_css": "\n html, body {\n background-color: #ffffff;\n color: #5c6166;\n --mdpopups-font-mono: \"PragmataPro Mono Liga\", \"sf mono\", Consolas, \"Liberation Mono\", Menlo, Courier, monospace;\n --mdpopups-bg: #ffffff;\n --mdpopups-link: #22a4e6;\n }\n body {\n padding: 1px 3px;\n }\n a {\n color: rgba(34,164,230, .7);\n }\n ",
12 | "gutter": "#fcfcfc",
13 | "gutter_foreground": "#8a919966",
14 | "line_diff_width": "2",
15 | "line_diff_added": "#6cbf43b3",
16 | "line_diff_modified": "#478accb3",
17 | "line_diff_deleted": "#ff7383b3",
18 | "selection": "#036dd626",
19 | "selection_border": "#036dd626",
20 | "selection_border_width": "1",
21 | "inactive_selection": "#5696d61a",
22 | "inactive_selection_border": "#5696d61a",
23 | "selection_corner_style": "round",
24 | "selection_corner_radius": "4",
25 | "highlight": "#ffaa3366",
26 | "find_highlight": "#ffaa33",
27 | "find_highlight_foreground": "#fcfcfc",
28 | "guide": "#8a91992e",
29 | "active_guide": "#8a919959",
30 | "stack_guide": "#8a919966",
31 | "shadow": "#fcfcfc4d",
32 | "shadow_width": "3"
33 | },
34 | "rules": [
35 | {
36 | "name": "Comment",
37 | "scope": "comment",
38 | "font_style": "italic",
39 | "foreground": "#787b8099"
40 | },
41 | {
42 | "name": "String",
43 | "scope": "string - meta.template, constant.other.symbol, string.quoted",
44 | "foreground": "#86b300"
45 | },
46 | {
47 | "name": "Regular Expressions and Escape Characters",
48 | "scope": "string.regexp, constant.character, constant.other",
49 | "foreground": "#4cbf99"
50 | },
51 | {
52 | "name": "Number",
53 | "scope": "constant.numeric",
54 | "foreground": "#ffaa33"
55 | },
56 | {
57 | "name": "Built-in constants",
58 | "scope": "constant.language",
59 | "foreground": "#ffaa33"
60 | },
61 | {
62 | "name": "Constants",
63 | "scope": "meta.constant, entity.name.constant",
64 | "foreground": "#a37acc"
65 | },
66 | {
67 | "name": "Variable",
68 | "scope": "variable",
69 | "foreground": "#5c6166"
70 | },
71 | {
72 | "name": "Member Variable",
73 | "scope": "variable.member",
74 | "foreground": "#f07171"
75 | },
76 | {
77 | "name": "Language variable",
78 | "scope": "variable.language",
79 | "font_style": "italic",
80 | "foreground": "#55b4d4"
81 | },
82 | {
83 | "name": "Storage",
84 | "scope": "storage, storage.type.keyword",
85 | "foreground": "#fa8d3e"
86 | },
87 | {
88 | "name": "Keyword",
89 | "scope": "keyword",
90 | "foreground": "#fa8d3e"
91 | },
92 | {
93 | "name": "Java keyword fixes",
94 | "scope": "source.java meta.class.java meta.class.identifier.java storage.type.java",
95 | "foreground": "#fa8d3e"
96 | },
97 | {
98 | "name": "Operators",
99 | "scope": "keyword.operator",
100 | "foreground": "#ed9366"
101 | },
102 | {
103 | "name": "Separators like ; or ,",
104 | "scope": "punctuation.separator, punctuation.terminator",
105 | "foreground": "#5c6166b3"
106 | },
107 | {
108 | "name": "Punctuation",
109 | "scope": "punctuation.section",
110 | "foreground": "#5c6166"
111 | },
112 | {
113 | "name": "Accessor",
114 | "scope": "punctuation.accessor",
115 | "foreground": "#ed9366"
116 | },
117 | {
118 | "name": "JavaScript/TypeScript interpolation punctuation",
119 | "scope": "punctuation.definition.template-expression",
120 | "foreground": "#fa8d3e"
121 | },
122 | {
123 | "name": "Ruby interpolation punctuation",
124 | "scope": "punctuation.section.interpolation",
125 | "foreground": "#fa8d3e"
126 | },
127 | {
128 | "name": "Types fixes",
129 | "scope": "source.java storage.type, source.haskell storage.type, source.c storage.type, source.zig storage.type",
130 | "foreground": "#22a4e6"
131 | },
132 | {
133 | "name": "Inherited class type",
134 | "scope": "entity.other.inherited-class",
135 | "foreground": "#55b4d4"
136 | },
137 | {
138 | "name": "Lambda arrow",
139 | "scope": "storage.type.function",
140 | "foreground": "#fa8d3e"
141 | },
142 | {
143 | "name": "Java primitive variable types",
144 | "scope": "source.java storage.type.primitive",
145 | "foreground": "#55b4d4"
146 | },
147 | {
148 | "name": "Function name",
149 | "scope": "entity.name.function",
150 | "foreground": "#f2ae49"
151 | },
152 | {
153 | "name": "Function arguments",
154 | "scope": "variable.parameter, meta.parameter",
155 | "foreground": "#a37acc"
156 | },
157 | {
158 | "name": "Function call",
159 | "scope": "variable.function, variable.annotation, meta.function-call.generic, support.function.go",
160 | "foreground": "#f2ae49"
161 | },
162 | {
163 | "name": "Library function",
164 | "scope": "support.function, support.macro",
165 | "foreground": "#f07171"
166 | },
167 | {
168 | "name": "Imports and packages",
169 | "scope": "entity.name.import, entity.name.package",
170 | "foreground": "#86b300"
171 | },
172 | {
173 | "name": "Entity name",
174 | "scope": "entity.name, source.js meta.function-call.constructor variable.type",
175 | "foreground": "#22a4e6"
176 | },
177 | {
178 | "name": "Tag",
179 | "scope": "entity.name.tag, meta.tag.sgml",
180 | "foreground": "#55b4d4"
181 | },
182 | {
183 | "name": "Tag start/end",
184 | "scope": "punctuation.definition.tag.end, punctuation.definition.tag.begin, punctuation.definition.tag",
185 | "foreground": "#55b4d480"
186 | },
187 | {
188 | "name": "Tag attribute",
189 | "scope": "entity.other.attribute-name",
190 | "foreground": "#f2ae49"
191 | },
192 | {
193 | "name": "Library constant",
194 | "scope": "support.constant",
195 | "font_style": "italic",
196 | "foreground": "#ed9366"
197 | },
198 | {
199 | "name": "Library class/type",
200 | "scope": "support.type, support.class, source.go storage.type",
201 | "foreground": "#55b4d4"
202 | },
203 | {
204 | "name": "Decorators/annotation",
205 | "scope": "meta.decorator variable.other, meta.decorator punctuation.decorator, storage.type.annotation, variable.annotation, punctuation.definition.annotation",
206 | "foreground": "#e6b673"
207 | },
208 | {
209 | "name": "Invalid",
210 | "scope": "invalid",
211 | "foreground": "#e65050"
212 | },
213 | {
214 | "name": "diff.header",
215 | "scope": "meta.diff, meta.diff.header",
216 | "foreground": "#c594c5"
217 | },
218 | {
219 | "name": "Ruby class methods",
220 | "scope": "source.ruby variable.other.readwrite",
221 | "foreground": "#f2ae49"
222 | },
223 | {
224 | "name": "CSS tag names",
225 | "scope": "source.css entity.name.tag, source.sass entity.name.tag, source.scss entity.name.tag, source.less entity.name.tag, source.stylus entity.name.tag",
226 | "foreground": "#22a4e6"
227 | },
228 | {
229 | "name": "CSS browser prefix",
230 | "scope": "source.css support.type, source.sass support.type, source.scss support.type, source.less support.type, source.stylus support.type",
231 | "foreground": "#787b8099"
232 | },
233 | {
234 | "name": "CSS Properties",
235 | "scope": "support.type.property-name",
236 | "font_style": "normal",
237 | "foreground": "#55b4d4"
238 | },
239 | {
240 | "name": "Search Results Nums",
241 | "scope": "constant.numeric.line-number.find-in-files - match",
242 | "foreground": "#787b8099"
243 | },
244 | {
245 | "name": "Search Results Match Nums",
246 | "scope": "constant.numeric.line-number.match",
247 | "foreground": "#fa8d3e"
248 | },
249 | {
250 | "name": "Search Results Lines",
251 | "scope": "entity.name.filename.find-in-files",
252 | "foreground": "#86b300"
253 | },
254 | {
255 | "scope": "message.error",
256 | "foreground": "#e65050"
257 | },
258 | {
259 | "name": "Markup heading",
260 | "scope": "markup.heading, markup.heading entity.name",
261 | "font_style": "bold",
262 | "foreground": "#86b300"
263 | },
264 | {
265 | "name": "Markup links",
266 | "scope": "markup.underline.link, string.other.link",
267 | "foreground": "#22a4e6"
268 | },
269 | {
270 | "name": "Markup Italic",
271 | "scope": "markup.italic",
272 | "font_style": "italic",
273 | "foreground": "#f07171"
274 | },
275 | {
276 | "name": "Markup Bold",
277 | "scope": "markup.bold",
278 | "font_style": "bold",
279 | "foreground": "#f07171"
280 | },
281 | {
282 | "name": "Markup Bold/italic",
283 | "scope": "markup.italic markup.bold, markup.bold markup.italic",
284 | "font_style": "bold italic"
285 | },
286 | {
287 | "name": "Markup Code",
288 | "scope": "markup.raw",
289 | "background": "#5c616605"
290 | },
291 | {
292 | "name": "Markup Code Inline",
293 | "scope": "markup.raw.inline",
294 | "background": "#5c61660f"
295 | },
296 | {
297 | "name": "Markdown Separator",
298 | "scope": "meta.separator",
299 | "font_style": "bold",
300 | "background": "#5c61660f",
301 | "foreground": "#787b8099"
302 | },
303 | {
304 | "name": "Markup Blockquote",
305 | "scope": "markup.quote",
306 | "foreground": "#4cbf99",
307 | "font_style": "italic"
308 | },
309 | {
310 | "name": "Markup List Bullet",
311 | "scope": "markup.list punctuation.definition.list.begin",
312 | "foreground": "#f2ae49"
313 | },
314 | {
315 | "name": "Markup added",
316 | "scope": "markup.inserted",
317 | "foreground": "#6cbf43"
318 | },
319 | {
320 | "name": "Markup modified",
321 | "scope": "markup.changed",
322 | "foreground": "#478acc"
323 | },
324 | {
325 | "name": "Markup removed",
326 | "scope": "markup.deleted",
327 | "foreground": "#ff7383"
328 | },
329 | {
330 | "name": "Markup Strike",
331 | "scope": "markup.strike",
332 | "foreground": "#e6b673"
333 | },
334 | {
335 | "name": "Markup Table",
336 | "scope": "markup.table",
337 | "background": "#5c61660f",
338 | "foreground": "#55b4d4"
339 | },
340 | {
341 | "name": "Markup Raw Inline",
342 | "scope": "text.html.markdown markup.inline.raw",
343 | "foreground": "#ed9366"
344 | },
345 | {
346 | "name": "Markdown - Line Break",
347 | "scope": "text.html.markdown meta.dummy.line-break",
348 | "background": "#787b8099",
349 | "foreground": "#787b8099"
350 | },
351 | {
352 | "name": "Markdown - Raw Block Fenced",
353 | "scope": "punctuation.definition.markdown",
354 | "background": "#5c6166",
355 | "foreground": "#787b8099"
356 | }
357 | ]
358 | }
--------------------------------------------------------------------------------
/ayu-mirage.sublime-color-scheme:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ayu",
3 | "globals": {
4 | "background": "#242936",
5 | "foreground": "#cccac2",
6 | "invisibles": "#cccac24d",
7 | "caret": "#ffcc66",
8 | "block_caret": "#ffcc664d",
9 | "line_highlight": "#1a1f29",
10 | "accent": "#ffcc66",
11 | "popup_css": "\n html, body {\n background-color: #282e3b;\n color: #cccac2;\n --mdpopups-font-mono: \"PragmataPro Mono Liga\", \"sf mono\", Consolas, \"Liberation Mono\", Menlo, Courier, monospace;\n --mdpopups-bg: #282e3b;\n --mdpopups-link: #73d0ff;\n }\n body {\n padding: 1px 3px;\n }\n a {\n color: rgba(115,208,255, .7);\n }\n ",
12 | "gutter": "#242936",
13 | "gutter_foreground": "#8a919980",
14 | "line_diff_width": "2",
15 | "line_diff_added": "#87d96cb3",
16 | "line_diff_modified": "#80bfffb3",
17 | "line_diff_deleted": "#f27983b3",
18 | "selection": "#3388ff40",
19 | "selection_border": "#3388ff40",
20 | "selection_border_width": "1",
21 | "inactive_selection": "#4d97ff26",
22 | "inactive_selection_border": "#4d97ff26",
23 | "selection_corner_style": "round",
24 | "selection_corner_radius": "4",
25 | "highlight": "#ffcc6666",
26 | "find_highlight": "#ffcc66",
27 | "find_highlight_foreground": "#242936",
28 | "guide": "#8a91994d",
29 | "active_guide": "#8a919999",
30 | "stack_guide": "#8a919966",
31 | "shadow": "#2429364d",
32 | "shadow_width": "3"
33 | },
34 | "rules": [
35 | {
36 | "name": "Comment",
37 | "scope": "comment",
38 | "font_style": "italic",
39 | "foreground": "#b8cfe680"
40 | },
41 | {
42 | "name": "String",
43 | "scope": "string - meta.template, constant.other.symbol, string.quoted",
44 | "foreground": "#d5ff80"
45 | },
46 | {
47 | "name": "Regular Expressions and Escape Characters",
48 | "scope": "string.regexp, constant.character, constant.other",
49 | "foreground": "#95e6cb"
50 | },
51 | {
52 | "name": "Number",
53 | "scope": "constant.numeric",
54 | "foreground": "#ffcc66"
55 | },
56 | {
57 | "name": "Built-in constants",
58 | "scope": "constant.language",
59 | "foreground": "#ffcc66"
60 | },
61 | {
62 | "name": "Constants",
63 | "scope": "meta.constant, entity.name.constant",
64 | "foreground": "#dfbfff"
65 | },
66 | {
67 | "name": "Variable",
68 | "scope": "variable",
69 | "foreground": "#cccac2"
70 | },
71 | {
72 | "name": "Member Variable",
73 | "scope": "variable.member",
74 | "foreground": "#f28779"
75 | },
76 | {
77 | "name": "Language variable",
78 | "scope": "variable.language",
79 | "font_style": "italic",
80 | "foreground": "#5ccfe6"
81 | },
82 | {
83 | "name": "Storage",
84 | "scope": "storage, storage.type.keyword",
85 | "foreground": "#ffad66"
86 | },
87 | {
88 | "name": "Keyword",
89 | "scope": "keyword",
90 | "foreground": "#ffad66"
91 | },
92 | {
93 | "name": "Java keyword fixes",
94 | "scope": "source.java meta.class.java meta.class.identifier.java storage.type.java",
95 | "foreground": "#ffad66"
96 | },
97 | {
98 | "name": "Operators",
99 | "scope": "keyword.operator",
100 | "foreground": "#f29e74"
101 | },
102 | {
103 | "name": "Separators like ; or ,",
104 | "scope": "punctuation.separator, punctuation.terminator",
105 | "foreground": "#cccac2b3"
106 | },
107 | {
108 | "name": "Punctuation",
109 | "scope": "punctuation.section",
110 | "foreground": "#cccac2"
111 | },
112 | {
113 | "name": "Accessor",
114 | "scope": "punctuation.accessor",
115 | "foreground": "#f29e74"
116 | },
117 | {
118 | "name": "JavaScript/TypeScript interpolation punctuation",
119 | "scope": "punctuation.definition.template-expression",
120 | "foreground": "#ffad66"
121 | },
122 | {
123 | "name": "Ruby interpolation punctuation",
124 | "scope": "punctuation.section.interpolation",
125 | "foreground": "#ffad66"
126 | },
127 | {
128 | "name": "Types fixes",
129 | "scope": "source.java storage.type, source.haskell storage.type, source.c storage.type, source.zig storage.type",
130 | "foreground": "#73d0ff"
131 | },
132 | {
133 | "name": "Inherited class type",
134 | "scope": "entity.other.inherited-class",
135 | "foreground": "#5ccfe6"
136 | },
137 | {
138 | "name": "Lambda arrow",
139 | "scope": "storage.type.function",
140 | "foreground": "#ffad66"
141 | },
142 | {
143 | "name": "Java primitive variable types",
144 | "scope": "source.java storage.type.primitive",
145 | "foreground": "#5ccfe6"
146 | },
147 | {
148 | "name": "Function name",
149 | "scope": "entity.name.function",
150 | "foreground": "#ffd173"
151 | },
152 | {
153 | "name": "Function arguments",
154 | "scope": "variable.parameter, meta.parameter",
155 | "foreground": "#dfbfff"
156 | },
157 | {
158 | "name": "Function call",
159 | "scope": "variable.function, variable.annotation, meta.function-call.generic, support.function.go",
160 | "foreground": "#ffd173"
161 | },
162 | {
163 | "name": "Library function",
164 | "scope": "support.function, support.macro",
165 | "foreground": "#f28779"
166 | },
167 | {
168 | "name": "Imports and packages",
169 | "scope": "entity.name.import, entity.name.package",
170 | "foreground": "#d5ff80"
171 | },
172 | {
173 | "name": "Entity name",
174 | "scope": "entity.name, source.js meta.function-call.constructor variable.type",
175 | "foreground": "#73d0ff"
176 | },
177 | {
178 | "name": "Tag",
179 | "scope": "entity.name.tag, meta.tag.sgml",
180 | "foreground": "#5ccfe6"
181 | },
182 | {
183 | "name": "Tag start/end",
184 | "scope": "punctuation.definition.tag.end, punctuation.definition.tag.begin, punctuation.definition.tag",
185 | "foreground": "#5ccfe680"
186 | },
187 | {
188 | "name": "Tag attribute",
189 | "scope": "entity.other.attribute-name",
190 | "foreground": "#ffd173"
191 | },
192 | {
193 | "name": "Library constant",
194 | "scope": "support.constant",
195 | "font_style": "italic",
196 | "foreground": "#f29e74"
197 | },
198 | {
199 | "name": "Library class/type",
200 | "scope": "support.type, support.class, source.go storage.type",
201 | "foreground": "#5ccfe6"
202 | },
203 | {
204 | "name": "Decorators/annotation",
205 | "scope": "meta.decorator variable.other, meta.decorator punctuation.decorator, storage.type.annotation, variable.annotation, punctuation.definition.annotation",
206 | "foreground": "#ffdfb3"
207 | },
208 | {
209 | "name": "Invalid",
210 | "scope": "invalid",
211 | "foreground": "#ff6666"
212 | },
213 | {
214 | "name": "diff.header",
215 | "scope": "meta.diff, meta.diff.header",
216 | "foreground": "#c594c5"
217 | },
218 | {
219 | "name": "Ruby class methods",
220 | "scope": "source.ruby variable.other.readwrite",
221 | "foreground": "#ffd173"
222 | },
223 | {
224 | "name": "CSS tag names",
225 | "scope": "source.css entity.name.tag, source.sass entity.name.tag, source.scss entity.name.tag, source.less entity.name.tag, source.stylus entity.name.tag",
226 | "foreground": "#73d0ff"
227 | },
228 | {
229 | "name": "CSS browser prefix",
230 | "scope": "source.css support.type, source.sass support.type, source.scss support.type, source.less support.type, source.stylus support.type",
231 | "foreground": "#b8cfe680"
232 | },
233 | {
234 | "name": "CSS Properties",
235 | "scope": "support.type.property-name",
236 | "font_style": "normal",
237 | "foreground": "#5ccfe6"
238 | },
239 | {
240 | "name": "Search Results Nums",
241 | "scope": "constant.numeric.line-number.find-in-files - match",
242 | "foreground": "#b8cfe680"
243 | },
244 | {
245 | "name": "Search Results Match Nums",
246 | "scope": "constant.numeric.line-number.match",
247 | "foreground": "#ffad66"
248 | },
249 | {
250 | "name": "Search Results Lines",
251 | "scope": "entity.name.filename.find-in-files",
252 | "foreground": "#d5ff80"
253 | },
254 | {
255 | "scope": "message.error",
256 | "foreground": "#ff6666"
257 | },
258 | {
259 | "name": "Markup heading",
260 | "scope": "markup.heading, markup.heading entity.name",
261 | "font_style": "bold",
262 | "foreground": "#d5ff80"
263 | },
264 | {
265 | "name": "Markup links",
266 | "scope": "markup.underline.link, string.other.link",
267 | "foreground": "#73d0ff"
268 | },
269 | {
270 | "name": "Markup Italic",
271 | "scope": "markup.italic",
272 | "font_style": "italic",
273 | "foreground": "#f28779"
274 | },
275 | {
276 | "name": "Markup Bold",
277 | "scope": "markup.bold",
278 | "font_style": "bold",
279 | "foreground": "#f28779"
280 | },
281 | {
282 | "name": "Markup Bold/italic",
283 | "scope": "markup.italic markup.bold, markup.bold markup.italic",
284 | "font_style": "bold italic"
285 | },
286 | {
287 | "name": "Markup Code",
288 | "scope": "markup.raw",
289 | "background": "#cccac205"
290 | },
291 | {
292 | "name": "Markup Code Inline",
293 | "scope": "markup.raw.inline",
294 | "background": "#cccac20f"
295 | },
296 | {
297 | "name": "Markdown Separator",
298 | "scope": "meta.separator",
299 | "font_style": "bold",
300 | "background": "#cccac20f",
301 | "foreground": "#b8cfe680"
302 | },
303 | {
304 | "name": "Markup Blockquote",
305 | "scope": "markup.quote",
306 | "foreground": "#95e6cb",
307 | "font_style": "italic"
308 | },
309 | {
310 | "name": "Markup List Bullet",
311 | "scope": "markup.list punctuation.definition.list.begin",
312 | "foreground": "#ffd173"
313 | },
314 | {
315 | "name": "Markup added",
316 | "scope": "markup.inserted",
317 | "foreground": "#87d96c"
318 | },
319 | {
320 | "name": "Markup modified",
321 | "scope": "markup.changed",
322 | "foreground": "#80bfff"
323 | },
324 | {
325 | "name": "Markup removed",
326 | "scope": "markup.deleted",
327 | "foreground": "#f27983"
328 | },
329 | {
330 | "name": "Markup Strike",
331 | "scope": "markup.strike",
332 | "foreground": "#ffdfb3"
333 | },
334 | {
335 | "name": "Markup Table",
336 | "scope": "markup.table",
337 | "background": "#cccac20f",
338 | "foreground": "#5ccfe6"
339 | },
340 | {
341 | "name": "Markup Raw Inline",
342 | "scope": "text.html.markdown markup.inline.raw",
343 | "foreground": "#f29e74"
344 | },
345 | {
346 | "name": "Markdown - Line Break",
347 | "scope": "text.html.markdown meta.dummy.line-break",
348 | "background": "#b8cfe680",
349 | "foreground": "#b8cfe680"
350 | },
351 | {
352 | "name": "Markdown - Raw Block Fenced",
353 | "scope": "punctuation.definition.markdown",
354 | "background": "#cccac2",
355 | "foreground": "#b8cfe680"
356 | }
357 | ]
358 | }
--------------------------------------------------------------------------------
/ayu.skins:
--------------------------------------------------------------------------------
1 | {
2 | "ayu light": {
3 | "Preferences": {
4 | "color_scheme": "Packages/ayu/ayu-light.sublime-color-scheme",
5 | "theme": "ayu-light.sublime-theme",
6 | }
7 | },
8 |
9 | "ayu mirage": {
10 | "Preferences": {
11 | "color_scheme": "Packages/ayu/ayu-mirage.sublime-color-scheme",
12 | "theme": "ayu-mirage.sublime-theme",
13 | }
14 | },
15 |
16 | "ayu dark": {
17 | "Preferences": {
18 | "color_scheme": "Packages/ayu/ayu-dark.sublime-color-scheme",
19 | "theme": "ayu-dark.sublime-theme",
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/dependencies.json:
--------------------------------------------------------------------------------
1 | {
2 | "*": {
3 | "*": [ ]
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/icons/file_type_angular.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_angular.png
--------------------------------------------------------------------------------
/icons/file_type_angular@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_angular@2x.png
--------------------------------------------------------------------------------
/icons/file_type_binary.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_binary.png
--------------------------------------------------------------------------------
/icons/file_type_binary@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_binary@2x.png
--------------------------------------------------------------------------------
/icons/file_type_c.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_c.png
--------------------------------------------------------------------------------
/icons/file_type_c@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_c@2x.png
--------------------------------------------------------------------------------
/icons/file_type_cpp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_cpp.png
--------------------------------------------------------------------------------
/icons/file_type_cpp@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_cpp@2x.png
--------------------------------------------------------------------------------
/icons/file_type_csharp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_csharp.png
--------------------------------------------------------------------------------
/icons/file_type_csharp@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_csharp@2x.png
--------------------------------------------------------------------------------
/icons/file_type_css.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_css.png
--------------------------------------------------------------------------------
/icons/file_type_css@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_css@2x.png
--------------------------------------------------------------------------------
/icons/file_type_default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_default.png
--------------------------------------------------------------------------------
/icons/file_type_default@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_default@2x.png
--------------------------------------------------------------------------------
/icons/file_type_font.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_font.png
--------------------------------------------------------------------------------
/icons/file_type_font@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_font@2x.png
--------------------------------------------------------------------------------
/icons/file_type_git.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_git.png
--------------------------------------------------------------------------------
/icons/file_type_git@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_git@2x.png
--------------------------------------------------------------------------------
/icons/file_type_graphviz.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_graphviz.png
--------------------------------------------------------------------------------
/icons/file_type_graphviz@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_graphviz@2x.png
--------------------------------------------------------------------------------
/icons/file_type_groovy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_groovy.png
--------------------------------------------------------------------------------
/icons/file_type_groovy@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_groovy@2x.png
--------------------------------------------------------------------------------
/icons/file_type_gruntfile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_gruntfile.png
--------------------------------------------------------------------------------
/icons/file_type_gruntfile@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_gruntfile@2x.png
--------------------------------------------------------------------------------
/icons/file_type_haskell.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_haskell.png
--------------------------------------------------------------------------------
/icons/file_type_haskell@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_haskell@2x.png
--------------------------------------------------------------------------------
/icons/file_type_haxe.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_haxe.png
--------------------------------------------------------------------------------
/icons/file_type_haxe@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_haxe@2x.png
--------------------------------------------------------------------------------
/icons/file_type_image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_image.png
--------------------------------------------------------------------------------
/icons/file_type_image@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_image@2x.png
--------------------------------------------------------------------------------
/icons/file_type_js.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_js.png
--------------------------------------------------------------------------------
/icons/file_type_js@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_js@2x.png
--------------------------------------------------------------------------------
/icons/file_type_json.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_json.png
--------------------------------------------------------------------------------
/icons/file_type_json@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_json@2x.png
--------------------------------------------------------------------------------
/icons/file_type_license.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_license.png
--------------------------------------------------------------------------------
/icons/file_type_license@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_license@2x.png
--------------------------------------------------------------------------------
/icons/file_type_liquid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_liquid.png
--------------------------------------------------------------------------------
/icons/file_type_liquid@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_liquid@2x.png
--------------------------------------------------------------------------------
/icons/file_type_lisp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_lisp.png
--------------------------------------------------------------------------------
/icons/file_type_lisp@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_lisp@2x.png
--------------------------------------------------------------------------------
/icons/file_type_lua.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_lua.png
--------------------------------------------------------------------------------
/icons/file_type_lua@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_lua@2x.png
--------------------------------------------------------------------------------
/icons/file_type_markdown.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_markdown.png
--------------------------------------------------------------------------------
/icons/file_type_markdown@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_markdown@2x.png
--------------------------------------------------------------------------------
/icons/file_type_mustache.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_mustache.png
--------------------------------------------------------------------------------
/icons/file_type_mustache@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_mustache@2x.png
--------------------------------------------------------------------------------
/icons/file_type_nodejs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_nodejs.png
--------------------------------------------------------------------------------
/icons/file_type_nodejs@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_nodejs@2x.png
--------------------------------------------------------------------------------
/icons/file_type_npm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_npm.png
--------------------------------------------------------------------------------
/icons/file_type_npm@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_npm@2x.png
--------------------------------------------------------------------------------
/icons/file_type_pdf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_pdf.png
--------------------------------------------------------------------------------
/icons/file_type_pdf@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_pdf@2x.png
--------------------------------------------------------------------------------
/icons/file_type_perl.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_perl.png
--------------------------------------------------------------------------------
/icons/file_type_perl@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_perl@2x.png
--------------------------------------------------------------------------------
/icons/file_type_php.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_php.png
--------------------------------------------------------------------------------
/icons/file_type_php@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_php@2x.png
--------------------------------------------------------------------------------
/icons/file_type_procfile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_procfile.png
--------------------------------------------------------------------------------
/icons/file_type_procfile@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_procfile@2x.png
--------------------------------------------------------------------------------
/icons/file_type_python.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_python.png
--------------------------------------------------------------------------------
/icons/file_type_python@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_python@2x.png
--------------------------------------------------------------------------------
/icons/file_type_ruby.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_ruby.png
--------------------------------------------------------------------------------
/icons/file_type_ruby@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_ruby@2x.png
--------------------------------------------------------------------------------
/icons/file_type_rust.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_rust.png
--------------------------------------------------------------------------------
/icons/file_type_rust@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_rust@2x.png
--------------------------------------------------------------------------------
/icons/file_type_sass.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_sass.png
--------------------------------------------------------------------------------
/icons/file_type_sass@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_sass@2x.png
--------------------------------------------------------------------------------
/icons/file_type_scss.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_scss.png
--------------------------------------------------------------------------------
/icons/file_type_scss@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_scss@2x.png
--------------------------------------------------------------------------------
/icons/file_type_shell.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_shell.png
--------------------------------------------------------------------------------
/icons/file_type_shell@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_shell@2x.png
--------------------------------------------------------------------------------
/icons/file_type_sketch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_sketch.png
--------------------------------------------------------------------------------
/icons/file_type_sketch@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_sketch@2x.png
--------------------------------------------------------------------------------
/icons/file_type_source.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_source.png
--------------------------------------------------------------------------------
/icons/file_type_source@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_source@2x.png
--------------------------------------------------------------------------------
/icons/file_type_stata.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_stata.png
--------------------------------------------------------------------------------
/icons/file_type_stata@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_stata@2x.png
--------------------------------------------------------------------------------
/icons/file_type_swift.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_swift.png
--------------------------------------------------------------------------------
/icons/file_type_swift@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_swift@2x.png
--------------------------------------------------------------------------------
/icons/file_type_text.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_text.png
--------------------------------------------------------------------------------
/icons/file_type_text@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_text@2x.png
--------------------------------------------------------------------------------
/icons/file_type_todo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_todo.png
--------------------------------------------------------------------------------
/icons/file_type_todo@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_todo@2x.png
--------------------------------------------------------------------------------
/icons/file_type_typescript.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_typescript.png
--------------------------------------------------------------------------------
/icons/file_type_typescript@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_typescript@2x.png
--------------------------------------------------------------------------------
/icons/file_type_vue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_vue.png
--------------------------------------------------------------------------------
/icons/file_type_vue@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_vue@2x.png
--------------------------------------------------------------------------------
/icons/file_type_yaml.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_yaml.png
--------------------------------------------------------------------------------
/icons/file_type_yaml@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/icons/file_type_yaml@2x.png
--------------------------------------------------------------------------------
/images/browse.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/images/browse.png
--------------------------------------------------------------------------------
/images/dark-separator.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/images/dark-separator.png
--------------------------------------------------------------------------------
/images/hero.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/images/hero.png
--------------------------------------------------------------------------------
/images/light-separator.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/images/light-separator.png
--------------------------------------------------------------------------------
/images/mirage-no-separator.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dempfi/ayu/362525bcd7a832684eed5a0e054a97356fdf353a/images/mirage-no-separator.png
--------------------------------------------------------------------------------
/messages.json:
--------------------------------------------------------------------------------
1 | {
2 | "install": "messages/install.md",
3 | "1.2.0": "messages/1.2.0.txt",
4 | "1.3.0": "messages/1.3.0.txt",
5 | "1.3.1": "messages/1.3.1.txt",
6 | "1.3.2": "messages/1.3.2.txt",
7 | "1.3.3": "messages/1.3.3.txt",
8 | "2.0.0": "messages/2.0.0.txt",
9 | "2.0.1": "messages/2.0.1.txt",
10 | "2.0.2": "messages/2.0.2.txt",
11 | "2.0.3": "messages/2.0.3.txt",
12 | "2.1.0": "messages/2.1.0.txt",
13 | "2.1.1": "messages/2.1.1.txt",
14 | "2.2.0": "messages/2.2.0.txt",
15 | "2.2.1": "messages/2.2.1.txt",
16 | "2.2.2": "messages/2.2.2.txt",
17 | "3.0.0": "messages/3.0.0.md",
18 | "3.0.1": "messages/3.0.1.md",
19 | "3.1.0": "messages/3.1.0.md",
20 | "3.1.1": "messages/3.1.1.md",
21 | "3.1.2": "messages/3.1.2.md",
22 | "3.1.4": "messages/3.1.4.md",
23 | "3.1.5": "messages/3.1.5.md",
24 | "3.1.6": "messages/3.1.6.md",
25 | "3.1.8": "messages/3.1.8.md",
26 | "3.2.0": "messages/3.2.0.md",
27 | "3.2.1": "messages/3.2.1.md",
28 | "4.0.0": "messages/4.0.0.md",
29 | "5.0.0": "messages/5.0.0.md",
30 | "5.0.1": "messages/5.0.1.md",
31 | "5.0.2": "messages/5.0.2.md",
32 | "5.0.3": "messages/5.0.3.md",
33 | "5.1.0": "messages/5.1.0.md",
34 | "6.0.0": "messages/6.0.0.md",
35 | "6.0.1": "messages/6.0.1.md",
36 | "6.0.2": "messages/6.0.2.md",
37 | "6.0.3": "messages/6.0.3.md",
38 | "6.1.0": "messages/6.1.0.md",
39 | "6.1.1": "messages/6.1.1.md",
40 | "6.1.2": "messages/6.1.2.md"
41 | }
42 |
--------------------------------------------------------------------------------
/messages/1.2.0.txt:
--------------------------------------------------------------------------------
1 | ayu theme for Sublime Text
2 | https://github.com/dempfi/ayu/releases
3 |
4 | Version 1.2.0
5 | ********************************************************************************
6 |
7 | Changes:
8 |
9 | * Fix UI contrast in dark theme
10 | * Full support for Sublime Text 2
--------------------------------------------------------------------------------
/messages/1.3.0.txt:
--------------------------------------------------------------------------------
1 | ayu theme for Sublime Text
2 | https://github.com/dempfi/ayu/releases
3 |
4 | Version 1.3.0
5 | ********************************************************************************
6 |
7 | Changes:
8 |
9 | * Fix cuted of tab label
10 | * Fix sublime linter error color
11 |
--------------------------------------------------------------------------------
/messages/1.3.1.txt:
--------------------------------------------------------------------------------
1 | ayu theme for Sublime Text
2 | https://github.com/dempfi/ayu/releases
3 |
4 | Version 1.3.1
5 | ********************************************************************************
6 |
7 | Changes:
8 |
9 | * Revert tabs update from 1.3.0 since it doesn't work properly on Windows and Linux
10 |
--------------------------------------------------------------------------------
/messages/1.3.2.txt:
--------------------------------------------------------------------------------
1 | ayu theme for Sublime Text
2 | https://github.com/dempfi/ayu/releases
3 |
4 | Version 1.3.2
5 | ********************************************************************************
6 |
7 | Changes:
8 |
9 | * Add option for bigger tabs — "ui_big_tabs"
10 |
--------------------------------------------------------------------------------
/messages/1.3.3.txt:
--------------------------------------------------------------------------------
1 | ayu theme for Sublime Text
2 | https://github.com/dempfi/ayu/releases
3 |
4 | Version 1.3.3
5 | ********************************************************************************
6 |
7 | Changes:
8 |
9 | * Gray close icon on active tab
10 |
--------------------------------------------------------------------------------
/messages/2.0.0.txt:
--------------------------------------------------------------------------------
1 | ayu theme for Sublime Text
2 | https://github.com/dempfi/ayu/releases
3 |
4 | Version 2.0.0
5 | ********************************************************************************
6 |
7 | Changes:
8 | * 🎨 💄 [NEW] Mirage theme 👻
9 | activate with
10 | ```json
11 | "theme": "ayu-mirage.sublime-theme",
12 | "color_scheme": "Packages/ayu/ayu-mirage.tmTheme",
13 | ```
14 | * [NEW] build system
15 | * [NEW] Reduced most of the assets
16 |
17 | * Renamed `ayu-dark`
18 | use following settings for dark theme:
19 | ```json
20 | "theme": "ayu-dark.sublime-theme",
21 | "color_scheme": "Packages/ayu/ayu-dark.tmTheme",
22 | ```
23 |
24 | * Fix for issue with cut tab labels
25 | * Fix for issue with sidebar labels
26 |
--------------------------------------------------------------------------------
/messages/2.0.1.txt:
--------------------------------------------------------------------------------
1 | ayu theme for Sublime Text
2 | https://github.com/dempfi/ayu/releases
3 |
4 | Version 2.0.1
5 | ********************************************************************************
6 |
7 | Changes:
8 |
9 | * Fix issue with Sublime Text 2
10 | * Fix colors for search icons
11 |
--------------------------------------------------------------------------------
/messages/2.0.2.txt:
--------------------------------------------------------------------------------
1 | ayu theme for Sublime Text
2 | https://github.com/dempfi/ayu/releases
3 |
4 | Version 2.0.2
5 | ********************************************************************************
6 |
7 | Changes:
8 |
9 | * Fix inactive selection color
10 | * Fix selection border color
11 | * Fix find highlight
12 |
--------------------------------------------------------------------------------
/messages/2.0.3.txt:
--------------------------------------------------------------------------------
1 | ayu theme for Sublime Text
2 | https://github.com/dempfi/ayu/releases
3 |
4 | Version 2.0.3
5 | ********************************************************************************
6 |
7 | Changes:
8 |
9 | * Support highlight_modified_tabs setting
10 | * Add switch panel button icon
11 |
--------------------------------------------------------------------------------
/messages/2.1.0.txt:
--------------------------------------------------------------------------------
1 | ayu theme for Sublime Text
2 | https://github.com/dempfi/ayu/releases
3 |
4 | Version 2.1.0
5 | ********************************************************************************
6 |
7 | Changes:
8 |
9 | * Wider scrollbars. Activate with option `ui_wide_scrollbars`
10 | * Add support for [Source Code Pro](https://fonts.google.com/specimen/Source+Code+Pro) as UI font
11 |
--------------------------------------------------------------------------------
/messages/2.1.1.txt:
--------------------------------------------------------------------------------
1 | ayu theme for Sublime Text
2 | https://github.com/dempfi/ayu/releases
3 |
4 | Version 2.1.1
5 | ********************************************************************************
6 |
7 | Changes:
8 |
9 | * Fix for scrollbar issues for Windows users
10 |
--------------------------------------------------------------------------------
/messages/2.2.0.txt:
--------------------------------------------------------------------------------
1 | ayu theme for Sublime Text
2 | https://github.com/dempfi/ayu/releases
3 |
4 | Version 2.2.0
5 | ********************************************************************************
6 |
7 |
8 | 🎨 💄 Added crossplatform scrollbars. Finally 😊
9 |
10 | For macOS users with touchpad scrollbars will look almost the same with a little improvements.
11 |
12 | But big changes are prepared for Windows/Linux users. Now scrollbars are finally usable. They are wider and easier to click and drug.
13 |
--------------------------------------------------------------------------------
/messages/2.2.1.txt:
--------------------------------------------------------------------------------
1 | ayu theme for Sublime Text
2 | https://github.com/dempfi/ayu/releases
3 |
4 | Version 2.2.1
5 | ********************************************************************************
6 |
7 |
8 | 🎨 💄 Improved color contrast
9 |
--------------------------------------------------------------------------------
/messages/2.2.2.txt:
--------------------------------------------------------------------------------
1 | ayu theme for Sublime Text
2 | https://github.com/dempfi/ayu/releases
3 |
4 | Version 2.2.2
5 | ********************************************************************************
6 |
7 |
8 | 🎨 ⚙️ New option to use ST default font
9 | ```
10 | "ui_font_default": true
11 | ```
12 |
--------------------------------------------------------------------------------
/messages/3.0.0.md:
--------------------------------------------------------------------------------
1 | **ayu theme for Sublime Text**
2 | https://github.com/dempfi/ayu/releases
3 |
4 | # 🖼 Version 3.0.0
5 |
6 | Welcome to new major version of ayu with support to all new features of
7 | Sublime Text 3.
8 |
9 | What changed:
10 |
11 | 1. 🌈 New colorful file icons, now ayu uses A File Icon plugin to manage icons, which means
12 | you'll always have all icons up to date.
13 |
14 | 2. Support for titlebar on macOs
15 |
16 | 3. Improved overall contrast
17 |
18 | 4. Support for native font if you don't like monospaced one.
19 | Just add `ui_font_default: true` to your settings
20 |
21 | 5. New activation command, now in order to activate any of ayu themes, you can
22 | just go to `Tools > Command Palette` (or CMD/CTRL + SHIFT + p) and type
23 | `ayu: Activate theme`.
24 |
25 | Keep tuned folks, more features are comming.
26 |
--------------------------------------------------------------------------------
/messages/3.0.1.md:
--------------------------------------------------------------------------------
1 | **ayu theme for Sublime Text**
2 | https://github.com/dempfi/ayu/releases
3 |
4 | # Version 3.0.1
5 | ayu from version 3.0.0 supports customization via A File Icon package
6 | (https://github.com/ihodev/a-file-icon).
7 |
8 | Please install it and restart Sublime for better expereince.
9 |
10 | What changed:
11 | 1. Option to diable titlebar altering on macOs.
12 | Add `"ui_native_titlebar": true` to your preferences to use native titlebars.
13 |
14 |
15 | ================================================================================
16 |
17 | # 🖼 Version 3.0.0
18 |
19 | Welcome to new major version of ayu with support to all new features of
20 | Sublime Text 3.
21 |
22 | What changed:
23 |
24 | 1. 🌈 New colorful file icons, now ayu uses A File Icon plugin to manage icons, whcih means
25 | you'll always have all icons up to date.
26 |
27 | 2. Support for titlebar on macOs
28 |
29 | 3. Improved overall contrast
30 |
31 | 4. Support for native font if you don't like monospaced one.
32 | Just add `ui_font_default: true` to your settings
33 |
34 | 5. New activation command, now in order to activate any of ayu themes, you can
35 | just go to `Tools > Command Palette` (or CMD/CTRL + SHIFT + p) and type
36 | `ayu: Activate theme`.
37 |
38 | Keep tuned folks, more features are comming.
39 |
--------------------------------------------------------------------------------
/messages/3.1.0.md:
--------------------------------------------------------------------------------
1 | **ayu theme for Sublime Text**
2 | https://github.com/dempfi/ayu/releases
3 |
4 | # Version 3.1.0
5 | ayu from version 3.0.0 supports customization via A File Icon package
6 | (https://github.com/ihodev/a-file-icon). Please install it for better expereince.
7 |
8 | CHANGES
9 | ================================================================================
10 | 🌈 Massive update to syntax highlighning and contrast of all 3 themes.
11 |
12 |
--------------------------------------------------------------------------------
/messages/3.1.1.md:
--------------------------------------------------------------------------------
1 | **ayu theme for Sublime Text**
2 | https://github.com/dempfi/ayu/releases
3 |
4 | ********************************************************************************
5 | ayu from version 3.0.0 supports customization via A File Icon package
6 | (https://github.com/ihodev/a-file-icon). Please install it for better expereince.
7 | ********************************************************************************
8 |
9 |
10 | # Version 3.1.1
11 |
12 | CHANGES:
13 | - Reduce usage of italics to required minimum
14 | - Improve support of css colors
15 |
16 | # Version 3.1.0
17 | CHANGES:
18 | 🌈 Massive update to syntax highlighning and contrast of all 3 themes.
19 |
20 |
--------------------------------------------------------------------------------
/messages/3.1.2.md:
--------------------------------------------------------------------------------
1 | **ayu theme for Sublime Text**
2 | https://github.com/dempfi/ayu/releases
3 |
4 | ********************************************************************************
5 | ayu from version 3.0.0 supports customization via A File Icon package
6 | (https://github.com/ihodev/a-file-icon). Please install it for better expereince.
7 | ********************************************************************************
8 |
9 | # Version 3.1.2
10 |
11 | CHANGES:
12 | Ayu's file icons are back :) There will be additional changes to sizes of icons.
13 | They might not be very consistent atm, this will be fixed in next release.
14 |
15 | # Version 3.1.1
16 |
17 | CHANGES:
18 | - Reduce usage of italics to required minimum
19 | - Improve support of css colors
20 |
21 | # Version 3.1.0
22 | CHANGES:
23 | 🌈 Massive update to syntax highlighning and contrast of all 3 themes.
24 |
--------------------------------------------------------------------------------
/messages/3.1.4.md:
--------------------------------------------------------------------------------
1 | **ayu theme for Sublime Text**
2 | https://github.com/dempfi/ayu/releases
3 |
4 | ********************************************************************************
5 | ayu from version 3.0.0 supports customization via A File Icon package
6 | (https://github.com/ihodev/a-file-icon). Please install it for better expereince.
7 | ********************************************************************************
8 |
9 | # Version 3.1.4
10 |
11 | CHANGES:
12 | 🎉 CSS properties are not italic anymore
13 |
14 | # Version 3.1.2
15 |
16 | CHANGES:
17 | Ayu's file icons are back :) There will be additional changes to sizes of icons.
18 | They might not be very consistent atm, this will be fixed in next release.
19 |
20 | # Version 3.1.1
21 |
22 | CHANGES:
23 | - Reduce usage of italics to required minimum
24 | - Improve support of css colors
25 |
26 | # Version 3.1.0
27 | CHANGES:
28 | 🌈 Massive update to syntax highlighning and contrast of all 3 themes.
29 |
--------------------------------------------------------------------------------
/messages/3.1.5.md:
--------------------------------------------------------------------------------
1 | **ayu theme for Sublime Text**
2 | https://github.com/dempfi/ayu/releases
3 |
4 | ********************************************************************************
5 | ayu from version 3.0.0 supports customization via A File Icon package
6 | (https://github.com/ihodev/a-file-icon). Please install it for better expereince.
7 | ********************************************************************************
8 |
9 | # Version 3.1.5
10 |
11 | CHANGES:
12 | 💄 Better colors for Ruby claass methods
13 |
14 | # Version 3.1.4
15 |
16 | CHANGES:
17 | 🎉 CSS properties are not italic anymore
18 |
19 | # Version 3.1.2
20 |
21 | CHANGES:
22 | Ayu's file icons are back :) There will be additional changes to sizes of icons.
23 | They might not be very consistent atm, this will be fixed in next release.
24 |
25 | # Version 3.1.1
26 |
27 | CHANGES:
28 | - Reduce usage of italics to required minimum
29 | - Improve support of css colors
30 |
31 | # Version 3.1.0
32 | CHANGES:
33 | 🌈 Massive update to syntax highlighning and contrast of all 3 themes.
34 |
--------------------------------------------------------------------------------
/messages/3.1.6.md:
--------------------------------------------------------------------------------
1 | **ayu theme for Sublime Text**
2 | https://github.com/dempfi/ayu/releases
3 |
4 | ********************************************************************************
5 | ayu from version 3.0.0 supports customization via A File Icon package
6 | (https://github.com/ihodev/a-file-icon). Please install it for better expereince.
7 | ********************************************************************************
8 |
9 | # Version 3.1.6
10 |
11 | CHANGES:
12 | Fix for sidebar file indicator
13 |
14 | # Version 3.1.5
15 |
16 | CHANGES:
17 | 💄 Better colors for Ruby claass methods
18 |
19 | # Version 3.1.4
20 |
21 | CHANGES:
22 | 🎉 CSS properties are not italic anymore
23 |
24 | # Version 3.1.2
25 |
26 | CHANGES:
27 | Ayu's file icons are back :) There will be additional changes to sizes of icons.
28 | They might not be very consistent atm, this will be fixed in next release.
29 |
30 | # Version 3.1.1
31 |
32 | CHANGES:
33 | - Reduce usage of italics to required minimum
34 | - Improve support of css colors
35 |
36 | # Version 3.1.0
37 | CHANGES:
38 | 🌈 Massive update to syntax highlighning and contrast of all 3 themes.
39 |
--------------------------------------------------------------------------------
/messages/3.1.8.md:
--------------------------------------------------------------------------------
1 | **ayu theme for Sublime Text**
2 | https://github.com/dempfi/ayu/releases
3 |
4 | ********************************************************************************
5 | ayu from version 3.0.0 supports customization via A File Icon package
6 | (https://github.com/ihodev/a-file-icon). Please install it for better expereince.
7 | ********************************************************************************
8 |
9 | # Version 3.1.8
10 |
11 | CHANGES:
12 | 📐 Titlebar separators on macOs
13 |
14 | # Version 3.1.6
15 |
16 | CHANGES:
17 | Fix for sidebar file indicator
18 |
19 | # Version 3.1.5
20 |
21 | CHANGES:
22 | 💄 Better colors for Ruby claass methods
23 |
24 | # Version 3.1.4
25 |
26 | CHANGES:
27 | 🎉 CSS properties are not italic anymore
28 |
29 | # Version 3.1.2
30 |
31 | CHANGES:
32 | Ayu's file icons are back :) There will be additional changes to sizes of icons.
33 | They might not be very consistent atm, this will be fixed in next release.
34 |
35 | # Version 3.1.1
36 |
37 | CHANGES:
38 | - Reduce usage of italics to required minimum
39 | - Improve support of css colors
40 |
41 | # Version 3.1.0
42 | CHANGES:
43 | 🌈 Massive update to syntax highlighning and contrast of all 3 themes.
44 |
--------------------------------------------------------------------------------
/messages/3.2.0.md:
--------------------------------------------------------------------------------
1 | **ayu theme for Sublime Text**
2 | https://github.com/dempfi/ayu/releases
3 |
4 | ********************************************************************************
5 | ayu from version 3.0.0 supports customization via A File Icon package
6 | (https://github.com/ihodev/a-file-icon). Please install it for better expereince.
7 | ********************************************************************************
8 |
9 | # Version 3.2.0
10 |
11 | CHANGES:
12 | 🖼 New ayu icons, brighter and more detailed
13 |
--------------------------------------------------------------------------------
/messages/3.2.1.md:
--------------------------------------------------------------------------------
1 | **ayu theme for Sublime Text**
2 | https://github.com/dempfi/ayu/releases
3 |
4 | ********************************************************************************
5 | ayu from version 3.0.0 supports customization via A File Icon package
6 | (https://github.com/ihodev/a-file-icon). Please install it for better expereince.
7 | ********************************************************************************
8 |
9 | # Version 3.2.1
10 |
11 | CHANGES:
12 | Simplified and colorful markdown files
13 |
--------------------------------------------------------------------------------
/messages/4.0.0.md:
--------------------------------------------------------------------------------
1 | **ayu theme for Sublime Text**
2 | https://github.com/dempfi/ayu/releases
3 |
4 | ********************************************************************************
5 | ayu from version 3.0.0 supports customization via A File Icon package
6 | (https://github.com/ihodev/a-file-icon). Please install it for better expereince.
7 | ********************************************************************************
8 |
9 | # Version 4.0.0
10 |
11 | 🎉 Comepletely updated UI themes
12 | 🎉 Redrawn icons
13 | ...and a lot of minor changes
14 |
15 | Breaking changes:
16 | *******************************************************
17 | - Default UI font is no longer Roboto Mono but the system font. To have
18 | Roboto Mono again use `ui_font_roboto_mono: true` setting.
19 |
20 | - Ayu no longer supports Sublime Text version 2 since version 3
21 | is officially released.
22 |
23 |
--------------------------------------------------------------------------------
/messages/5.0.0.md:
--------------------------------------------------------------------------------
1 | **ayu theme for Sublime Text**
2 | https://github.com/dempfi/ayu/releases
3 |
4 | ********************************************************************************
5 | ayu from version 3.0.0 supports customization via A File Icon package
6 | (https://github.com/ihodev/a-file-icon). Please install it for better expereince.
7 | ********************************************************************************
8 |
9 | # Version 5.0.0
10 |
11 | - 🎉 Refreshed UI theme:
12 | - Improved editor/ui contrast when `ui_separators` options is on;
13 | - Resized status bar;
14 | - Support for Sublime's git indicators;
15 | - Added missing accents on hover;
16 | and other minor fixes
17 |
18 | - 🎉 Refreshed syntax theme
19 | - Fixed inconsistencies with Java, C, Haskell, TS, JS, GO, Python and Ruby;
20 | - Updated markdown colour scheme
21 | and other minor fixes
22 |
23 | - Internal:
24 | - New streamlined build system for streamlined contrinution and forks;
25 | - Official `ayu-colors` npm package is now used as the source of the colours;
26 |
27 | Breaking changes:
28 | *******************************************************
29 | - Removed UI font settings (`ui_font_size_small`, `ui_font_source_code_pro`, `ui_font_roboto_mono`)
30 |
--------------------------------------------------------------------------------
/messages/5.0.1.md:
--------------------------------------------------------------------------------
1 | **ayu theme for Sublime Text**
2 | https://github.com/dempfi/ayu/releases
3 |
4 | ********************************************************************************
5 | ayu from version 3.0.0 supports customization via A File Icon package
6 | (https://github.com/ihodev/a-file-icon). Please install it for better expereince.
7 | ********************************************************************************
8 |
9 | # Version 5.0.0
10 |
11 | - 🎉 Refreshed UI theme:
12 | - Improved editor/ui contrast when `ui_separators` options is on;
13 | - Resized status bar;
14 | - Support for Sublime's git indicators;
15 | - Added missing accents on hover;
16 | and other minor fixes
17 |
18 | - 🎉 Refreshed syntax theme
19 | - Fixed inconsistencies with Java, C, Haskell, TS, JS, GO, Python and Ruby;
20 | - Updated markdown colour scheme
21 | and other minor fixes
22 |
23 | - Internal:
24 | - New streamlined build system for streamlined contrinution and forks;
25 | - Official `ayu-colors` npm package is now used as the source of the colours;
26 |
27 | *******************************************************
28 |
29 | Breaking changes:
30 | - Removed UI font settings (`ui_font_size_small`, `ui_font_source_code_pro`, `ui_font_roboto_mono`)
31 |
32 | *******************************************************
33 |
34 | Version 5.0.1 contains fixes for the light theme.
35 |
--------------------------------------------------------------------------------
/messages/5.0.2.md:
--------------------------------------------------------------------------------
1 | **ayu theme for Sublime Text**
2 | https://github.com/dempfi/ayu/releases
3 |
4 | ********************************************************************************
5 | ayu from version 3.0.0 supports customization via A File Icon package
6 | (https://github.com/ihodev/a-file-icon). Please install it for better expereince.
7 | ********************************************************************************
8 |
9 | # Version 5.0.0
10 |
11 | - 🎉 Refreshed UI theme:
12 | - Improved editor/ui contrast when `ui_separators` options is on;
13 | - Resized status bar;
14 | - Support for Sublime's git indicators;
15 | - Added missing accents on hover;
16 | and other minor fixes
17 |
18 | - 🎉 Refreshed syntax theme
19 | - Fixed inconsistencies with Java, C, Haskell, TS, JS, GO, Python and Ruby;
20 | - Updated markdown colour scheme
21 | and other minor fixes
22 |
23 | - Internal:
24 | - New streamlined build system for streamlined contrinution and forks;
25 | - Official `ayu-colors` npm package is now used as the source of the colours;
26 |
27 | *******************************************************
28 |
29 | Breaking changes:
30 | - Removed UI font settings (`ui_font_size_small`, `ui_font_source_code_pro`, `ui_font_roboto_mono`)
31 |
32 | *******************************************************
33 |
34 | Version 5.0.2 contains fixes for activation script.
35 |
--------------------------------------------------------------------------------
/messages/5.0.3.md:
--------------------------------------------------------------------------------
1 | **ayu theme for Sublime Text**
2 | https://github.com/dempfi/ayu/releases
3 |
4 | ********************************************************************************
5 | ayu from version 3.0.0 supports customization via A File Icon package
6 | (https://github.com/ihodev/a-file-icon). Please install it for better expereince.
7 | ********************************************************************************
8 |
9 | # Version 5.0.0
10 |
11 | - 🎉 Refreshed UI theme:
12 | - Improved editor/ui contrast when `ui_separators` options is on;
13 | - Resized status bar;
14 | - Support for Sublime's git indicators;
15 | - Added missing accents on hover;
16 | and other minor fixes
17 |
18 | - 🎉 Refreshed syntax theme
19 | - Fixed inconsistencies with Java, C, Haskell, TS, JS, GO, Python and Ruby;
20 | - Updated markdown colour scheme
21 | and other minor fixes
22 |
23 | - Internal:
24 | - New streamlined build system for streamlined contrinution and forks;
25 | - Official `ayu-colors` npm package is now used as the source of the colours;
26 |
27 | *******************************************************
28 |
29 | Breaking changes:
30 | - Removed UI font settings (`ui_font_size_small`, `ui_font_source_code_pro`, `ui_font_roboto_mono`)
31 |
32 | *******************************************************
33 |
34 | Version 5.0.3 contains a fix for the new block caret.
35 |
--------------------------------------------------------------------------------
/messages/5.1.0.md:
--------------------------------------------------------------------------------
1 | **ayu theme for Sublime Text**
2 | https://github.com/dempfi/ayu/releases
3 |
4 | ---
5 |
6 | ayu from version 3.0.0 supports customization via A File Icon package
7 | (https://github.com/ihodev/a-file-icon). Please install it for better expereince.
8 |
9 | ---
10 |
11 | # Version 5.1.0
12 |
13 | 🎉 This release is all about contrast
14 |
15 | - Light theme UI and foreground contrast improvements
16 | - Dark theme UI color contrast raised
17 |
18 | ---
19 |
20 | Breaking changes:
21 |
22 | - Removed UI font settings (`ui_font_size_small`, `ui_font_source_code_pro`, `ui_font_roboto_mono`)
23 |
24 | ---
25 |
26 | Version 5.0.3 contains a fix for the new block caret.
27 |
--------------------------------------------------------------------------------
/messages/6.0.0.md:
--------------------------------------------------------------------------------
1 | **ayu theme for Sublime Text**
2 | https://github.com/dempfi/ayu/releases
3 |
4 | ---
5 |
6 | ayu from version 3.0.0 supports customization via A File Icon package
7 | (https://github.com/ihodev/a-file-icon). Please install it for better expereince.
8 |
9 | ---
10 |
11 | # Version 6.0.0
12 |
13 | 🎉 This release updates ayu to support Sublime Text 4
14 |
15 | - New tab style for separators
16 | - Updated colors to the latest
17 |
18 | ---
19 |
20 | Breaking changes:
21 |
22 | - None
23 |
24 | ---
25 |
--------------------------------------------------------------------------------
/messages/6.0.1.md:
--------------------------------------------------------------------------------
1 | **ayu theme for Sublime Text**
2 | https://github.com/dempfi/ayu/releases
3 |
4 | ---
5 |
6 | ayu from version 3.0.0 supports customization via A File Icon package
7 | (https://github.com/ihodev/a-file-icon). Please install it for better expereince.
8 |
9 | ---
10 |
11 | # Version 6.0.1
12 | - Fix for windows title bar
13 |
14 | # Version 6.0.0
15 |
16 | 🎉 This release updates ayu to support Sublime Text 4
17 |
18 | - New tab style for separators
19 | - Updated colors to the latest
20 |
21 | ---
22 |
23 | Breaking changes:
24 |
25 | - None
26 |
27 | ---
28 |
--------------------------------------------------------------------------------
/messages/6.0.2.md:
--------------------------------------------------------------------------------
1 | **ayu theme for Sublime Text**
2 | https://github.com/dempfi/ayu/releases
3 |
4 | ---
5 |
6 | ayu from version 3.0.0 supports customization via A File Icon package
7 | (https://github.com/ihodev/a-file-icon). Please install it for better expereince.
8 |
9 | ---
10 |
11 | # Version 6.0.2
12 | - Fix for windows title bar... again
13 |
14 | # Version 6.0.0
15 |
16 | 🎉 This release updates ayu to support Sublime Text 4
17 |
18 | - New tab style for separators
19 | - Updated colors to the latest
20 |
21 | ---
22 |
23 | Breaking changes:
24 |
25 | - None
26 |
27 | ---
28 |
--------------------------------------------------------------------------------
/messages/6.0.3.md:
--------------------------------------------------------------------------------
1 | **ayu theme for Sublime Text**
2 | https://github.com/dempfi/ayu/releases
3 |
4 | ---
5 |
6 | ayu from version 3.0.0 supports customization via A File Icon package
7 | (https://github.com/SublimeText/AFileIcon). Please install it for better expereince.
8 |
9 | ---
10 |
11 | # Version 6.0.3
12 | - Fix package control links
13 | - Improve string interpolation styles
14 |
15 | # Version 6.0.0
16 |
17 | 🎉 This release updates ayu to support Sublime Text 4
18 |
19 | - New tab style for separators
20 | - Updated colors to the latest
21 |
22 | ---
23 |
24 | Breaking changes:
25 |
26 | - None
27 |
28 | ---
29 |
--------------------------------------------------------------------------------
/messages/6.1.0.md:
--------------------------------------------------------------------------------
1 | **ayu theme for Sublime Text 4**
2 | https://github.com/dempfi/ayu/releases
3 |
4 | # Version 6.1.0
5 | - More prominent autocomplete selection and kind badges
6 | - Add distinctive type icons to the command palette and go to windows
7 | - Raise the contrast of the dark theme
8 | - All editor popups match the overall theme aesthetic
9 |
--------------------------------------------------------------------------------
/messages/6.1.1.md:
--------------------------------------------------------------------------------
1 | **ayu theme for Sublime Text 4**
2 | https://github.com/dempfi/ayu/releases
3 |
4 | # Version 6.1.1
5 | - mdpopups have proper background matching ayu popups
6 |
7 | # Version 6.1.0
8 | - More prominent autocomplete selection and kind badges
9 | - Add distinctive type icons to the command palette and go to windows
10 | - Raise the contrast of the dark theme
11 | - All editor popups match the overall theme aesthetic
12 |
--------------------------------------------------------------------------------
/messages/6.1.2.md:
--------------------------------------------------------------------------------
1 | **ayu theme for Sublime Text 4**
2 | https://github.com/dempfi/ayu/releases
3 |
4 | # Version 6.1.2
5 | - Add switch panel icon for Sublime Text 3 interoperability
6 |
7 | # Version 6.1.1
8 | - mdpopups have proper background matching ayu popups
9 |
10 | # Version 6.1.0
11 | - More prominent autocomplete selection and kind badges
12 | - Add distinctive type icons to the command palette and go to windows
13 | - Raise the contrast of the dark theme
14 | - All editor popups match the overall theme aesthetic
15 |
--------------------------------------------------------------------------------
/messages/install.md:
--------------------------------------------------------------------------------
1 | **ayu theme for Sublime Text**
2 | To learn more about ayu visit https://github.com/dempfi/ayu
3 | ===============================================================================
4 |
5 | Activate ayu
6 |
7 | Open command palette via `Tools > Command Palette` (or CMD/CTRL + SHIFT + p)
8 | and type `ayu: Activate theme`.
9 |
10 | ===
11 |
12 | You can also manually activate this theme by adding these lines to your user
13 | settings (Preferences > Settings - User):
14 |
15 | Light:
16 | ```json
17 | "theme": "ayu-light.sublime-theme",
18 | "color_scheme": "Packages/ayu/ayu-light.sublime-color-scheme",
19 | ```
20 |
21 | Mirage:
22 | ```json
23 | "theme": "ayu-mirage.sublime-theme",
24 | "color_scheme": "Packages/ayu/ayu-mirage.sublime-color-scheme",
25 | ```
26 |
27 | Dark:
28 | ```json
29 | "theme": "ayu-dark.sublime-theme",
30 | "color_scheme": "Packages/ayu/ayu-dark.sublime-color-scheme",
31 | ```
32 |
33 | ================================================================================
34 |
35 | Ayu provides following options to customize the theme
36 |
37 | ```json
38 | "ui_native_titlebar": true, // native titlebar on macOs
39 | "ui_separator": true, // separators between panels
40 | "ui_wide_scrollbars": true, // wider scrollbars
41 | ```
42 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ayu",
3 | "version": "5.0.3",
4 | "description": "Sublime theme",
5 | "repository": {
6 | "type": "git",
7 | "url": "git+https://github.com/dempfi/ayu.git"
8 | },
9 | "author": "Ike Ku",
10 | "license": "MIT",
11 | "bugs": {
12 | "url": "https://github.com/dempfi/ayu/issues"
13 | },
14 | "scripts": {
15 | "build": "ts-node ./src/build.ts",
16 | "start": "watch 'yarn build' ./src"
17 | },
18 | "homepage": "https://github.com/dempfi/ayu#readme",
19 | "dependencies": {
20 | "@types/node": "^16.7.11",
21 | "ayu": "^8.0.1",
22 | "ts-node": "^10.2.1",
23 | "typescript": "^4.4.2",
24 | "watch": "^1.0.2"
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/build.ts:
--------------------------------------------------------------------------------
1 | import * as fs from 'fs'
2 | import * as ayu from 'ayu'
3 | import * as path from 'path'
4 | import * as templates from './templates'
5 |
6 | type SchemeName = 'light' | 'dark' | 'mirage'
7 |
8 | const filePath = (kind: SchemeName, extension: string) =>
9 | path.join(process.cwd(), `/ayu-${kind}.${extension}`)
10 |
11 | const ui = (kind: SchemeName) => fs.writeFileSync(
12 | filePath(kind, 'sublime-theme'),
13 | JSON.stringify(templates.ui(ayu[kind], kind), null, '\t')
14 | )
15 |
16 | const syntax = (kind: SchemeName) => fs.writeFileSync(
17 | filePath(kind, 'sublime-color-scheme'),
18 | JSON.stringify(templates.syntax(ayu[kind]), null, '\t')
19 | )
20 |
21 | const widget = (kind: SchemeName) => fs.writeFileSync(
22 | path.join(process.cwd(), `/widgets/Widget - ayu-${kind}.stTheme`),
23 | templates.widget(ayu[kind], kind)
24 | );
25 |
26 | ['light', 'dark', 'mirage'].map((kind: SchemeName) => {
27 | widget(kind)
28 | syntax(kind)
29 | ui(kind)
30 | })
31 |
--------------------------------------------------------------------------------
/src/templates/index.ts:
--------------------------------------------------------------------------------
1 | export { default as ui } from './ui'
2 | export { default as syntax } from './syntax'
3 | export { default as widget } from './widget'
4 |
--------------------------------------------------------------------------------
/src/templates/widget.ts:
--------------------------------------------------------------------------------
1 | import { Scheme } from 'ayu'
2 |
3 | export default (scheme: Scheme, name: string) => `
4 |
5 |
6 |
7 | author
8 | Ike Ku
9 | colorSpaceName
10 | sRGB
11 | name
12 | ayu
13 | semanticClass
14 | ayu.${name}
15 | settings
16 |
17 |
18 | settings
19 |
20 | background
21 | ${scheme.ui.popup.bg.hex()}
22 | caret
23 | ${scheme.common.accent.hex()}
24 | foreground
25 | ${scheme.editor.fg.hex()}
26 | invisibles
27 | ${scheme.editor.gutter.normal.hex()}
28 | lineHighlight
29 | ${scheme.editor.line.hex()}
30 | inactiveSelection
31 | ${scheme.editor.selection.inactive.hex()}
32 | selection
33 | ${scheme.editor.selection.active.hex()}
34 | selectionBorder
35 | ${scheme.editor.selection.active.hex()}
36 |
37 |
38 |
39 | name
40 | Comments
41 | scope
42 | comment
43 | settings
44 |
45 | fontStyle
46 | italic
47 | foreground
48 | ${scheme.syntax.comment.hex()}
49 |
50 |
51 |
52 | name
53 | Keyword
54 | scope
55 | keyword, storage
56 | settings
57 |
58 | foreground
59 | ${scheme.syntax.keyword.hex()}
60 |
61 |
62 |
63 | name
64 | Constant
65 | scope
66 | constant
67 | settings
68 |
69 | foreground
70 | ${scheme.syntax.constant.hex()}
71 |
72 |
73 |
74 | name
75 | String
76 | scope
77 | string
78 | settings
79 |
80 | foreground
81 | ${scheme.syntax.string.hex()}
82 |
83 |
84 |
85 | name
86 | Escape
87 | scope
88 | constant.character.escape
89 | settings
90 |
91 | foreground
92 | ${scheme.syntax.regexp.hex()}
93 |
94 |
95 |
96 |
97 | `
98 |
--------------------------------------------------------------------------------
/test/C.c:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include
4 | #include
5 | #include
6 | #include
7 |
8 | #include "unicode/utypes.h"
9 | #include "unicode/localpointer.h"
10 | #include "unicode/uset.h"
11 | #include "unicode/unorm2.h"
12 | #include "unicode/ustring.h"
13 |
14 | #include "objecthash.h"
15 |
16 | struct student
17 | {
18 | char name[50];
19 | int roll;
20 | float marks;
21 | } s;
22 |
23 | bool object_hash(/*const*/ json_object *j, byte hash[HASH_SIZE]);
24 |
25 | static void hash_update(hash_ctx * const c, const byte * const b,
26 | const size_t l) {
27 | SHA256_Update(c, b, l);
28 | }
29 |
30 | static void hash_init(hash_ctx * const c, const byte t) {
31 | SHA256_Init(c);
32 |
33 | byte b[1];
34 | b[0] = t;
35 | hash_update(c, b, 1);
36 | }
37 |
38 | static void hash_final(hash_ctx * const c, hash h) {
39 | SHA256_Final(h, c);
40 | }
41 |
42 | static void hash_bytes(const byte t, const byte * const b, const size_t l,
43 | hash hash) {
44 | hash_ctx ctx;
45 | hash_init(&ctx, t);
46 | hash_update(&ctx, b, l);
47 | hash_final(&ctx, hash);
48 | }
49 |
50 | static int dict_comp(const void *a, const void *b) {
51 | // note that this should always terminate in < sizeof(hash) anyway
52 | return memcmp(a, b, 2 * sizeof(hash));
53 | }
54 |
55 | static bool object_hash_str(const char *str, size_t len, byte hash[HASH_SIZE]) {
56 | hash_bytes('u', (const byte *)str, len, hash);
57 | return true;
58 | }
59 |
60 | static bool object_hash_bool(bool b, hash h) {
61 | hash_bytes('b', (byte *)(b ? "1" : "0"), 1, h);
62 | return true;
63 | }
64 |
65 | static bool object_hash_dict(/*const*/ json_object * const d, hash h) {
66 | // FIXME: there may be a better way
67 | size_t len = 0;
68 | {
69 | json_object_object_foreach(d, key, val) {
70 | ++len;
71 | // key and val are unused, but we don't want the compiler to complain.
72 | (void)key;
73 | (void)val;
74 | }
75 | }
76 | byte *hashes = malloc(2 * len * sizeof(hash));
77 |
78 | size_t n = 0;
79 | json_object_object_foreach(d, key, val) {
80 | object_hash_str(key, strlen(key), &hashes[2 * n * sizeof(hash)]);
81 | object_hash(val, &hashes[(2 * n + 1) * sizeof(hash)]);
82 | ++n;
83 | }
84 |
85 | qsort(hashes, len, 2 * sizeof(hash), dict_comp);
86 | hash_bytes('d', hashes, 2 * len * sizeof(hash), h);
87 |
88 | free(hashes);
89 |
90 | return true;
91 | }
92 |
93 | static bool object_hash_int(int64_t i, hash h) {
94 | char buf[100];
95 |
96 | sprintf(buf, "%" PRId64, i);
97 | hash_bytes('i', (byte *)buf, strlen(buf), h);
98 | return true;
99 | }
100 |
101 | static void float_normalize(double f, char out[1000]) {
102 | const char * const base = out;
103 |
104 | // special case 0
105 | // Note that if we allowed f to end up > .5 or == 0, we'd get the same thing
106 | if (f == 0.0) {
107 | strcpy(out, "+0:");
108 | return;
109 | }
110 |
111 | // sign
112 | *out = '+';
113 | if (f < 0) {
114 | *out = '-';
115 | f = -f;
116 | }
117 | ++out;
118 |
119 | // exponent
120 | int e = 0;
121 | while (f > 1) {
122 | f /= 2;
123 | e += 1;
124 | }
125 | while (f <= .5) {
126 | f *= 2;
127 | e -= 1;
128 | }
129 | out += sprintf(out, "%d:", e);
130 |
131 | // mantissa
132 | assert(f <= 1);
133 | assert(f > .5);
134 | while (f != 0) {
135 | if (f >= 1) {
136 | *out++ = '1';
137 | f -= 1;
138 | } else {
139 | *out++ = '0';
140 | }
141 | assert (f < 1);
142 | assert (out - base < 1000);
143 | f *= 2;
144 | }
145 |
146 | *out = '\0';
147 | }
148 |
149 | static bool object_hash_float(const double d, hash h) {
150 | char buf[1000];
151 |
152 | float_normalize(d, buf);
153 | hash_bytes('f', (byte *)buf, strlen(buf), h);
154 | return true;
155 | }
156 |
157 | static bool object_hash_list(json_object *l, hash h) {
158 | hash_ctx ctx;
159 | hash_init(&ctx, 'l');
160 |
161 | int len = json_object_array_length(l);
162 | for (int n = 0; n < len; ++n) {
163 | byte ihash[HASH_SIZE];
164 | if (!object_hash(json_object_array_get_idx(l, n), ihash))
165 | return false;
166 | hash_update(&ctx, ihash, sizeof ihash);
167 | }
168 |
169 | hash_final(&ctx, h);
170 | return true;
171 | }
172 |
173 | bool object_hash(/*const*/ json_object *j, byte hash[HASH_SIZE]) {
174 | enum json_type type;
175 | type = json_object_get_type(j);
176 | switch (type) {
177 | case json_type_boolean:
178 | return object_hash_bool(json_object_get_boolean(j), hash);
179 | case json_type_double:
180 | return object_hash_float(json_object_get_double(j), hash);
181 | case json_type_int:
182 | return object_hash_int(json_object_get_int64(j), hash);
183 | case json_type_string: {
184 | const char *s = json_object_get_string(j);
185 | return object_hash_str(s, strlen(s), hash);
186 | }
187 | case json_type_object:
188 | return object_hash_dict(j, hash);
189 | case json_type_array:
190 | return object_hash_list(j, hash);
191 | case json_type_null:
192 | hash_bytes('n', NULL, 0, hash);
193 | return true;
194 | default:
195 | break;
196 | }
197 | printf("unknown type = %d\n", type);
198 | assert(false);
199 | return false;
200 | }
201 |
202 | bool python_json_hash(const char * const json, hash hash) {
203 | json_object * const j = json_tokener_parse(json);
204 | return object_hash(j, hash);
205 | }
206 |
207 | typedef json_object *leaf_fn(json_object *j);
208 |
209 | static json_object *apply_to_leaves(json_object *j, leaf_fn *fn) {
210 | enum json_type type;
211 | type = json_object_get_type(j);
212 | switch (type) {
213 | case json_type_boolean:
214 | case json_type_double:
215 | case json_type_int:
216 | case json_type_null:
217 | case json_type_string:
218 | return fn(j);
219 | case json_type_object: {
220 | json_object *r = json_object_new_object();
221 | json_object_object_foreach(j, key, val) {
222 | json_object *k = json_object_new_string(key);
223 | json_object *kk = fn(k);
224 | json_object_put(k);
225 | const char *kkk = json_object_get_string(kk);
226 | json_object_object_add(r, kkk, apply_to_leaves(val, fn));
227 | json_object_put(kk);
228 | }
229 | return r;
230 | }
231 | case json_type_array: {
232 | json_object *r = json_object_new_array();
233 | for (int n = 0; n < json_object_array_length(j); ++n) {
234 | json_object_array_add(r, apply_to_leaves(json_object_array_get_idx(j, n),
235 | fn));
236 | }
237 | return r;
238 | }
239 | }
240 | printf("type = %d\n", type);
241 | assert(false);
242 | return NULL;
243 | }
244 |
245 | static json_object *commonize_int(json_object *j) {
246 | if (json_object_get_type(j) == json_type_int)
247 | return json_object_new_double(json_object_get_int64(j));
248 | return json_object_get(j);
249 | }
250 |
251 | json_object *commonize(json_object *j) {
252 | return apply_to_leaves(j, commonize_int);
253 | }
254 |
255 | bool common_json_hash(const char * const json, hash hash) {
256 | json_object * const j = json_tokener_parse(json);
257 | return object_hash(commonize(j), hash);
258 | }
259 |
260 | static json_object *unicode_normalize_string(json_object *j) {
261 | if (json_object_get_type(j) == json_type_string) {
262 | const char *s = json_object_get_string(j);
263 | UErrorCode err;
264 | const UNormalizer2 *un = unorm2_getNFCInstance(&err);
265 | assert(un);
266 | assert(!err);
267 |
268 | int32_t length;
269 | u_strFromUTF8(NULL, 0, &length, s, strlen(s), &err);
270 | assert(!err);
271 |
272 | UChar *us = malloc(length * sizeof(UChar));
273 | int32_t uslength;
274 | u_strFromUTF8(us, length, &uslength, s, strlen(s), &err);
275 | assert(!err);
276 |
277 | // FIXME: surely we can find out how long the result will be?
278 | UChar *usn = malloc(uslength * 10 * sizeof(UChar));
279 | int32_t usnlength = unorm2_normalize(un, us, uslength, usn, 10 * uslength,
280 | &err);
281 | assert(!err);
282 | assert(usnlength <= uslength * 10);
283 |
284 | int32_t n8length;
285 | u_strToUTF8(NULL, 0, &n8length, usn, usnlength, &err);
286 | assert(!err);
287 |
288 | char *n8 = malloc(n8length);
289 | u_strToUTF8(n8, n8length, &n8length, usn, usnlength, &err);
290 | assert(!err);
291 |
292 | free(n8);
293 | free(usn);
294 | free(us);
295 |
296 | return json_object_new_string(n8);
297 | }
298 | return json_object_get(j);
299 | }
300 |
301 | json_object *unicode_normalize(json_object *j) {
302 | return apply_to_leaves(j, unicode_normalize_string);
303 | }
304 |
--------------------------------------------------------------------------------
/test/Example.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/foundation.dart';
2 | import 'package:flutter/material.dart';
3 |
4 | class ClickableMaskView extends StatelessWidget {
5 | const ClickableMaskView({
6 | Key? key,
7 | required this.rippleColor,
8 | required this.onClick,
9 | required this.padding,
10 | required this.radius,
11 | }) : super(key: key);
12 |
13 | final Color rippleColor;
14 | final Function onClick;
15 | final double padding;
16 | final double radius;
17 |
18 | @override
19 | Widget build(BuildContext context) {
20 | return Positioned.fill(
21 | child: Container(
22 | padding: EdgeInsets.symmetric(horizontal: context.size!.height),
23 | child: Material(
24 | color: rippleColor,
25 | child: InkWell(
26 | onTap: () => onClick.call(),
27 | borderRadius: BorderRadius.circular(radius),
28 | ),
29 | ),
30 | ),
31 | );
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/test/Golang.go:
--------------------------------------------------------------------------------
1 | package objecthash
2 |
3 | import (
4 | "bytes"
5 | "crypto/sha256"
6 | "encoding/json"
7 | "fmt"
8 | "math"
9 | "reflect"
10 | "sort"
11 | )
12 |
13 | const hashLength int = sha256.Size
14 |
15 | func hash(t string, b []byte) [hashLength]byte {
16 | h := sha256.New()
17 | h.Write([]byte(t))
18 | h.Write(b)
19 |
20 | var r [hashLength]byte
21 | copy(r[:], h.Sum(nil))
22 | return r
23 | }
24 |
25 | // Set represents an unordered, unduplicated list of objects.
26 | // FIXME: if What You Hash Is What You Get, then this needs to be safe
27 | // to use as a set. Note: not actually safe to use as a set
28 | type Set []interface{}
29 |
30 | type sortableHashes [][hashLength]byte
31 |
32 | func (h sortableHashes) Len() int { return len(h) }
33 | func (h sortableHashes) Swap(i, j int) { h[i], h[j] = h[j], h[i] }
34 | func (h sortableHashes) Less(i, j int) bool { return bytes.Compare(h[i][:], h[j][:]) < 0 }
35 |
36 | func hashSet(s Set) ([hashLength]byte, error) {
37 | h := make([][hashLength]byte, len(s))
38 | for n, e := range s {
39 | hn, err := ObjectHash(e)
40 | if err != nil {
41 | return [hashLength]byte{}, err
42 | }
43 | h[n] = hn
44 | }
45 |
46 | sort.Sort(sortableHashes(h))
47 | b := new(bytes.Buffer)
48 | var prev [hashLength]byte
49 | for _, hh := range h {
50 | if hh != prev {
51 | b.Write(hh[:])
52 | }
53 | prev = hh
54 | }
55 | return hash(`s`, b.Bytes()), nil
56 | }
57 |
58 | func hashList(l []interface{}) ([hashLength]byte, error) {
59 | h := new(bytes.Buffer)
60 | for _, o := range l {
61 | b, err := ObjectHash(o)
62 | if err != nil {
63 | return [hashLength]byte{}, err
64 | }
65 | h.Write(b[:])
66 | }
67 | return hash(`l`, h.Bytes()), nil
68 | }
69 |
70 | func hashUnicode(s string) [hashLength]byte {
71 | //return hash(`u`, norm.NFC.Bytes([]byte(s)))
72 | return hash(`u`, []byte(s))
73 | }
74 |
75 | type hashEntry struct {
76 | khash [hashLength]byte
77 | vhash [hashLength]byte
78 | }
79 | type byKHash []hashEntry
80 |
81 | func (h byKHash) Len() int { return len(h) }
82 | func (h byKHash) Swap(i, j int) { h[i], h[j] = h[j], h[i] }
83 | func (h byKHash) Less(i, j int) bool {
84 | return bytes.Compare(h[i].khash[:],
85 | h[j].khash[:]) < 0
86 | }
87 |
88 | func hashDict(d map[interface{}]interface{}) ([hashLength]byte, error) {
89 | e := make([]hashEntry, len(d))
90 | n := 0
91 | for k, v := range d {
92 | khash, err := ObjectHash(k)
93 | if err != nil {
94 | return [hashLength]byte{}, err
95 | }
96 | e[n].khash = khash
97 |
98 | vhash, err := ObjectHash(v)
99 | if err != nil {
100 | return [hashLength]byte{}, err
101 | }
102 | e[n].vhash = vhash
103 |
104 | n++
105 | }
106 | sort.Sort(byKHash(e))
107 | h := new(bytes.Buffer)
108 | for _, ee := range e {
109 | h.Write(ee.khash[:])
110 | h.Write(ee.vhash[:])
111 | }
112 | return hash(`d`, h.Bytes()), nil
113 | }
114 |
115 | func floatNormalize(originalFloat float64) (s string, err error) {
116 | // Special case 0
117 | // Note that if we allowed f to end up > .5 or == 0, we'd get the same thing.
118 | if originalFloat == 0 {
119 | return "+0:", nil
120 | }
121 |
122 | // sign
123 | f := originalFloat
124 | s = `+`
125 | if f < 0 {
126 | s = `-`
127 | f = -f
128 | }
129 | // exponent
130 | e := 0
131 | for f > 1 {
132 | f /= 2
133 | e++
134 | }
135 | for f <= .5 {
136 | f *= 2
137 | e--
138 | }
139 | s += fmt.Sprintf("%d:", e)
140 | // mantissa
141 | if f > 1 || f <= .5 {
142 | return "", fmt.Errorf("Could not normalize float: %f", originalFloat)
143 | }
144 | for f != 0 {
145 | if f >= 1 {
146 | s += `1`
147 | f--
148 | } else {
149 | s += `0`
150 | }
151 | if f >= 1 {
152 | return "", fmt.Errorf("Could not normalize float: %f", originalFloat)
153 | }
154 | if len(s) >= 1000 {
155 | return "", fmt.Errorf("Could not normalize float: %f", originalFloat)
156 | }
157 | f *= 2
158 | }
159 | return
160 | }
161 |
162 | func hashFloat(f float64) ([hashLength]byte, error) {
163 | var normalizedFloat string
164 |
165 | switch {
166 | case math.IsInf(f, 1):
167 | normalizedFloat = "Infinity"
168 | case math.IsInf(f, -1):
169 | normalizedFloat = "-Infinity"
170 | case math.IsNaN(f):
171 | normalizedFloat = "NaN"
172 | default:
173 | var err error
174 | normalizedFloat, err = floatNormalize(f)
175 | if err != nil {
176 | return [hashLength]byte{}, err
177 | }
178 | }
179 |
180 | return hash(`f`, []byte(normalizedFloat)), nil
181 | }
182 |
183 | func hashUint(i uint64) [hashLength]byte {
184 | return hash(`i`, []byte(fmt.Sprintf("%d", i)))
185 | }
186 |
187 | func hashInt(i int64) [hashLength]byte {
188 | return hash(`i`, []byte(fmt.Sprintf("%d", i)))
189 | }
190 |
191 | func hashBool(b bool) [hashLength]byte {
192 | bb := []byte(`0`)
193 | if b {
194 | bb = []byte(`1`)
195 | }
196 | return hash(`b`, bb)
197 | }
198 |
199 | func hashBytes(value reflect.Value) ([hashLength]byte, error) {
200 | var b []byte
201 | if value.Kind() == reflect.Slice {
202 | b = value.Bytes()
203 | } else {
204 | // The `Bytes()` method only works for slices.
205 | b = make([]byte, value.Len())
206 | bb := reflect.ValueOf(b)
207 | reflect.Copy(bb, value)
208 | }
209 |
210 | return hash(`r`, b), nil
211 | }
212 |
213 | // ObjectHash returns the hash of a subset of allowed Go objects.
214 | func ObjectHash(o interface{}) ([hashLength]byte, error) {
215 | switch v := o.(type) {
216 | case Set:
217 | return hashSet(v)
218 | }
219 |
220 | value := reflect.ValueOf(o)
221 | switch value.Kind() {
222 | case reflect.Invalid: // nil
223 | return hash(`n`, []byte(``)), nil
224 | case reflect.Slice, reflect.Array:
225 | // Check if this is a blob of bytes.
226 | if value.Type().Elem() == reflect.TypeOf(byte(0)) {
227 | return hashBytes(value)
228 | }
229 |
230 | // Otherwise hash it as a list.
231 | var anySlice []interface{}
232 | for i := 0; i < value.Len(); i++ {
233 | anySlice = append(anySlice, value.Index(i).Interface())
234 | }
235 | return hashList(anySlice)
236 | case reflect.String:
237 | return hashUnicode(value.String()), nil
238 | case reflect.Map:
239 | anyMap := make(map[interface{}]interface{})
240 | for _, key := range value.MapKeys() {
241 | anyMap[key.Interface()] = value.MapIndex(key).Interface()
242 | }
243 | return hashDict(anyMap)
244 | case reflect.Float32, reflect.Float64:
245 | return hashFloat(value.Float())
246 | case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
247 | return hashInt(value.Int()), nil
248 | case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64:
249 | return hashUint(value.Uint()), nil
250 | case reflect.Bool:
251 | return hashBool(value.Bool()), nil
252 | default:
253 | return [hashLength]byte{}, fmt.Errorf("Unsupported type: %T", o)
254 | }
255 | }
256 |
257 | // CommonJSONHash computes the ObjectHash of a Common JSON object.
258 | func CommonJSONHash(j string) ([hashLength]byte, error) {
259 | var f interface{}
260 | if err := json.Unmarshal([]byte(j), &f); err != nil {
261 | return [hashLength]byte{}, err
262 | }
263 | return ObjectHash(f)
264 | }
265 |
266 | // Convert an object to the Common JSON equivalent
267 | func CommonJSONify(o interface{}) (interface{}, error) {
268 | j, err := json.Marshal(o)
269 | if err != nil {
270 | return nil, err
271 | }
272 |
273 | var c interface{}
274 | err = json.Unmarshal([]byte(j), &c)
275 | if err != nil {
276 | return nil, err
277 | }
278 |
279 | return c, nil
280 | }
281 |
--------------------------------------------------------------------------------
/test/Haskell.hs:
--------------------------------------------------------------------------------
1 | {-# LANGUAGE DeriveGeneric #-}
2 |
3 | module ObjHash
4 | (
5 | objhash
6 | , hashValue
7 | , hashNull
8 | , hashBool
9 | , hashScientific
10 | , hashList
11 | , hashString
12 | ) where
13 |
14 | import Data.List (sort)
15 | import Data.Aeson (ToJSON, toJSON)
16 | import qualified Data.Text as Text
17 | import qualified Data.ByteString as B
18 | import qualified Data.Scientific as Sci
19 | import qualified Data.Aeson.Types as A
20 | import qualified Crypto.Hash.SHA256 as SHA256
21 | import Data.HashMap.Strict (HashMap, toList)
22 | import Data.ByteString.Char8 (pack)
23 |
24 | data Hash = Hash {
25 | name :: String
26 | , age :: Double
27 | } deriving (Generic, Show)
28 |
29 | instance ToJSON Hash where
30 | toEncoding = genericToEncoding defaultOptions
31 |
32 | hash :: String -> B.ByteString -> B.ByteString
33 | hash prefix bs = SHA256.hash $ B.append (pack prefix) bs
34 |
35 | hashString :: String -> B.ByteString
36 | hashString s = hash "u" $ pack s
37 |
38 | hashNull :: B.ByteString
39 | hashNull = B.empty
40 |
41 | hashBool :: Bool -> B.ByteString
42 | hashBool b = hash "b" $ pack bs
43 | where
44 | bs = if b then "1" else "0"
45 |
46 | significandString :: Double -> String
47 | significandString d
48 | | d == 0 = ""
49 | | d >= 1 = "1" ++ significandString ((d - 1) * 2)
50 | | otherwise = "0" ++ significandString (d * 2)
51 |
52 | normalizeDouble :: Double -> String
53 | normalizeDouble d
54 | | isInfinite d = if d > 0 then "Infinity" else "-Infinity"
55 | | isNaN d = "NaN"
56 | | d == 0 = "+0:"
57 | | d < 0 = "-" ++ stringified (-d)
58 | | d > 0 = "+" ++ stringified d
59 | where
60 | stringified n =
61 | show (exponent n) ++ ":" ++ significandString (significand n)
62 |
63 | hashScientific :: Sci.Scientific -> B.ByteString
64 | hashScientific sci =
65 | case num of
66 | Left double -> hash "f" $ pack $ normalizeDouble double
67 | Right int -> hash "i" $ pack $ show int
68 | where
69 | num = Sci.floatingOrInteger sci
70 |
71 | hashList :: A.Array -> B.ByteString
72 | hashList _ = B.empty
73 | -- hashList a = concat $ Vector.map hashValue a
74 |
75 | hashObject :: HashMap Text.Text A.Value -> B.ByteString
76 | hashObject obj = hash "d" $ B.concat $ sort $ hashElements $ obj
77 | where
78 | hashElement (k, v) = B.append (hashString $ Text.unpack k) (hashValue v)
79 | hashElements hm = map hashElement (toList hm)
80 |
81 | hashValue :: A.Value -> B.ByteString
82 | hashValue A.Null = hashNull
83 | hashValue (A.String s) = hashString $ Text.unpack s
84 | hashValue (A.Bool b) = hashBool b
85 | hashValue (A.Array xs) = hashList xs
86 | hashValue (A.Number n) = hashScientific n
87 | hashValue (A.Object o) = hashObject o
88 |
89 | objhash :: ToJSON a => a -> B.ByteString
90 | objhash = hashValue . toJSON
91 |
--------------------------------------------------------------------------------
/test/JSX.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 |
3 |
4 | const Component = () =>
5 | <>
6 | Something 1
7 | Something 2
8 | >
9 |
10 |
11 | export const Main = () =>
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/test/JavaScript.js:
--------------------------------------------------------------------------------
1 | import { Binder } from './binder';
2 | import { Dialog } from './dialog';
3 | import { Channel } from './channel';
4 |
5 | export class Bot {
6 |
7 | constructor() {
8 | /** @internal */
9 | this._dialogHandlers = [];
10 | /** @internal */
11 | this._performerHandlers = [];
12 | this.when = Binder.for(this);
13 | this._channels = new Map();
14 | }
15 |
16 | /** @internal */
17 | _channelFor(channelId) {
18 | const channel = this._channels.get(channelId) || new Channel();
19 | this._channels.set(channelId, channel);
20 | return channel;
21 | }
22 |
23 | dialog(channel, users) {
24 | return new Dialog(this, channel, users);
25 | }
26 |
27 | // @deprecated
28 | abortDialog(channel, user) {
29 | this._channelFor(channel).abort(user);
30 | }
31 |
32 | onMessage(message) {
33 | const performer = this._performerHandlers.find(c => c.match(message));
34 | if (performer) return performer.handler(message, this);
35 | const channel = this._channelFor(message.channel);
36 | const hasActions = channel.hasFor(message.user);
37 | if (hasActions) return channel.processMessage(message);
38 | const dialog = this._dialogHandlers.find(c => c.match(message));
39 |
40 | if (dialog) {
41 | const obj = this.dialog(message.channel, [message.user]);
42 | obj._manager.perform(message);
43 | dialog.handler(obj, this);
44 | }
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/test/Python.py:
--------------------------------------------------------------------------------
1 | import json
2 | import hashlib
3 | import math
4 | import random
5 | import types
6 | import unicodedata
7 | from binascii import hexlify as hexify, unhexlify as unhexify
8 |
9 | def hash_fn():
10 | return hashlib.sha256()
11 |
12 | def hash_primitive(t, b):
13 | #print hexify(t), hexify(b)
14 | m = hash_fn()
15 | m.update(t)
16 | m.update(b)
17 | t = m.digest()
18 | #print '=', hexify(t)
19 | return t
20 |
21 | # We need this class because otherwise we can't put a list in a set.
22 | class FrozenList(object):
23 | def __init__(self, l):
24 | self.l = tuple(l)
25 |
26 | def __getitem__(self, key):
27 | return self.l[key]
28 |
29 | def __hash__(self):
30 | return hash(self.l)
31 |
32 | def __eq__(self, other):
33 | return self.l == other.l
34 |
35 | @deprecated
36 | def __len__(self):
37 | return len(self.l)
38 |
39 | def obj_hash_bool(b):
40 | return hash_primitive('b', '1' if b else '0')
41 |
42 | def obj_hash_list(l):
43 | h = ''
44 | for o in l:
45 | h += obj_hash(o)
46 | return hash_primitive('l', h)
47 |
48 | def obj_hash_dict(d):
49 | h = ''
50 | kh = [obj_hash(k) + obj_hash(v) for (k, v) in d.items()]
51 | for v in sorted(kh):
52 | h += v
53 | return hash_primitive('d', h)
54 |
55 | def obj_hash_unicode(u):
56 | return hash_primitive('u', u.encode('utf-8'))
57 |
58 | def float_normalize(f):
59 | # special case 0
60 | # Note that if we allowed f to end up > .5 or == 0, we'd get the same thing
61 | if f == 0.0:
62 | return '+0:'
63 | # sign
64 | s = '+'
65 | if f < 0:
66 | s = '-'
67 | f = -f
68 | # exponent
69 | e = 0
70 | while f > 1:
71 | f /= 2
72 | e += 1
73 | while f <= .5:
74 | f *= 2
75 | e -= 1
76 | s += str(e) + ':'
77 | # mantissa
78 | assert f <= 1
79 | assert f > .5
80 | while f:
81 | if f >= 1:
82 | s += '1'
83 | f -= 1
84 | else:
85 | s += '0'
86 | assert f < 1
87 | assert len(s) < 1000
88 | f *= 2
89 |
90 | return s
91 |
92 | def obj_hash_float(f):
93 | if math.isnan(f):
94 | return hash_primitive('f', 'NaN')
95 | elif math.isinf(f):
96 | return hash_primitive('f', 'Infinity' if f > 0 else '-Infinity')
97 | else:
98 | return hash_primitive('f', float_normalize(f))
99 |
100 | def obj_hash_int(i):
101 | return hash_primitive('i', str(i))
102 |
103 | def obj_hash_set(s):
104 | h = []
105 | for e in s:
106 | h.append(obj_hash(e))
107 | r = ''
108 | for t in sorted(h):
109 | r += t
110 | return hash_primitive('s', r)
111 |
112 | class Redacted(object):
113 | def __init__(self, hash):
114 | self.hash = unhexify(hash)
115 |
116 | class RedactedObject(Redacted):
117 | def __init__(self, o):
118 | self.hash = obj_hash(o)
119 |
120 | def obj_hash(o):
121 | if type(o) is list or type(o) is FrozenList:
122 | return obj_hash_list(o)
123 | elif type(o) is dict:
124 | return obj_hash_dict(o)
125 | elif type(o) is unicode:
126 | return obj_hash_unicode(o)
127 | elif type(o) is float:
128 | return obj_hash_float(o)
129 | elif type(o) is int:
130 | return obj_hash_int(o)
131 | elif type(o) is str:
132 | return obj_hash_unicode(unicode(o))
133 | elif type(o) is set or type(o) is frozenset:
134 | return obj_hash_set(o)
135 | elif type(o) is bool:
136 | return obj_hash_bool(o)
137 | elif isinstance(o, Redacted):
138 | return o.hash
139 | elif o is None:
140 | return hash_primitive('n', '')
141 |
142 | print type(o)
143 | assert False
144 |
145 | def is_primitive_type(t):
146 | return t is str or t is unicode or t is float or t is int or t is bool or t is types.NoneType
147 |
148 | class ApplyToLeaves(object):
149 | def __init__(self, leaf_fn, restrict = None):
150 | self.leaf_fn = leaf_fn
151 | self.restrict = restrict
152 |
153 | def __call__(self, o):
154 | t = type(o)
155 | if t is dict:
156 | return {self(k): self(v) for (k,v) in o.items()}
157 | elif t is list:
158 | return [self(e) for e in o]
159 | elif t is set:
160 | return set([self(e) for e in o])
161 | elif is_primitive_type(t):
162 | if self.restrict:
163 | if t in self.restrict:
164 | return self.leaf_fn(o)
165 | return o
166 | else:
167 | return self.leaf_fn(o)
168 |
169 | print type(o)
170 | assert False
171 |
172 | commonize = ApplyToLeaves(lambda o: float(o), (int,))
173 |
174 | def json_hash(j, fns=()):
175 | t = json.loads(j)
176 | for f in fns:
177 | t = f(t)
178 | return obj_hash(t)
179 |
180 | def redactize_unicode(u):
181 | if u.startswith('**REDACTED**'):
182 | return Redacted(u[12:])
183 | return u
184 |
185 | redactize = ApplyToLeaves(redactize_unicode, (str, unicode))
186 |
187 | class ApplyToLeavesAndKeys(ApplyToLeaves):
188 | def __init__(self, leaf_fn, key_fn):
189 | ApplyToLeaves.__init__(self, leaf_fn)
190 | self.key_fn = key_fn
191 |
192 | def __call__(self, o):
193 | if type(o) is dict:
194 | return {self.key_fn(k): self(v) for (k, v) in o.items()}
195 | return ApplyToLeaves.__call__(self, o)
196 |
197 | def redactable_entity(e):
198 | return FrozenList((redactable_rand(), e))
199 |
200 | def redactable_key(k):
201 | return redactable_rand() + k
202 |
203 | def redactable_rand():
204 | r = ''
205 | for x in range(32):
206 | r += chr(random.SystemRandom().getrandbits(8))
207 | return hexify(r)
208 |
209 | redactable = ApplyToLeavesAndKeys(redactable_entity, redactable_key)
210 |
211 | class ApplyUnredactable(ApplyToLeavesAndKeys):
212 | def __init__(self):
213 | ApplyToLeavesAndKeys.__init__(self, None, lambda k: k[32:])
214 |
215 | @Deprecated
216 | def __call__(self, o):
217 | t = type(o)
218 | if (t is list or t is FrozenList) and len(o) == 2 and type(o[0]) is str:
219 | assert is_primitive_type(type(o[1]))
220 | return o[1]
221 | return ApplyToLeavesAndKeys.__call__(self, o)
222 |
223 | unredactable = ApplyUnredactable()
224 |
225 | def _unicode_normalize(u):
226 | return unicodedata.normalize('NFC', u)
227 |
228 | def unicode_normalize_entity(e):
229 | if type(e) is unicode:
230 | return _unicode_normalize(e)
231 | assert type(e) is str
232 | return _unicode_normalize(unicode(e))
233 |
234 | unicode_normalize = ApplyToLeaves(unicode_normalize_entity, (str, unicode))
235 |
236 | setup(
237 | name = "django-stubs",
238 | version = "1.8.0",
239 | description = "Mypy stubs for Django",
240 | long_description = readme,
241 | long_description_content_type = "text/markdown",
242 | license = "MIT",
243 | url = "https://github.com/typeddjango/django-stubs",
244 | py_modules = [],
245 | python_requires = ">=3.6",
246 | install_requires = dependencies,
247 | )
248 |
--------------------------------------------------------------------------------
/test/Ruby.rb:
--------------------------------------------------------------------------------
1 | # Originally designed by Ben Laurie
2 | # Adapted from https://github.com/benlaurie/objecthash/blob/master/objecthash.py
3 |
4 | require "objecthash/version"
5 |
6 | require "digest/sha2"
7 | require "set"
8 |
9 | module ObjectHash
10 | # A content hash algorithm which works across multiple encodings (JSON, Protobufs, etc)
11 | class ObjectHash < OtherClass
12 | # Default algorithm to use for computing object hashes
13 | DEFAULT_HASH_ALGORITHM = Digest::SHA256
14 |
15 | # Compute a raw ObjectHash digest using the default algorithm
16 | def self.digest(object, normalize: true)
17 | new.digest(object, normalize: normalize)
18 | end
19 |
20 | # Compute an hex ObjectHash digest using the default algorithm
21 | def self.hexdigest(object, normalize: true)
22 | new.hexdigest(object, normalize: normalize)
23 | end
24 |
25 | def initialize(hash_algorithm = DEFAULT_HASH_ALGORITHM)
26 | @hash_algorithm = hash_algorithm
27 | end
28 |
29 | # Compute the ObjectHash of the given object
30 | def digest(object, normalize: true)
31 | case object
32 | when Array then obj_hash_list(object)
33 | when Hash then obj_hash_dict(object)
34 | when String then obj_hash_unicode(object, normalize)
35 | when Symbol then obj_hash_unicode(object.to_s, normalize)
36 | when Float then obj_hash_float(object)
37 | when Fixnum then obj_hash_int(object)
38 | when Set then obj_hash_set(object)
39 | when true, false then obj_hash_bool(object)
40 | when nil then hash_primitive("n", "")
41 | else raise TypeError, "unsupported: #{object.class}"
42 | end
43 | end
44 |
45 | # Compute the ObjectHash of the given object as hexadecimal
46 | def hexdigest(object, normalize: true)
47 | digest(object, normalize: normalize).unpack("H*").first
48 | end
49 |
50 | private
51 |
52 | def hash_primitive(t, b)
53 | m = @hash_algorithm.is_a?(Proc) ? @hash_algorithm.call : @hash_algorithm.new
54 | m.update(t)
55 | m.update(b)
56 | m.digest
57 | end
58 |
59 | def obj_hash_bool(b)
60 | hash_primitive("b", b ? "1" : "0")
61 | end
62 |
63 | def obj_hash_list(l)
64 | h = l.map { |o| digest(o) }.join
65 | hash_primitive("l", h)
66 | end
67 |
68 | def obj_hash_dict(d)
69 | h = d.map { |k, v| digest(k) + digest(v) }.sort.join
70 | hash_primitive("d", h)
71 | end
72 |
73 | # Takes a unicode string and a boolean to indicate
74 | # whether to normalize unicode or not.
75 | def obj_hash_unicode(u, n)
76 | u_enc = u.encode("utf-8")
77 | u_norm = n ? u_enc.unicode_normalize(:nfc) : u_enc
78 | hash_primitive("u", u_norm)
79 | end
80 |
81 | # rubocop:disable Metrics/AbcSize
82 | # rubocop:disable Metrics/CyclomaticComplexity
83 | def float_normalize(f)
84 | # special case 0
85 | # Note that if we allowed f to end up > .5 or == 0, we'd get the same thing
86 | return "+0:" if f == 0.0
87 |
88 | # sign
89 | if f >= 0
90 | s = "+"
91 | else
92 | s = "-"
93 | f = -f
94 | end
95 |
96 | # exponent
97 | e = 0
98 | while f > 1
99 | f /= 2
100 | e += 1
101 | end
102 |
103 | while f <= 0.5
104 | f *= 2
105 | e -= 1
106 | end
107 |
108 | s += "#{e}:"
109 |
110 | # mantissa
111 | raise unless f <= 1
112 | raise unless f > 0.5
113 |
114 | while f != 0.0
115 | if f >= 1
116 | s += "1"
117 | f -= 1
118 | else
119 | s += "0"
120 | end
121 |
122 | raise unless f < 1
123 | raise unless s.length < 1000
124 | f *= 2
125 | end
126 |
127 | s
128 | end
129 | # rubocop:enable Metrics/AbcSize
130 | # rubocop:enable Metrics/CyclomaticComplexity
131 |
132 | def obj_hash_float(f)
133 | if f.nan?
134 | hash_primitive("f", "NaN")
135 | elsif f.infinite?
136 | hash_primitive("f", f.positive? ? "Infinity" : "-Infinity")
137 | else
138 | hash_primitive("f", float_normalize(f))
139 | end
140 | end
141 |
142 | def obj_hash_int(i)
143 | hash_primitive("i", i.to_s)
144 | end
145 |
146 | def obj_hash_set(s)
147 | h = s.map { |e| e << digest(e) }.sort.join
148 | hash_primitive("s", h)
149 | end
150 | end
151 | end
152 |
--------------------------------------------------------------------------------
/test/TSX.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 |
3 | const template = `${JSON.stringify({ something: 'else' })}`
4 | const original = JSON.stringify({ something: 'else' })
5 |
6 | const Component = () => (
7 | <>
8 | Something 1
9 | Something 2
10 | >
11 | )
12 |
13 | export const Main = () => (
14 |
15 |
16 | {template}
17 |
18 |
19 | )
20 |
21 | const f = true
22 |
23 | const s = ['s', 's']
24 |
--------------------------------------------------------------------------------
/test/TypeScript.ts:
--------------------------------------------------------------------------------
1 | import { Binder } from './binder'
2 | import { Dialog } from './dialog'
3 | import { Channel } from './channel'
4 | import { UserMessage } from './types'
5 |
6 | type Matcher = { match: (message: UserMessage) => boolean }
7 |
8 | type DialogHandler = Matcher & {
9 | handler: (dialog: Dialog, bot: T) => any
10 | }
11 |
12 | type PerformerHandler = Matcher & {
13 | handler: (message: UserMessage, bot: T) => any
14 | }
15 |
16 | export abstract class Bot extends OtherClass {
17 | /** @internal */
18 | _dialogHandlers: DialogHandler[] = []
19 | /** @internal */
20 | _performerHandlers: PerformerHandler[] = []
21 |
22 | when = Binder.for(this)
23 |
24 | _: { BotMessage: BotMessage }
25 | private _channels = new Map()
26 |
27 | abstract listen(arg?: any): this
28 | abstract say(channel: string, message: BotMessage): Promise
29 |
30 | /** @internal */
31 | _channelFor(channelId: string) {
32 | const channel = this._channels.get(channelId) || new Channel()
33 | this._channels.set(channelId, channel)
34 | return channel
35 | }
36 |
37 | dialog(channel: string, users: string[]) {
38 | return new Dialog(this, channel, users)
39 | }
40 |
41 | abortDialog(channel: string, user: string) {
42 | this._channelFor(channel).abort(user)
43 | }
44 |
45 | protected onMessage(message: UserMessage): any {
46 | const performer = this._performerHandlers.find(c => c.match(message))
47 | if (performer) return performer.handler(message, this)
48 |
49 | const channel = this._channelFor(message.channel)
50 | const hasActions = channel.hasFor(message.user)
51 | if (hasActions) return channel.processMessage(`message ${message}`)
52 |
53 | const dialog = this._dialogHandlers.find(c => c.match(message))
54 | if (dialog) {
55 | const obj = this.dialog(message.channel, [message.user])
56 | obj._manager.perform(message)
57 | dialog.handler(obj, this)
58 | }
59 | }
60 | }
61 |
--------------------------------------------------------------------------------
/test/pubspec.lock:
--------------------------------------------------------------------------------
1 | # Generated by pub
2 | # See https://dart.dev/tools/pub/glossary#lockfile
3 | packages:
4 | characters:
5 | dependency: transitive
6 | description:
7 | name: characters
8 | url: "https://pub.dartlang.org"
9 | source: hosted
10 | version: "1.1.0"
11 | collection:
12 | dependency: transitive
13 | description:
14 | name: collection
15 | url: "https://pub.dartlang.org"
16 | source: hosted
17 | version: "1.15.0"
18 | flutter:
19 | dependency: "direct main"
20 | description: flutter
21 | source: sdk
22 | version: "0.0.0"
23 | meta:
24 | dependency: transitive
25 | description:
26 | name: meta
27 | url: "https://pub.dartlang.org"
28 | source: hosted
29 | version: "1.3.0"
30 | sky_engine:
31 | dependency: transitive
32 | description: flutter
33 | source: sdk
34 | version: "0.0.99"
35 | typed_data:
36 | dependency: transitive
37 | description:
38 | name: typed_data
39 | url: "https://pub.dartlang.org"
40 | source: hosted
41 | version: "1.3.0"
42 | vector_math:
43 | dependency: transitive
44 | description:
45 | name: vector_math
46 | url: "https://pub.dartlang.org"
47 | source: hosted
48 | version: "2.1.0"
49 | sdks:
50 | dart: ">=2.12.0-0 <3.0.0"
51 |
--------------------------------------------------------------------------------
/test/pubspec.yaml:
--------------------------------------------------------------------------------
1 | name: test
2 | dependencies:
3 | flutter:
4 | sdk: flutter
5 | environment:
6 | sdk: '>=2.10.0 <3.0.0'
7 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "moduleResolution": "node",
4 | "inlineSourceMap": true,
5 | "declaration": true,
6 | "module": "commonjs",
7 | "baseUrl": "src",
8 | "target": "ES5",
9 | "rootDir": "src",
10 | "outDir": "dist"
11 | },
12 | "exclude": [
13 | "node_modules",
14 | "dist"
15 | ]
16 | }
17 |
--------------------------------------------------------------------------------
/widgets/Widget - ayu-dark.stTheme:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | author
6 | Ike Ku
7 | colorSpaceName
8 | sRGB
9 | name
10 | ayu
11 | semanticClass
12 | ayu.dark
13 | settings
14 |
15 |
16 | settings
17 |
18 | background
19 | #141821
20 | caret
21 | #e6b450
22 | foreground
23 | #bfbdb6
24 | invisibles
25 | #6c738099
26 | lineHighlight
27 | #161a24
28 | inactiveSelection
29 | #80b5ff26
30 | selection
31 | #3388ff40
32 | selectionBorder
33 | #3388ff40
34 |
35 |
36 |
37 | name
38 | Comments
39 | scope
40 | comment
41 | settings
42 |
43 | fontStyle
44 | italic
45 | foreground
46 | #acb6bf8c
47 |
48 |
49 |
50 | name
51 | Keyword
52 | scope
53 | keyword, storage
54 | settings
55 |
56 | foreground
57 | #ff8f40
58 |
59 |
60 |
61 | name
62 | Constant
63 | scope
64 | constant
65 | settings
66 |
67 | foreground
68 | #d2a6ff
69 |
70 |
71 |
72 | name
73 | String
74 | scope
75 | string
76 | settings
77 |
78 | foreground
79 | #aad94c
80 |
81 |
82 |
83 | name
84 | Escape
85 | scope
86 | constant.character.escape
87 | settings
88 |
89 | foreground
90 | #95e6cb
91 |
92 |
93 |
94 |
95 |
--------------------------------------------------------------------------------
/widgets/Widget - ayu-dark.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | "color_scheme": "Packages/ayu/widgets/Widget - ayu-dark.stTheme",
3 | "draw_shadows": false,
4 | "font_options": ["subpixel_antialias"],
5 | "line_padding_top": 2
6 | }
7 |
--------------------------------------------------------------------------------
/widgets/Widget - ayu-light.stTheme:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | author
6 | Ike Ku
7 | colorSpaceName
8 | sRGB
9 | name
10 | ayu
11 | semanticClass
12 | ayu.light
13 | settings
14 |
15 |
16 | settings
17 |
18 | background
19 | #ffffff
20 | caret
21 | #ffaa33
22 | foreground
23 | #5c6166
24 | invisibles
25 | #8a919966
26 | lineHighlight
27 | #8a91991a
28 | inactiveSelection
29 | #5696d61a
30 | selection
31 | #036dd626
32 | selectionBorder
33 | #036dd626
34 |
35 |
36 |
37 | name
38 | Comments
39 | scope
40 | comment
41 | settings
42 |
43 | fontStyle
44 | italic
45 | foreground
46 | #787b8099
47 |
48 |
49 |
50 | name
51 | Keyword
52 | scope
53 | keyword, storage
54 | settings
55 |
56 | foreground
57 | #fa8d3e
58 |
59 |
60 |
61 | name
62 | Constant
63 | scope
64 | constant
65 | settings
66 |
67 | foreground
68 | #a37acc
69 |
70 |
71 |
72 | name
73 | String
74 | scope
75 | string
76 | settings
77 |
78 | foreground
79 | #86b300
80 |
81 |
82 |
83 | name
84 | Escape
85 | scope
86 | constant.character.escape
87 | settings
88 |
89 | foreground
90 | #4cbf99
91 |
92 |
93 |
94 |
95 |
--------------------------------------------------------------------------------
/widgets/Widget - ayu-light.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | "color_scheme": "Packages/ayu/widgets/Widget - ayu-light.stTheme",
3 | "draw_shadows": false,
4 | "font_options": ["subpixel_antialias"],
5 | "line_padding_top": 2
6 | }
7 |
--------------------------------------------------------------------------------
/widgets/Widget - ayu-mirage.stTheme:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | author
6 | Ike Ku
7 | colorSpaceName
8 | sRGB
9 | name
10 | ayu
11 | semanticClass
12 | ayu.mirage
13 | settings
14 |
15 |
16 | settings
17 |
18 | background
19 | #282e3b
20 | caret
21 | #ffcc66
22 | foreground
23 | #cccac2
24 | invisibles
25 | #8a919980
26 | lineHighlight
27 | #1a1f29
28 | inactiveSelection
29 | #4d97ff26
30 | selection
31 | #3388ff40
32 | selectionBorder
33 | #3388ff40
34 |
35 |
36 |
37 | name
38 | Comments
39 | scope
40 | comment
41 | settings
42 |
43 | fontStyle
44 | italic
45 | foreground
46 | #b8cfe680
47 |
48 |
49 |
50 | name
51 | Keyword
52 | scope
53 | keyword, storage
54 | settings
55 |
56 | foreground
57 | #ffad66
58 |
59 |
60 |
61 | name
62 | Constant
63 | scope
64 | constant
65 | settings
66 |
67 | foreground
68 | #dfbfff
69 |
70 |
71 |
72 | name
73 | String
74 | scope
75 | string
76 | settings
77 |
78 | foreground
79 | #d5ff80
80 |
81 |
82 |
83 | name
84 | Escape
85 | scope
86 | constant.character.escape
87 | settings
88 |
89 | foreground
90 | #95e6cb
91 |
92 |
93 |
94 |
95 |
--------------------------------------------------------------------------------
/widgets/Widget - ayu-mirage.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | "color_scheme": "Packages/ayu/widgets/Widget - ayu-mirage.stTheme",
3 | "draw_shadows": false,
4 | "font_options": ["subpixel_antialias"],
5 | "line_padding_top": 2
6 | }
7 |
--------------------------------------------------------------------------------
/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@cspotcode/source-map-consumer@0.8.0":
6 | version "0.8.0"
7 | resolved "https://registry.yarnpkg.com/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz#33bf4b7b39c178821606f669bbc447a6a629786b"
8 | integrity sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==
9 |
10 | "@cspotcode/source-map-support@0.6.1":
11 | version "0.6.1"
12 | resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.6.1.tgz#118511f316e2e87ee4294761868e254d3da47960"
13 | integrity sha512-DX3Z+T5dt1ockmPdobJS/FAsQPW4V4SrWEhD2iYQT2Cb2tQsiMnYxrcUH9By/Z3B+v0S5LMBkQtV/XOBbpLEOg==
14 | dependencies:
15 | "@cspotcode/source-map-consumer" "0.8.0"
16 |
17 | "@tsconfig/node10@^1.0.7":
18 | version "1.0.8"
19 | resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.8.tgz#c1e4e80d6f964fbecb3359c43bd48b40f7cadad9"
20 | integrity sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==
21 |
22 | "@tsconfig/node12@^1.0.7":
23 | version "1.0.9"
24 | resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.9.tgz#62c1f6dee2ebd9aead80dc3afa56810e58e1a04c"
25 | integrity sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==
26 |
27 | "@tsconfig/node14@^1.0.0":
28 | version "1.0.1"
29 | resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.1.tgz#95f2d167ffb9b8d2068b0b235302fafd4df711f2"
30 | integrity sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==
31 |
32 | "@tsconfig/node16@^1.0.2":
33 | version "1.0.2"
34 | resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.2.tgz#423c77877d0569db20e1fc80885ac4118314010e"
35 | integrity sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==
36 |
37 | "@types/chroma-js@^2.0.0":
38 | version "2.1.3"
39 | resolved "https://registry.yarnpkg.com/@types/chroma-js/-/chroma-js-2.1.3.tgz#0b03d737ff28fad10eb884e0c6cedd5ffdc4ba0a"
40 | integrity sha512-1xGPhoSGY1CPmXLCBcjVZSQinFjL26vlR8ZqprsBWiFyED4JacJJ9zHhh5aaUXqbY9B37mKQ73nlydVAXmr1+g==
41 |
42 | "@types/node@^16.7.11":
43 | version "16.7.11"
44 | resolved "https://registry.yarnpkg.com/@types/node/-/node-16.7.11.tgz#5877b3ab359af251fd413517be2d4265b7fea9a9"
45 | integrity sha512-OtOGO+DYmNNqJQG9HG4e5a6iqoRcNfdCf4ha3div7XF5w/uOa3YVpb5aRGClwSDKLmfOysv2hFIvoklffnQi4w==
46 |
47 | acorn-walk@^8.1.1:
48 | version "8.2.0"
49 | resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1"
50 | integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==
51 |
52 | acorn@^8.4.1:
53 | version "8.5.0"
54 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.5.0.tgz#4512ccb99b3698c752591e9bb4472e38ad43cee2"
55 | integrity sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==
56 |
57 | arg@^4.1.0:
58 | version "4.1.0"
59 | resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.0.tgz#583c518199419e0037abb74062c37f8519e575f0"
60 | integrity sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg==
61 |
62 | ayu@^8.0.1:
63 | version "8.0.1"
64 | resolved "https://registry.yarnpkg.com/ayu/-/ayu-8.0.1.tgz#77da3b554d3f264fa1e8ef2054c41e6ec4f58220"
65 | integrity sha512-yuPZ2kZYQoYaPRQ/78F9rXDVx1rVGCJ1neBYithBoSprD6zPdIJdAKizUXG0jtTBu7nTFyAnVFFYuLnCS3cpDw==
66 | dependencies:
67 | "@types/chroma-js" "^2.0.0"
68 | chroma-js "^2.1.0"
69 | nonenumerable "^1.1.1"
70 |
71 | chroma-js@^2.1.0:
72 | version "2.1.2"
73 | resolved "https://registry.yarnpkg.com/chroma-js/-/chroma-js-2.1.2.tgz#1075cb9ae25bcb2017c109394168b5cf3aa500ec"
74 | integrity sha512-ri/ouYDWuxfus3UcaMxC1Tfp3IE9K5iQzxc2hSxbBRVNQFut1UuGAsZmiAf2mOUubzGJwgMSv9lHg+XqLaz1QQ==
75 | dependencies:
76 | cross-env "^6.0.3"
77 |
78 | create-require@^1.1.0:
79 | version "1.1.1"
80 | resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333"
81 | integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==
82 |
83 | cross-env@^6.0.3:
84 | version "6.0.3"
85 | resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-6.0.3.tgz#4256b71e49b3a40637a0ce70768a6ef5c72ae941"
86 | integrity sha512-+KqxF6LCvfhWvADcDPqo64yVIB31gv/jQulX2NGzKS/g3GEVz6/pt4wjHFtFWsHMddebWD/sDthJemzM4MaAag==
87 | dependencies:
88 | cross-spawn "^7.0.0"
89 |
90 | cross-spawn@^7.0.0:
91 | version "7.0.3"
92 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
93 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
94 | dependencies:
95 | path-key "^3.1.0"
96 | shebang-command "^2.0.0"
97 | which "^2.0.1"
98 |
99 | diff@^4.0.1:
100 | version "4.0.2"
101 | resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d"
102 | integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
103 |
104 | exec-sh@^0.2.0:
105 | version "0.2.2"
106 | resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.2.2.tgz#2a5e7ffcbd7d0ba2755bdecb16e5a427dfbdec36"
107 | integrity sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw==
108 | dependencies:
109 | merge "^1.2.0"
110 |
111 | isexe@^2.0.0:
112 | version "2.0.0"
113 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
114 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
115 |
116 | make-error@^1.1.1:
117 | version "1.3.5"
118 | resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.5.tgz#efe4e81f6db28cadd605c70f29c831b58ef776c8"
119 | integrity sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==
120 |
121 | merge@^1.2.0:
122 | version "1.2.1"
123 | resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.1.tgz#38bebf80c3220a8a487b6fcfb3941bb11720c145"
124 | integrity sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ==
125 |
126 | minimist@^1.2.0:
127 | version "1.2.5"
128 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
129 | integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
130 |
131 | nonenumerable@^1.1.1:
132 | version "1.1.1"
133 | resolved "https://registry.yarnpkg.com/nonenumerable/-/nonenumerable-1.1.1.tgz#35f74d66a2571a09f25bc143c87324ec7dd0e4ff"
134 | integrity sha512-ptUD9w9D8WqW6fuJJkZNCImkf+0vdbgUTbRK3i7jsy3olqtH96hYE6Q/S3Tx9NWbcB/ocAjYshXCAUP0lZ9B4Q==
135 |
136 | path-key@^3.1.0:
137 | version "3.1.1"
138 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
139 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
140 |
141 | shebang-command@^2.0.0:
142 | version "2.0.0"
143 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
144 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
145 | dependencies:
146 | shebang-regex "^3.0.0"
147 |
148 | shebang-regex@^3.0.0:
149 | version "3.0.0"
150 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
151 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
152 |
153 | ts-node@^10.2.1:
154 | version "10.2.1"
155 | resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.2.1.tgz#4cc93bea0a7aba2179497e65bb08ddfc198b3ab5"
156 | integrity sha512-hCnyOyuGmD5wHleOQX6NIjJtYVIO8bPP8F2acWkB4W06wdlkgyvJtubO/I9NkI88hCFECbsEgoLc0VNkYmcSfw==
157 | dependencies:
158 | "@cspotcode/source-map-support" "0.6.1"
159 | "@tsconfig/node10" "^1.0.7"
160 | "@tsconfig/node12" "^1.0.7"
161 | "@tsconfig/node14" "^1.0.0"
162 | "@tsconfig/node16" "^1.0.2"
163 | acorn "^8.4.1"
164 | acorn-walk "^8.1.1"
165 | arg "^4.1.0"
166 | create-require "^1.1.0"
167 | diff "^4.0.1"
168 | make-error "^1.1.1"
169 | yn "3.1.1"
170 |
171 | typescript@^4.4.2:
172 | version "4.4.2"
173 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.4.2.tgz#6d618640d430e3569a1dfb44f7d7e600ced3ee86"
174 | integrity sha512-gzP+t5W4hdy4c+68bfcv0t400HVJMMd2+H9B7gae1nQlBzCqvrXX+6GL/b3GAgyTH966pzrZ70/fRjwAtZksSQ==
175 |
176 | watch@^1.0.2:
177 | version "1.0.2"
178 | resolved "https://registry.yarnpkg.com/watch/-/watch-1.0.2.tgz#340a717bde765726fa0aa07d721e0147a551df0c"
179 | integrity sha1-NApxe952Vyb6CqB9ch4BR6VR3ww=
180 | dependencies:
181 | exec-sh "^0.2.0"
182 | minimist "^1.2.0"
183 |
184 | which@^2.0.1:
185 | version "2.0.2"
186 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
187 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
188 | dependencies:
189 | isexe "^2.0.0"
190 |
191 | yn@3.1.1:
192 | version "3.1.1"
193 | resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50"
194 | integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==
195 |
--------------------------------------------------------------------------------