retrovim 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.conda/retrovim.yaml +259 -0
- package/.conda/terax.icns +0 -0
- package/.conda/terax.ico +0 -0
- package/.conda/terax.png +0 -0
- package/.github/workflows/release.yml +95 -0
- package/.gitmodules +3 -0
- package/.npm/kanata_touchcursor.js +28 -0
- package/.npm/nvim.js +26 -0
- package/.npm/yazi.js +26 -0
- package/.npm/zsh.js +17 -0
- package/.pip/kanata_touchcursor/__init__.py +28 -0
- package/.pip/nvim/__init__.py +31 -0
- package/.pip/yazi/__init__.py +31 -0
- package/.pip/zsh/__init__.py +22 -0
- package/CHANGELOG.md +26 -0
- package/LICENSE +674 -0
- package/README.md +336 -0
- package/kanata/touchcursor.kbd +164 -0
- package/nvim/init.lua +813 -0
- package/nvim/plugins/mini.nvim/.github/DISCUSSION_TEMPLATE/q-a.yml +72 -0
- package/nvim/plugins/mini.nvim/.github/ISSUE_TEMPLATE/bug-report.yml +136 -0
- package/nvim/plugins/mini.nvim/.github/ISSUE_TEMPLATE/config.yml +5 -0
- package/nvim/plugins/mini.nvim/.github/ISSUE_TEMPLATE/feature-request.yml +75 -0
- package/nvim/plugins/mini.nvim/.github/PULL_REQUEST_TEMPLATE.md +2 -0
- package/nvim/plugins/mini.nvim/.github/workflows/quality-control.yml +150 -0
- package/nvim/plugins/mini.nvim/.pre-commit-config.yaml +20 -0
- package/nvim/plugins/mini.nvim/.stylua.toml +7 -0
- package/nvim/plugins/mini.nvim/.styluaignore +1 -0
- package/nvim/plugins/mini.nvim/CHANGELOG.md +1894 -0
- package/nvim/plugins/mini.nvim/CODE_OF_CONDUCT.md +132 -0
- package/nvim/plugins/mini.nvim/CONTRIBUTING.md +331 -0
- package/nvim/plugins/mini.nvim/LICENSE +21 -0
- package/nvim/plugins/mini.nvim/MAINTAINING.md +330 -0
- package/nvim/plugins/mini.nvim/Makefile +51 -0
- package/nvim/plugins/mini.nvim/README.md +261 -0
- package/nvim/plugins/mini.nvim/TESTING.md +1011 -0
- package/nvim/plugins/mini.nvim/benchmarks/starter/README.md +35 -0
- package/nvim/plugins/mini.nvim/benchmarks/starter/benchmark.sh +56 -0
- package/nvim/plugins/mini.nvim/benchmarks/starter/init-files/init_dashboard-alpha.lua +21 -0
- package/nvim/plugins/mini.nvim/benchmarks/starter/init-files/init_dashboard-original.lua +17 -0
- package/nvim/plugins/mini.nvim/benchmarks/starter/init-files/init_dashboard-starter.lua +18 -0
- package/nvim/plugins/mini.nvim/benchmarks/starter/init-files/init_empty.lua +4 -0
- package/nvim/plugins/mini.nvim/benchmarks/starter/init-files/init_starter-default.lua +7 -0
- package/nvim/plugins/mini.nvim/benchmarks/starter/init-files/init_startify-alpha.lua +10 -0
- package/nvim/plugins/mini.nvim/benchmarks/starter/init-files/init_startify-original.lua +7 -0
- package/nvim/plugins/mini.nvim/benchmarks/starter/init-files/init_startify-starter.lua +20 -0
- package/nvim/plugins/mini.nvim/benchmarks/starter/install.sh +10 -0
- package/nvim/plugins/mini.nvim/benchmarks/starter/make_summary.py +68 -0
- package/nvim/plugins/mini.nvim/benchmarks/starter/startup-summary.md +10 -0
- package/nvim/plugins/mini.nvim/colors/miniautumn.lua +55 -0
- package/nvim/plugins/mini.nvim/colors/minicyan.lua +95 -0
- package/nvim/plugins/mini.nvim/colors/minischeme.lua +95 -0
- package/nvim/plugins/mini.nvim/colors/minispring.lua +53 -0
- package/nvim/plugins/mini.nvim/colors/minisummer.lua +49 -0
- package/nvim/plugins/mini.nvim/colors/miniwinter.lua +51 -0
- package/nvim/plugins/mini.nvim/colors/randomhue.lua +16 -0
- package/nvim/plugins/mini.nvim/doc/mini-ai.txt +889 -0
- package/nvim/plugins/mini.nvim/doc/mini-align.txt +923 -0
- package/nvim/plugins/mini.nvim/doc/mini-animate.txt +937 -0
- package/nvim/plugins/mini.nvim/doc/mini-base16.txt +285 -0
- package/nvim/plugins/mini.nvim/doc/mini-basics.txt +359 -0
- package/nvim/plugins/mini.nvim/doc/mini-bracketed.txt +622 -0
- package/nvim/plugins/mini.nvim/doc/mini-bufremove.txt +123 -0
- package/nvim/plugins/mini.nvim/doc/mini-clue.txt +760 -0
- package/nvim/plugins/mini.nvim/doc/mini-cmdline.txt +392 -0
- package/nvim/plugins/mini.nvim/doc/mini-colors.txt +880 -0
- package/nvim/plugins/mini.nvim/doc/mini-comment.txt +230 -0
- package/nvim/plugins/mini.nvim/doc/mini-completion.txt +477 -0
- package/nvim/plugins/mini.nvim/doc/mini-cursorword.txt +105 -0
- package/nvim/plugins/mini.nvim/doc/mini-deps.txt +590 -0
- package/nvim/plugins/mini.nvim/doc/mini-diff.txt +661 -0
- package/nvim/plugins/mini.nvim/doc/mini-doc.txt +434 -0
- package/nvim/plugins/mini.nvim/doc/mini-extra.txt +856 -0
- package/nvim/plugins/mini.nvim/doc/mini-files.txt +1018 -0
- package/nvim/plugins/mini.nvim/doc/mini-fuzzy.txt +160 -0
- package/nvim/plugins/mini.nvim/doc/mini-git.txt +425 -0
- package/nvim/plugins/mini.nvim/doc/mini-hipatterns.txt +489 -0
- package/nvim/plugins/mini.nvim/doc/mini-hues.txt +420 -0
- package/nvim/plugins/mini.nvim/doc/mini-icons.txt +508 -0
- package/nvim/plugins/mini.nvim/doc/mini-indentscope.txt +485 -0
- package/nvim/plugins/mini.nvim/doc/mini-input.txt +932 -0
- package/nvim/plugins/mini.nvim/doc/mini-jump.txt +202 -0
- package/nvim/plugins/mini.nvim/doc/mini-jump2d.txt +525 -0
- package/nvim/plugins/mini.nvim/doc/mini-keymap.txt +449 -0
- package/nvim/plugins/mini.nvim/doc/mini-map.txt +717 -0
- package/nvim/plugins/mini.nvim/doc/mini-misc.txt +431 -0
- package/nvim/plugins/mini.nvim/doc/mini-move.txt +181 -0
- package/nvim/plugins/mini.nvim/doc/mini-notify.txt +434 -0
- package/nvim/plugins/mini.nvim/doc/mini-nvim.txt +431 -0
- package/nvim/plugins/mini.nvim/doc/mini-operators.txt +472 -0
- package/nvim/plugins/mini.nvim/doc/mini-pairs.txt +346 -0
- package/nvim/plugins/mini.nvim/doc/mini-pick.txt +1535 -0
- package/nvim/plugins/mini.nvim/doc/mini-sessions.txt +239 -0
- package/nvim/plugins/mini.nvim/doc/mini-snippets.txt +1291 -0
- package/nvim/plugins/mini.nvim/doc/mini-splitjoin.txt +536 -0
- package/nvim/plugins/mini.nvim/doc/mini-starter.txt +618 -0
- package/nvim/plugins/mini.nvim/doc/mini-statusline.txt +361 -0
- package/nvim/plugins/mini.nvim/doc/mini-surround.txt +863 -0
- package/nvim/plugins/mini.nvim/doc/mini-tabline.txt +151 -0
- package/nvim/plugins/mini.nvim/doc/mini-test.txt +966 -0
- package/nvim/plugins/mini.nvim/doc/mini-trailspace.txt +91 -0
- package/nvim/plugins/mini.nvim/doc/mini-visits.txt +937 -0
- package/nvim/plugins/mini.nvim/logo.png +0 -0
- package/nvim/plugins/mini.nvim/lua/mini/ai.lua +2244 -0
- package/nvim/plugins/mini.nvim/lua/mini/align.lua +2076 -0
- package/nvim/plugins/mini.nvim/lua/mini/animate.lua +2127 -0
- package/nvim/plugins/mini.nvim/lua/mini/base16.lua +1752 -0
- package/nvim/plugins/mini.nvim/lua/mini/basics.lua +772 -0
- package/nvim/plugins/mini.nvim/lua/mini/bracketed.lua +2013 -0
- package/nvim/plugins/mini.nvim/lua/mini/bufremove.lua +283 -0
- package/nvim/plugins/mini.nvim/lua/mini/clue.lua +2096 -0
- package/nvim/plugins/mini.nvim/lua/mini/cmdline.lua +1182 -0
- package/nvim/plugins/mini.nvim/lua/mini/colors.lua +2483 -0
- package/nvim/plugins/mini.nvim/lua/mini/comment.lua +586 -0
- package/nvim/plugins/mini.nvim/lua/mini/completion.lua +2094 -0
- package/nvim/plugins/mini.nvim/lua/mini/cursorword.lua +311 -0
- package/nvim/plugins/mini.nvim/lua/mini/deps.lua +1660 -0
- package/nvim/plugins/mini.nvim/lua/mini/diff.lua +1938 -0
- package/nvim/plugins/mini.nvim/lua/mini/doc.lua +1371 -0
- package/nvim/plugins/mini.nvim/lua/mini/extra.lua +2290 -0
- package/nvim/plugins/mini.nvim/lua/mini/files.lua +3145 -0
- package/nvim/plugins/mini.nvim/lua/mini/fuzzy.lua +356 -0
- package/nvim/plugins/mini.nvim/lua/mini/git.lua +1737 -0
- package/nvim/plugins/mini.nvim/lua/mini/hipatterns.lua +1042 -0
- package/nvim/plugins/mini.nvim/lua/mini/hues.lua +2088 -0
- package/nvim/plugins/mini.nvim/lua/mini/icons.lua +2254 -0
- package/nvim/plugins/mini.nvim/lua/mini/indentscope.lua +1158 -0
- package/nvim/plugins/mini.nvim/lua/mini/init.lua +427 -0
- package/nvim/plugins/mini.nvim/lua/mini/input.lua +2183 -0
- package/nvim/plugins/mini.nvim/lua/mini/jump.lua +609 -0
- package/nvim/plugins/mini.nvim/lua/mini/jump2d.lua +1244 -0
- package/nvim/plugins/mini.nvim/lua/mini/keymap.lua +880 -0
- package/nvim/plugins/mini.nvim/lua/mini/map.lua +1709 -0
- package/nvim/plugins/mini.nvim/lua/mini/misc.lua +969 -0
- package/nvim/plugins/mini.nvim/lua/mini/move.lua +509 -0
- package/nvim/plugins/mini.nvim/lua/mini/notify.lua +938 -0
- package/nvim/plugins/mini.nvim/lua/mini/operators.lua +1349 -0
- package/nvim/plugins/mini.nvim/lua/mini/pairs.lua +657 -0
- package/nvim/plugins/mini.nvim/lua/mini/pick.lua +3876 -0
- package/nvim/plugins/mini.nvim/lua/mini/sessions.lua +689 -0
- package/nvim/plugins/mini.nvim/lua/mini/snippets.lua +2828 -0
- package/nvim/plugins/mini.nvim/lua/mini/splitjoin.lua +1132 -0
- package/nvim/plugins/mini.nvim/lua/mini/starter.lua +1599 -0
- package/nvim/plugins/mini.nvim/lua/mini/statusline.lua +686 -0
- package/nvim/plugins/mini.nvim/lua/mini/surround.lua +2388 -0
- package/nvim/plugins/mini.nvim/lua/mini/tabline.lua +564 -0
- package/nvim/plugins/mini.nvim/lua/mini/test.lua +2516 -0
- package/nvim/plugins/mini.nvim/lua/mini/trailspace.lua +215 -0
- package/nvim/plugins/mini.nvim/lua/mini/visits.lua +1577 -0
- package/nvim/plugins/mini.nvim/readmes/mini-ai.md +190 -0
- package/nvim/plugins/mini.nvim/readmes/mini-align.md +203 -0
- package/nvim/plugins/mini.nvim/readmes/mini-animate.md +214 -0
- package/nvim/plugins/mini.nvim/readmes/mini-base16.md +198 -0
- package/nvim/plugins/mini.nvim/readmes/mini-basics.md +184 -0
- package/nvim/plugins/mini.nvim/readmes/mini-bracketed.md +193 -0
- package/nvim/plugins/mini.nvim/readmes/mini-bufremove.md +139 -0
- package/nvim/plugins/mini.nvim/readmes/mini-clue.md +260 -0
- package/nvim/plugins/mini.nvim/readmes/mini-cmdline.md +183 -0
- package/nvim/plugins/mini.nvim/readmes/mini-colors.md +169 -0
- package/nvim/plugins/mini.nvim/readmes/mini-comment.md +183 -0
- package/nvim/plugins/mini.nvim/readmes/mini-completion.md +217 -0
- package/nvim/plugins/mini.nvim/readmes/mini-cursorword.md +137 -0
- package/nvim/plugins/mini.nvim/readmes/mini-deps.md +271 -0
- package/nvim/plugins/mini.nvim/readmes/mini-diff.md +289 -0
- package/nvim/plugins/mini.nvim/readmes/mini-doc.md +198 -0
- package/nvim/plugins/mini.nvim/readmes/mini-extra.md +158 -0
- package/nvim/plugins/mini.nvim/readmes/mini-files.md +247 -0
- package/nvim/plugins/mini.nvim/readmes/mini-fuzzy.md +134 -0
- package/nvim/plugins/mini.nvim/readmes/mini-git.md +168 -0
- package/nvim/plugins/mini.nvim/readmes/mini-hipatterns.md +176 -0
- package/nvim/plugins/mini.nvim/readmes/mini-hues.md +285 -0
- package/nvim/plugins/mini.nvim/readmes/mini-icons.md +183 -0
- package/nvim/plugins/mini.nvim/readmes/mini-indentscope.md +191 -0
- package/nvim/plugins/mini.nvim/readmes/mini-input.md +163 -0
- package/nvim/plugins/mini.nvim/readmes/mini-jump.md +161 -0
- package/nvim/plugins/mini.nvim/readmes/mini-jump2d.md +197 -0
- package/nvim/plugins/mini.nvim/readmes/mini-keymap.md +205 -0
- package/nvim/plugins/mini.nvim/readmes/mini-map.md +191 -0
- package/nvim/plugins/mini.nvim/readmes/mini-misc.md +145 -0
- package/nvim/plugins/mini.nvim/readmes/mini-move.md +163 -0
- package/nvim/plugins/mini.nvim/readmes/mini-notify.md +175 -0
- package/nvim/plugins/mini.nvim/readmes/mini-operators.md +193 -0
- package/nvim/plugins/mini.nvim/readmes/mini-pairs.md +158 -0
- package/nvim/plugins/mini.nvim/readmes/mini-pick.md +340 -0
- package/nvim/plugins/mini.nvim/readmes/mini-sessions.md +164 -0
- package/nvim/plugins/mini.nvim/readmes/mini-snippets.md +373 -0
- package/nvim/plugins/mini.nvim/readmes/mini-splitjoin.md +194 -0
- package/nvim/plugins/mini.nvim/readmes/mini-starter.md +176 -0
- package/nvim/plugins/mini.nvim/readmes/mini-statusline.md +155 -0
- package/nvim/plugins/mini.nvim/readmes/mini-surround.md +190 -0
- package/nvim/plugins/mini.nvim/readmes/mini-tabline.md +156 -0
- package/nvim/plugins/mini.nvim/readmes/mini-test.md +175 -0
- package/nvim/plugins/mini.nvim/readmes/mini-trailspace.md +137 -0
- package/nvim/plugins/mini.nvim/readmes/mini-visits.md +243 -0
- package/nvim/plugins/mini.nvim/scripts/dual_log.sh +13 -0
- package/nvim/plugins/mini.nvim/scripts/dual_push.sh +15 -0
- package/nvim/plugins/mini.nvim/scripts/dual_release.sh +102 -0
- package/nvim/plugins/mini.nvim/scripts/dual_sync.sh +115 -0
- package/nvim/plugins/mini.nvim/scripts/init-deps-example.lua +59 -0
- package/nvim/plugins/mini.nvim/scripts/lint-filename-length.sh +16 -0
- package/nvim/plugins/mini.nvim/scripts/lintcommit-ci.sh +18 -0
- package/nvim/plugins/mini.nvim/scripts/lintcommit.lua +393 -0
- package/nvim/plugins/mini.nvim/scripts/minidoc.lua +57 -0
- package/nvim/plugins/mini.nvim/scripts/minimal_init.lua +28 -0
- package/nvim/plugins/mini.nvim/scripts/minitest.lua +4 -0
- package/package.json +16 -0
- package/pyproject.toml +43 -0
- package/yazi/init.lua +12 -0
- package/yazi/keymap.toml +114 -0
- package/yazi/lesskey +5 -0
- package/yazi/plugins/bookmarks.yazi/main.lua +86 -0
- package/yazi/plugins/cd-git-root.yazi/main.lua +31 -0
- package/yazi/plugins/smart-enter.yazi/main.lua +11 -0
- package/yazi/theme.toml +26 -0
- package/yazi/yazi.toml +15 -0
- package/zsh/.zshrc +145 -0
- package/zsh/starship.toml +20 -0
- package/zsh/zsh-patina.toml +2 -0
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)
|
package/yazi/keymap.toml
ADDED
|
@@ -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,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 }
|
package/yazi/theme.toml
ADDED
|
@@ -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"
|