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,4 @@
1
+ local minitest = require('mini.test')
2
+
3
+ if _G.MiniTest == nil then minitest.setup() end
4
+ minitest.run()
package/package.json ADDED
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "retrovim",
3
+ "version": "0.0.3",
4
+ "description": "minimal neovim, yazi, zsh and kanata setup",
5
+ "bin": {
6
+ "kanata_touchcursor": ".npm/kanata_touchcursor.js",
7
+ "nvim": ".npm/nvim.js",
8
+ "yazi": ".npm/yazi.js",
9
+ "zsh": ".npm/zsh.js"
10
+ },
11
+ "repository": {
12
+ "type": "git",
13
+ "url": "https://github.com/yeferyv/retrovim"
14
+ },
15
+ "license": "GPL3"
16
+ }
package/pyproject.toml ADDED
@@ -0,0 +1,43 @@
1
+ # ╭────────────────────────────╮
2
+ # │ uv tool install . │
3
+ # │ uv tool uninstall retrovim │
4
+ # ╰────────────────────────────╯
5
+
6
+ [build-system]
7
+ # requires = ["hatchling"]
8
+ # build-backend = "hatchling.build"
9
+ requires = ["uv_build>=0.11.31,<0.12"]
10
+ build-backend = "uv_build"
11
+
12
+ [project]
13
+ name = "retrovim"
14
+ version = "0.0.4"
15
+ description = "minimal neovim, yazi, zsh, and kanata setup"
16
+ readme = "README.md"
17
+ requires-python = ">=3.8"
18
+ license = { text = "GPL-3.0" }
19
+ dependencies = []
20
+
21
+ [project.scripts]
22
+ kanata_touchcursor = "kanata_touchcursor:main"
23
+ nvim = "nvim:main"
24
+ yazi = "yazi:main"
25
+ zsh = "zsh:main"
26
+
27
+ # https://docs.astral.sh/uv/concepts/build-backend/#file-inclusion-and-exclusion
28
+ [tool.uv.build-backend]
29
+ module-root = ".pip"
30
+ module-name = ["kanata_touchcursor", "nvim", "yazi", "zsh"]
31
+ data = { data = "." }
32
+ wheel-exclude = [".git","tests"]
33
+
34
+ # [tool.hatch.build.targets.wheel]
35
+ # packages = [
36
+ # ".pip/kanata",
37
+ # ".pip/nvim",
38
+ # ".pip/yazi",
39
+ # ".pip/zsh",
40
+ # ]
41
+ #
42
+ # [tool.hatch.build.targets.wheel.force-include]
43
+ # "." = "data"
package/yazi/init.lua ADDED
@@ -0,0 +1,12 @@
1
+ require("bookmarks"):setup()
2
+ require("session"):setup { sync_yanked = true }
3
+ require("smart-enter"):setup { open_multi = true }
4
+
5
+ Status:children_add(function(self)
6
+ local h = self._current.hovered
7
+ if h and h.link_to then
8
+ return " -> " .. tostring(h.link_to)
9
+ else
10
+ return ""
11
+ end
12
+ end, 3300, Status.LEFT)
@@ -0,0 +1,114 @@
1
+ [mgr]
2
+
3
+ prepend_keymap = [
4
+
5
+ # Search by First Char
6
+ { on = [ "f", "a" ], run = "find_do '^a' --smart", desc = "find ^a" },
7
+ { on = [ "f", "b" ], run = "find_do '^b' --smart", desc = "find ^b" },
8
+ { on = [ "f", "c" ], run = "find_do '^c' --smart", desc = "find ^c" },
9
+ { on = [ "f", "d" ], run = "find_do '^d' --smart", desc = "find ^d" },
10
+ { on = [ "f", "e" ], run = "find_do '^e' --smart", desc = "find ^e" },
11
+ { on = [ "f", "f" ], run = "find_do '^f' --smart", desc = "find ^f" },
12
+ { on = [ "f", "g" ], run = "find_do '^g' --smart", desc = "find ^g" },
13
+ { on = [ "f", "h" ], run = "find_do '^h' --smart", desc = "find ^h" },
14
+ { on = [ "f", "i" ], run = "find_do '^i' --smart", desc = "find ^i" },
15
+ { on = [ "f", "j" ], run = "find_do '^j' --smart", desc = "find ^j" },
16
+ { on = [ "f", "k" ], run = "find_do '^k' --smart", desc = "find ^k" },
17
+ { on = [ "f", "l" ], run = "find_do '^l' --smart", desc = "find ^l" },
18
+ { on = [ "f", "m" ], run = "find_do '^m' --smart", desc = "find ^m" },
19
+ { on = [ "f", "n" ], run = "find_do '^n' --smart", desc = "find ^n" },
20
+ { on = [ "f", "o" ], run = "find_do '^o' --smart", desc = "find ^o" },
21
+ { on = [ "f", "p" ], run = "find_do '^p' --smart", desc = "find ^p" },
22
+ { on = [ "f", "q" ], run = "find_do '^q' --smart", desc = "find ^q" },
23
+ { on = [ "f", "r" ], run = "find_do '^r' --smart", desc = "find ^r" },
24
+ { on = [ "f", "s" ], run = "find_do '^s' --smart", desc = "find ^s" },
25
+ { on = [ "f", "t" ], run = "find_do '^t' --smart", desc = "find ^t" },
26
+ { on = [ "f", "u" ], run = "find_do '^u' --smart", desc = "find ^u" },
27
+ { on = [ "f", "v" ], run = "find_do '^v' --smart", desc = "find ^v" },
28
+ { on = [ "f", "w" ], run = "find_do '^w' --smart", desc = "find ^w" },
29
+ { on = [ "f", "x" ], run = "find_do '^x' --smart", desc = "find ^x" },
30
+ { on = [ "f", "y" ], run = "find_do '^y' --smart", desc = "find ^y" },
31
+ { on = [ "f", "z" ], run = "find_do '^z' --smart", desc = "find ^z" },
32
+
33
+ # Filter
34
+ { on = [ "F" ], run = """ filter --smart """, desc = "Filter" },
35
+ { on = [ "g", "c" ], run = """ cd ~/.config """, desc = "󱧼 Go ~/.config" },
36
+ { on = [ "g", "d" ], run = """ cd ~/Downloads """, desc = "󰉍 Go ~/Downloads" },
37
+ { on = [ "g", "D" ], run = """ cd ~/Documents """, desc = "󱧶 Go ~/Documents" },
38
+ { on = [ "g", "h" ], run = """ cd ~ """, desc = "󱂵 Go home" },
39
+ { on = [ "g", "g" ], run = """ arrow -9999 """, desc = "󰛃 Go top" },
40
+ { on = [ "g", "s" ], run = """ cd $YAZI_CONFIG_HOME/.. """, for = "unix", desc = " retrovim settings" },
41
+ { on = [ "g", "s" ], run = """ cd %YAZI_CONFIG_HOME%\\.. """, for = "windows", desc = " retrovim settings" },
42
+ { on = [ "g", "r" ], run = """ plugin cd-git-root """, desc = " git root" },
43
+ { on = [ "i" ], run = """ shell --block -- bat --paging always --wrap never %s """, desc = "Bat open selected" },
44
+
45
+ # Navigation
46
+ { on = [ "J" ], run = "seek 10", desc = "preview down 3 lines" },
47
+ { on = [ "K" ], run = "seek -10", desc = "preview up 3 lines" },
48
+ { on = [ "j" ], run = "arrow 1", desc = "down until end of list" },
49
+ { on = [ "k" ], run = "arrow -1", desc = "up until start of list " },
50
+ { on = [ "<A-j>" ], run = "arrow 10", desc = "move cursor down 10 lines" },
51
+ { on = [ "<A-k>" ], run = "arrow -10", desc = "move cursor up 10 lines" },
52
+ { on = [ "R" ], run = "refresh", desc = "refresh" },
53
+
54
+ # Plugins
55
+ { on = [ "l" ], run = "plugin smart-enter", desc = "open directory or file" },
56
+ { on = [ "<Enter>" ], run = "plugin smart-enter", desc = "open directory or file" },
57
+ { on = [ "m" ], run = "plugin bookmarks save", desc = "bookmark create" },
58
+ { on = [ "'" ], run = "plugin bookmarks jump", desc = "bookmark jump" },
59
+ { on = [ '"' ], run = "plugin bookmarks delete", desc = "bookmark delete" },
60
+
61
+ # Shell
62
+ { on = [ "s", "c" ], run = """ shell -- google-chrome %s || google-chrome-stable %s """, for = "unix", desc = " chrome (to drag and drop)" }, # or copy file path into the browser to drag and drop from download icon (images are draggable, some files you need right-click to download)
63
+ { on = [ "s", "c" ], run = """ shell -- chrome %s """, for = "windows", desc = " chrome (to drag and drop)" }, # or copy file path into the browser to drag and drop from download icon (images are draggable, some files you need right-click to download)
64
+ { on = [ "s", "D" ], run = """ search fd """, desc = " fd" },
65
+ { on = [ "s", "l" ], run = """ shell --block -- lazygit """, desc = "󰊢 lazygit" },
66
+ { on = [ "s", "m" ], run = """ shell --orphan -- mpv %s """, desc = " mpv" },
67
+ { on = [ "s", "n" ], run = """ shell --block -- nvim %s """, desc = " neovim" }, # opens all selections
68
+ { on = [ "s", "p" ], run = """ shell -- zathura --config-dir="$ZATHURARC" %s & """, for = "linux", desc = " zathura" },
69
+ { on = [ "s", "s" ], run = """ shell -- code %s """, desc = " vscode" },
70
+ { on = [ "s", "t" ], run = """ search_do --via=rg """, desc = "󰙅 tree view" },
71
+ { on = [ "s", "v" ], run = """ shell --orphan -- vlc --avcodec-hw=none %s """, desc = "󰕼 vlc (no gpu)" }, # disables hardware decoding which fixes no video output due to gpu drivers (--avcodec-hw=vdpau also works on archlinux or configure it in the GUI) see: https://wiki.archlinux.org/title/VLC_media_player
72
+ { on = [ "s", "w" ], run = """ shell --block -- zsh """, desc = " zsh" },
73
+ { on = [ "s", "x" ], run = """ shell --orphan -- xdg-open %s """, for = "linux", desc = " xdg-open" },
74
+ { on = [ "s", "z" ], run = """ shell -- 7zz a -tzip $1.zip %s """, desc = "󰛫 7zip selection" }, # on windows: m2-p7zip cannot extractand 7zip cannot zip
75
+
76
+ ]
77
+
78
+ [[mgr.append_keymap]]
79
+ on = [ "s", "/" ]
80
+ run = '''
81
+ shell
82
+ --block
83
+ -- ya emit reveal "$(rg --files --sortr=path | fzf --no-sort --preview-window=nohidden)"
84
+ '''
85
+ desc = " fzf sorted (? previews)" # shift + down/up scrolls preview # resizable preview with mouse
86
+
87
+ [[mgr.append_keymap]]
88
+ on = [ "s", "r" ]
89
+ run = '''
90
+ shell
91
+ --block
92
+ -- rg "" --color=always --line-number --sort=path | fzf --no-sort --layout=reverse --ansi --delimiter : --preview "bat --color=always {1} --highlight-line {2}" --preview-window "up,60%,+{2},nohidden" --bind "enter:become(ya emit reveal {1}; nvim {1} +{2})"
93
+ '''
94
+ desc = " rg (󰘶 ↓ scrolls)" # shift + down/up scrolls preview # resizable preview with mouse
95
+
96
+ [[mgr.append_keymap]]
97
+ on = [ "s", "S" ]
98
+ run = '''
99
+ shell
100
+ --block
101
+ -- powershell -noprofile -noexit -c " cd $(pwd); set-psreadlineoption -editmode vi "
102
+ '''
103
+ for = "windows"
104
+ desc = "󰨊 powershell" # bracket e.g. [directory] and whitespaces e.g. /direc tory/ not supported on powershell
105
+
106
+ [[mgr.append_keymap]]
107
+ on = [ "s", "W" ]
108
+ run = '''
109
+ shell
110
+ --block
111
+ -- bash -c 'y() { yazi --cwd-file=$HOME/.yazi; cd "$(cat $HOME/.yazi)"; }; export -f y; stty echo; bash -o vi'
112
+ '''
113
+ desc = " bash"
114
+
package/yazi/lesskey ADDED
@@ -0,0 +1,5 @@
1
+ h left-scroll
2
+ l right-scroll
3
+ i quit
4
+ J forw-scroll
5
+ K back-scroll
@@ -0,0 +1,86 @@
1
+ -- https://github.com/dedukun/bookmarks.yazi
2
+
3
+ local SUPPORTED_KEYS = {
4
+ { on = "0" }, { on = "1" }, { on = "2" }, { on = "3" }, { on = "4" },
5
+ { on = "5" }, { on = "6" }, { on = "7" }, { on = "8" }, { on = "9" },
6
+ { on = "A" }, { on = "B" }, { on = "C" }, { on = "D" }, { on = "E" },
7
+ { on = "F" }, { on = "G" }, { on = "H" }, { on = "I" }, { on = "J" },
8
+ { on = "K" }, { on = "L" }, { on = "M" }, { on = "N" }, { on = "O" },
9
+ { on = "P" }, { on = "Q" }, { on = "R" }, { on = "S" }, { on = "T" },
10
+ { on = "U" }, { on = "V" }, { on = "W" }, { on = "X" }, { on = "Y" }, { on = "Z" },
11
+ { on = "a" }, { on = "b" }, { on = "c" }, { on = "d" }, { on = "e" },
12
+ { on = "f" }, { on = "g" }, { on = "h" }, { on = "i" }, { on = "j" },
13
+ { on = "k" }, { on = "l" }, { on = "m" }, { on = "n" }, { on = "o" },
14
+ { on = "p" }, { on = "q" }, { on = "r" }, { on = "s" }, { on = "t" },
15
+ { on = "u" }, { on = "v" }, { on = "w" }, { on = "x" }, { on = "y" }, { on = "z" },
16
+ }
17
+
18
+ local _save_state = ya.sync(function(state, bookmarks)
19
+ ps.pub_to(0, "@bookmarks", bookmarks)
20
+ end)
21
+
22
+ local _load_state = ya.sync(function(state)
23
+ ps.sub_remote("@bookmarks", function(body)
24
+ if not state.bookmarks and body then
25
+ state.bookmarks = {}
26
+ for _, value in pairs(body) do
27
+ table.insert(state.bookmarks, value)
28
+ end
29
+ end
30
+ end)
31
+ end)
32
+
33
+ local save_bookmark = ya.sync(function(state, idx)
34
+ local folder = cx.active.current.hovered.url
35
+
36
+ state.bookmarks = state.bookmarks or {}
37
+ state.bookmarks[#state.bookmarks + 1] = {
38
+ on = SUPPORTED_KEYS[idx].on,
39
+ desc = tostring(folder),
40
+ }
41
+
42
+ _save_state(state.bookmarks)
43
+ end)
44
+
45
+ local all_bookmarks = ya.sync(function(state)
46
+ return state.bookmarks or {}
47
+ end)
48
+
49
+ local delete_bookmark = ya.sync(function(state, idx)
50
+ table.remove(state.bookmarks, idx)
51
+ _save_state(state.bookmarks)
52
+ end)
53
+
54
+ return {
55
+ entry = function(_, job)
56
+ local action = job.args[1]
57
+ if not action then
58
+ return
59
+ end
60
+
61
+ if action == "save" then
62
+ local key = ya.which({ cands = SUPPORTED_KEYS, silent = true })
63
+ if key then
64
+ save_bookmark(key)
65
+ end
66
+ return
67
+ end
68
+
69
+ local bookmarks = all_bookmarks()
70
+ local selected = #bookmarks > 0 and ya.which({ cands = bookmarks })
71
+ if not selected then
72
+ return
73
+ end
74
+
75
+ if action == "jump" then
76
+ ya.emit("reveal", { bookmarks[selected].desc })
77
+ end
78
+
79
+ if action == "delete" then
80
+ delete_bookmark(selected)
81
+ end
82
+ end,
83
+ setup = function(state, args)
84
+ _load_state()
85
+ end
86
+ }
@@ -0,0 +1,31 @@
1
+ -- https://github.com/stexus/cd-repo-root.yazi
2
+
3
+ local function get_repo_toplevel()
4
+ local path = fs.cwd()
5
+
6
+ while path do
7
+ local _, err = fs.cha(path:join(".git"), true) -- if .git exists
8
+
9
+ if not err then
10
+ return path
11
+ end
12
+
13
+ path = path.parent
14
+ end
15
+ end
16
+
17
+ return {
18
+ entry = function()
19
+ local destination = get_repo_toplevel()
20
+ if destination then
21
+ ya.emit("cd", { destination })
22
+ else
23
+ ya.notify({
24
+ title = "Could not change directory!",
25
+ content = "You are not in a git or sapling repository.",
26
+ timeout = 3,
27
+ level = "error",
28
+ })
29
+ end
30
+ end,
31
+ }
@@ -0,0 +1,11 @@
1
+ --- @sync entry
2
+
3
+ -- https://github.com/yazi-rs/plugins/tree/main/smart-enter.yazi
4
+ local function setup(self, opts) self.open_multi = opts.open_multi end
5
+
6
+ local function entry(self)
7
+ local h = cx.active.current.hovered
8
+ ya.emit(h and h.cha.is_dir and "enter" or "open", { hovered = not self.open_multi })
9
+ end
10
+
11
+ return { entry = entry, setup = setup }
@@ -0,0 +1,26 @@
1
+ [mgr]
2
+ cwd = { fg = "#7aa2f7" }
3
+ border_symbol = " "
4
+
5
+ [indicator]
6
+ current = { bg = "#2c2c3c" }
7
+
8
+ [filetype]
9
+
10
+ rules = [
11
+ { url = "*", is = "orphan", fg = "red" },
12
+ { url = "*", is = "link", fg = "cyan" },
13
+ { url = "*/", is = "link", fg = "cyan" },
14
+ { url = "*", is = "exec", fg = "green" },
15
+ { url = "*/", fg = "#7aa2f7" },
16
+ ]
17
+
18
+ [icon]
19
+
20
+ conds = [
21
+ { if = "orphan", text = "", fg = "red" },
22
+ { if = "link", text = "", fg = "cyan" },
23
+ { if = "dir", text = "", fg = "#7aa2f7" },
24
+ { if = "exec", text = "", fg = "green" },
25
+ { if = "!dir", text = "" },
26
+ ]
package/yazi/yazi.toml ADDED
@@ -0,0 +1,15 @@
1
+ [mgr]
2
+ ratio = [ 0, 1, 2 ]
3
+ scrolloff = 10
4
+ show_hidden = true
5
+ show_symlink = false
6
+
7
+ [opener]
8
+ play = [
9
+ { run = """ vlc %s """, orphan = true },
10
+ ]
11
+ edit = [
12
+ { run = """ %EDITOR% %s 2>nul || nvim.exe %s & exit 0 """, block = true, desc = "$EDITOR", for = "windows" },
13
+ { run = """ ${EDITOR:-nvim} %s """, block = true, desc = "$EDITOR", for = "unix" },
14
+ { run = """ code %s """, orphan = true, desc = "vscode" },
15
+ ]
package/zsh/.zshrc ADDED
@@ -0,0 +1,145 @@
1
+ # ╭───────────────╮
2
+ # │ shell configs │
3
+ # ╰───────────────╯
4
+
5
+ # time zsh -i -c exit # to calculate startup time
6
+ autoload -U compinit # enable command completion
7
+ bindkey -v '^?' backward-delete-char # enable vi-mode with backward-delete-char
8
+ setopt share_history # share history across sessions
9
+ setopt append_history # required by fzf and autosuggestions
10
+ setopt inc_append_history # save to history after running a command
11
+ setopt interactive_comments # allow comments
12
+ zstyle ":completion:*" menu select # <tab><tab> to enter menu completion
13
+ precmd () { printf "\033]0; $(basename ${PWD/~/\~}) \a" } # tmux/wezterm CWD status/title
14
+ [[ "$OSTYPE" == "cygwin" ]] && export HOME="/c/Users/$USERNAME" # for git-bash / msys2 home
15
+
16
+ alias apt="sudo apt -y"
17
+ alias grep="grep --color=auto"
18
+ alias ll="ls -l"
19
+ alias pacman='$(test $APPDATA && echo "pacman --noconfirm" || echo "sudo pacman --noconfirm")'
20
+
21
+ export BAT_THEME="base16"
22
+ export EDITOR="nvim"
23
+ export EZA_COLORS="reset:uu=0:ur=0:uw=0:ux=0:ue=0:gu=0:gr=0:gw=0:gx=0:tr=0:tw=0:tx=0:da=0:sn=0:di=34"
24
+ export FZF_DEFAULT_OPTS='--color "hl:-1:reverse,hl+:-1:reverse" --preview "bat --color=always {}" --preview-window=hidden --bind "?:toggle-preview" --multi'
25
+ export HISTFILE="$HOME/.cache/.zsh_history"
26
+ export HISTSIZE=10000 # fzf-history-widget by default searches latest 16 entries
27
+ export LESS="--ignore-case" # bat search case insensitive
28
+ export LESSKEYIN="$ZDOTDIR/../yazi/lesskey" # bat keymaps
29
+ export LESSHISTFILE="-" # bat no history
30
+ export MANROFFOPT="-c" # man pages colored
31
+ export NPM_CONFIG_PREFIX="$HOME/.local/share/npm"
32
+ export PAGER="less -R --use-color --color=d+g --color=u+r --color=Pyk --color=Syk"
33
+ export PNPM_HOME="$HOME/.local/share/pnpm" # $(pnpm setup)
34
+ export SAVEHIST=10000
35
+ export SHELL="zsh" # for nvim terminal if bash is the default shell
36
+ export STARSHIP_CONFIG="$ZDOTDIR/starship.toml"
37
+ export VIMINIT="lua vim.cmd.source(vim.env.ZDOTDIR .. [[/../nvim/init.lua]])" # luafile theorically is faster then `source` and `dofile`
38
+ export YAZI_CONFIG_HOME="$ZDOTDIR/../yazi"
39
+ export ZSH_PATINA_CONFIG_PATH="$ZDOTDIR/zsh-patina.toml"
40
+ export ZEROBREW_ROOT="$HOME/.local/share/zerobrew"
41
+ export ZEROBREW_PREFIX="$HOME/.local/share/zerobrew/prefix"
42
+ export PKG_CONFIG_PATH="$ZEROBREW_PREFIX/lib/pkgconfig:${PKG_CONFIG_PATH:-}"
43
+
44
+ export PATH="/bin:/usr/bin:$PATH"
45
+ export PATH="$HOME/appdata/local/mise/shims:$PATH"
46
+ export PATH="$HOME/.local/bin:$PATH"
47
+ export PATH="$HOME/.local/share/mise/shims:$PATH"
48
+ export PATH="$HOME/.local/share/npm/bin:$PATH"
49
+ export PATH="$HOME/.pixi/envs/retronvim/bin:$PATH"
50
+ export PATH="$HOME/.pixi/envs/retronvim/Library:$PATH"
51
+ export PATH="$HOME/.pixi/envs/retrovim/bin:$PATH"
52
+ export PATH="$HOME/.pixi/envs/retrovim/Library:$PATH"
53
+ export PATH="$HOME/.pixi/bin:$PATH"
54
+ export PATH="$PATH:$PNPM_HOME" # $(pnpm setup)
55
+ export PATH="$PATH:$PNPM_HOME/global/5/node_modules/.bin" # $(pnpm approve-builds -g)
56
+ export PATH="$PATH:$ZEROBREW_PREFIX/bin"
57
+
58
+ # ╭─────────────────╮
59
+ # │ yazi cd on exit │
60
+ # ╰─────────────────╯
61
+
62
+ y() {
63
+ yazi --cwd-file=$HOME/.yazi $@ < /dev/tty # </dev/tty to create a tty (for neovim) from subshells for zle
64
+
65
+ cd "$(cat $HOME/.yazi)"
66
+ zle reset-prompt 2>/dev/null || printf "\x1b[A\x1b[K"; # prints up-arrow and clear-line if you type y<cr>
67
+ echo -ne "\e[6 q" # beam cursor
68
+ }
69
+
70
+ zle -N y
71
+ bindkey '\eo' 'y' # \eo = alt + o
72
+
73
+ # ╭────────────╮
74
+ # │ vim cursor │
75
+ # ╰────────────╯
76
+
77
+ zle-keymap-select() { [[ $KEYMAP == "vicmd" ]] && echo -ne '\e[2 q' || echo -ne '\e[6 q'; }
78
+ zle-line-init() { echo -ne "\e[6 q"; } # use beam shape cursor after ctrl+c or enter or startup
79
+ zle -N zle-line-init # overwriting zle-line-init
80
+ zle -N zle-keymap-select # overwriting zle-keymap-select
81
+
82
+
83
+ # ╭─────────────────────╮
84
+ # │ zsh-autosuggestions │
85
+ # ╰─────────────────────╯
86
+
87
+ ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=8'
88
+
89
+ # 1. The fetch logic (runs on every redraw)
90
+ _autosuggest_fetch() {
91
+ POSTDISPLAY=""
92
+ region_highlight=()
93
+
94
+ # Skip if buffer is empty OR editing in the middle of the line OR if we are actively in a Ctrl+R search
95
+ if (( $#BUFFER )) && (( CURSOR == $#BUFFER )) && [[ "$WIDGET" != *isearch* ]]; then
96
+ # (r) reverse search, (b) escape glob characters in BUFFER
97
+ local suggestion="${history[(r)${(b)BUFFER}*]}"
98
+ if [[ -n "$suggestion" ]]; then
99
+ POSTDISPLAY="${suggestion#$BUFFER}"
100
+ # Highlight only the suggested portion
101
+ region_highlight+=("$#BUFFER $(($#BUFFER + $#POSTDISPLAY)) $ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE")
102
+ fi
103
+ fi
104
+ }
105
+
106
+ # 2. Hook into the prompt redraw cycle (catches typing, Up-arrow, etc.)
107
+ zle -N zle-line-pre-redraw _autosuggest_fetch
108
+
109
+ # 3. Hook into incremental search updates (catches Ctrl+R buffer changes)
110
+ zle -N zle-isearch-update _autosuggest_fetch
111
+
112
+ # 4. Accept the suggestion
113
+ _autosuggest_accept() {
114
+ # Only accept if cursor is at the end of the line AND there is a suggestion
115
+ if (( CURSOR == $#BUFFER )) && (( $#POSTDISPLAY )); then
116
+ BUFFER+="$POSTDISPLAY"
117
+ CURSOR=$#BUFFER
118
+ POSTDISPLAY=""
119
+ region_highlight=()
120
+ zle .reset-prompt
121
+ else
122
+ # If not at the end of the line, just act as a normal Right Arrow
123
+ zle .forward-char
124
+ fi
125
+ }
126
+ zle -N _autosuggest_accept
127
+
128
+ # 5. Bind Right Arrow (and Alt+Right) to accept
129
+ bindkey -M viins '\e[C' _autosuggest_accept
130
+ bindkey -M viins '\el' _autosuggest_accept
131
+
132
+ # ╭─────────╮
133
+ # │ plugins │
134
+ # ╰─────────╯
135
+
136
+ >/dev/null 2>&1 which hyprctl && hyprctl --quiet keyword input:repeat_delay 300
137
+ >/dev/null 2>&1 which hyprctl && hyprctl --quiet keyword input:repeat_rate 50
138
+ >/dev/null 2>&1 which fzf && source <(fzf --zsh)
139
+ >/dev/null 2>&1 which eza && alias ls="eza --all --icons --group-directories-first"
140
+ >/dev/null 2>&1 which starship && eval "$(starship init zsh)"
141
+ >/dev/null 2>&1 which zsh-patina && eval "$(zsh-patina activate)"
142
+
143
+ # compinit should be after plugins for msys2
144
+ [[ -n $HOME/.cache/.zcompdump(#qNm.mh+24) ]] && compinit -d "$HOME/.cache/.zcompdump" || compinit -C -d "$HOME/.cache/.zcompdump"
145
+
@@ -0,0 +1,20 @@
1
+ format = "($sudo)($username)($directory)($git_branch)($git_status)($cmd_duration)($status)($character)"
2
+ add_newline = false
3
+ # command_timeout = 100
4
+
5
+ [directory]
6
+ style = "bold fg:#5555cc"
7
+ truncation_length = 9
8
+
9
+ [cmd_duration]
10
+ min_time = 60000
11
+
12
+ [character] # The name of the module we are configuring is "character"
13
+ # success_symbol = "[󰞷 ](bold green)" # zsh.exe's vim-mode crashes on long lines due to `󰞷` (is not unicode) inside msys2
14
+ success_symbol = "[ ](bold green)"
15
+ error_symbol = "[ ](bold red)"
16
+ vimcmd_symbol = "[ ](bold green)"
17
+ vimcmd_replace_one_symbol = "[ ](bold purple)"
18
+ vimcmd_replace_symbol = "[ ](bold purple)"
19
+ vimcmd_visual_symbol = "[ ](bold yellow)"
20
+ format = "$symbol"
@@ -0,0 +1,2 @@
1
+ [highlighting]
2
+ theme = "classic"