retrovim 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.conda/retrovim.yaml +259 -0
- package/.conda/terax.icns +0 -0
- package/.conda/terax.ico +0 -0
- package/.conda/terax.png +0 -0
- package/.github/workflows/release.yml +95 -0
- package/.gitmodules +3 -0
- package/.npm/kanata_touchcursor.js +28 -0
- package/.npm/nvim.js +26 -0
- package/.npm/yazi.js +26 -0
- package/.npm/zsh.js +17 -0
- package/.pip/kanata_touchcursor/__init__.py +28 -0
- package/.pip/nvim/__init__.py +31 -0
- package/.pip/yazi/__init__.py +31 -0
- package/.pip/zsh/__init__.py +22 -0
- package/CHANGELOG.md +26 -0
- package/LICENSE +674 -0
- package/README.md +336 -0
- package/kanata/touchcursor.kbd +164 -0
- package/nvim/init.lua +813 -0
- package/nvim/plugins/mini.nvim/.github/DISCUSSION_TEMPLATE/q-a.yml +72 -0
- package/nvim/plugins/mini.nvim/.github/ISSUE_TEMPLATE/bug-report.yml +136 -0
- package/nvim/plugins/mini.nvim/.github/ISSUE_TEMPLATE/config.yml +5 -0
- package/nvim/plugins/mini.nvim/.github/ISSUE_TEMPLATE/feature-request.yml +75 -0
- package/nvim/plugins/mini.nvim/.github/PULL_REQUEST_TEMPLATE.md +2 -0
- package/nvim/plugins/mini.nvim/.github/workflows/quality-control.yml +150 -0
- package/nvim/plugins/mini.nvim/.pre-commit-config.yaml +20 -0
- package/nvim/plugins/mini.nvim/.stylua.toml +7 -0
- package/nvim/plugins/mini.nvim/.styluaignore +1 -0
- package/nvim/plugins/mini.nvim/CHANGELOG.md +1894 -0
- package/nvim/plugins/mini.nvim/CODE_OF_CONDUCT.md +132 -0
- package/nvim/plugins/mini.nvim/CONTRIBUTING.md +331 -0
- package/nvim/plugins/mini.nvim/LICENSE +21 -0
- package/nvim/plugins/mini.nvim/MAINTAINING.md +330 -0
- package/nvim/plugins/mini.nvim/Makefile +51 -0
- package/nvim/plugins/mini.nvim/README.md +261 -0
- package/nvim/plugins/mini.nvim/TESTING.md +1011 -0
- package/nvim/plugins/mini.nvim/benchmarks/starter/README.md +35 -0
- package/nvim/plugins/mini.nvim/benchmarks/starter/benchmark.sh +56 -0
- package/nvim/plugins/mini.nvim/benchmarks/starter/init-files/init_dashboard-alpha.lua +21 -0
- package/nvim/plugins/mini.nvim/benchmarks/starter/init-files/init_dashboard-original.lua +17 -0
- package/nvim/plugins/mini.nvim/benchmarks/starter/init-files/init_dashboard-starter.lua +18 -0
- package/nvim/plugins/mini.nvim/benchmarks/starter/init-files/init_empty.lua +4 -0
- package/nvim/plugins/mini.nvim/benchmarks/starter/init-files/init_starter-default.lua +7 -0
- package/nvim/plugins/mini.nvim/benchmarks/starter/init-files/init_startify-alpha.lua +10 -0
- package/nvim/plugins/mini.nvim/benchmarks/starter/init-files/init_startify-original.lua +7 -0
- package/nvim/plugins/mini.nvim/benchmarks/starter/init-files/init_startify-starter.lua +20 -0
- package/nvim/plugins/mini.nvim/benchmarks/starter/install.sh +10 -0
- package/nvim/plugins/mini.nvim/benchmarks/starter/make_summary.py +68 -0
- package/nvim/plugins/mini.nvim/benchmarks/starter/startup-summary.md +10 -0
- package/nvim/plugins/mini.nvim/colors/miniautumn.lua +55 -0
- package/nvim/plugins/mini.nvim/colors/minicyan.lua +95 -0
- package/nvim/plugins/mini.nvim/colors/minischeme.lua +95 -0
- package/nvim/plugins/mini.nvim/colors/minispring.lua +53 -0
- package/nvim/plugins/mini.nvim/colors/minisummer.lua +49 -0
- package/nvim/plugins/mini.nvim/colors/miniwinter.lua +51 -0
- package/nvim/plugins/mini.nvim/colors/randomhue.lua +16 -0
- package/nvim/plugins/mini.nvim/doc/mini-ai.txt +889 -0
- package/nvim/plugins/mini.nvim/doc/mini-align.txt +923 -0
- package/nvim/plugins/mini.nvim/doc/mini-animate.txt +937 -0
- package/nvim/plugins/mini.nvim/doc/mini-base16.txt +285 -0
- package/nvim/plugins/mini.nvim/doc/mini-basics.txt +359 -0
- package/nvim/plugins/mini.nvim/doc/mini-bracketed.txt +622 -0
- package/nvim/plugins/mini.nvim/doc/mini-bufremove.txt +123 -0
- package/nvim/plugins/mini.nvim/doc/mini-clue.txt +760 -0
- package/nvim/plugins/mini.nvim/doc/mini-cmdline.txt +392 -0
- package/nvim/plugins/mini.nvim/doc/mini-colors.txt +880 -0
- package/nvim/plugins/mini.nvim/doc/mini-comment.txt +230 -0
- package/nvim/plugins/mini.nvim/doc/mini-completion.txt +477 -0
- package/nvim/plugins/mini.nvim/doc/mini-cursorword.txt +105 -0
- package/nvim/plugins/mini.nvim/doc/mini-deps.txt +590 -0
- package/nvim/plugins/mini.nvim/doc/mini-diff.txt +661 -0
- package/nvim/plugins/mini.nvim/doc/mini-doc.txt +434 -0
- package/nvim/plugins/mini.nvim/doc/mini-extra.txt +856 -0
- package/nvim/plugins/mini.nvim/doc/mini-files.txt +1018 -0
- package/nvim/plugins/mini.nvim/doc/mini-fuzzy.txt +160 -0
- package/nvim/plugins/mini.nvim/doc/mini-git.txt +425 -0
- package/nvim/plugins/mini.nvim/doc/mini-hipatterns.txt +489 -0
- package/nvim/plugins/mini.nvim/doc/mini-hues.txt +420 -0
- package/nvim/plugins/mini.nvim/doc/mini-icons.txt +508 -0
- package/nvim/plugins/mini.nvim/doc/mini-indentscope.txt +485 -0
- package/nvim/plugins/mini.nvim/doc/mini-input.txt +932 -0
- package/nvim/plugins/mini.nvim/doc/mini-jump.txt +202 -0
- package/nvim/plugins/mini.nvim/doc/mini-jump2d.txt +525 -0
- package/nvim/plugins/mini.nvim/doc/mini-keymap.txt +449 -0
- package/nvim/plugins/mini.nvim/doc/mini-map.txt +717 -0
- package/nvim/plugins/mini.nvim/doc/mini-misc.txt +431 -0
- package/nvim/plugins/mini.nvim/doc/mini-move.txt +181 -0
- package/nvim/plugins/mini.nvim/doc/mini-notify.txt +434 -0
- package/nvim/plugins/mini.nvim/doc/mini-nvim.txt +431 -0
- package/nvim/plugins/mini.nvim/doc/mini-operators.txt +472 -0
- package/nvim/plugins/mini.nvim/doc/mini-pairs.txt +346 -0
- package/nvim/plugins/mini.nvim/doc/mini-pick.txt +1535 -0
- package/nvim/plugins/mini.nvim/doc/mini-sessions.txt +239 -0
- package/nvim/plugins/mini.nvim/doc/mini-snippets.txt +1291 -0
- package/nvim/plugins/mini.nvim/doc/mini-splitjoin.txt +536 -0
- package/nvim/plugins/mini.nvim/doc/mini-starter.txt +618 -0
- package/nvim/plugins/mini.nvim/doc/mini-statusline.txt +361 -0
- package/nvim/plugins/mini.nvim/doc/mini-surround.txt +863 -0
- package/nvim/plugins/mini.nvim/doc/mini-tabline.txt +151 -0
- package/nvim/plugins/mini.nvim/doc/mini-test.txt +966 -0
- package/nvim/plugins/mini.nvim/doc/mini-trailspace.txt +91 -0
- package/nvim/plugins/mini.nvim/doc/mini-visits.txt +937 -0
- package/nvim/plugins/mini.nvim/logo.png +0 -0
- package/nvim/plugins/mini.nvim/lua/mini/ai.lua +2244 -0
- package/nvim/plugins/mini.nvim/lua/mini/align.lua +2076 -0
- package/nvim/plugins/mini.nvim/lua/mini/animate.lua +2127 -0
- package/nvim/plugins/mini.nvim/lua/mini/base16.lua +1752 -0
- package/nvim/plugins/mini.nvim/lua/mini/basics.lua +772 -0
- package/nvim/plugins/mini.nvim/lua/mini/bracketed.lua +2013 -0
- package/nvim/plugins/mini.nvim/lua/mini/bufremove.lua +283 -0
- package/nvim/plugins/mini.nvim/lua/mini/clue.lua +2096 -0
- package/nvim/plugins/mini.nvim/lua/mini/cmdline.lua +1182 -0
- package/nvim/plugins/mini.nvim/lua/mini/colors.lua +2483 -0
- package/nvim/plugins/mini.nvim/lua/mini/comment.lua +586 -0
- package/nvim/plugins/mini.nvim/lua/mini/completion.lua +2094 -0
- package/nvim/plugins/mini.nvim/lua/mini/cursorword.lua +311 -0
- package/nvim/plugins/mini.nvim/lua/mini/deps.lua +1660 -0
- package/nvim/plugins/mini.nvim/lua/mini/diff.lua +1938 -0
- package/nvim/plugins/mini.nvim/lua/mini/doc.lua +1371 -0
- package/nvim/plugins/mini.nvim/lua/mini/extra.lua +2290 -0
- package/nvim/plugins/mini.nvim/lua/mini/files.lua +3145 -0
- package/nvim/plugins/mini.nvim/lua/mini/fuzzy.lua +356 -0
- package/nvim/plugins/mini.nvim/lua/mini/git.lua +1737 -0
- package/nvim/plugins/mini.nvim/lua/mini/hipatterns.lua +1042 -0
- package/nvim/plugins/mini.nvim/lua/mini/hues.lua +2088 -0
- package/nvim/plugins/mini.nvim/lua/mini/icons.lua +2254 -0
- package/nvim/plugins/mini.nvim/lua/mini/indentscope.lua +1158 -0
- package/nvim/plugins/mini.nvim/lua/mini/init.lua +427 -0
- package/nvim/plugins/mini.nvim/lua/mini/input.lua +2183 -0
- package/nvim/plugins/mini.nvim/lua/mini/jump.lua +609 -0
- package/nvim/plugins/mini.nvim/lua/mini/jump2d.lua +1244 -0
- package/nvim/plugins/mini.nvim/lua/mini/keymap.lua +880 -0
- package/nvim/plugins/mini.nvim/lua/mini/map.lua +1709 -0
- package/nvim/plugins/mini.nvim/lua/mini/misc.lua +969 -0
- package/nvim/plugins/mini.nvim/lua/mini/move.lua +509 -0
- package/nvim/plugins/mini.nvim/lua/mini/notify.lua +938 -0
- package/nvim/plugins/mini.nvim/lua/mini/operators.lua +1349 -0
- package/nvim/plugins/mini.nvim/lua/mini/pairs.lua +657 -0
- package/nvim/plugins/mini.nvim/lua/mini/pick.lua +3876 -0
- package/nvim/plugins/mini.nvim/lua/mini/sessions.lua +689 -0
- package/nvim/plugins/mini.nvim/lua/mini/snippets.lua +2828 -0
- package/nvim/plugins/mini.nvim/lua/mini/splitjoin.lua +1132 -0
- package/nvim/plugins/mini.nvim/lua/mini/starter.lua +1599 -0
- package/nvim/plugins/mini.nvim/lua/mini/statusline.lua +686 -0
- package/nvim/plugins/mini.nvim/lua/mini/surround.lua +2388 -0
- package/nvim/plugins/mini.nvim/lua/mini/tabline.lua +564 -0
- package/nvim/plugins/mini.nvim/lua/mini/test.lua +2516 -0
- package/nvim/plugins/mini.nvim/lua/mini/trailspace.lua +215 -0
- package/nvim/plugins/mini.nvim/lua/mini/visits.lua +1577 -0
- package/nvim/plugins/mini.nvim/readmes/mini-ai.md +190 -0
- package/nvim/plugins/mini.nvim/readmes/mini-align.md +203 -0
- package/nvim/plugins/mini.nvim/readmes/mini-animate.md +214 -0
- package/nvim/plugins/mini.nvim/readmes/mini-base16.md +198 -0
- package/nvim/plugins/mini.nvim/readmes/mini-basics.md +184 -0
- package/nvim/plugins/mini.nvim/readmes/mini-bracketed.md +193 -0
- package/nvim/plugins/mini.nvim/readmes/mini-bufremove.md +139 -0
- package/nvim/plugins/mini.nvim/readmes/mini-clue.md +260 -0
- package/nvim/plugins/mini.nvim/readmes/mini-cmdline.md +183 -0
- package/nvim/plugins/mini.nvim/readmes/mini-colors.md +169 -0
- package/nvim/plugins/mini.nvim/readmes/mini-comment.md +183 -0
- package/nvim/plugins/mini.nvim/readmes/mini-completion.md +217 -0
- package/nvim/plugins/mini.nvim/readmes/mini-cursorword.md +137 -0
- package/nvim/plugins/mini.nvim/readmes/mini-deps.md +271 -0
- package/nvim/plugins/mini.nvim/readmes/mini-diff.md +289 -0
- package/nvim/plugins/mini.nvim/readmes/mini-doc.md +198 -0
- package/nvim/plugins/mini.nvim/readmes/mini-extra.md +158 -0
- package/nvim/plugins/mini.nvim/readmes/mini-files.md +247 -0
- package/nvim/plugins/mini.nvim/readmes/mini-fuzzy.md +134 -0
- package/nvim/plugins/mini.nvim/readmes/mini-git.md +168 -0
- package/nvim/plugins/mini.nvim/readmes/mini-hipatterns.md +176 -0
- package/nvim/plugins/mini.nvim/readmes/mini-hues.md +285 -0
- package/nvim/plugins/mini.nvim/readmes/mini-icons.md +183 -0
- package/nvim/plugins/mini.nvim/readmes/mini-indentscope.md +191 -0
- package/nvim/plugins/mini.nvim/readmes/mini-input.md +163 -0
- package/nvim/plugins/mini.nvim/readmes/mini-jump.md +161 -0
- package/nvim/plugins/mini.nvim/readmes/mini-jump2d.md +197 -0
- package/nvim/plugins/mini.nvim/readmes/mini-keymap.md +205 -0
- package/nvim/plugins/mini.nvim/readmes/mini-map.md +191 -0
- package/nvim/plugins/mini.nvim/readmes/mini-misc.md +145 -0
- package/nvim/plugins/mini.nvim/readmes/mini-move.md +163 -0
- package/nvim/plugins/mini.nvim/readmes/mini-notify.md +175 -0
- package/nvim/plugins/mini.nvim/readmes/mini-operators.md +193 -0
- package/nvim/plugins/mini.nvim/readmes/mini-pairs.md +158 -0
- package/nvim/plugins/mini.nvim/readmes/mini-pick.md +340 -0
- package/nvim/plugins/mini.nvim/readmes/mini-sessions.md +164 -0
- package/nvim/plugins/mini.nvim/readmes/mini-snippets.md +373 -0
- package/nvim/plugins/mini.nvim/readmes/mini-splitjoin.md +194 -0
- package/nvim/plugins/mini.nvim/readmes/mini-starter.md +176 -0
- package/nvim/plugins/mini.nvim/readmes/mini-statusline.md +155 -0
- package/nvim/plugins/mini.nvim/readmes/mini-surround.md +190 -0
- package/nvim/plugins/mini.nvim/readmes/mini-tabline.md +156 -0
- package/nvim/plugins/mini.nvim/readmes/mini-test.md +175 -0
- package/nvim/plugins/mini.nvim/readmes/mini-trailspace.md +137 -0
- package/nvim/plugins/mini.nvim/readmes/mini-visits.md +243 -0
- package/nvim/plugins/mini.nvim/scripts/dual_log.sh +13 -0
- package/nvim/plugins/mini.nvim/scripts/dual_push.sh +15 -0
- package/nvim/plugins/mini.nvim/scripts/dual_release.sh +102 -0
- package/nvim/plugins/mini.nvim/scripts/dual_sync.sh +115 -0
- package/nvim/plugins/mini.nvim/scripts/init-deps-example.lua +59 -0
- package/nvim/plugins/mini.nvim/scripts/lint-filename-length.sh +16 -0
- package/nvim/plugins/mini.nvim/scripts/lintcommit-ci.sh +18 -0
- package/nvim/plugins/mini.nvim/scripts/lintcommit.lua +393 -0
- package/nvim/plugins/mini.nvim/scripts/minidoc.lua +57 -0
- package/nvim/plugins/mini.nvim/scripts/minimal_init.lua +28 -0
- package/nvim/plugins/mini.nvim/scripts/minitest.lua +4 -0
- package/package.json +16 -0
- package/pyproject.toml +43 -0
- package/yazi/init.lua +12 -0
- package/yazi/keymap.toml +114 -0
- package/yazi/lesskey +5 -0
- package/yazi/plugins/bookmarks.yazi/main.lua +86 -0
- package/yazi/plugins/cd-git-root.yazi/main.lua +31 -0
- package/yazi/plugins/smart-enter.yazi/main.lua +11 -0
- package/yazi/theme.toml +26 -0
- package/yazi/yazi.toml +15 -0
- package/zsh/.zshrc +145 -0
- package/zsh/starship.toml +20 -0
- package/zsh/zsh-patina.toml +2 -0
|
@@ -0,0 +1,420 @@
|
|
|
1
|
+
*mini.hues* Generate configurable color scheme
|
|
2
|
+
|
|
3
|
+
MIT License Copyright (c) 2023 Evgeni Chasnovski
|
|
4
|
+
|
|
5
|
+
------------------------------------------------------------------------------
|
|
6
|
+
*MiniHues*
|
|
7
|
+
Features:
|
|
8
|
+
- Required to set two base colors: background and foreground.
|
|
9
|
+
Their shades and other non-base colors are computed to be as much
|
|
10
|
+
perceptually different as reasonably possible.
|
|
11
|
+
See |MiniHues.config| for setup inspiration.
|
|
12
|
+
|
|
13
|
+
- Configurable:
|
|
14
|
+
- Number of hues used for non-base colors (from 0 to 8).
|
|
15
|
+
- Saturation level ("low", "lowmedium", "medium", "mediumhigh", "high").
|
|
16
|
+
- Accent color used for some selected UI elements.
|
|
17
|
+
- Plugin integration (can be selectively enabled for faster startup).
|
|
18
|
+
|
|
19
|
+
- Random generator for base colors. See |MiniHues.gen_random_base_colors()|.
|
|
20
|
+
Powers |randomhue| color scheme.
|
|
21
|
+
|
|
22
|
+
- Lua function to compute palette used in color scheme.
|
|
23
|
+
See |MiniHues.make_palette()|.
|
|
24
|
+
|
|
25
|
+
- Bundled color schemes. See |MiniHues-color-schemes|.
|
|
26
|
+
|
|
27
|
+
Supported highlight groups:
|
|
28
|
+
- All built-in UI and syntax groups.
|
|
29
|
+
|
|
30
|
+
- Built-in Neovim LSP and diagnostic.
|
|
31
|
+
|
|
32
|
+
- Tree-sitter (|treesitter-highlight-groups|).
|
|
33
|
+
|
|
34
|
+
- LSP semantic tokens (|lsp-semantic-highlight|).
|
|
35
|
+
|
|
36
|
+
- Plugins (either with explicit definition or by verification that default
|
|
37
|
+
highlighting works appropriately):
|
|
38
|
+
- [nvim-mini/mini.nvim](https://nvim-mini.org/mini.nvim)
|
|
39
|
+
- [akinsho/bufferline.nvim](https://github.com/akinsho/bufferline.nvim)
|
|
40
|
+
- [anuvyklack/hydra.nvim](https://github.com/anuvyklack/hydra.nvim)
|
|
41
|
+
- [DanilaMihailov/beacon.nvim](https://github.com/DanilaMihailov/beacon.nvim)
|
|
42
|
+
- [folke/lazy.nvim](https://github.com/folke/lazy.nvim)
|
|
43
|
+
- [folke/noice.nvim](https://github.com/folke/noice.nvim)
|
|
44
|
+
- [folke/snacks.nvim](https://github.com/folke/snacks.nvim)
|
|
45
|
+
- [folke/todo-comments.nvim](https://github.com/folke/todo-comments.nvim)
|
|
46
|
+
- [folke/trouble.nvim](https://github.com/folke/trouble.nvim)
|
|
47
|
+
- [folke/which-key.nvim](https://github.com/folke/which-key.nvim)
|
|
48
|
+
- [ggandor/leap.nvim](https://github.com/ggandor/leap.nvim)
|
|
49
|
+
- [glepnir/dashboard-nvim](https://github.com/glepnir/dashboard-nvim)
|
|
50
|
+
- [glepnir/lspsaga.nvim](https://github.com/glepnir/lspsaga.nvim)
|
|
51
|
+
- [HiPhish/rainbow-delimiters.nvim](https://github.com/HiPhish/rainbow-delimiters.nvim)
|
|
52
|
+
- [hrsh7th/nvim-cmp](https://github.com/hrsh7th/nvim-cmp)
|
|
53
|
+
- [ibhagwan/fzf-lua](https://github.com/ibhagwan/fzf-lua)
|
|
54
|
+
- [justinmk/vim-sneak](https://github.com/justinmk/vim-sneak)
|
|
55
|
+
- [kevinhwang91/nvim-bqf](https://github.com/kevinhwang91/nvim-bqf)
|
|
56
|
+
- [kevinhwang91/nvim-ufo](https://github.com/kevinhwang91/nvim-ufo)
|
|
57
|
+
- [lewis6991/gitsigns.nvim](https://github.com/lewis6991/gitsigns.nvim)
|
|
58
|
+
- [lukas-reineke/indent-blankline.nvim](https://github.com/lukas-reineke/indent-blankline.nvim)
|
|
59
|
+
- [MeanderingProgrammer/render-markdown.nvim](https://github.com/MeanderingProgrammer/render-markdown.nvim)
|
|
60
|
+
- [neoclide/coc.nvim](https://github.com/neoclide/coc.nvim)
|
|
61
|
+
- [NeogitOrg/neogit](https://github.com/NeogitOrg/neogit)
|
|
62
|
+
- [nvim-lualine/lualine.nvim](https://github.com/nvim-lualine/lualine.nvim)
|
|
63
|
+
- [nvim-neo-tree/neo-tree.nvim](https://github.com/nvim-neo-tree/neo-tree.nvim)
|
|
64
|
+
- [nvim-telescope/telescope.nvim](https://github.com/nvim-telescope/telescope.nvim)
|
|
65
|
+
- [nvim-tree/nvim-tree.lua](https://github.com/nvim-tree/nvim-tree.lua)
|
|
66
|
+
- [OXY2DEV/helpview.nvim](https://github.com/OXY2DEV/helpview.nvim)
|
|
67
|
+
- [OXY2DEV/markview.nvim](https://github.com/OXY2DEV/markview.nvim)
|
|
68
|
+
- [phaazon/hop.nvim](https://github.com/phaazon/hop.nvim)
|
|
69
|
+
- [rcarriga/nvim-dap-ui](https://github.com/rcarriga/nvim-dap-ui)
|
|
70
|
+
- [rcarriga/nvim-notify](https://github.com/rcarriga/nvim-notify)
|
|
71
|
+
- [rlane/pounce.nvim](https://github.com/rlane/pounce.nvim)
|
|
72
|
+
- [romgrk/barbar.nvim](https://github.com/romgrk/barbar.nvim)
|
|
73
|
+
- [saghen/blink.cmp](https://github.com/saghen/blink.cmp)
|
|
74
|
+
- [stevearc/aerial.nvim](https://github.com/stevearc/aerial.nvim)
|
|
75
|
+
- [williamboman/mason.nvim](https://github.com/williamboman/mason.nvim)
|
|
76
|
+
|
|
77
|
+
# Setup ~
|
|
78
|
+
|
|
79
|
+
This module needs a setup with `require('mini.hues').setup({})` and
|
|
80
|
+
MANDATORY `background` AND `foreground` FIELDS (add more fields to fit
|
|
81
|
+
your taste). It will create global Lua table `MiniHues` which you can use
|
|
82
|
+
for scripting or manually (with `:lua MiniHues.*`).
|
|
83
|
+
|
|
84
|
+
See |MiniHues.config| for `config` structure and default values.
|
|
85
|
+
|
|
86
|
+
This module doesn't have runtime options, so using `vim.b.minihues_config`
|
|
87
|
+
will have no effect here.
|
|
88
|
+
|
|
89
|
+
Example: >lua
|
|
90
|
+
|
|
91
|
+
require('mini.hues').setup({
|
|
92
|
+
background = '#11262d',
|
|
93
|
+
foreground = '#c0c8cc',
|
|
94
|
+
plugins = {
|
|
95
|
+
default = false,
|
|
96
|
+
['nvim-mini/mini.nvim'] = true,
|
|
97
|
+
},
|
|
98
|
+
})
|
|
99
|
+
<
|
|
100
|
+
# Notes ~
|
|
101
|
+
|
|
102
|
+
- This is used to create some of plugin's color schemes
|
|
103
|
+
(see |MiniHues-color-schemes|).
|
|
104
|
+
|
|
105
|
+
- Using `setup()` doesn't actually create a colorscheme. It basically
|
|
106
|
+
creates a coordinated set of |highlight-groups|. To create your own scheme:
|
|
107
|
+
- Put "myscheme.lua" file (name after your chosen theme name) inside
|
|
108
|
+
any "colors" directory reachable from |'runtimepath'| ("colors" inside
|
|
109
|
+
your Neovim config directory is usually enough).
|
|
110
|
+
- Inside "myscheme.lua" call `require('mini.hues').setup()` with your
|
|
111
|
+
palette and only after that set |g:colors_name| to "myscheme".
|
|
112
|
+
|
|
113
|
+
- This module doesn't define |cterm-colors| for implementation simplicity.
|
|
114
|
+
It only works if |'termguicolors'| is enabled (should be done automatically
|
|
115
|
+
if the terminal emulator supporst 24-bit colors). If not possible,
|
|
116
|
+
use |MiniColors-colorscheme:add_cterm_attributes()| from |mini.colors|
|
|
117
|
+
to define custom color scheme with 16-color support.
|
|
118
|
+
|
|
119
|
+
------------------------------------------------------------------------------
|
|
120
|
+
*MiniHues-color-schemes*
|
|
121
|
+
Bundled color schemes
|
|
122
|
+
|
|
123
|
+
- *miniwinter* : "icy winter" palette with azure background.
|
|
124
|
+
- *minispring* : "blooming spring" palette with green background.
|
|
125
|
+
- *minisummer* : "hot summer" palette with brown/yellow background.
|
|
126
|
+
- *miniautumn* : "cooling autumn" palette with purple background.
|
|
127
|
+
|
|
128
|
+
- *randomhue* : uses randomly generated same hue background and foreground.
|
|
129
|
+
Every `:colorscheme randomhue` call results in a different (randomly yet
|
|
130
|
+
carefully selected) colors.
|
|
131
|
+
|
|
132
|
+
It is essentially a combination of calls to |MiniHues.setup()| and
|
|
133
|
+
|MiniHues.gen_random_base_colors()| with slight adjustments for |'background'|.
|
|
134
|
+
|
|
135
|
+
Activate it as regular |:colorscheme|. Get currently active config with
|
|
136
|
+
`:lua print(vim.inspect(MiniHues.config))`.
|
|
137
|
+
|
|
138
|
+
------------------------------------------------------------------------------
|
|
139
|
+
*MiniHues.setup()*
|
|
140
|
+
`MiniHues.setup`({config})
|
|
141
|
+
Module setup
|
|
142
|
+
|
|
143
|
+
Main side effect is to create palette and apply it. Essentially, a combination
|
|
144
|
+
of |MiniHues.make_palette()| and |MiniHues.apply_palette()|.
|
|
145
|
+
|
|
146
|
+
Usage ~
|
|
147
|
+
>lua
|
|
148
|
+
require('mini.hues').setup({
|
|
149
|
+
-- Use config table as you like
|
|
150
|
+
-- Needs both `background` and `foreground` fields present
|
|
151
|
+
background = '#11262d',
|
|
152
|
+
foreground = '#c0c8cc',
|
|
153
|
+
})
|
|
154
|
+
<
|
|
155
|
+
------------------------------------------------------------------------------
|
|
156
|
+
*MiniHues.config*
|
|
157
|
+
`MiniHues.config`
|
|
158
|
+
Defaults ~
|
|
159
|
+
>lua
|
|
160
|
+
MiniHues.config = {
|
|
161
|
+
-- REQUIRED base colors as '#rrggbb' hex strings
|
|
162
|
+
background = nil,
|
|
163
|
+
foreground = nil,
|
|
164
|
+
|
|
165
|
+
-- Number of hues used for non-base colors
|
|
166
|
+
n_hues = 8,
|
|
167
|
+
|
|
168
|
+
-- Saturation. One of 'low', 'lowmedium', 'medium', 'mediumhigh', 'high'.
|
|
169
|
+
saturation = 'medium',
|
|
170
|
+
|
|
171
|
+
-- Accent color. One of: 'bg', 'fg', 'red', 'orange', 'yellow', 'green',
|
|
172
|
+
-- 'cyan', 'azure', 'blue', 'purple'
|
|
173
|
+
accent = 'bg',
|
|
174
|
+
|
|
175
|
+
-- Plugin integrations. Use `default = false` to disable all integrations.
|
|
176
|
+
-- Also can be set per plugin (see |MiniHues.config|).
|
|
177
|
+
plugins = { default = true },
|
|
178
|
+
|
|
179
|
+
-- Whether to auto adjust highlight groups based on certain events
|
|
180
|
+
autoadjust = true,
|
|
181
|
+
}
|
|
182
|
+
<
|
|
183
|
+
See |MiniHues.make_palette()| for more information about how certain settings
|
|
184
|
+
affect output color scheme.
|
|
185
|
+
|
|
186
|
+
# Plugin integrations ~
|
|
187
|
+
|
|
188
|
+
`config.plugins` defines for which supported plugins highlight groups will
|
|
189
|
+
be created. Limiting number of integrations slightly decreases startup time.
|
|
190
|
+
It is a table with boolean (`true`/`false`) values which are applied as follows:
|
|
191
|
+
- If plugin name (as listed in |mini.hues|) has entry, it is used.
|
|
192
|
+
- Otherwise `config.plugins.default` is used.
|
|
193
|
+
|
|
194
|
+
Example which will load only "mini.nvim" integration: >lua
|
|
195
|
+
|
|
196
|
+
require('mini.hues').setup({
|
|
197
|
+
background = '#11262d',
|
|
198
|
+
foreground = '#c0c8cc',
|
|
199
|
+
plugins = {
|
|
200
|
+
default = false,
|
|
201
|
+
['nvim-mini/mini.nvim'] = true,
|
|
202
|
+
},
|
|
203
|
+
})
|
|
204
|
+
<
|
|
205
|
+
# Auto adjust ~
|
|
206
|
+
|
|
207
|
+
`config.autoadjust` defines whether to adjust some highlight groups based on
|
|
208
|
+
events relevant to them. Currently adjusted groups:
|
|
209
|
+
|
|
210
|
+
- |hl-MsgSeparator| is adjusted based on `msgsep` flag in |'fillchars'|.
|
|
211
|
+
If it is whitespace - highlight background, otherwise - foreground.
|
|
212
|
+
|
|
213
|
+
- |hl-Pmenu| is adjusted based on |'pumborder'| value (on Neovim>=0.12).
|
|
214
|
+
If it results in a border - same as floating window (but with no accent
|
|
215
|
+
foreground in border), otherwise - same as |hl-CursorLine|. This design
|
|
216
|
+
makes |ins-completion-menu| stand out from regular floating windows.
|
|
217
|
+
|
|
218
|
+
# Examples ~
|
|
219
|
+
*MiniHues-examples*
|
|
220
|
+
|
|
221
|
+
Here are some possible setup configurations (copy first line and then use
|
|
222
|
+
only one `setup` call): >lua
|
|
223
|
+
|
|
224
|
+
local setup = require('mini.hues').setup
|
|
225
|
+
|
|
226
|
+
-- Choose background and foreground
|
|
227
|
+
setup({ background = '#2f1c22', foreground = '#cdc4c6' }) -- red
|
|
228
|
+
setup({ background = '#2f1e16', foreground = '#cdc5c1' }) -- orange
|
|
229
|
+
setup({ background = '#282211', foreground = '#c9c6c0' }) -- yellow
|
|
230
|
+
setup({ background = '#1c2617', foreground = '#c4c8c2' }) -- green
|
|
231
|
+
setup({ background = '#112723', foreground = '#c0c9c7' }) -- cyan
|
|
232
|
+
setup({ background = '#11262d', foreground = '#c0c8cc' }) -- azure
|
|
233
|
+
setup({ background = '#1d2231', foreground = '#c4c6cd' }) -- blue
|
|
234
|
+
setup({ background = '#281e2c', foreground = '#c9c5cb' }) -- purple
|
|
235
|
+
|
|
236
|
+
-- Choose number of accent colors
|
|
237
|
+
setup({ background = '#11262d', foreground = '#c0c8cc', n_hues = 6 })
|
|
238
|
+
setup({ background = '#11262d', foreground = '#c0c8cc', n_hues = 4 })
|
|
239
|
+
setup({ background = '#11262d', foreground = '#c0c8cc', n_hues = 2 })
|
|
240
|
+
setup({ background = '#11262d', foreground = '#c0c8cc', n_hues = 0 })
|
|
241
|
+
|
|
242
|
+
-- Choose saturation of colored text
|
|
243
|
+
setup({ background = '#11262d', foreground = '#c0c8cc', saturation = 'low' })
|
|
244
|
+
setup({ background = '#11262d', foreground = '#c0c8cc', saturation = 'lowmedium' })
|
|
245
|
+
setup({ background = '#11262d', foreground = '#c0c8cc', saturation = 'medium' })
|
|
246
|
+
setup({ background = '#11262d', foreground = '#c0c8cc', saturation = 'mediumhigh' })
|
|
247
|
+
setup({ background = '#11262d', foreground = '#c0c8cc', saturation = 'high' })
|
|
248
|
+
|
|
249
|
+
-- Choose accent color
|
|
250
|
+
setup({ background = '#11262d', foreground = '#c0c8cc', accent = 'bg' })
|
|
251
|
+
setup({ background = '#11262d', foreground = '#c0c8cc', accent = 'red' })
|
|
252
|
+
setup({ background = '#11262d', foreground = '#c0c8cc', accent = 'yellow' })
|
|
253
|
+
setup({ background = '#11262d', foreground = '#c0c8cc', accent = 'cyan' })
|
|
254
|
+
setup({ background = '#11262d', foreground = '#c0c8cc', accent = 'blue' })
|
|
255
|
+
<
|
|
256
|
+
------------------------------------------------------------------------------
|
|
257
|
+
*MiniHues.make_palette()*
|
|
258
|
+
`MiniHues.make_palette`({config})
|
|
259
|
+
# Make palette ~
|
|
260
|
+
|
|
261
|
+
General idea of palette generation is that it is mostly based on color channel
|
|
262
|
+
information extracted from base colors (background and foreground).
|
|
263
|
+
|
|
264
|
+
All operations are done inside `Oklch` color space, meaning that each color
|
|
265
|
+
is defined by three numbers:
|
|
266
|
+
- Lightness (`l`) - number between 0 (black) and 100 (white) describing how
|
|
267
|
+
light is a color.
|
|
268
|
+
- Chroma (`c`) - positive number describing how colorful is a color (bigger
|
|
269
|
+
values - more colorful; 0 is gray).
|
|
270
|
+
- Hue (`h`) - periodic number in [0, 360) describing a value of "true color"
|
|
271
|
+
on color circle/wheel.
|
|
272
|
+
|
|
273
|
+
For more details about `Oklch` see |MiniColors-color-spaces| or
|
|
274
|
+
https://bottosson.github.io/posts/oklab/.
|
|
275
|
+
|
|
276
|
+
## Algorithm overview ~
|
|
277
|
+
|
|
278
|
+
- Extract lightness, chroma, and hue of base colors.
|
|
279
|
+
|
|
280
|
+
- Generate reference lightness values:
|
|
281
|
+
- Background edge: 0 or 100, whichever is closest to background lightness.
|
|
282
|
+
- Foreground edge: 0 or 100, different from background edge.
|
|
283
|
+
- Middle: arithmetic mean of background and foreground lightness values.
|
|
284
|
+
|
|
285
|
+
- Compute background and foreground tints and shades by changing lightness
|
|
286
|
+
of background color: two colors closer to background lightness edge and
|
|
287
|
+
two closer to middle.
|
|
288
|
+
|
|
289
|
+
- Pick chroma value for non-base colors based on `config.saturation`.
|
|
290
|
+
|
|
291
|
+
- Generate hues for non-base colors:
|
|
292
|
+
- Fit an equidistant circular grid with `config.n_hues` points to be as
|
|
293
|
+
far from both background and foreground hues. This will ensure that
|
|
294
|
+
non-base colors are as different as possible from base ones (for
|
|
295
|
+
better visual perception).
|
|
296
|
+
Example: for background hue 0, foreground hue 180, and `config.n_hues` 2
|
|
297
|
+
the output grid will be `{ 90, 270 }`.
|
|
298
|
+
|
|
299
|
+
- For each hue of reference color (which itself is an equidistant grid
|
|
300
|
+
of 8 hues) compute the closest value from the grid. This allows
|
|
301
|
+
operating in same terms (like "red", "green") despite maybe actually
|
|
302
|
+
having less different hues.
|
|
303
|
+
|
|
304
|
+
- Compute for each hue two variants of non-base colors: with background and
|
|
305
|
+
foreground lightness values.
|
|
306
|
+
|
|
307
|
+
- Compute two variants of accent color (with background and foreground
|
|
308
|
+
lightness) based on `config.accent`.
|
|
309
|
+
|
|
310
|
+
Notes:
|
|
311
|
+
- Some output colors can have not exact values of generated Oklch channels.
|
|
312
|
+
This is due to actually computed colors being impossible to represent via
|
|
313
|
+
`'#rrggbb'` hex string. In this case a process called gamut clipping is done
|
|
314
|
+
to reduce lightness and chroma in optimal way while maintaining same hue.
|
|
315
|
+
For more information see |MiniColors-gamut-clip|.
|
|
316
|
+
|
|
317
|
+
- Not all colors are actually used in highlight groups and are present for the
|
|
318
|
+
sake of completeness.
|
|
319
|
+
|
|
320
|
+
Parameters ~
|
|
321
|
+
{config} `(table)` Configuration for palette. Same structure as |MiniHues.config|.
|
|
322
|
+
Needs to have <background> and <foreground> fields.
|
|
323
|
+
|
|
324
|
+
Return ~
|
|
325
|
+
`(table)` Palette with the following fields:
|
|
326
|
+
- <bg> and <fg> with supplied `background` and `foreground` colors.
|
|
327
|
+
- Fields like <bg_xxx> and <fg_xxx> are essentially <bg> and <fg> but with
|
|
328
|
+
different lightness values: `_edge`/`_edge2` - closer to edge lightness,
|
|
329
|
+
`_mid`/`_mid2` - closer to middle lightness.
|
|
330
|
+
- Fields for non-base colors (<red>, <orange>, <yellow>, <green>, <cyan>,
|
|
331
|
+
<azure>, <blue>, <purple>) have the same lightness as foreground.
|
|
332
|
+
- Fields for non-base colors with <_bg> suffix have the same lightness as
|
|
333
|
+
background.
|
|
334
|
+
- <accent> and <accent_bg> represent accent colors with foreground and
|
|
335
|
+
background lightness values.
|
|
336
|
+
|
|
337
|
+
See also ~
|
|
338
|
+
|MiniHues.get_palette()|
|
|
339
|
+
|
|
340
|
+
------------------------------------------------------------------------------
|
|
341
|
+
*MiniHues.apply_palette()*
|
|
342
|
+
`MiniHues.apply_palette`({palette}, {plugins}, {opts})
|
|
343
|
+
Apply palette
|
|
344
|
+
|
|
345
|
+
Create color scheme highlight groups and terminal colors based on supplied
|
|
346
|
+
palette. This is useful if you want to tweak palette colors.
|
|
347
|
+
For regular usage prefer |MiniHues.setup()|.
|
|
348
|
+
|
|
349
|
+
Parameters ~
|
|
350
|
+
{palette} `(table)` Table with structure as |MiniHues.make_palette()| output.
|
|
351
|
+
{plugins} `(table|nil)` Table with boolean values indicating whether to create
|
|
352
|
+
highlight groups for specific plugins. See |MiniHues.config| for more details.
|
|
353
|
+
Default: the value from |MiniHues.config|.
|
|
354
|
+
{opts} `(table|nil)` Options. Possible fields:
|
|
355
|
+
- <autoadjust> - whether to auto adjust some highlight groups when needed.
|
|
356
|
+
Default: value of `autoadjust` in |MiniHues.config|.
|
|
357
|
+
|
|
358
|
+
Usage ~
|
|
359
|
+
>lua
|
|
360
|
+
local palette = require('mini.hues').make_palette({
|
|
361
|
+
background = '#11262d',
|
|
362
|
+
foreground = '#c0c8cc',
|
|
363
|
+
})
|
|
364
|
+
palette.cyan = '#76e0a6'
|
|
365
|
+
palette.cyan_bg = '#004629'
|
|
366
|
+
require('mini.hues').apply_palette(palette)
|
|
367
|
+
<
|
|
368
|
+
See also ~
|
|
369
|
+
|MiniHues.get_palette()|
|
|
370
|
+
|
|
371
|
+
------------------------------------------------------------------------------
|
|
372
|
+
*MiniHues.get_palette()*
|
|
373
|
+
`MiniHues.get_palette`()
|
|
374
|
+
Get latest applied palette
|
|
375
|
+
|
|
376
|
+
Return ~
|
|
377
|
+
`(table)` Table with structure as |MiniHues.make_palette()| output that was
|
|
378
|
+
the latest applied (via |MiniHues.apply_palette()|) palette.
|
|
379
|
+
|
|
380
|
+
------------------------------------------------------------------------------
|
|
381
|
+
*MiniHues.gen_random_base_colors()*
|
|
382
|
+
`MiniHues.gen_random_base_colors`({opts})
|
|
383
|
+
Generate random base colors
|
|
384
|
+
|
|
385
|
+
Compute background and foreground colors based on randomly generated hue
|
|
386
|
+
and heuristically picked lightness-chroma values.
|
|
387
|
+
|
|
388
|
+
You can recreate a similar functionality but tweaked to your taste
|
|
389
|
+
using |mini.colors|: >lua
|
|
390
|
+
|
|
391
|
+
local convert = require('mini.colors').convert
|
|
392
|
+
local hue = math.random(0, 359)
|
|
393
|
+
return {
|
|
394
|
+
background = convert({ l = 15, c = 3, h = hue }, 'hex'),
|
|
395
|
+
foreground = convert({ l = 80, c = 1, h = hue }, 'hex'),
|
|
396
|
+
}
|
|
397
|
+
<
|
|
398
|
+
Notes:
|
|
399
|
+
- Respects |'background'| (uses different lightness and chroma values for
|
|
400
|
+
"dark" and "light" backgrounds).
|
|
401
|
+
|
|
402
|
+
- When used during startup, might require usage of `math.randomseed()` for
|
|
403
|
+
proper random generation. For example: >lua
|
|
404
|
+
|
|
405
|
+
local hues = require('mini.hues')
|
|
406
|
+
math.randomseed(vim.loop.hrtime())
|
|
407
|
+
hues.setup(hues.gen_random_base_colors())
|
|
408
|
+
<
|
|
409
|
+
Parameters ~
|
|
410
|
+
{opts} `(table|nil)` Options. Possible values:
|
|
411
|
+
- <gen_hue> `(function)` - callable which will return single number for
|
|
412
|
+
output hue. Can be used to limit which hues will be generated.
|
|
413
|
+
Default: random integer between 0 and 359.
|
|
414
|
+
|
|
415
|
+
Return ~
|
|
416
|
+
`(table)` Table with <background> and <foreground> fields containing
|
|
417
|
+
color hex strings.
|
|
418
|
+
|
|
419
|
+
|
|
420
|
+
vim:tw=78:ts=8:noet:ft=help:norl:
|