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,431 @@
1
+ *mini.nvim* Collection of minimal, independent and fast Lua modules
2
+
3
+ MIT License Copyright (c) 2021 Evgeni Chasnovski
4
+
5
+ ------------------------------------------------------------------------------
6
+ *mini.nvim-table-of-contents*
7
+ |mini.nvim| is a collection of minimal, independent, and fast Lua modules
8
+ dedicated to improve Neovim (version 0.10 and higher) experience. Each
9
+ module can be considered as a separate sub-plugin.
10
+
11
+ Table of contents:
12
+
13
+ General principles .......................... |mini.nvim-general-principles|
14
+ Module list ........................................ |mini.nvim-module-list|
15
+ Disabling recipes ............................ |mini.nvim-disabling-recipes|
16
+ Buffer-local config ........................ |mini.nvim-buffer-local-config|
17
+ Plugin color schemes ............................. |mini.nvim-color-schemes|
18
+ Extend and create a/i textobjects ................................ |mini.ai|
19
+ Align text interactively ...................................... |mini.align|
20
+ Animate common Neovim actions ............................... |mini.animate|
21
+ Base16 colorscheme creation .................................. |mini.base16|
22
+ Common configuration presets ................................. |mini.basics|
23
+ Go forward/backward with square brackets .................. |mini.bracketed|
24
+ Remove buffers ............................................ |mini.bufremove|
25
+ Show next key clues ............................................ |mini.clue|
26
+ Command line tweaks ......................................... |mini.cmdline|
27
+ Tweak and save any color scheme .............................. |mini.colors|
28
+ Comment lines ............................................... |mini.comment|
29
+ Completion and signature help ............................ |mini.completion|
30
+ Autohighlight word under cursor .......................... |mini.cursorword|
31
+ Plugin manager ................................................. |mini.deps|
32
+ Work with diff hunks ........................................... |mini.diff|
33
+ Generate Neovim help files ...................................... |mini.doc|
34
+ Extra mini.nvim functionality ................................. |mini.extra|
35
+ Navigate and manipulate file system ........................... |mini.files|
36
+ Fuzzy matching ................................................ |mini.fuzzy|
37
+ Git integration ................................................. |mini.git|
38
+ Highlight patterns in text ............................... |mini.hipatterns|
39
+ Generate configurable color scheme ............................. |mini.hues|
40
+ Icon provider ................................................. |mini.icons|
41
+ Visualize and work with indent scope .................... |mini.indentscope|
42
+ Get user input ................................................ |mini.input|
43
+ Jump to next/previous single character ......................... |mini.jump|
44
+ Jump within visible lines .................................... |mini.jump2d|
45
+ Special key mappings ......................................... |mini.keymap|
46
+ Window with buffer text overview ................................ |mini.map|
47
+ Miscellaneous functions ........................................ |mini.misc|
48
+ Move any selection in any direction ............................ |mini.move|
49
+ Show notifications ........................................... |mini.notify|
50
+ Text edit operators ....................................... |mini.operators|
51
+ Autopairs ..................................................... |mini.pairs|
52
+ Pick anything .................................................. |mini.pick|
53
+ Session management ......................................... |mini.sessions|
54
+ Manage and expand snippets ................................. |mini.snippets|
55
+ Split and join arguments .................................. |mini.splitjoin|
56
+ Start screen ................................................ |mini.starter|
57
+ Statusline ............................................... |mini.statusline|
58
+ Surround actions ........................................... |mini.surround|
59
+ Tabline ..................................................... |mini.tabline|
60
+ Test Neovim plugins ............................................ |mini.test|
61
+ Trailspace (highlight and remove) ........................ |mini.trailspace|
62
+ Track and reuse file system visits ........................... |mini.visits|
63
+
64
+ ------------------------------------------------------------------------------
65
+ *mini.nvim-general-principles*
66
+ Design ~
67
+ Each module is designed to solve a particular problem targeting balance
68
+ between feature-richness (handling as many edge-cases as possible) and
69
+ simplicity of implementation/support. Granted, not all of them ended up
70
+ with the same balance, but it is the goal nevertheless.
71
+
72
+ Independence ~
73
+ Modules are independent of each other and can be run without external
74
+ dependencies. Although some of them may need dependencies for full experience.
75
+
76
+ Structure ~
77
+ Each module is a submodule for a placeholder "mini" module. For example,
78
+ "surround" module should be referred to as "mini.surround". As later will
79
+ be explained, this plugin can also be referred to as "MiniSurround".
80
+
81
+ Setup ~
82
+ - Each module you want to use should be enabled separately with
83
+ `require(<name of module>).setup({})`. Possibly replace `{}` with your
84
+ config table or omit altogether to use defaults. You can supply only
85
+ parts of config, the rest will be inferred from defaults.
86
+
87
+ - Call to module's `setup()` always creates a global Lua object with
88
+ coherent camel-case name: `require('mini.surround').setup()` creates
89
+ `_G.MiniSurround`. This allows for a simpler usage of plugin available
90
+ from `v:lua` like `v:lua.MiniSurround`. Considering this, "module" and
91
+ "Lua object" names can be used interchangeably:
92
+ `mini.surround` and `MiniSurround` will mean the same thing.
93
+
94
+ - Each supplied `config` table (after extending with default values) is
95
+ stored in `config` field of global object. Like `MiniSurround.config`.
96
+
97
+ - Values of `config`, which affect runtime activity, can be changed on the
98
+ fly to have effect. For example, `MiniSurround.config.n_lines` can be
99
+ changed during runtime; but changing `MiniSurround.config.mappings` won't
100
+ have any effect (as mappings are created once during `setup()`).
101
+
102
+ - If module works best with some specific non-default option value, it is
103
+ set during `setup()`. If the value is not essential to module's functionality,
104
+ it is done only if user or another plugin hasn't set it beforehand (no
105
+ matter the value).
106
+
107
+ Buffer local configuration ~
108
+ Each module can be additionally configured to use certain runtime config
109
+ settings locally to buffer. See |mini.nvim-buffer-local-config| for more
110
+ information.
111
+
112
+ Buffer names ~
113
+ All module-related buffers are named according to the following format:
114
+ `mini<module-name>://<buffer-number>/<useful-info>` (forward slashes are
115
+ used on any platform; `<useful-info>` may be empty). This structure allows
116
+ creating identifiable, reasonably unique, and useful buffer names.
117
+ For example, |mini.files| buffers are created per displayed directory/file with
118
+ names like `minifiles://10/path/to/displayed/directory`.
119
+
120
+ Disabling ~
121
+ Each module's core functionality can be disabled globally or locally to
122
+ buffer. See "Disabling" section in module's help page for more details.
123
+ See |mini.nvim-disabling-recipes| for common recipes.
124
+
125
+ Silencing ~
126
+ Each module can be configured to not show non-error feedback globally or
127
+ locally to buffer. See "Silencing" section in module's help for more details.
128
+
129
+ Highlighting ~
130
+ Appearance of module's output is controlled by certain set of highlight
131
+ groups (see |highlight-groups|). By default they usually link to some
132
+ semantically close built-in highlight group. Use |:highlight| command or
133
+ |nvim_set_hl()| Lua function to customize highlighting. To see a more
134
+ calibrated look, use |mini.hues|, |mini.base16|, or plugin's colorschemes.
135
+
136
+ Stability ~
137
+ Each module upon release is considered to be relatively stable: both in
138
+ terms of setup and functionality. Any non-bugfix backward-incompatible
139
+ change will be released gradually as much as possible.
140
+
141
+ Not filetype and language specific ~
142
+ Including functionality which needs several filetype/language specific
143
+ implementations is an explicit no-goal of this project. This is mostly due
144
+ to the potential increase in maintenance to keep implementation up to date.
145
+ However, any part which might need filetype/language specific tuning should
146
+ be designed to allow it by letting user set proper buffer options and/or
147
+ local configuration.
148
+
149
+ ------------------------------------------------------------------------------
150
+ *mini.nvim-module-list*
151
+ - |mini.ai| - extend and create `a`/`i` textobjects (like in `di(` or
152
+ `va"`). It enhances some builtin |text-objects| (like |a(|, |a)|, |a'|,
153
+ and more), creates new ones (like `a*`, `a<Space>`, `af`, `a?`, and
154
+ more), and allows user to create their own (like based on treesitter, and
155
+ more). Supports dot-repeat, `v:count`, different search methods,
156
+ consecutive application, and customization via Lua patterns or functions.
157
+ Has builtins for brackets, quotes, function call, argument, tag, user
158
+ prompt, and any punctuation/digit/whitespace character.
159
+
160
+ - |mini.align| - align text interactively (with or without instant preview).
161
+ Allows rich and flexible customization of both alignment rules and user
162
+ interaction. Works with charwise, linewise, and blockwise selections in
163
+ both Normal mode (on textobject/motion; with dot-repeat) and Visual mode.
164
+
165
+ - |mini.animate| - animate common Neovim actions. Has "works out of the box"
166
+ builtin animations for cursor movement, scroll, resize, window open and
167
+ close. All of them can be customized and enabled/disabled independently.
168
+
169
+ - |mini.base16| - fast implementation of base16 theme for manually supplied
170
+ palette. Supports 30+ plugin integrations. Has unique palette generator
171
+ which needs only background and foreground colors.
172
+
173
+ - |mini.basics| - common configuration presets. Has configurable presets for
174
+ options, mappings, and autocommands. It doesn't change option or mapping
175
+ if it was manually created.
176
+
177
+ - |mini.bracketed| - go forward/backward with square brackets. Among others,
178
+ supports variety of non-trivial targets: comments, files on disk, indent
179
+ changes, tree-sitter nodes, linear undo states, yank history entries.
180
+
181
+ - |mini.bufremove| - buffer removing (unshow, delete, wipeout) while saving
182
+ window layout.
183
+
184
+ - |mini.clue| - show next key clues. Implements custom key query process with
185
+ customizable opt-in triggers, next key descriptions (clues), hydra-like
186
+ submodes, window delay/config. Provides clue sets for some built-in
187
+ concepts: `g`/`z` keys, window commands, etc.
188
+
189
+ - |mini.cmdline| - command line tweaks. Adds autocompletion with customizable
190
+ delay, autocorrection for words with fixed candidates, and autopeek command
191
+ range in a floating window with customizable context size.
192
+
193
+ - |mini.colors| - tweak and save any color scheme. Can create colorscheme
194
+ object with methods to invert/set/modify/etc.
195
+ lightness/saturation/hue/temperature/etc. of foreground/background/all
196
+ colors, infer cterm attributes, add transparency, save to a file and more.
197
+ Has functionality for interactive experiments and animation of
198
+ transition between color schemes.
199
+
200
+ - |mini.comment| - fast and familiar per-line code commenting.
201
+
202
+ - |mini.completion| - async (with customizable "debounce" delay) "two-stage
203
+ chain completion": first builtin LSP, then configurable fallback. Also
204
+ has functionality for completion item info and function signature (both
205
+ in floating window appearing after customizable delay).
206
+
207
+ - |mini.cursorword| - automatic highlighting of word under cursor (displayed
208
+ after customizable delay). Current word under cursor can be highlighted
209
+ differently.
210
+
211
+ - |mini.deps| - plugin manager for plugins outside of |mini.nvim|. Uses Git and
212
+ built-in packages to install, update, clean, and snapshot plugins.
213
+
214
+ - |mini.diff| - visualize difference between buffer text and its reference
215
+ interactively (with colored signs or line numbers). Uses Git index as
216
+ default reference. Provides toggleable overview in text area, built-in
217
+ apply/reset/textobject/goto mappings.
218
+
219
+ - |mini.doc| - generation of help files from EmmyLua-like annotations.
220
+ Allows flexible customization of output via hook functions. Used for
221
+ documenting this plugin.
222
+
223
+ - |mini.extra| - extra mini.nvim functionality. Contains |mini.pick| pickers,
224
+ |mini.ai| textobjects, and more.
225
+
226
+ - |mini.files| - navigate and manipulate file system. A file explorer with
227
+ column view capable of manipulating file system by editing text. Can
228
+ create/delete/rename/copy/move files/directories inside and across
229
+ directories. For full experience needs enabled |mini.icons| module (but works
230
+ without it).
231
+
232
+ - |mini.fuzzy| - functions for fast and simple fuzzy matching. It has
233
+ not only functions to perform fuzzy matching of one string to others, but
234
+ also a sorter for `nvim-telescope/telescope.nvim`.
235
+
236
+ - |mini.git| - Git integration (https://git-scm.com/). Implements tracking of
237
+ Git related data (root, branch, etc.), |:Git| command for better integration
238
+ with running Neovim instance, and various helpers to explore Git history.
239
+
240
+ - |mini.hipatterns| - highlight patterns in text with configurable highlighters
241
+ (pattern and/or highlight group can be string or callable).
242
+ Works asynchronously with configurable debounce delay.
243
+
244
+ - |mini.hues| - generate configurable color scheme. Takes only background
245
+ and foreground colors as required arguments. Can adjust number of hues
246
+ for non-base colors, saturation, accent color, plugin integration.
247
+
248
+ - |mini.icons| - icon provider with fixed set of highlight groups.
249
+ Supports various categories, icon and style customizations, caching for
250
+ performance. Integrates with Neovim's filetype matching.
251
+
252
+ - |mini.indentscope| - visualize and operate on indent scope. Supports
253
+ customization of debounce delay, animation style, and different
254
+ granularity of options for scope computing algorithm.
255
+
256
+ - |mini.input| - get user input with fully customizable key and view handling.
257
+ Can show as floating window, statusline/tabline/winbar, virtual line/text.
258
+ Provides |vim.ui.input()| implementation.
259
+
260
+ - |mini.jump| - minimal and fast module for smarter jumping to a single
261
+ character.
262
+
263
+ - |mini.jump2d| - minimal and fast Lua plugin for jumping (moving cursor)
264
+ within visible lines via iterative label filtering. Supports custom jump
265
+ targets (spots), labels, hooks, allowed windows and lines, and more.
266
+
267
+ - |mini.keymap| - utilities to make special key mappings: multi-step actions
268
+ (with built-in steps for "smart" <Tab>, <S-Tab>, <CR>, <BS>),
269
+ combos (more general version of "better escape" like behavior).
270
+
271
+ - |mini.map| - window with buffer text overview, scrollbar, and highlights.
272
+ Allows configurable symbols for line encode and scrollbar, extensible
273
+ highlight integration (with pre-built ones for builtin search, diagnostic,
274
+ git line status), window properties, and more.
275
+
276
+ - |mini.misc| - collection of miscellaneous useful functions. Like `put()`
277
+ and `put_text()` which print Lua objects to command line and current
278
+ buffer respectively.
279
+
280
+ - |mini.move| - move any selection in any direction. Supports any Visual
281
+ mode (charwise, linewise, blockwise) and Normal mode (current line) for
282
+ all four directions (left, right, down, up). Respects `count` and undo.
283
+
284
+ - |mini.notify| - show one or more highlighted notifications in a single window.
285
+ Provides both low-level functions (add, update, remove, clear) and maker
286
+ of |vim.notify()| implementation. Sets up automated LSP progress updates.
287
+
288
+ - |mini.operators| - various text edit operators: replace, exchange,
289
+ multiply, sort, evaluate. Creates mappings to operate on textobject,
290
+ line, and visual selection. Supports |[count]| and dot-repeat.
291
+
292
+ - |mini.pairs| - autopairs plugin which has minimal defaults and
293
+ functionality to do per-key expression mappings.
294
+
295
+ - |mini.pick| - general purpose interactive non-blocking picker with
296
+ toggleable preview. Has fast default matching with fuzzy/exact/grouped
297
+ modes. Provides most used built-in pickers for files, pattern matches,
298
+ buffers, etc. For full experience needs enabled |mini.icons| module (but
299
+ works without it).
300
+
301
+ - |mini.sessions| - session management (read, write, delete) which works
302
+ using |:mksession|. Implements both global (from configured directory) and
303
+ local (from current directory) sessions.
304
+
305
+ - |mini.snippets| - manage and expand snippets. Supports only syntax from LSP
306
+ specification. Provides flexible loaders to manage snippet files, exact and
307
+ fuzzy prefix matching, interactive selection, and rich interactive snippet
308
+ session experience with dynamic tabstop visualization.
309
+
310
+ - |mini.splitjoin| - split and join arguments (regions inside brackets
311
+ between allowed separators). Has customizable pre and post hooks.
312
+ Works inside comments.
313
+
314
+ - |mini.starter| - minimal, fast, and flexible start screen. Displayed items
315
+ are fully customizable both in terms of what they do and how they look
316
+ (with reasonable defaults). Item selection can be done using prefix query
317
+ with instant visual feedback.
318
+
319
+ - |mini.statusline| - minimal and fast statusline. Has ability to use custom
320
+ content supplied with concise function (using module's provided section
321
+ functions) along with builtin default. For full experience needs
322
+ enabled |mini.diff|, |mini.git|, and |mini.icons| modules (but works without
323
+ any of them).
324
+
325
+ - |mini.surround| - fast and feature-rich surround plugin. Add, delete,
326
+ replace, find, highlight surrounding (like pair of parenthesis, quotes,
327
+ etc.). Supports dot-repeat, `v:count`, different search methods,
328
+ "last"/"next" extended mappings, customization via Lua patterns or
329
+ functions, and more. Has builtins for brackets, function call, tag, user
330
+ prompt, and any alphanumeric/punctuation/whitespace character.
331
+
332
+ - |mini.test| - framework for writing extensive Neovim plugin tests.
333
+ Supports hierarchical tests, hooks, parametrization, filtering (like from
334
+ current file or cursor position), screen tests, "busted-style" emulation,
335
+ customizable reporters, and more. Designed to be used with provided
336
+ wrapper for managing child Neovim processes.
337
+
338
+ - |mini.tabline| - minimal tabline which always shows listed (see |'buflisted'|)
339
+ buffers. Allows showing extra information section in case of multiple vim
340
+ tabpages. For full experience needs enabled |mini.icons| module (but works
341
+ without it).
342
+
343
+ - |mini.trailspace| - automatic highlighting of trailing whitespace with
344
+ functionality to remove it.
345
+
346
+ - |mini.visits| - track and reuse file system visits. Tracks data about each
347
+ file/directory visit (after delay) and stores it (only) locally. This can be
348
+ used to get a list of "recent"/"frequent"/"frecent" visits.
349
+ Allows persistently adding labels to visits enabling flexible workflow.
350
+
351
+ ------------------------------------------------------------------------------
352
+ *mini.nvim-disabling-recipes*
353
+ Each module's core functionality can be disabled globally or buffer-locally
354
+ by creating appropriate global or buffer-scoped variables equal to |v:true|.
355
+ Functionality is disabled if at least one of |g:| or |b:| variables is `v:true`.
356
+
357
+ Variable names have the same structure: `{g,b}:mini*_disable` where `*` is
358
+ module's lowercase name. For example, `g:minianimate_disable` disables
359
+ |mini.animate| globally and `b:minianimate_disable` - for current buffer.
360
+ Note: in this section disabling |mini.animate| is used as example;
361
+ everything holds for other module variables.
362
+
363
+ Considering high number of different scenarios and customization intentions,
364
+ writing exact rules for disabling module's functionality is left to user.
365
+
366
+ # Manual disabling ~
367
+ >lua
368
+ -- Disable globally
369
+ vim.g.minianimate_disable = true
370
+
371
+ -- Disable for current buffer
372
+ vim.b.minianimate_disable = true
373
+
374
+ -- Toggle (disable if enabled, enable if disabled)
375
+ vim.g.minianimate_disable = not vim.g.minianimate_disable -- globally
376
+ vim.b.minianimate_disable = not vim.b.minianimate_disable -- for buffer
377
+ <
378
+ # Automated disabling ~
379
+
380
+ Automated disabling is suggested to be done inside autocommands: >lua
381
+
382
+ -- Disable for a certain filetype (for example, "lua")
383
+ local f = function(args) vim.b[args.buf].minianimate_disable = true end
384
+ vim.api.nvim_create_autocmd('Filetype', { pattern = 'lua', callback = f })
385
+
386
+ -- Enable only for certain filetypes (for example, "lua" and "help")
387
+ local f = function(args)
388
+ local ft = vim.bo[args.buf].filetype
389
+ if ft == 'lua' or ft == 'help' then return end
390
+ vim.b[args.buf].minianimate_disable = true
391
+ end
392
+ vim.api.nvim_create_autocmd('Filetype', { callback = f })
393
+
394
+ -- Disable in Visual mode
395
+ local f_en = function(args) vim.b[args.buf].minianimate_disable = false end
396
+ local enable_opts = { pattern = '[vV\x16]*:*', callback = f_en }
397
+ vim.api.nvim_create_autocmd('ModeChanged', enable_opts)
398
+
399
+ local f_dis = function(args) vim.b[args.buf].minianimate_disable = true end
400
+ local disable_opts = { pattern = '*:[vV\x16]*', callback = f_dis }
401
+ vim.api.nvim_create_autocmd('ModeChanged', disable_opts)
402
+
403
+ -- Disable in Terminal buffer
404
+ local f = function(args) vim.b[args.buf].minianimate_disable = true end
405
+ vim.api.nvim_create_autocmd('TermOpen', { callback = f })
406
+ <
407
+ ------------------------------------------------------------------------------
408
+ *mini.nvim-buffer-local-config*
409
+ Each module can be additionally configured locally to buffer by creating
410
+ appropriate buffer-scoped variable with values to override. It affects only
411
+ runtime options and not those used once during setup (like most `mappings`).
412
+
413
+ Variable names have the same structure: `b:mini*_config` where `*` is
414
+ module's lowercase name. For example, `b:minianimate_config` can store
415
+ information about how |mini.animate| will act inside current buffer. Its
416
+ value should be a table with same structure as module's `config`. Example: >lua
417
+
418
+ -- Disable scroll animation in current buffer
419
+ vim.b.minianimate_config = { scroll = { enable = false } }
420
+ <
421
+ Considering high number of different scenarios and customization intentions,
422
+ writing exact rules for module's buffer local configuration is left to
423
+ user. It is done in similar fashion to |mini.nvim-disabling-recipes|.
424
+
425
+ ------------------------------------------------------------------------------
426
+ *mini.nvim-color-schemes*
427
+ - Color schemes based on |mini.hues|: |MiniHues-color-schemes|.
428
+ - Color schemes based on |mini.base16|: |MiniBase16-color-schemes|.
429
+
430
+
431
+ vim:tw=78:ts=8:noet:ft=help:norl: