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.
Files changed (218) hide show
  1. package/.conda/retrovim.yaml +259 -0
  2. package/.conda/terax.icns +0 -0
  3. package/.conda/terax.ico +0 -0
  4. package/.conda/terax.png +0 -0
  5. package/.github/workflows/release.yml +95 -0
  6. package/.gitmodules +3 -0
  7. package/.npm/kanata_touchcursor.js +28 -0
  8. package/.npm/nvim.js +26 -0
  9. package/.npm/yazi.js +26 -0
  10. package/.npm/zsh.js +17 -0
  11. package/.pip/kanata_touchcursor/__init__.py +28 -0
  12. package/.pip/nvim/__init__.py +31 -0
  13. package/.pip/yazi/__init__.py +31 -0
  14. package/.pip/zsh/__init__.py +22 -0
  15. package/CHANGELOG.md +26 -0
  16. package/LICENSE +674 -0
  17. package/README.md +336 -0
  18. package/kanata/touchcursor.kbd +164 -0
  19. package/nvim/init.lua +813 -0
  20. package/nvim/plugins/mini.nvim/.github/DISCUSSION_TEMPLATE/q-a.yml +72 -0
  21. package/nvim/plugins/mini.nvim/.github/ISSUE_TEMPLATE/bug-report.yml +136 -0
  22. package/nvim/plugins/mini.nvim/.github/ISSUE_TEMPLATE/config.yml +5 -0
  23. package/nvim/plugins/mini.nvim/.github/ISSUE_TEMPLATE/feature-request.yml +75 -0
  24. package/nvim/plugins/mini.nvim/.github/PULL_REQUEST_TEMPLATE.md +2 -0
  25. package/nvim/plugins/mini.nvim/.github/workflows/quality-control.yml +150 -0
  26. package/nvim/plugins/mini.nvim/.pre-commit-config.yaml +20 -0
  27. package/nvim/plugins/mini.nvim/.stylua.toml +7 -0
  28. package/nvim/plugins/mini.nvim/.styluaignore +1 -0
  29. package/nvim/plugins/mini.nvim/CHANGELOG.md +1894 -0
  30. package/nvim/plugins/mini.nvim/CODE_OF_CONDUCT.md +132 -0
  31. package/nvim/plugins/mini.nvim/CONTRIBUTING.md +331 -0
  32. package/nvim/plugins/mini.nvim/LICENSE +21 -0
  33. package/nvim/plugins/mini.nvim/MAINTAINING.md +330 -0
  34. package/nvim/plugins/mini.nvim/Makefile +51 -0
  35. package/nvim/plugins/mini.nvim/README.md +261 -0
  36. package/nvim/plugins/mini.nvim/TESTING.md +1011 -0
  37. package/nvim/plugins/mini.nvim/benchmarks/starter/README.md +35 -0
  38. package/nvim/plugins/mini.nvim/benchmarks/starter/benchmark.sh +56 -0
  39. package/nvim/plugins/mini.nvim/benchmarks/starter/init-files/init_dashboard-alpha.lua +21 -0
  40. package/nvim/plugins/mini.nvim/benchmarks/starter/init-files/init_dashboard-original.lua +17 -0
  41. package/nvim/plugins/mini.nvim/benchmarks/starter/init-files/init_dashboard-starter.lua +18 -0
  42. package/nvim/plugins/mini.nvim/benchmarks/starter/init-files/init_empty.lua +4 -0
  43. package/nvim/plugins/mini.nvim/benchmarks/starter/init-files/init_starter-default.lua +7 -0
  44. package/nvim/plugins/mini.nvim/benchmarks/starter/init-files/init_startify-alpha.lua +10 -0
  45. package/nvim/plugins/mini.nvim/benchmarks/starter/init-files/init_startify-original.lua +7 -0
  46. package/nvim/plugins/mini.nvim/benchmarks/starter/init-files/init_startify-starter.lua +20 -0
  47. package/nvim/plugins/mini.nvim/benchmarks/starter/install.sh +10 -0
  48. package/nvim/plugins/mini.nvim/benchmarks/starter/make_summary.py +68 -0
  49. package/nvim/plugins/mini.nvim/benchmarks/starter/startup-summary.md +10 -0
  50. package/nvim/plugins/mini.nvim/colors/miniautumn.lua +55 -0
  51. package/nvim/plugins/mini.nvim/colors/minicyan.lua +95 -0
  52. package/nvim/plugins/mini.nvim/colors/minischeme.lua +95 -0
  53. package/nvim/plugins/mini.nvim/colors/minispring.lua +53 -0
  54. package/nvim/plugins/mini.nvim/colors/minisummer.lua +49 -0
  55. package/nvim/plugins/mini.nvim/colors/miniwinter.lua +51 -0
  56. package/nvim/plugins/mini.nvim/colors/randomhue.lua +16 -0
  57. package/nvim/plugins/mini.nvim/doc/mini-ai.txt +889 -0
  58. package/nvim/plugins/mini.nvim/doc/mini-align.txt +923 -0
  59. package/nvim/plugins/mini.nvim/doc/mini-animate.txt +937 -0
  60. package/nvim/plugins/mini.nvim/doc/mini-base16.txt +285 -0
  61. package/nvim/plugins/mini.nvim/doc/mini-basics.txt +359 -0
  62. package/nvim/plugins/mini.nvim/doc/mini-bracketed.txt +622 -0
  63. package/nvim/plugins/mini.nvim/doc/mini-bufremove.txt +123 -0
  64. package/nvim/plugins/mini.nvim/doc/mini-clue.txt +760 -0
  65. package/nvim/plugins/mini.nvim/doc/mini-cmdline.txt +392 -0
  66. package/nvim/plugins/mini.nvim/doc/mini-colors.txt +880 -0
  67. package/nvim/plugins/mini.nvim/doc/mini-comment.txt +230 -0
  68. package/nvim/plugins/mini.nvim/doc/mini-completion.txt +477 -0
  69. package/nvim/plugins/mini.nvim/doc/mini-cursorword.txt +105 -0
  70. package/nvim/plugins/mini.nvim/doc/mini-deps.txt +590 -0
  71. package/nvim/plugins/mini.nvim/doc/mini-diff.txt +661 -0
  72. package/nvim/plugins/mini.nvim/doc/mini-doc.txt +434 -0
  73. package/nvim/plugins/mini.nvim/doc/mini-extra.txt +856 -0
  74. package/nvim/plugins/mini.nvim/doc/mini-files.txt +1018 -0
  75. package/nvim/plugins/mini.nvim/doc/mini-fuzzy.txt +160 -0
  76. package/nvim/plugins/mini.nvim/doc/mini-git.txt +425 -0
  77. package/nvim/plugins/mini.nvim/doc/mini-hipatterns.txt +489 -0
  78. package/nvim/plugins/mini.nvim/doc/mini-hues.txt +420 -0
  79. package/nvim/plugins/mini.nvim/doc/mini-icons.txt +508 -0
  80. package/nvim/plugins/mini.nvim/doc/mini-indentscope.txt +485 -0
  81. package/nvim/plugins/mini.nvim/doc/mini-input.txt +932 -0
  82. package/nvim/plugins/mini.nvim/doc/mini-jump.txt +202 -0
  83. package/nvim/plugins/mini.nvim/doc/mini-jump2d.txt +525 -0
  84. package/nvim/plugins/mini.nvim/doc/mini-keymap.txt +449 -0
  85. package/nvim/plugins/mini.nvim/doc/mini-map.txt +717 -0
  86. package/nvim/plugins/mini.nvim/doc/mini-misc.txt +431 -0
  87. package/nvim/plugins/mini.nvim/doc/mini-move.txt +181 -0
  88. package/nvim/plugins/mini.nvim/doc/mini-notify.txt +434 -0
  89. package/nvim/plugins/mini.nvim/doc/mini-nvim.txt +431 -0
  90. package/nvim/plugins/mini.nvim/doc/mini-operators.txt +472 -0
  91. package/nvim/plugins/mini.nvim/doc/mini-pairs.txt +346 -0
  92. package/nvim/plugins/mini.nvim/doc/mini-pick.txt +1535 -0
  93. package/nvim/plugins/mini.nvim/doc/mini-sessions.txt +239 -0
  94. package/nvim/plugins/mini.nvim/doc/mini-snippets.txt +1291 -0
  95. package/nvim/plugins/mini.nvim/doc/mini-splitjoin.txt +536 -0
  96. package/nvim/plugins/mini.nvim/doc/mini-starter.txt +618 -0
  97. package/nvim/plugins/mini.nvim/doc/mini-statusline.txt +361 -0
  98. package/nvim/plugins/mini.nvim/doc/mini-surround.txt +863 -0
  99. package/nvim/plugins/mini.nvim/doc/mini-tabline.txt +151 -0
  100. package/nvim/plugins/mini.nvim/doc/mini-test.txt +966 -0
  101. package/nvim/plugins/mini.nvim/doc/mini-trailspace.txt +91 -0
  102. package/nvim/plugins/mini.nvim/doc/mini-visits.txt +937 -0
  103. package/nvim/plugins/mini.nvim/logo.png +0 -0
  104. package/nvim/plugins/mini.nvim/lua/mini/ai.lua +2244 -0
  105. package/nvim/plugins/mini.nvim/lua/mini/align.lua +2076 -0
  106. package/nvim/plugins/mini.nvim/lua/mini/animate.lua +2127 -0
  107. package/nvim/plugins/mini.nvim/lua/mini/base16.lua +1752 -0
  108. package/nvim/plugins/mini.nvim/lua/mini/basics.lua +772 -0
  109. package/nvim/plugins/mini.nvim/lua/mini/bracketed.lua +2013 -0
  110. package/nvim/plugins/mini.nvim/lua/mini/bufremove.lua +283 -0
  111. package/nvim/plugins/mini.nvim/lua/mini/clue.lua +2096 -0
  112. package/nvim/plugins/mini.nvim/lua/mini/cmdline.lua +1182 -0
  113. package/nvim/plugins/mini.nvim/lua/mini/colors.lua +2483 -0
  114. package/nvim/plugins/mini.nvim/lua/mini/comment.lua +586 -0
  115. package/nvim/plugins/mini.nvim/lua/mini/completion.lua +2094 -0
  116. package/nvim/plugins/mini.nvim/lua/mini/cursorword.lua +311 -0
  117. package/nvim/plugins/mini.nvim/lua/mini/deps.lua +1660 -0
  118. package/nvim/plugins/mini.nvim/lua/mini/diff.lua +1938 -0
  119. package/nvim/plugins/mini.nvim/lua/mini/doc.lua +1371 -0
  120. package/nvim/plugins/mini.nvim/lua/mini/extra.lua +2290 -0
  121. package/nvim/plugins/mini.nvim/lua/mini/files.lua +3145 -0
  122. package/nvim/plugins/mini.nvim/lua/mini/fuzzy.lua +356 -0
  123. package/nvim/plugins/mini.nvim/lua/mini/git.lua +1737 -0
  124. package/nvim/plugins/mini.nvim/lua/mini/hipatterns.lua +1042 -0
  125. package/nvim/plugins/mini.nvim/lua/mini/hues.lua +2088 -0
  126. package/nvim/plugins/mini.nvim/lua/mini/icons.lua +2254 -0
  127. package/nvim/plugins/mini.nvim/lua/mini/indentscope.lua +1158 -0
  128. package/nvim/plugins/mini.nvim/lua/mini/init.lua +427 -0
  129. package/nvim/plugins/mini.nvim/lua/mini/input.lua +2183 -0
  130. package/nvim/plugins/mini.nvim/lua/mini/jump.lua +609 -0
  131. package/nvim/plugins/mini.nvim/lua/mini/jump2d.lua +1244 -0
  132. package/nvim/plugins/mini.nvim/lua/mini/keymap.lua +880 -0
  133. package/nvim/plugins/mini.nvim/lua/mini/map.lua +1709 -0
  134. package/nvim/plugins/mini.nvim/lua/mini/misc.lua +969 -0
  135. package/nvim/plugins/mini.nvim/lua/mini/move.lua +509 -0
  136. package/nvim/plugins/mini.nvim/lua/mini/notify.lua +938 -0
  137. package/nvim/plugins/mini.nvim/lua/mini/operators.lua +1349 -0
  138. package/nvim/plugins/mini.nvim/lua/mini/pairs.lua +657 -0
  139. package/nvim/plugins/mini.nvim/lua/mini/pick.lua +3876 -0
  140. package/nvim/plugins/mini.nvim/lua/mini/sessions.lua +689 -0
  141. package/nvim/plugins/mini.nvim/lua/mini/snippets.lua +2828 -0
  142. package/nvim/plugins/mini.nvim/lua/mini/splitjoin.lua +1132 -0
  143. package/nvim/plugins/mini.nvim/lua/mini/starter.lua +1599 -0
  144. package/nvim/plugins/mini.nvim/lua/mini/statusline.lua +686 -0
  145. package/nvim/plugins/mini.nvim/lua/mini/surround.lua +2388 -0
  146. package/nvim/plugins/mini.nvim/lua/mini/tabline.lua +564 -0
  147. package/nvim/plugins/mini.nvim/lua/mini/test.lua +2516 -0
  148. package/nvim/plugins/mini.nvim/lua/mini/trailspace.lua +215 -0
  149. package/nvim/plugins/mini.nvim/lua/mini/visits.lua +1577 -0
  150. package/nvim/plugins/mini.nvim/readmes/mini-ai.md +190 -0
  151. package/nvim/plugins/mini.nvim/readmes/mini-align.md +203 -0
  152. package/nvim/plugins/mini.nvim/readmes/mini-animate.md +214 -0
  153. package/nvim/plugins/mini.nvim/readmes/mini-base16.md +198 -0
  154. package/nvim/plugins/mini.nvim/readmes/mini-basics.md +184 -0
  155. package/nvim/plugins/mini.nvim/readmes/mini-bracketed.md +193 -0
  156. package/nvim/plugins/mini.nvim/readmes/mini-bufremove.md +139 -0
  157. package/nvim/plugins/mini.nvim/readmes/mini-clue.md +260 -0
  158. package/nvim/plugins/mini.nvim/readmes/mini-cmdline.md +183 -0
  159. package/nvim/plugins/mini.nvim/readmes/mini-colors.md +169 -0
  160. package/nvim/plugins/mini.nvim/readmes/mini-comment.md +183 -0
  161. package/nvim/plugins/mini.nvim/readmes/mini-completion.md +217 -0
  162. package/nvim/plugins/mini.nvim/readmes/mini-cursorword.md +137 -0
  163. package/nvim/plugins/mini.nvim/readmes/mini-deps.md +271 -0
  164. package/nvim/plugins/mini.nvim/readmes/mini-diff.md +289 -0
  165. package/nvim/plugins/mini.nvim/readmes/mini-doc.md +198 -0
  166. package/nvim/plugins/mini.nvim/readmes/mini-extra.md +158 -0
  167. package/nvim/plugins/mini.nvim/readmes/mini-files.md +247 -0
  168. package/nvim/plugins/mini.nvim/readmes/mini-fuzzy.md +134 -0
  169. package/nvim/plugins/mini.nvim/readmes/mini-git.md +168 -0
  170. package/nvim/plugins/mini.nvim/readmes/mini-hipatterns.md +176 -0
  171. package/nvim/plugins/mini.nvim/readmes/mini-hues.md +285 -0
  172. package/nvim/plugins/mini.nvim/readmes/mini-icons.md +183 -0
  173. package/nvim/plugins/mini.nvim/readmes/mini-indentscope.md +191 -0
  174. package/nvim/plugins/mini.nvim/readmes/mini-input.md +163 -0
  175. package/nvim/plugins/mini.nvim/readmes/mini-jump.md +161 -0
  176. package/nvim/plugins/mini.nvim/readmes/mini-jump2d.md +197 -0
  177. package/nvim/plugins/mini.nvim/readmes/mini-keymap.md +205 -0
  178. package/nvim/plugins/mini.nvim/readmes/mini-map.md +191 -0
  179. package/nvim/plugins/mini.nvim/readmes/mini-misc.md +145 -0
  180. package/nvim/plugins/mini.nvim/readmes/mini-move.md +163 -0
  181. package/nvim/plugins/mini.nvim/readmes/mini-notify.md +175 -0
  182. package/nvim/plugins/mini.nvim/readmes/mini-operators.md +193 -0
  183. package/nvim/plugins/mini.nvim/readmes/mini-pairs.md +158 -0
  184. package/nvim/plugins/mini.nvim/readmes/mini-pick.md +340 -0
  185. package/nvim/plugins/mini.nvim/readmes/mini-sessions.md +164 -0
  186. package/nvim/plugins/mini.nvim/readmes/mini-snippets.md +373 -0
  187. package/nvim/plugins/mini.nvim/readmes/mini-splitjoin.md +194 -0
  188. package/nvim/plugins/mini.nvim/readmes/mini-starter.md +176 -0
  189. package/nvim/plugins/mini.nvim/readmes/mini-statusline.md +155 -0
  190. package/nvim/plugins/mini.nvim/readmes/mini-surround.md +190 -0
  191. package/nvim/plugins/mini.nvim/readmes/mini-tabline.md +156 -0
  192. package/nvim/plugins/mini.nvim/readmes/mini-test.md +175 -0
  193. package/nvim/plugins/mini.nvim/readmes/mini-trailspace.md +137 -0
  194. package/nvim/plugins/mini.nvim/readmes/mini-visits.md +243 -0
  195. package/nvim/plugins/mini.nvim/scripts/dual_log.sh +13 -0
  196. package/nvim/plugins/mini.nvim/scripts/dual_push.sh +15 -0
  197. package/nvim/plugins/mini.nvim/scripts/dual_release.sh +102 -0
  198. package/nvim/plugins/mini.nvim/scripts/dual_sync.sh +115 -0
  199. package/nvim/plugins/mini.nvim/scripts/init-deps-example.lua +59 -0
  200. package/nvim/plugins/mini.nvim/scripts/lint-filename-length.sh +16 -0
  201. package/nvim/plugins/mini.nvim/scripts/lintcommit-ci.sh +18 -0
  202. package/nvim/plugins/mini.nvim/scripts/lintcommit.lua +393 -0
  203. package/nvim/plugins/mini.nvim/scripts/minidoc.lua +57 -0
  204. package/nvim/plugins/mini.nvim/scripts/minimal_init.lua +28 -0
  205. package/nvim/plugins/mini.nvim/scripts/minitest.lua +4 -0
  206. package/package.json +16 -0
  207. package/pyproject.toml +43 -0
  208. package/yazi/init.lua +12 -0
  209. package/yazi/keymap.toml +114 -0
  210. package/yazi/lesskey +5 -0
  211. package/yazi/plugins/bookmarks.yazi/main.lua +86 -0
  212. package/yazi/plugins/cd-git-root.yazi/main.lua +31 -0
  213. package/yazi/plugins/smart-enter.yazi/main.lua +11 -0
  214. package/yazi/theme.toml +26 -0
  215. package/yazi/yazi.toml +15 -0
  216. package/zsh/.zshrc +145 -0
  217. package/zsh/starship.toml +20 -0
  218. package/zsh/zsh-patina.toml +2 -0
@@ -0,0 +1,285 @@
1
+ *mini.base16* Base16 colorscheme creation
2
+
3
+ MIT License Copyright (c) 2021 Evgeni Chasnovski
4
+
5
+ ------------------------------------------------------------------------------
6
+ *MiniBase16*
7
+ Fast implementation of [chriskempson/base16](https://github.com/chriskempson/base16)
8
+ color scheme (with Copyright (C) 2012 Chris Kempson) adapted for modern Neovim
9
+ Lua plugins. Extra features:
10
+ - Configurable automatic support of cterm colors (see |highlight-cterm|).
11
+ - Opinionated palette generator based only on background and foreground
12
+ colors.
13
+
14
+ Supported highlight groups:
15
+ - Built-in Neovim LSP and diagnostic.
16
+
17
+ - Plugins (either with explicit definition or by verification that default
18
+ highlighting works appropriately):
19
+ - [nvim-mini/mini.nvim](https://nvim-mini.org/mini.nvim)
20
+ - [akinsho/bufferline.nvim](https://github.com/akinsho/bufferline.nvim)
21
+ - [anuvyklack/hydra.nvim](https://github.com/anuvyklack/hydra.nvim)
22
+ - [DanilaMihailov/beacon.nvim](https://github.com/DanilaMihailov/beacon.nvim)
23
+ - [folke/lazy.nvim](https://github.com/folke/lazy.nvim)
24
+ - [folke/noice.nvim](https://github.com/folke/noice.nvim)
25
+ - [folke/snacks.nvim](https://github.com/folke/snacks.nvim)
26
+ - [folke/todo-comments.nvim](https://github.com/folke/todo-comments.nvim)
27
+ - [folke/trouble.nvim](https://github.com/folke/trouble.nvim)
28
+ - [folke/which-key.nvim](https://github.com/folke/which-key.nvim)
29
+ - [ggandor/leap.nvim](https://github.com/ggandor/leap.nvim)
30
+ - [ggandor/lightspeed.nvim](https://github.com/ggandor/lightspeed.nvim)
31
+ - [glepnir/dashboard-nvim](https://github.com/glepnir/dashboard-nvim)
32
+ - [glepnir/lspsaga.nvim](https://github.com/glepnir/lspsaga.nvim)
33
+ - [HiPhish/rainbow-delimiters.nvim](https://github.com/HiPhish/rainbow-delimiters.nvim)
34
+ - [hrsh7th/nvim-cmp](https://github.com/hrsh7th/nvim-cmp)
35
+ - [justinmk/vim-sneak](https://github.com/justinmk/vim-sneak)
36
+ - [ibhagwan/fzf-lua](https://github.com/ibhagwan/fzf-lua)
37
+ - [kevinhwang91/nvim-bqf](https://github.com/kevinhwang91/nvim-bqf)
38
+ - [kevinhwang91/nvim-ufo](https://github.com/kevinhwang91/nvim-ufo)
39
+ - [lewis6991/gitsigns.nvim](https://github.com/lewis6991/gitsigns.nvim)
40
+ - [lukas-reineke/indent-blankline.nvim](https://github.com/lukas-reineke/indent-blankline.nvim)
41
+ - [MeanderingProgrammer/render-markdown.nvim](https://github.com/MeanderingProgrammer/render-markdown.nvim)
42
+ - [neoclide/coc.nvim](https://github.com/neoclide/coc.nvim)
43
+ - [NeogitOrg/neogit](https://github.com/NeogitOrg/neogit)
44
+ - [nvim-lualine/lualine.nvim](https://github.com/nvim-lualine/lualine.nvim)
45
+ - [nvim-neo-tree/neo-tree.nvim](https://github.com/nvim-neo-tree/neo-tree.nvim)
46
+ - [nvim-telescope/telescope.nvim](https://github.com/nvim-telescope/telescope.nvim)
47
+ - [nvim-tree/nvim-tree.lua](https://github.com/nvim-tree/nvim-tree.lua)
48
+ - [OXY2DEV/helpview.nvim](https://github.com/OXY2DEV/helpview.nvim)
49
+ - [OXY2DEV/markview.nvim](https://github.com/OXY2DEV/markview.nvim)
50
+ - [phaazon/hop.nvim](https://github.com/phaazon/hop.nvim)
51
+ - [rcarriga/nvim-dap-ui](https://github.com/rcarriga/nvim-dap-ui)
52
+ - [rcarriga/nvim-notify](https://github.com/rcarriga/nvim-notify)
53
+ - [rlane/pounce.nvim](https://github.com/rlane/pounce.nvim)
54
+ - [romgrk/barbar.nvim](https://github.com/romgrk/barbar.nvim)
55
+ - [saghen/blink.cmp](https://github.com/saghen/blink.cmp)
56
+ - [stevearc/aerial.nvim](https://github.com/stevearc/aerial.nvim)
57
+ - [williamboman/mason.nvim](https://github.com/williamboman/mason.nvim)
58
+
59
+ # Setup ~
60
+
61
+ This module needs a setup with `require('mini.base16').setup({})` (replace
62
+ `{}` with your `config` table). It will create global Lua table
63
+ `MiniBase16` which you can use for scripting or manually (with
64
+ `:lua MiniBase16.*`).
65
+
66
+ See |MiniBase16.config| for `config` structure and default values.
67
+
68
+ This module doesn't have runtime options, so using `vim.b.minibase16_config`
69
+ will have no effect here.
70
+
71
+ Example: >lua
72
+
73
+ require('mini.base16').setup({
74
+ palette = {
75
+ base00 = '#112641',
76
+ base01 = '#3a475e',
77
+ base02 = '#606b81',
78
+ base03 = '#8691a7',
79
+ base04 = '#d5dc81',
80
+ base05 = '#e2e98f',
81
+ base06 = '#eff69c',
82
+ base07 = '#fcffaa',
83
+ base08 = '#ffcfa0',
84
+ base09 = '#cc7e46',
85
+ base0A = '#46a436',
86
+ base0B = '#9ff895',
87
+ base0C = '#ca6ecf',
88
+ base0D = '#42f7ff',
89
+ base0E = '#ffc4ff',
90
+ base0F = '#00a5c5',
91
+ },
92
+ use_cterm = true,
93
+ plugins = {
94
+ default = false,
95
+ ['nvim-mini/mini.nvim'] = true,
96
+ },
97
+ })
98
+ <
99
+ # Notes ~
100
+
101
+ 1. This is used to create some of plugin's color schemes
102
+ (see |MiniBase16-color-schemes|).
103
+ 2. Using `setup()` doesn't actually create a |:colorscheme|. It basically
104
+ creates a coordinated set of |highlight-groups|. To create your own theme:
105
+ - Put "myscheme.lua" file (name after your chosen theme name) inside
106
+ any "colors" directory reachable from |'runtimepath'| ("colors" inside
107
+ your Neovim config directory is usually enough).
108
+ - Inside "myscheme.lua" call `require('mini.base16').setup()` with your
109
+ palette and only after that set |g:colors_name| to "myscheme".
110
+
111
+ ------------------------------------------------------------------------------
112
+ *MiniBase16-color-schemes*
113
+ # Base16 colorschemes ~
114
+
115
+ This module comes with several pre-built color schemes. Each of them is
116
+ a |mini.base16| theme created with faster version of the following Lua code: >lua
117
+
118
+ require('mini.base16').setup({ palette = palette, use_cterm = true })
119
+ <
120
+ Activate them as regular |:colorscheme| (for example, `:colorscheme minischeme`).
121
+
122
+ ## minischeme ~
123
+ *minischeme*
124
+
125
+ Blue and yellow main colors with high contrast and saturation palette.
126
+ Palettes are: >lua
127
+
128
+ -- For dark 'background':
129
+ MiniBase16.mini_palette('#112641', '#e2e98f', 75)
130
+
131
+ -- For light 'background':
132
+ MiniBase16.mini_palette('#e2e5ca', '#002a83', 75)
133
+ <
134
+ ## minicyan ~
135
+ *minicyan*
136
+
137
+ Cyan and grey main colors with moderate contrast and saturation palette.
138
+ Palettes are: >lua
139
+
140
+ -- For dark 'background':
141
+ MiniBase16.mini_palette('#0A2A2A', '#D0D0D0', 50)
142
+
143
+ -- For light 'background':
144
+ MiniBase16.mini_palette('#C0D2D2', '#262626', 80)
145
+ <
146
+ ------------------------------------------------------------------------------
147
+ *MiniBase16.setup()*
148
+ `MiniBase16.setup`({config})
149
+ Module setup
150
+
151
+ Setup is done by applying base16 palette to enable colorscheme. Highlight
152
+ groups make an extended set from original
153
+ [base16-vim](https://github.com/chriskempson/base16-vim/) plugin. It is a
154
+ good idea to have `config.palette` respect the original [styling
155
+ principles](https://github.com/chriskempson/base16/blob/master/styling.md).
156
+
157
+ By default only "gui highlighting" (see |highlight-gui| and
158
+ |'termguicolors'|) is supported. To support "cterm highlighting" (see
159
+ |highlight-cterm|) supply `config.use_cterm` argument in one of the formats:
160
+ - `true` to auto-generate from `palette` (as closest colors).
161
+ - Table with similar structure to `palette` but having terminal colors
162
+ (integers from 0 to 255) instead of hex strings.
163
+
164
+ Parameters ~
165
+ {config} `(table)` Module config table. See |MiniBase16.config|.
166
+
167
+ Usage ~
168
+ >lua
169
+ require('mini.base16').setup({}) -- replace {} with your config table
170
+ -- needs `palette` field present
171
+ <
172
+ ------------------------------------------------------------------------------
173
+ *MiniBase16.config*
174
+ `MiniBase16.config`
175
+ Defaults ~
176
+ >lua
177
+ MiniBase16.config = {
178
+ -- Table with names from `base00` to `base0F` and values being strings of
179
+ -- HEX colors with format "#RRGGBB". NOTE: this should be explicitly
180
+ -- supplied in `setup()`.
181
+ palette = nil,
182
+
183
+ -- Whether to support cterm colors. Can be boolean, `nil` (same as
184
+ -- `false`), or table with cterm colors. See `setup()` documentation for
185
+ -- more information.
186
+ use_cterm = nil,
187
+
188
+ -- Plugin integrations. Use `default = false` to disable all integrations.
189
+ -- Also can be set per plugin (see |MiniBase16.config|).
190
+ plugins = { default = true },
191
+ }
192
+ <
193
+ # Plugin integrations ~
194
+
195
+ `config.plugins` defines for which supported plugins highlight groups will
196
+ be created. Limiting number of integrations slightly decreases startup time.
197
+ It is a table with boolean (`true`/`false`) values which are applied as follows:
198
+ - If plugin name (as listed in |mini.base16|) has entry, it is used.
199
+ - Otherwise `config.plugins.default` is used.
200
+
201
+ Example which will load only "mini.nvim" integration: >lua
202
+
203
+ require('mini.base16').setup({
204
+ palette = require('mini.base16').mini_palette('#112641', '#e2e98f', 75),
205
+ plugins = {
206
+ default = false,
207
+ ['nvim-mini/mini.nvim'] = true,
208
+ }
209
+ })
210
+ <
211
+ ------------------------------------------------------------------------------
212
+ *MiniBase16.mini_palette()*
213
+ `MiniBase16.mini_palette`({background}, {foreground}, {accent_chroma})
214
+ Create MINI Base16 palette
215
+
216
+ Create base16 palette based on the HEX (string `'#RRGGBB'`) colors of main
217
+ background and foreground with optional setting of accent chroma (see
218
+ details).
219
+
220
+ # Algorithm design ~
221
+
222
+ - Main operating color space is
223
+ [CIELCh(uv)](https://en.wikipedia.org/wiki/CIELUV#Cylindrical_representation_(CIELCh))
224
+ which is a cylindrical representation of a perceptually uniform CIELUV
225
+ color space. It defines color by three values: lightness L (values from 0
226
+ to 100), chroma (positive values), and hue (circular values from 0 to 360
227
+ degrees). Useful converting tool: https://www.easyrgb.com/en/convert.php
228
+ - There are four important lightness values: background, foreground, focus
229
+ (around the middle of background and foreground, leaning towards
230
+ foreground), and edge (extreme lightness closest to foreground).
231
+ - First four colors have the same chroma and hue as `background` but
232
+ lightness progresses from background towards focus.
233
+ - Second four colors have the same chroma and hue as `foreground` but
234
+ lightness progresses from foreground towards edge in such a way that
235
+ `base05` color is main foreground color.
236
+ - The rest eight colors are accent colors which are created in pairs
237
+ - Each pair has same hue from set of hues "most different" to
238
+ background and foreground hues (if respective chorma is positive).
239
+ - All colors have the same chroma equal to `accent_chroma` (if not
240
+ provided, chroma of foreground is used, as they will appear next
241
+ to each other). Note: this means that in case of low foreground
242
+ chroma, it is a good idea to set `accent_chroma` manually.
243
+ Values from 30 (low chorma) to 80 (high chroma) are common.
244
+ - Within pair there is base lightness (equal to foreground
245
+ lightness) and alternative (equal to focus lightness). Base
246
+ lightness goes to colors which will be used more frequently in
247
+ code: base08 (variables), base0B (strings), base0D (functions),
248
+ base0E (keywords).
249
+ How exactly accent colors are mapped to base16 palette is a result of
250
+ trial and error. One rule of thumb was: colors within one hue pair should
251
+ be more often seen next to each other. This is because it is easier to
252
+ distinguish them and seems to be more visually appealing. That is why
253
+ `base0D` and `base0F` have same hues because they usually represent
254
+ functions and delimiter (brackets included).
255
+
256
+ Parameters ~
257
+ {background} `(string)` Background HEX color (formatted as `#RRGGBB`).
258
+ {foreground} `(string)` Foreground HEX color (formatted as `#RRGGBB`).
259
+ {accent_chroma} `(number)` Optional positive number (usually between 0
260
+ and 100). Default: chroma of foreground color.
261
+
262
+ Return ~
263
+ `(table)` Table with base16 palette.
264
+
265
+ Usage ~
266
+ >lua
267
+ local p = require('mini.base16').mini_palette('#112641', '#e2e98f', 75)
268
+ require('mini.base16').setup({ palette = p })
269
+ <
270
+ ------------------------------------------------------------------------------
271
+ *MiniBase16.rgb_palette_to_cterm_palette()*
272
+ `MiniBase16.rgb_palette_to_cterm_palette`({palette})
273
+ Converts palette with RGB colors to terminal colors
274
+
275
+ Useful for caching `use_cterm` variable to increase speed.
276
+
277
+ Parameters ~
278
+ {palette} `(table)` Table with base16 palette (same as in
279
+ `MiniBase16.config.palette`).
280
+
281
+ Return ~
282
+ `(table)` Table with base16 palette using |highlight-cterm|.
283
+
284
+
285
+ vim:tw=78:ts=8:noet:ft=help:norl:
@@ -0,0 +1,359 @@
1
+ *mini.basics* Common configuration presets
2
+
3
+ MIT License Copyright (c) 2023 Evgeni Chasnovski
4
+
5
+ ------------------------------------------------------------------------------
6
+ *MiniBasics*
7
+ Install, create `init.lua`, add `require('mini.basics').setup()`, and you
8
+ are good to go.
9
+
10
+ Features:
11
+ - Presets for common options. It will only change option if it wasn't
12
+ manually set before. See more in |MiniBasics.config.options|.
13
+
14
+ - Presets for common mappings. It will only add a mapping if it wasn't
15
+ manually created before. See more in |MiniBasics.config.mappings|.
16
+
17
+ - Presets for common autocommands. See more in |MiniBasics.config.autocommands|.
18
+
19
+ - Reverse compatibility is a high priority. Any decision to change already
20
+ present behavior will be made with great care.
21
+
22
+ Notes:
23
+ - Main goal of this module is to provide a relatively easier way for
24
+ new-ish Neovim users to have better "works out of the box" experience
25
+ while having documented relevant options/mappings/autocommands to study.
26
+ It is based partially on survey among Neovim users and partially is
27
+ coming from personal preferences.
28
+
29
+ However, more seasoned users almost surely will find something useful.
30
+
31
+ Still, it is recommended to read about used options/mappings/autocommands
32
+ and decide if they are needed. The main way to do that is by reading
33
+ Neovim's help pages (linked in help file) and this module's source code
34
+ (thoroughly documented for easier comprehension).
35
+
36
+ # Setup ~
37
+
38
+ This module needs a setup with `require('mini.basics').setup({})` (replace
39
+ `{}` with your `config` table). It will create global Lua table `MiniBasics`
40
+ which you can use for scripting or manually (with `:lua MiniBasics.*`).
41
+
42
+ See |MiniBasics.config| for available config settings.
43
+
44
+ To stop module from showing non-error feedback, set `config.silent = true`.
45
+
46
+ # Comparisons ~
47
+
48
+ - [tpope/vim-sensible](https://github.com/tpope/vim-sensible):
49
+ - Most of `tpope/vim-sensible` is already incorporated as default
50
+ options in Neovim (see |nvim-defaults|). This module has a much
51
+ broader effect.
52
+ - [tpope/vim-unimpaired](https://github.com/tpope/vim-unimpaired):
53
+ - The `tpope/vim-unimpaired` has mapping for toggling options with `yo`
54
+ prefix. This module implements similar functionality with `\` prefix
55
+ (see |MiniBasics.config.mappings|).
56
+
57
+ ------------------------------------------------------------------------------
58
+ *MiniBasics.setup()*
59
+ `MiniBasics.setup`({config})
60
+ Module setup
61
+
62
+ Parameters ~
63
+ {config} `(table|nil)` Module config table. See |MiniBasics.config|.
64
+
65
+ Usage ~
66
+ >lua
67
+ require('mini.basics').setup() -- use default config
68
+ -- OR
69
+ require('mini.basics').setup({}) -- replace {} with your config table
70
+ <
71
+ ------------------------------------------------------------------------------
72
+ *MiniBasics.config*
73
+ `MiniBasics.config`
74
+ Defaults ~
75
+ >lua
76
+ MiniBasics.config = {
77
+ -- Options. Set field to `false` to disable.
78
+ options = {
79
+ -- Basic options ('number', 'ignorecase', and many more)
80
+ basic = true,
81
+
82
+ -- Extra UI features ('winblend', 'listchars', 'pumheight', ...)
83
+ extra_ui = false,
84
+
85
+ -- Presets for window borders ('single', 'double', ...)
86
+ -- Default 'auto' infers from 'winborder' option
87
+ win_borders = 'auto',
88
+ },
89
+
90
+ -- Mappings. Set field to `false` to disable.
91
+ mappings = {
92
+ -- Basic mappings (better 'jk', save with Ctrl+S, ...)
93
+ basic = true,
94
+
95
+ -- Prefix for mappings that toggle common options ('wrap', 'spell', ...).
96
+ -- Supply empty string to not create these mappings.
97
+ option_toggle_prefix = [[\]],
98
+
99
+ -- Window navigation with <C-hjkl>, resize with <C-arrow>
100
+ windows = false,
101
+
102
+ -- Move cursor in Insert, Command, and Terminal mode with <M-hjkl>
103
+ move_with_alt = false,
104
+ },
105
+
106
+ -- Autocommands. Set field to `false` to disable
107
+ autocommands = {
108
+ -- Basic autocommands (highlight on yank, start Insert in terminal, ...)
109
+ basic = true,
110
+
111
+ -- Set 'relativenumber' only in linewise and blockwise Visual mode
112
+ relnum_in_visual_mode = false,
113
+ },
114
+
115
+ -- Whether to disable showing non-error feedback
116
+ silent = false,
117
+ }
118
+ <
119
+ # Options ~
120
+ *MiniBasics.config.options*
121
+
122
+ Usage example: >lua
123
+
124
+ require('mini.basics').setup({
125
+ options = {
126
+ basic = true,
127
+ extra_ui = true,
128
+ win_borders = 'double',
129
+ }
130
+ })
131
+ <
132
+ ## options.basic ~
133
+
134
+ The `config.options.basic` sets certain options to values which are quite
135
+ commonly used (judging by study of available Neovim pre-configurations,
136
+ public dotfiles, and surveys).
137
+ Any option is changed only if it was not set manually beforehand.
138
+ For exact changes, please see source code (`lua/mini/basics.lua`).
139
+
140
+ Here is the list of affected options (put cursor on it and press |CTRL-]|):
141
+ - General:
142
+ - Sets |<Leader>| key to |<Space>|. Be sure to make all Leader mappings
143
+ after this (otherwise they are made with default <Leader>).
144
+ - Runs `:filetype plugin indent on` (see |:filetype-overview|)
145
+ - |'backup'|
146
+ - |'mouse'|
147
+ - |'undofile'|
148
+ - |'writebackup'|
149
+ - Appearance
150
+ - |'breakindent'|
151
+ - |'cursorline'|
152
+ - |'fillchars'|
153
+ - |'linebreak'|
154
+ - |'number'|
155
+ - |'ruler'|
156
+ - |'showmode'|
157
+ - |'signcolumn'|
158
+ - |'shortmess'|
159
+ - |'splitbelow'|
160
+ - |'splitkeep'|
161
+ - |'splitright'|
162
+ - |'termguicolors'| (on Neovim<0.10; later versions have it smartly enabled)
163
+ - |'wrap'|
164
+ - Editing
165
+ - |'completeopt'|
166
+ - |'formatoptions'|
167
+ - |'ignorecase'|
168
+ - |'incsearch'|
169
+ - |'infercase'|
170
+ - |'smartcase'|
171
+ - |'smartindent'|
172
+ - |'virtualedit'|
173
+
174
+ ## options.extra_ui ~
175
+
176
+ The `config.options.extra_ui` sets certain options for visual appearance
177
+ which might not be aligned with common preferences, but still worth trying.
178
+ Any option is changed only if it was not set manually beforehand.
179
+ For exact changes, please see source code (`lua/mini/basics.lua`).
180
+
181
+ List of affected options:
182
+ - |'list'|
183
+ - |'listchars'|
184
+ - |'pumblend'|
185
+ - |'pumheight'|
186
+ - |'winblend'|
187
+ - Runs `:syntax on` (see |:syntax-on|)
188
+
189
+ ## options.win_borders ~
190
+
191
+ The `config.options.win_borders` updates |'fillchars'| to have a consistent set
192
+ of characters for window border (`vert`, `horiz`, `msgsep`, etc.).
193
+
194
+ Available values:
195
+ - `'auto'` - infer from |'winborder'|. On Neovim<0.11 do nothing.
196
+ - `'bold'` - bold lines.
197
+ - `'dot'` - dot in every cell.
198
+ - `'double'` - double line.
199
+ - `'single'` - single line.
200
+ - `'solid'` - no symbol, only background.
201
+
202
+ # Mappings ~
203
+ *MiniBasics.config.mappings*
204
+
205
+ Usage example: >lua
206
+
207
+ require('mini.basics').setup({
208
+ mappings = {
209
+ basic = true,
210
+ option_toggle_prefix = [[\]],
211
+ windows = true,
212
+ move_with_alt = true,
213
+ }
214
+ })
215
+ <
216
+ If you want some mappings to be different or not made at all, set or delete
217
+ them after calling |MiniBasics.setup()|.
218
+
219
+ ## mappings.basic ~
220
+
221
+ The `config.mappings.basic` creates mappings for certain commonly mapped actions
222
+ (judging by study of available Neovim pre-configurations and public dotfiles).
223
+
224
+ Some of the mappings override built-in ones to either improve their
225
+ behavior or override its default not very useful action.
226
+ It will only add a mapping if it wasn't manually created before.
227
+
228
+ Here is a table with created mappings : >
229
+
230
+ |Keys | Modes | Description |
231
+ |-------|-----------------|-----------------------------------------------|
232
+ | j | Normal, Visual | Move down by visible lines with no [count] |
233
+ | k | Normal, Visual | Move up by visible lines with no [count] |
234
+ | go | Normal | Add [count] empty lines after cursor |
235
+ | gO | Normal | Add [count] empty lines before cursor |
236
+ | gy | Normal, Visual | Copy to system clipboard |
237
+ | gp | Normal, Visual | Paste from system clipboard |
238
+ | gV | Normal | Visually select latest changed or yanked text |
239
+ | g/ | Visual | Search inside current visual selection |
240
+ | * | Visual | Search forward for current visual selection |
241
+ | # | Visual | Search backward for current visual selection |
242
+ | <C-s> | Normal, Visual, | Save and go to Normal mode |
243
+ | | Insert | |
244
+ <
245
+ Notes:
246
+ - See |[count]| for its meaning.
247
+ - On Neovim>=0.10 mappings for `#` and `*` are not created as their
248
+ enhanced variants are made built-in. See |v_star-default| and |v_#-default|.
249
+ - On Neovim>=0.11 there are |[<Space>| / |]<Space>| for adding empty lines.
250
+ The `gO` and `go` mappings are still created as they are more aligned with
251
+ similarly purposed |O| and |o| keys (although sometimes conflict with |gO|).
252
+
253
+ ## mappings.option_toggle_prefix ~
254
+
255
+ The `config.mappings.option_toggle_prefix` defines a prefix used for
256
+ creating mappings that toggle common options. The result mappings will be
257
+ `<prefix> + <suffix>`. For example, with default value, `\w` will toggle |'wrap'|.
258
+
259
+ Other viable choices for prefix are
260
+ - `,` (as a mnemonic for several values to toggle).
261
+ - `|` (as a same mnemonic).
262
+ - `yo` (used in `tpope/vim-unimpaired`)
263
+ - Something with |<Leader>| key, like `<Leader>t` (`t` for "toggle"). Note:
264
+ if your prefix contains `<Leader>` key, make sure to set it before
265
+ calling |MiniBasics.setup()| (as is done with default `basic` field of
266
+ |MiniBasics.config.options|).
267
+
268
+ After toggling, there will be a feedback about the current option value if
269
+ prior to `require('mini.basics').setup()` module wasn't silenced (see
270
+ "Silencing" section in |mini.basics|).
271
+
272
+ It will only add a mapping if it wasn't manually created before.
273
+
274
+ Here is a list of suffixes for created toggling mappings (all in Normal mode):
275
+
276
+ - `b` - |'background'|.
277
+ - `c` - |'cursorline'|.
278
+ - `C` - |'cursorcolumn'|.
279
+ - `d` - diagnostic (via |vim.diagnostic| functions).
280
+ - `h` - |'hlsearch'| (or |v:hlsearch| to be precise).
281
+ - `i` - |'ignorecase'|.
282
+ - `l` - |'list'|.
283
+ - `n` - |'number'|.
284
+ - `r` - |'relativenumber'|.
285
+ - `s` - |'spell'|.
286
+ - `w` - |'wrap'|.
287
+
288
+ ## mappings.windows ~
289
+
290
+ The `config.mappings.windows` creates mappings for easiere window manipulation.
291
+
292
+ It will only add a mapping if it wasn't manually created before.
293
+
294
+ Here is a list with created Normal mode mappings (all respect |[count]|):
295
+ - Window navigation:
296
+ - `<C-h>` - focus on left window (see |CTRL-W_H|).
297
+ - `<C-j>` - focus on below window (see |CTRL-W_J|).
298
+ - `<C-k>` - focus on above window (see |CTRL-W_K|).
299
+ - `<C-l>` - focus on right window (see |CTRL-W_L|).
300
+ - Window resize (all use arrow keys; variants of |:resize|; respect |[count]|):
301
+ - `<C-left>` - decrease window width.
302
+ - `<C-down>` - decrease window height.
303
+ - `<C-up>` - increase window height.
304
+ - `<C-right>` - increase window width.
305
+
306
+ ## mappings.move_with_alt ~
307
+
308
+ The `config.mappings.move_with_alt` creates mappings for a more consistent
309
+ cursor move in Insert, Command, and Terminal modes. For example, it proves
310
+ useful in combination of autopair plugin (like |mini.pairs|) to move right
311
+ outside of inserted pairs (no matter what the pair is).
312
+
313
+ It will only add a mapping if it wasn't manually created before.
314
+
315
+ Here is a list of created mappings (`<M-x>` means `Alt`/`Meta` plus `x`):
316
+ - `<M-h>` - move cursor left. Modes: Insert, Terminal, Command.
317
+ - `<M-j>` - move cursor down. Modes: Insert, Terminal.
318
+ - `<M-k>` - move cursor up. Modes: Insert, Terminal.
319
+ - `<M-l>` - move cursor right. Modes: Insert, Terminal, Command.
320
+
321
+ # Autocommands ~
322
+ *MiniBasics.config.autocommands*
323
+
324
+ Usage example: >lua
325
+
326
+ require('mini.basics').setup({
327
+ autocommands = {
328
+ basic = true,
329
+ relnum_in_visual_mode = true,
330
+ }
331
+ })
332
+ <
333
+ ## autocommands.basic ~
334
+
335
+ The `config.autocommands.basic` creates some common autocommands:
336
+
337
+ - Starts insert mode when opening terminal (see |:startinsert| and |TermOpen|).
338
+ - Highlights yanked text for a brief period of time. See |vim.hl.on_yank()|
339
+ (which is |vim.hl.hl_op()| on Neovim>=0.13 and |vim.highlight.on_yank()|
340
+ on Neovim<0.11) and |TextYankPost|.
341
+
342
+ ## autocommands.relnum_in_visual_mode ~
343
+
344
+ The `config.autocommands.relnum_in_visual_mode` creates autocommands that
345
+ enable |'relativenumber'| in linewise and blockwise Visual modes and disable
346
+ otherwise. See |ModeChanged|.
347
+
348
+ ------------------------------------------------------------------------------
349
+ *MiniBasics.toggle_diagnostic()*
350
+ `MiniBasics.toggle_diagnostic`()
351
+ Toggle diagnostic for current buffer
352
+
353
+ This uses |vim.diagnostic| functions per buffer.
354
+
355
+ Return ~
356
+ `(string)` String indicator for new state. Similar to what |:set| `{option}?` shows.
357
+
358
+
359
+ vim:tw=78:ts=8:noet:ft=help:norl: