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,346 @@
1
+ *mini.pairs* Autopairs
2
+
3
+ MIT License Copyright (c) 2021 Evgeni Chasnovski
4
+
5
+ ------------------------------------------------------------------------------
6
+ *MiniPairs*
7
+ Features:
8
+ - Functionality to work with two "paired" characters conditional on cursor's
9
+ neighborhood (character to its left and character to its right).
10
+
11
+ - Usage should be through making appropriate mappings using |MiniPairs.map()|
12
+ or in |MiniPairs.setup()| (for global mapping), |MiniPairs.map_buf()| (for
13
+ buffer mapping).
14
+
15
+ - Pairs get automatically registered for special <BS> (all configured modes)
16
+ and <CR> (only Insert mode) mappings. Pressing the key inside pair will
17
+ delete whole pair and insert extra blank line inside pair respectively.
18
+ Note: these mappings are autocreated if they do not override existing ones.
19
+
20
+ What it doesn't do:
21
+ - Provide smart behavior, like based on bracket balance. The default behavior
22
+ is to almost always perform an action (insert pair, jump over). Manually
23
+ press |i_CTRL-V| before a character to explicitly insert it (and only it).
24
+
25
+ - It doesn't support multiple characters as "open" and "close" symbols. Use
26
+ snippets for that.
27
+
28
+ - It doesn't support dependency on filetype. Use |i_CTRL-V| to insert
29
+ single symbol or `autocmd` command or `after/ftplugin` approach to:
30
+ - `:lua MiniPairs.map_buf(0, 'i', <*>, <pair_info>)` - make new mapping
31
+ for `<*>` in current buffer.
32
+ - `:lua MiniPairs.unmap_buf(0, 'i', <*>, <pair>)` - unmap key `<*>` while
33
+ unregistering `<pair>` pair in current buffer. Note: this reverts
34
+ mapping done by |MiniPairs.map_buf()|. If mapping was done with
35
+ |MiniPairs.map()|, unmap for buffer in usual Neovim manner:
36
+ `inoremap <buffer> <*> <*>` (this maps `<*>` key to do the same it
37
+ does by default).
38
+ - Disable module for buffer (see `# Disabling` section).
39
+
40
+ # Setup ~
41
+
42
+ This module needs a setup with `require('mini.pairs').setup({})`
43
+ (replace `{}` with your `config` table). It will create global Lua table
44
+ `MiniPairs` which you can use for scripting or manually (with
45
+ `:lua MiniPairs.*`).
46
+
47
+ See |MiniPairs.config| for `config` structure and default values.
48
+
49
+ This module doesn't have runtime options, so using `vim.b.minipairs_config`
50
+ will have no effect here.
51
+
52
+ # Example mappings ~
53
+ >lua
54
+ -- Register quotes inside `config` of `MiniPairs.setup()`
55
+ mappings = {
56
+ ['"'] = { register = { cr = true } },
57
+ ["'"] = { register = { cr = true } },
58
+ }
59
+
60
+ -- Insert `<>` pair if `<` is typed at line start, don't register for <CR>
61
+ local lt_opts = {
62
+ action = 'open',
63
+ pair = '<>',
64
+ neigh_pattern = '\r.',
65
+ register = { cr = false },
66
+ }
67
+ MiniPairs.map('i', '<', lt_opts)
68
+
69
+ local gt_opts = { action = 'close', pair = '<>', register = { cr = false } }
70
+ MiniPairs.map('i', '>', gt_opts)
71
+
72
+ -- Create symmetrical `$$` pair only in Tex files
73
+ local map_tex = function()
74
+ MiniPairs.map_buf(0, 'i', '$', { action = 'closeopen', pair = '$$' })
75
+ end
76
+ vim.api.nvim_create_autocmd(
77
+ 'FileType',
78
+ { pattern = 'tex', callback = map_tex }
79
+ )
80
+ <
81
+ # Notes ~
82
+
83
+ - Make sure to make proper mapping of <CR> in order to support completion
84
+ plugin of your choice:
85
+ - For |mini.completion| see its `# Helpful mappings` section.
86
+ - For current implementation of "hrsh7th/nvim-cmp" there is no need to
87
+ make custom mapping. You can use default setup, which will confirm
88
+ completion selection if popup is visible and expand pair otherwise.
89
+ - Having mapping in terminal mode can conflict with:
90
+ - Autopairing capabilities of interpretators (`ipython`, `radian`).
91
+ - Vim mode of terminal itself.
92
+
93
+ # Disabling ~
94
+
95
+ To disable, set `vim.g.minipairs_disable` (globally) or `vim.b.minipairs_disable`
96
+ (for a buffer) to `true`. Considering high number of different scenarios
97
+ and customization intentions, writing exact rules for disabling module's
98
+ functionality is left to user. See |mini.nvim-disabling-recipes| for common
99
+ recipes.
100
+
101
+ ------------------------------------------------------------------------------
102
+ *MiniPairs.setup()*
103
+ `MiniPairs.setup`({config})
104
+ Module setup
105
+
106
+ Parameters ~
107
+ {config} `(table|nil)` Module config table. See |MiniPairs.config|.
108
+
109
+ Usage ~
110
+ >lua
111
+ require('mini.pairs').setup() -- use default config
112
+ -- OR
113
+ require('mini.pairs').setup({}) -- replace {} with your config table
114
+ <
115
+ ------------------------------------------------------------------------------
116
+ *MiniPairs.config*
117
+ `MiniPairs.config`
118
+ Defaults ~
119
+ >lua
120
+ MiniPairs.config = {
121
+ -- In which modes mappings from this `config` should be created
122
+ modes = { insert = true, command = false, terminal = false },
123
+
124
+ -- Global mappings. Each right hand side should be a pair information, a
125
+ -- table with at least these fields (see more in |MiniPairs.map()|):
126
+ -- - <action> - one of "open", "close", "closeopen".
127
+ -- - <pair> - two character string for pair to be used.
128
+ -- By default pair is not inserted after `\`, quotes are not recognized by
129
+ -- <CR>, `'` does not insert the pair after a letter.
130
+ -- Only parts of tables can be tweaked (others will use these defaults).
131
+ -- Supply `false` instead of table to not map particular key.
132
+ mappings = {
133
+ ['('] = { action = 'open', pair = '()', neigh_pattern = '^[^\\]' },
134
+ ['['] = { action = 'open', pair = '[]', neigh_pattern = '^[^\\]' },
135
+ ['{'] = { action = 'open', pair = '{}', neigh_pattern = '^[^\\]' },
136
+
137
+ [')'] = { action = 'close', pair = '()', neigh_pattern = '^[^\\]' },
138
+ [']'] = { action = 'close', pair = '[]', neigh_pattern = '^[^\\]' },
139
+ ['}'] = { action = 'close', pair = '{}', neigh_pattern = '^[^\\]' },
140
+
141
+ ['"'] = { action = 'closeopen', pair = '""', neigh_pattern = '^[^\\]', register = { cr = false } },
142
+ ["'"] = { action = 'closeopen', pair = "''", neigh_pattern = '^[^%a\\]', register = { cr = false } },
143
+ ['`'] = { action = 'closeopen', pair = '``', neigh_pattern = '^[^\\]', register = { cr = false } },
144
+ },
145
+ }
146
+ <
147
+ ------------------------------------------------------------------------------
148
+ *MiniPairs.map()*
149
+ `MiniPairs.map`({mode}, {lhs}, {pair_info}, {opts})
150
+ Make global mapping
151
+
152
+ This is a wrapper for |nvim_set_keymap()| but instead of right hand side of
153
+ mapping (as string) it expects table with pair information.
154
+
155
+ Using this function instead of |nvim_set_keymap()| allows automatic
156
+ registration of pairs which will be recognized by <BS> and <CR>.
157
+ It also infers mapping description from `pair_info`.
158
+
159
+ Parameters ~
160
+ {mode} `(string)` `mode` for |nvim_set_keymap()|.
161
+ {lhs} `(string)` `lhs` for |nvim_set_keymap()|.
162
+ {pair_info} `(table)` Table with pair information. Fields:
163
+ - <action> - one of "open" for |MiniPairs.open()|,
164
+ "close" for |MiniPairs.close()|, or "closeopen" for |MiniPairs.closeopen()|.
165
+ - <pair> - two character string to be passed to an action function.
166
+ Can contain multibyte characters.
167
+ - <neigh_pattern> - optional neighborhood pattern to be passed to an action
168
+ function. Will be matched against two character neighborhood (might
169
+ contain multibyte characters).
170
+ Default: `'..'` (no restriction from neighborhood).
171
+ - <register> - optional table with information about whether this pair will
172
+ be recognized by <BS> (in |MiniPairs.bs()|) and/or <CR> (in |MiniPairs.cr()|).
173
+ Should have boolean fields <bs> and <cr> (both `true` by default).
174
+ {opts} `(table|nil)` Optional table `opts` for |nvim_set_keymap()|. Elements
175
+ `expr` and `noremap` won't be recognized (`true` by default).
176
+
177
+ ------------------------------------------------------------------------------
178
+ *MiniPairs.map_buf()*
179
+ `MiniPairs.map_buf`({buffer}, {mode}, {lhs}, {pair_info}, {opts})
180
+ Make buffer mapping
181
+
182
+ This is a wrapper for |nvim_buf_set_keymap()| but instead of string right
183
+ hand side of mapping it expects table with pair information similar to one
184
+ in |MiniPairs.map()|.
185
+
186
+ Using this function instead of |nvim_buf_set_keymap()| allows automatic
187
+ registration of pairs which will be recognized by <BS> and <CR>.
188
+ It also infers mapping description from `pair_info`.
189
+
190
+ Parameters ~
191
+ {buffer} `(number)` `buffer` for |nvim_buf_set_keymap()|.
192
+ {mode} `(string)` `mode` for |nvim_buf_set_keymap()|.
193
+ {lhs} `(string)` `lhs` for |nvim_buf_set_keymap()|.
194
+ {pair_info} `(table)` Table with pair information.
195
+ {opts} `(table|nil)` Optional table `opts` for |nvim_buf_set_keymap()|.
196
+ Elements `expr` and `noremap` won't be recognized (`true` by default).
197
+
198
+ ------------------------------------------------------------------------------
199
+ *MiniPairs.unmap()*
200
+ `MiniPairs.unmap`({mode}, {lhs}, {pair})
201
+ Remove global mapping
202
+
203
+ A wrapper for |nvim_del_keymap()| which registers supplied `pair`.
204
+
205
+ Parameters ~
206
+ {mode} `(string)` `mode` for |nvim_del_keymap()|.
207
+ {lhs} `(string)` `lhs` for |nvim_del_keymap()|.
208
+ {pair} `(string)` Pair which should be unregistered from both <BS> and <CR>.
209
+ Should be explicitly supplied to avoid confusion.
210
+ Supply `''` to not unregister pair.
211
+
212
+ ------------------------------------------------------------------------------
213
+ *MiniPairs.unmap_buf()*
214
+ `MiniPairs.unmap_buf`({buffer}, {mode}, {lhs}, {pair})
215
+ Remove buffer mapping
216
+
217
+ Wrapper for |nvim_buf_del_keymap()| which also unregisters supplied `pair`.
218
+
219
+ Note: this only reverts mapping done by |MiniPairs.map_buf()|. If mapping was
220
+ done with |MiniPairs.map()|, revert to default behavior for buffer: >lua
221
+
222
+ -- Map `X` key to do the same it does by default
223
+ vim.keymap.set('i', 'X', 'X', { buffer = true })
224
+ <
225
+ Parameters ~
226
+ {buffer} `(number)` `buffer` for |nvim_buf_del_keymap()|.
227
+ {mode} `(string)` `mode` for |nvim_buf_del_keymap()|.
228
+ {lhs} `(string)` `lhs` for |nvim_buf_del_keymap()|.
229
+ {pair} `(string)` Pair which should be unregistered from both <BS> and <CR>.
230
+ Should be explicitly supplied to avoid confusion.
231
+ Supply `''` to not unregister pair.
232
+
233
+ ------------------------------------------------------------------------------
234
+ *MiniPairs.open()*
235
+ `MiniPairs.open`({pair}, {neigh_pattern})
236
+ Process "open" symbols
237
+
238
+ Used as |:map-<expr>| mapping for "open" symbols in asymmetric pair (`(`, `[`,
239
+ etc.). If neighborhood doesn't match supplied pattern, function results
240
+ into "open" symbol. Otherwise, it pastes whole pair and moves inside pair
241
+ with |<Left>|.
242
+
243
+ Used inside |MiniPairs.map()| and |MiniPairs.map_buf()| for an actual mapping.
244
+
245
+ Parameters ~
246
+ {pair} `(string)` String with two characters representing pair.
247
+ {neigh_pattern} `(string|nil)` Pattern for two neighborhood characters.
248
+ Character "\r" indicates line start, "\n" - line end.
249
+
250
+ Return ~
251
+ `(string)` Keys performing "open" action.
252
+
253
+ ------------------------------------------------------------------------------
254
+ *MiniPairs.close()*
255
+ `MiniPairs.close`({pair}, {neigh_pattern})
256
+ Process "close" symbols
257
+
258
+ Used as |:map-<expr>| mapping for "close" symbols in asymmetric pair (`)`, `]`,
259
+ etc.). If neighborhood doesn't match supplied pattern, function results into
260
+ "close" symbol. Otherwise it jumps over symbol to the right of cursor
261
+ (with |<Right>|) if it is equal to "close" one and inserts it otherwise.
262
+
263
+ Used inside |MiniPairs.map()| and |MiniPairs.map_buf()| for an actual mapping.
264
+
265
+ Parameters ~
266
+ {pair} `(string)` String with two characters representing pair.
267
+ {neigh_pattern} `(string|nil)` Pattern for two neighborhood characters.
268
+ Character "\r" indicates line start, "\n" - line end.
269
+
270
+ Return ~
271
+ `(string)` Keys performing "close" action.
272
+
273
+ ------------------------------------------------------------------------------
274
+ *MiniPairs.closeopen()*
275
+ `MiniPairs.closeopen`({pair}, {neigh_pattern})
276
+ Process "closeopen" symbols
277
+
278
+ Used as |:map-<expr>| mapping for "symmetrical" symbols (like `"` and `'`)
279
+ It tries to perform "closeopen action": move over right character
280
+ (with |<Right>|) if it is equal to second character from pair or
281
+ conditionally paste pair otherwise (with |MiniPairs.open()|).
282
+
283
+ Used inside |MiniPairs.map()| and |MiniPairs.map_buf()| for an actual mapping.
284
+
285
+ Parameters ~
286
+ {pair} `(string)` String with two characters representing pair.
287
+ {neigh_pattern} `(string|nil)` Pattern for two neighborhood characters.
288
+ Character "\r" indicates line start, "\n" - line end.
289
+
290
+ Return ~
291
+ `(string)` Keys performing "closeopen" action.
292
+
293
+ ------------------------------------------------------------------------------
294
+ *MiniPairs.bs()*
295
+ `MiniPairs.bs`({key})
296
+ Process |<BS>|
297
+
298
+ Used as |:map-<expr>| mapping for <BS> in Insert mode. It removes whole pair
299
+ (via executing <Del> after input key) if neighborhood is equal to a whole
300
+ pair recognized for current buffer. Pair is recognized for current buffer
301
+ if it is registered for global or current buffer mapping. Pair is
302
+ registered as a result of calling |MiniPairs.map()| or |MiniPairs.map_buf()|.
303
+
304
+ Mapped by default inside |MiniPairs.setup()|.
305
+
306
+ This can be used to modify other Insert mode keys to respect neighborhood
307
+ pair. Examples: >lua
308
+
309
+ local map_bs = function(lhs, rhs)
310
+ vim.keymap.set('i', lhs, rhs, { expr = true, replace_keycodes = false })
311
+ end
312
+
313
+ map_bs('<C-h>', 'v:lua.MiniPairs.bs()')
314
+ map_bs('<C-w>', 'v:lua.MiniPairs.bs("\23")')
315
+ map_bs('<C-u>', 'v:lua.MiniPairs.bs("\21")')
316
+ <
317
+ Parameters ~
318
+ {key} `(string|nil)` Key to use. Default: `'<BS>'`.
319
+
320
+ Return ~
321
+ `(string)` Keys performing "backspace" action.
322
+
323
+ ------------------------------------------------------------------------------
324
+ *MiniPairs.cr()*
325
+ `MiniPairs.cr`({key})
326
+ Process |i_<CR>|
327
+
328
+ Used as |:map-<expr>| mapping for <CR> in insert mode. It puts "close"
329
+ symbol on next line (via `<CR><C-o>O`) if neighborhood is equal to a whole
330
+ pair recognized for current buffer. Pair is recognized for current buffer
331
+ if it is registered for global or current buffer mapping. Pair is
332
+ registered as a result of calling |MiniPairs.map()| or |MiniPairs.map_buf()|.
333
+
334
+ Note: some relevant mode changing events are temporarily ignored
335
+ (with |'eventignore'|) to counter effect of using |i_CTRL-O|.
336
+
337
+ Mapped by default inside |MiniPairs.setup()|.
338
+
339
+ Parameters ~
340
+ {key} `(string|nil)` Key to use. Default: `'<CR>'`.
341
+
342
+ Return ~
343
+ `(string)` Keys performing "new line" action.
344
+
345
+
346
+ vim:tw=78:ts=8:noet:ft=help:norl: