retrovim 0.0.4 → 0.0.5

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.
@@ -1,19 +1,19 @@
1
1
  # https://rattler-build.prefix.dev/latest/tutorials/repackaging
2
- # rattler-build build --recipe retrovim.yaml --target-platform linux-64 --output-dir retronvim-channel
3
- # rattler-build build --recipe retrovim.yaml --target-platform linux-aarch64 --output-dir retronvim-channel
4
- # rattler-build build --recipe retrovim.yaml --target-platform osx-64 --output-dir retronvim-channel
5
- # rattler-build build --recipe retrovim.yaml --target-platform osx-arm64 --output-dir retronvim-channel
6
- # rattler-build build --recipe retrovim.yaml --target-platform win-64 --output-dir retronvim-channel
2
+ # rattler-build build --recipe retrovim.yaml --target-platform linux-64 --output-dir retrovim-channel
3
+ # rattler-build build --recipe retrovim.yaml --target-platform linux-aarch64 --output-dir retrovim-channel
4
+ # rattler-build build --recipe retrovim.yaml --target-platform osx-64 --output-dir retrovim-channel
5
+ # rattler-build build --recipe retrovim.yaml --target-platform osx-arm64 --output-dir retrovim-channel
6
+ # rattler-build build --recipe retrovim.yaml --target-platform win-64 --output-dir retrovim-channel
7
7
 
8
8
  # https://pixi.prefix.dev/dev/reference/cli/pixi/clean/cache
9
9
  # pixi clean cache --build --yes
10
10
 
11
11
  # https://pixi.prefix.dev/dev/reference/cli/pixi/global/install
12
- # pixi g install --path ./retronvim-channel/linux-64/*conda -c retronvim -c conda-forge
13
- # pixi g install --path ./retronvim-channel/linux-aarch64/*conda -c retronvim -c conda-forge
14
- # pixi g install --path ./retronvim-channel/osx-64/*conda -c retronvim -c conda-forge
15
- # pixi g install --path ./retronvim-channel/osx-aarch64/*conda -c retronvim -c conda-forge
16
- # pixi g install --path ./retronvim-channel/win-64/*conda -c retronvim -c conda-forge
12
+ # pixi g install --path ./retrovim-channel/linux-64/*conda -c retronvim -c conda-forge
13
+ # pixi g install --path ./retrovim-channel/linux-aarch64/*conda -c retronvim -c conda-forge
14
+ # pixi g install --path ./retrovim-channel/osx-64/*conda -c retronvim -c conda-forge
15
+ # pixi g install --path ./retrovim-channel/osx-aarch64/*conda -c retronvim -c conda-forge
16
+ # pixi g install --path ./retrovim-channel/win-64/*conda -c retronvim -c conda-forge
17
17
 
18
18
  # https://rattler-build.prefix.dev/latest/getting_started/#authentication
19
19
  # rattler-build auth login anaconda.org --conda-token $ANACONDA_API_KEY
@@ -26,7 +26,7 @@
26
26
  # rattler-build publish --recipe retrovim.yaml --target-platform win-64 --to https://anaconda.org/retronvim
27
27
 
28
28
  context:
29
- version: 0.0.4
29
+ version: 0.0.5
30
30
 
31
31
  package:
32
32
  name: retrovim
@@ -43,11 +43,6 @@ source:
43
43
  build:
44
44
  # number: 0 # build version
45
45
 
46
- dynamic_linking:
47
- # fixes macos builds from linux: failed to find `install_name_tool`
48
- # https://rattler-build.prefix.dev/latest/build_options/#dynamic-linking-configuration
49
- binary_relocation: false
50
-
51
46
  script:
52
47
  interpreter: bash
53
48
  content:
@@ -77,8 +72,8 @@ build:
77
72
 
78
73
  cat >> $PREFIX/bin/nvim <<< '#!/bin/bash'
79
74
  cat >> $PREFIX/bin/nvim <<< 'export CONDA_PREFIX=${CONDA_PREFIX:-$(dirname $(dirname $(realpath $0)))}'
80
- cat >> $PREFIX/bin/nvim <<< 'export SHELL=zsh'
81
75
  cat >> $PREFIX/bin/nvim <<< 'export RETRONVIM_PREFIX=$CONDA_PREFIX/opt/retrovim'
76
+ cat >> $PREFIX/bin/nvim <<< 'export SHELL=zsh'
82
77
  cat >> $PREFIX/bin/nvim <<< 'export VIMINIT="luafile $CONDA_PREFIX/opt/retrovim/nvim/init.lua"'
83
78
  cat >> $PREFIX/bin/nvim <<< 'export ZDOTDIR="$CONDA_PREFIX/opt/retrovim/zsh"'
84
79
  cat >> $PREFIX/bin/nvim <<< 'cp --update $CONDA_PREFIX/__clobbers__/nvim/bin/nvim $CONDA_PREFIX/bin/nvim.0.12'
@@ -96,12 +91,12 @@ build:
96
91
  ############################################################################################################################
97
92
 
98
93
  cat >> $PREFIX/bin/yazi <<< '#!/bin/bash'
99
- cat >> $PREFIX/bin/yazi <<< 'export BAT_THEME="base16"'
100
94
  cat >> $PREFIX/bin/yazi <<< 'export CONDA_PREFIX=${CONDA_PREFIX:-$(dirname $(dirname $(realpath $0)))}'
95
+ cat >> $PREFIX/bin/yazi <<< 'export BAT_THEME="base16"'
101
96
  cat >> $PREFIX/bin/yazi <<< 'export FZF_DEFAULT_OPTS='\''--color "hl:-1:reverse,hl+:-1:reverse" --preview "bat --color=always {}" --preview-window=hidden --bind "?:toggle-preview" --multi'\'
102
97
  cat >> $PREFIX/bin/yazi <<< 'export LESS="--ignore-case"'
103
- cat >> $PREFIX/bin/yazi <<< 'export LESSKEYIN="$CONDA_PREFIX/opt/retrovim/yazi/lesskey"'
104
98
  cat >> $PREFIX/bin/yazi <<< 'export LESSHISTFILE="-"'
99
+ cat >> $PREFIX/bin/yazi <<< 'export LESSKEYIN="$CONDA_PREFIX/opt/retrovim/yazi/lesskey"'
105
100
  cat >> $PREFIX/bin/yazi <<< 'export YAZI_CONFIG_HOME="$CONDA_PREFIX/opt/retrovim/yazi"'
106
101
  cat >> $PREFIX/bin/yazi <<< 'exec $CONDA_PREFIX/__clobbers__/yazi/bin/yazi "$@"'
107
102
  chmod +x $PREFIX/bin/yazi
@@ -121,6 +116,20 @@ build:
121
116
 
122
117
  ############################################################################################################################
123
118
 
119
+ mkdir -p $PREFIX/etc/conda/activate.d
120
+ cat >> $PREFIX/etc/conda/activate.d/retrovim.bat <<< 'set "VIMINIT=luafile %CONDA_PREFIX%/opt/retrovim/nvim/init.lua"'
121
+ cat >> $PREFIX/etc/conda/activate.d/retrovim.bat <<< 'set BAT_THEME=base16'
122
+ cat >> $PREFIX/etc/conda/activate.d/retrovim.bat <<< 'set FZF_DEFAULT_OPTS=--color "hl:-1:reverse,hl+:-1:reverse" --preview "bat --color=always {}" --preview-window=hidden --bind "?:toggle-preview" --multi'
123
+ cat >> $PREFIX/etc/conda/activate.d/retrovim.bat <<< 'set LESS=--ignore-case'
124
+ cat >> $PREFIX/etc/conda/activate.d/retrovim.bat <<< 'set LESSHISTFILE=-'
125
+ cat >> $PREFIX/etc/conda/activate.d/retrovim.bat <<< 'set LESSKEYIN=%CONDA_PREFIX%/opt/retrovim/yazi/lesskey'
126
+ cat >> $PREFIX/etc/conda/activate.d/retrovim.bat <<< 'set RETRONVIM_PREFIX=%CONDA_PREFIX%/opt/retrovim'
127
+ cat >> $PREFIX/etc/conda/activate.d/retrovim.bat <<< 'set SHELL=zsh'
128
+ cat >> $PREFIX/etc/conda/activate.d/retrovim.bat <<< 'set YAZI_CONFIG_HOME=%CONDA_PREFIX%/opt/retrovim/yazi'
129
+ cat >> $PREFIX/etc/conda/activate.d/retrovim.bat <<< 'set ZDOTDIR=%CONDA_PREFIX%/opt/retrovim/zsh'
130
+
131
+ ############################################################################################################################
132
+
124
133
  cat >> $PREFIX/bin/git.cmd <<< '@echo off'
125
134
  cat >> $PREFIX/bin/git.cmd <<< 'git.exe %*'
126
135
 
@@ -132,19 +141,18 @@ build:
132
141
 
133
142
  ############################################################################################################################
134
143
 
135
- cat >> $PREFIX/Library/bin/nvim.exe <<< ''
136
144
  cat >> $PREFIX/Library/bin/nvim.cmd <<< '@echo off'
137
145
  cat >> $PREFIX/Library/bin/nvim.cmd <<< 'set CONDA_PREFIX=%~f0\..\..\..'
138
- cat >> $PREFIX/Library/bin/nvim.cmd <<< 'set SHELL=zsh.exe'
139
- cat >> $PREFIX/Library/bin/nvim.cmd <<< 'set RETRONVIM_PREFIX=%CONDA_PREFIX%/opt/retrovim'
140
146
  cat >> $PREFIX/Library/bin/nvim.cmd <<< 'set "VIMINIT=luafile %CONDA_PREFIX%/opt/retrovim/nvim/init.lua"'
141
- cat >> $PREFIX/Library/bin/nvim.cmd <<< 'set ZDOTDIR=%CONDA_PREFIX%/opt/retrovim/zsh'
142
147
  cat >> $PREFIX/Library/bin/nvim.cmd <<< 'set BAT_THEME=base16'
143
148
  cat >> $PREFIX/Library/bin/nvim.cmd <<< 'set FZF_DEFAULT_OPTS=--color "hl:-1:reverse,hl+:-1:reverse" --preview "bat --color=always {}" --preview-window=hidden --bind "?:toggle-preview" --multi'
144
149
  cat >> $PREFIX/Library/bin/nvim.cmd <<< 'set LESS=--ignore-case'
145
- cat >> $PREFIX/Library/bin/nvim.cmd <<< 'set LESSKEYIN=%CONDA_PREFIX%/opt/retrovim/yazi/lesskey'
146
150
  cat >> $PREFIX/Library/bin/nvim.cmd <<< 'set LESSHISTFILE=-'
151
+ cat >> $PREFIX/Library/bin/nvim.cmd <<< 'set LESSKEYIN=%CONDA_PREFIX%/opt/retrovim/yazi/lesskey'
152
+ cat >> $PREFIX/Library/bin/nvim.cmd <<< 'set RETRONVIM_PREFIX=%CONDA_PREFIX%/opt/retrovim'
153
+ cat >> $PREFIX/Library/bin/nvim.cmd <<< 'set SHELL=zsh.exe'
147
154
  cat >> $PREFIX/Library/bin/nvim.cmd <<< 'set YAZI_CONFIG_HOME=%CONDA_PREFIX%/opt/retrovim/yazi'
155
+ cat >> $PREFIX/Library/bin/nvim.cmd <<< 'set ZDOTDIR=%CONDA_PREFIX%/opt/retrovim/zsh'
148
156
  cat >> $PREFIX/Library/bin/nvim.cmd <<< 'nvim %*'
149
157
 
150
158
  ############################################################################################################################
@@ -158,16 +166,16 @@ build:
158
166
 
159
167
  cat >> $PREFIX/bin/yazi.cmd <<< '@echo off'
160
168
  cat >> $PREFIX/bin/yazi.cmd <<< 'set CONDA_PREFIX=%~f0\..\..'
161
- cat >> $PREFIX/bin/yazi.cmd <<< 'set SHELL=zsh.exe'
162
- cat >> $PREFIX/bin/yazi.cmd <<< 'set RETRONVIM_PREFIX=%CONDA_PREFIX%/opt/retrovim'
163
169
  cat >> $PREFIX/bin/yazi.cmd <<< 'set "VIMINIT=luafile %CONDA_PREFIX%/opt/retrovim/nvim/init.lua"'
164
- cat >> $PREFIX/bin/yazi.cmd <<< 'set ZDOTDIR=%CONDA_PREFIX%/opt/retrovim/zsh'
165
170
  cat >> $PREFIX/bin/yazi.cmd <<< 'set BAT_THEME=base16'
166
171
  cat >> $PREFIX/bin/yazi.cmd <<< 'set FZF_DEFAULT_OPTS=--color "hl:-1:reverse,hl+:-1:reverse" --preview "bat --color=always {}" --preview-window=hidden --bind "?:toggle-preview" --multi'
167
172
  cat >> $PREFIX/bin/yazi.cmd <<< 'set LESS=--ignore-case'
168
- cat >> $PREFIX/bin/yazi.cmd <<< 'set LESSKEYIN=%CONDA_PREFIX%/opt/retrovim/yazi/lesskey'
169
173
  cat >> $PREFIX/bin/yazi.cmd <<< 'set LESSHISTFILE=-'
174
+ cat >> $PREFIX/bin/yazi.cmd <<< 'set LESSKEYIN=%CONDA_PREFIX%/opt/retrovim/yazi/lesskey'
175
+ cat >> $PREFIX/bin/yazi.cmd <<< 'set RETRONVIM_PREFIX=%CONDA_PREFIX%/opt/retrovim'
176
+ cat >> $PREFIX/bin/yazi.cmd <<< 'set SHELL=zsh.exe'
170
177
  cat >> $PREFIX/bin/yazi.cmd <<< 'set YAZI_CONFIG_HOME=%CONDA_PREFIX%/opt/retrovim/yazi'
178
+ cat >> $PREFIX/bin/yazi.cmd <<< 'set ZDOTDIR=%CONDA_PREFIX%/opt/retrovim/zsh'
171
179
  cat >> $PREFIX/bin/yazi.cmd <<< 'yazi.exe %*'
172
180
 
173
181
  ############################################################################################################################
@@ -228,7 +236,6 @@ requirements:
228
236
  - 7zip=26.00
229
237
  - bat=0.26.1
230
238
  - eza=0.23.4
231
- - fd-find=10.4.2
232
239
  - font-fira-code-nerd-font=3.4.0
233
240
  - fzf=0.70.0
234
241
  - git
@@ -0,0 +1,42 @@
1
+ # https://rattler-build.prefix.dev/latest/tutorials/repackaging
2
+ # rattler-build build --recipe sqls.yaml --target-platform win-64 --output-dir sqls-channel
3
+
4
+ # https://pixi.prefix.dev/dev/reference/cli/pixi/clean/cache
5
+ # pixi clean cache --build --yes
6
+
7
+ # https://pixi.prefix.dev/dev/reference/cli/pixi/global/install
8
+ # pixi g install --path ./sqls-channel/win-64/sqls-0.2.47-h9490d1a_0.conda
9
+
10
+ # https://rattler-build.prefix.dev/latest/getting_started/#authentication
11
+ # rattler-build auth login anaconda.org --conda-token $ANACONDA_API_KEY
12
+
13
+ # https://rattler-build.prefix.dev/latest/getting_started/#publishing-the-package
14
+ # rattler-build publish --recipe sqls.yaml --target-platform win-64 --to https://anaconda.org/retronvim
15
+
16
+ context:
17
+ version: 0.2.45
18
+
19
+ package:
20
+ name: sqls
21
+ version: ${{ version }}
22
+
23
+ source:
24
+ - if: win
25
+ then:
26
+ - url: https://github.com/sqls-server/sqls/releases/download/v${{ version }}/sqls-windows-${{ version }}.zip
27
+
28
+ build:
29
+ script:
30
+ interpreter: bash
31
+ content:
32
+ - mkdir -p $PREFIX/bin
33
+ - cp -r sqls.exe $PREFIX/bin
34
+
35
+ tests:
36
+ - package_contents:
37
+ bin:
38
+ - sqls.exe
39
+
40
+ about:
41
+ summary: SQL language server written in Go.
42
+ repository: https://github.com/sqls-server/sqls
@@ -1,8 +1,3 @@
1
- # ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
2
- # │ systemctl start docker && act -s VSCE_TOKEN -s GITHUB_TOKEN="$(gh auth token)" -j upload-release --artifact-server-path ./artifacts --action-offline-mode --action-cache-path "$HOME/.cache/act" │
3
- # ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
4
-
5
- # https://github.com/nektos/act/issues/2433
6
1
  name: Upload_Release
7
2
 
8
3
  on:
@@ -25,78 +20,87 @@ env:
25
20
 
26
21
  # https://github.com/googleapis/release-please-action?tab=readme-ov-file#workflow-permissions
27
22
  # GitHub requires `issues: write` permission for label management since labels are shared between issues and pull requests
23
+ # https://github.com/googleapis/release-please-action/issues/1070 <-> release-please failed Resource not accessible by integration
24
+ # https://github.com/cli/cli/issues/9514 <-> release-please failed Resource not accessible by integration
28
25
  permissions:
29
26
  contents: write
30
27
  pull-requests: write
31
28
  issues: write
29
+ id-token: write # Required for PyPI/npm Trusted Publishing (OIDC)
30
+ # workflows: write
32
31
 
33
32
  jobs:
34
- upload-release:
35
- runs-on: ubuntu-latest
36
33
 
34
+ # https://www.youtube.com/watch?v=P0wAXh5UOnM
35
+ # ╭────────────────────────────────────────────────────────────────────────────────────────────────────────╮
36
+ # to retrigger remove the github release, tag then --> │ git pull --rebase --> lazygit remove github-action commit and ammend your changes --> git push --force │
37
+ # ╰────────────────────────────────────────────────────────────────────────────────────────────────────────╯
38
+ release-please:
39
+ runs-on: ubuntu-latest
40
+ outputs:
41
+ release_created: ${{ steps.release.outputs.release_created }}
42
+ tag_name: ${{ steps.release.outputs.tag_name }}
37
43
  steps:
38
- # ==========================================================
39
- # 1. create release bot
40
- # ==========================================================
41
- # https://www.youtube.com/watch?v=P0wAXh5UOnM
42
- # ╭────────────────────────────────────────────────────────────────────────────────────────────────────────╮
43
- # to retrigger remove the github release, tag then --> │ git pull --rebase --> lazygit remove github-action commit and ammend your changes --> git push --force │
44
- # ╰────────────────────────────────────────────────────────────────────────────────────────────────────────╯
45
44
  - uses: googleapis/release-please-action@v4
46
45
  id: release
47
46
  with:
48
47
  release-type: node
49
48
 
50
- # ==========================================================
51
- # 2. Checkout repo
52
- # ==========================================================
53
- - name: Checkout 🛬
54
- if: ${{ steps.release.outputs.release_created }}
55
- uses: actions/checkout@v4
56
-
57
- # ==========================================================
58
- # 3. Install dependencies
59
- # ==========================================================
60
- - name: Install rattler-build, uv and npm 🧰
61
- if: ${{ steps.release.outputs.release_created }}
62
- run: |
63
- git submodule update --init --depth 1
64
-
65
- curl -L pixi.sh/install.sh | sh
66
- export PATH="$HOME/.pixi/bin:$PATH"
67
- pixi global install rattler-build uv
49
+ npm-publish:
50
+ needs: release-please
51
+ if: ${{ needs.release-please.outputs.release_created }}
52
+ runs-on: ubuntu-latest
53
+ environment: npm
54
+ steps:
55
+ - uses: actions/checkout@v4
56
+ with:
57
+ submodules: true
68
58
 
69
- - name: Setup Node auth 🔑
70
- if: ${{ steps.release.outputs.release_created }}
71
- uses: actions/setup-node@v4
59
+ - uses: actions/setup-node@v4
72
60
  with:
73
61
  registry-url: 'https://registry.npmjs.org'
74
62
 
63
+ - name: Publish to npm 🚀
64
+ run: npm publish
75
65
 
76
- # ==========================================================
77
- # 4. Publish packages
78
- # ==========================================================
79
- - name: Publish to npm, pypi and anaconda.org 🚀
80
- if: ${{ steps.release.outputs.release_created }}
66
+ pypi-publish:
67
+ needs: release-please
68
+ if: ${{ needs.release-please.outputs.release_created }}
69
+ runs-on: ubuntu-latest
70
+ environment: pip
71
+ steps:
72
+ - uses: actions/checkout@v4
73
+ with:
74
+ submodules: true
75
+
76
+ - uses: astral-sh/setup-uv@v10.0.1
77
+
78
+ - name: Publish to pypi 🚀
79
+ run: uv build && uv publish
80
+
81
+ anaconda-publish:
82
+ needs: release-please
83
+ if: ${{ needs.release-please.outputs.release_created }}
84
+ runs-on: ubuntu-latest
85
+ environment: anaconda
86
+ steps:
87
+ - uses: actions/checkout@v4
88
+ with:
89
+ submodules: true
90
+ - uses: prefix-dev/rattler-build-action@v0.2.39
91
+
92
+ - name: Publish to anaconda.org 🚀
81
93
  run: |
82
- export PATH="$HOME/.pixi/bin:$PATH"
83
94
 
84
95
  # https://rattler-build.prefix.dev/latest/getting_started/#authentication
85
96
  # https://rattler-build.prefix.dev/latest/getting_started/#publishing-the-package
86
97
  # https://rattler-build.prefix.dev/latest/getting_started/#publishing-to-anacondaorg
87
98
  rattler-build auth login anaconda.org --conda-token $ANACONDA_API_KEY
88
- rattler-build publish .conda/retrovim.yaml --target-platform linux-64 --to https://anaconda.org/retronvim --build-number=+1
89
- rattler-build publish .conda/retrovim.yaml --target-platform osx-64 --to https://anaconda.org/retronvim --build-number=+1
90
- rattler-build publish .conda/retrovim.yaml --target-platform osx-arm64 --to https://anaconda.org/retronvim --build-number=+1
91
- rattler-build publish .conda/retrovim.yaml --target-platform win-64 --to https://anaconda.org/retronvim --build-number=+1
92
-
93
- npm publish
94
- uv build && uv publish
95
-
96
- # ==========================================================
97
- # 5. Upload artifacts to GitHub Release
98
- # ==========================================================
99
- - name: Github release 📦
100
- if: ${{ steps.release.outputs.release_created }}
101
- run: |
102
- gh release upload ${{ steps.release.outputs.tag_name }} output/noarch/*.conda
99
+ rattler-build publish .conda/retrovim.yaml --target-platform linux-64 --to https://anaconda.org/retronvim --build-number=+1
100
+ rattler-build publish .conda/retrovim.yaml --target-platform linux-aarch64 --to https://anaconda.org/retronvim --build-number=+1
101
+ rattler-build publish .conda/retrovim.yaml --target-platform osx-64 --to https://anaconda.org/retronvim --build-number=+1
102
+ rattler-build publish .conda/retrovim.yaml --target-platform osx-arm64 --to https://anaconda.org/retronvim --build-number=+1
103
+ rattler-build publish .conda/retrovim.yaml --target-platform win-64 --to https://anaconda.org/retronvim --build-number=+1
104
+
105
+ - name: Github conda release 📦
106
+ run: gh release upload ${{ steps.release.outputs.tag_name }} output/*/*.conda
@@ -5,8 +5,7 @@ const fs = require('fs');
5
5
  const path = require('path');
6
6
  const os = require('os');
7
7
 
8
- const self = fs.realpathSync(process.argv[1]);
9
- process.env.RETRONVIM_PREFIX = path.dirname(path.dirname(self))
8
+ process.env.RETRONVIM_PREFIX = path.dirname(path.dirname(fs.realpathSync(process.argv[1])))
10
9
 
11
10
  const where = os.platform() === 'win32' ? 'where' : 'which';
12
11
  const dotexe = os.platform() === 'win32' ? '.exe' : '';
@@ -26,11 +25,11 @@ if (os.platform() === 'win32'){
26
25
  );
27
26
  child.unref();
28
27
  } else{
29
- execFileSync('sudo', ['--validate'], { stdio: 'inherit' });
30
28
 
31
29
  const child = spawn(
32
30
  'sudo',
33
31
  [
32
+ '--stdin',
34
33
  '--preserve-env',
35
34
  executable,
36
35
  '--cfg',
@@ -38,6 +37,5 @@ if (os.platform() === 'win32'){
38
37
  ],
39
38
  {stdio: 'inherit', detached: true,}
40
39
  );
41
- child.unref();
42
40
  }
43
41
 
package/.npm/nvim.js CHANGED
@@ -5,9 +5,7 @@ const fs = require('fs');
5
5
  const path = require('path');
6
6
  const os = require('os');
7
7
 
8
- const self = fs.realpathSync(process.argv[1]);
9
-
10
- process.env.RETRONVIM_PREFIX = path.dirname(path.dirname(self))
8
+ process.env.RETRONVIM_PREFIX = path.dirname(path.dirname(fs.realpathSync(process.argv[1])))
11
9
  process.env.SHELL = 'zsh'
12
10
  process.env.VIMINIT = `lua vim.cmd.source(vim.env.RETRONVIM_PREFIX .. [[/nvim/init.lua]])`;
13
11
  process.env.ZDOTDIR = path.join(process.env.RETRONVIM_PREFIX, 'zsh');
@@ -20,8 +18,9 @@ process.env.LESSHISTFILE = '-';
20
18
  process.env.YAZI_CONFIG_HOME = path.join(process.env.RETRONVIM_PREFIX, 'yazi');
21
19
 
22
20
  const where = os.platform() === 'win32' ? 'where' : 'which';
23
- const dotexe = os.platform() === 'win32' ? '.exe' : '';
21
+ const where_flags = os.platform() === 'win32' ? ['nvim.exe'] : ['-a', 'nvim'];
24
22
 
25
- const executable = execFileSync(where, ['nvim' + dotexe], { encoding: 'utf8' }).trim().split(/\r?\n/)[0];
23
+ const executables = execFileSync(where, where_flags, { encoding: 'utf8' })
24
+ const executable = executables.split(/\r?\n/).filter(item => item !== process.argv[1])[0] // process.argv[1] expands to full path
26
25
 
27
26
  execFileSync(executable, process.argv.slice(2), { stdio: 'inherit' });
package/.npm/yazi.js CHANGED
@@ -5,9 +5,7 @@ const fs = require('fs');
5
5
  const path = require('path');
6
6
  const os = require('os');
7
7
 
8
- const self = fs.realpathSync(process.argv[1]);
9
-
10
- process.env.RETRONVIM_PREFIX = path.dirname(path.dirname(self))
8
+ process.env.RETRONVIM_PREFIX = path.dirname(path.dirname(fs.realpathSync(process.argv[1])))
11
9
  process.env.SHELL = 'zsh'
12
10
  process.env.VIMINIT = `lua vim.cmd.source(vim.env.RETRONVIM_PREFIX .. [[/nvim/init.lua]])`;
13
11
  process.env.ZDOTDIR = path.join(process.env.RETRONVIM_PREFIX, 'zsh');
@@ -20,8 +18,9 @@ process.env.LESSHISTFILE = '-';
20
18
  process.env.YAZI_CONFIG_HOME = path.join(process.env.RETRONVIM_PREFIX, 'yazi');
21
19
 
22
20
  const where = os.platform() === 'win32' ? 'where' : 'which';
23
- const dotexe = os.platform() === 'win32' ? '.exe' : '';
21
+ const where_flags = os.platform() === 'win32' ? ['yazi.exe'] : ['-a', 'yazi'];
24
22
 
25
- const executable = execFileSync(where, ['yazi' + dotexe], { encoding: 'utf8' }).trim().split(/\r?\n/)[0];
23
+ const executables = execFileSync(where, where_flags, { encoding: 'utf8' })
24
+ const executable = executables.split(/\r?\n/).filter(item => item !== process.argv[1])[0] // process.argv[1] expands to full path
26
25
 
27
26
  execFileSync(executable, process.argv.slice(2), { stdio: 'inherit' });
package/.npm/zsh.js CHANGED
@@ -5,14 +5,13 @@ const fs = require('fs');
5
5
  const path = require('path');
6
6
  const os = require('os');
7
7
 
8
- const self = fs.realpathSync(process.argv[1]);
9
-
10
- process.env.RETRONVIM_PREFIX = path.dirname(path.dirname(self))
8
+ process.env.RETRONVIM_PREFIX = path.dirname(path.dirname(fs.realpathSync(process.argv[1])))
11
9
  process.env.ZDOTDIR = path.join(process.env.RETRONVIM_PREFIX, 'zsh');
12
10
 
13
11
  const where = os.platform() === 'win32' ? 'where' : 'which';
14
- const dotexe = os.platform() === 'win32' ? '.exe' : '';
12
+ const where_flags = os.platform() === 'win32' ? ['zsh.exe'] : ['-a', 'zsh'];
15
13
 
16
- const executable = execFileSync(where, ['zsh' + dotexe], { encoding: 'utf8' }).trim().split(/\r?\n/)[0];
14
+ const executables = execFileSync(where, where_flags, { encoding: 'utf8' })
15
+ const executable = executables.split(/\r?\n/).filter(item => item !== process.argv[1])[0] // process.argv[1] expands to full path
17
16
 
18
17
  execFileSync(executable, process.argv.slice(2), { stdio: 'inherit' });
@@ -8,7 +8,7 @@ def main():
8
8
  os.environ['RETRONVIM_PREFIX'] = os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))), 'data')
9
9
 
10
10
  where = 'where' if sys.platform == 'win32' else 'which'
11
- dotexe = 'where' if sys.platform == '.exe' else ''
11
+ dotexe = '.exe' if sys.platform == 'win32' else ''
12
12
 
13
13
  executables = subprocess.run( [where, 'kanata' + dotexe], capture_output=True, text=True )
14
14
 
@@ -26,12 +26,11 @@ def main():
26
26
  start_new_session=True
27
27
  )
28
28
  else:
29
- subprocess.run(['sudo', '--validate'], check=True)
30
-
31
29
  # Spawn detached child process running kanata
32
- subprocess.Popen(
30
+ subprocess.run(
33
31
  [
34
32
  'sudo',
33
+ '--stdin',
35
34
  '--preserve-env',
36
35
  executable,
37
36
  '--cfg',
@@ -6,7 +6,6 @@ import subprocess
6
6
 
7
7
  def main():
8
8
  os.environ['RETRONVIM_PREFIX'] = os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))), 'data')
9
-
10
9
  os.environ['SHELL'] = 'zsh'
11
10
  os.environ['VIMINIT'] = f"lua vim.cmd.source(vim.env.RETRONVIM_PREFIX .. [[/nvim/init.lua]])"
12
11
  os.environ['ZDOTDIR'] = os.environ['RETRONVIM_PREFIX'] + '/zsh'
@@ -18,12 +17,11 @@ def main():
18
17
  os.environ['LESSHISTFILE'] = '-'
19
18
  os.environ['YAZI_CONFIG_HOME'] = os.path.join(os.environ['RETRONVIM_PREFIX'], 'yazi')
20
19
 
21
- where = 'where' if sys.platform == 'win32' else 'which'
22
- dotexe = 'where' if sys.platform == '.exe' else ''
23
-
24
- executables = subprocess.run( [where, 'nvim' + dotexe], capture_output=True, text=True )
20
+ where_nvim = ['where', 'nvim.exe'] if sys.platform == 'win32' else ['which', '-a', 'nvim']
21
+ dotexe = '.exe' if sys.platform == 'win32' else ''
25
22
 
26
- executable = executables.stdout.splitlines()[1] if sys.platform == 'win32' else executables.stdout.splitlines()[0]
23
+ executables = subprocess.run( where_nvim, capture_output=True, text=True ).stdout.splitlines()
24
+ executable = [item for item in executables if item != sys.argv[0] + dotexe][0]
27
25
 
28
26
  subprocess.run([executable] + sys.argv[1:])
29
27
 
@@ -6,7 +6,6 @@ import subprocess
6
6
 
7
7
  def main():
8
8
  os.environ['RETRONVIM_PREFIX'] = os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))), 'data')
9
-
10
9
  os.environ['SHELL'] = 'zsh'
11
10
  os.environ['VIMINIT'] = f"lua vim.cmd.source(vim.env.RETRONVIM_PREFIX .. [[/nvim/init.lua]])"
12
11
  os.environ['ZDOTDIR'] = os.environ['RETRONVIM_PREFIX'] + '/zsh'
@@ -18,12 +17,11 @@ def main():
18
17
  os.environ['LESSHISTFILE'] = '-'
19
18
  os.environ['YAZI_CONFIG_HOME'] = os.path.join(os.environ['RETRONVIM_PREFIX'], 'yazi')
20
19
 
21
- where = 'where' if sys.platform == 'win32' else 'which'
22
- dotexe = 'where' if sys.platform == '.exe' else ''
23
-
24
- executables = subprocess.run( [where, 'yazi' + dotexe], capture_output=True, text=True )
20
+ where_yazi = ['where', 'yazi.exe'] if sys.platform == 'win32' else ['which', '-a', 'yazi']
21
+ dotexe = '.exe' if sys.platform == 'win32' else ''
25
22
 
26
- executable = executables.stdout.splitlines()[1] if sys.platform == 'win32' else executables.stdout.splitlines()[0]
23
+ executables = subprocess.run( where_yazi, capture_output=True, text=True ).stdout.splitlines()
24
+ executable = [item for item in executables if item != sys.argv[0] + dotexe][0]
27
25
 
28
26
  subprocess.run([executable] + sys.argv[1:])
29
27
 
@@ -8,12 +8,12 @@ def main():
8
8
  os.environ['RETRONVIM_PREFIX'] = os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))), 'data')
9
9
  os.environ['ZDOTDIR'] = os.path.join(os.environ['RETRONVIM_PREFIX'], 'zsh')
10
10
 
11
- where = 'where' if sys.platform == 'win32' else 'which'
12
- dotexe = 'where' if sys.platform == '.exe' else ''
13
11
 
14
- executables = subprocess.run( [where, 'zsh' + dotexe], capture_output=True, text=True )
12
+ where_zsh = ['where', 'zsh.exe'] if sys.platform == 'win32' else ['which', '-a', 'zsh']
13
+ dotexe = '.exe' if sys.platform == 'win32' else ''
15
14
 
16
- executable = executables.stdout.splitlines()[1] if sys.platform == 'win32' else executables.stdout.splitlines()[0]
15
+ executables = subprocess.run( where_zsh, capture_output=True, text=True ).stdout.splitlines()
16
+ executable = [item for item in executables if item != sys.argv[0] + dotexe][0]
17
17
 
18
18
  subprocess.run([executable] + sys.argv[1:])
19
19
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.0.5](https://github.com/YeferYV/RetroVim/compare/v0.0.4...v0.0.5) (2026-08-18)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * **.pip,.npm:** exclude itself from PATH to prevent loop ([2446f65](https://github.com/YeferYV/RetroVim/commit/2446f65811ed68ece6d73bd1639bd2be92aa9f6d))
9
+ * **release.yml:** release-please failed Resource not accessible by integration ([0544fd1](https://github.com/YeferYV/RetroVim/commit/0544fd192050d30191fb35eb0884101b08fcd940))
10
+ * **retrovim.yaml:** trampoline_configuration/nvim.json prefers nvim.exe instead of nvim.cmd ([84db5dd](https://github.com/YeferYV/RetroVim/commit/84db5dd1a821dd5e7863751b5afc92b9a7a4f4a4))
11
+ * **zsh:** builtin zsh-autosuggestions clear ghost text after pressing enter ([26fde6d](https://github.com/YeferYV/RetroVim/commit/26fde6d6844bb89b25f08d20f1750b50d318f9bb))
12
+ * **zsh:** terax shell integration changes $ZDOTDIR ([a327270](https://github.com/YeferYV/RetroVim/commit/a327270c6a7d4fc7651c2acbe28adbffbd305faf))
13
+
3
14
  ## [0.0.4](https://github.com/YeferYV/RetroVim/compare/v0.0.3...v0.0.4) (2026-08-07)
4
15
 
5
16
 
package/README.md CHANGED
@@ -147,26 +147,25 @@ terax-terminal preconfigured with neovim IDE + yazi builtin plugins + zsh builti
147
147
 
148
148
  <details open><summary></summary>
149
149
 
150
- | keymap | description |
151
- | :-----------------: | :--------------------------------------------------------- |
152
- | `<tab>` | show (dash/path) options or complete path |
153
- | `<tab><tab>` | enter completion menu |
154
- | `<esc><esc>` | tmux-copy-mode-like / normal-mode (inside neovim terminal) |
155
- | `shift+escape` | tmux-copy-mode-like / normal-mode (inside neovim terminal) |
156
- | `nvim<enter>` | open retronvim's neovim IDE (`<space>` to open whichkey) |
157
- | `y<enter>` | open yazi (changes directory on exit) |
150
+ | keymap | description |
151
+ | :------------------ | :--------------------------------------------------------- |
152
+ | `<tab>` | show (dash/path) options or complete path |
153
+ | `<tab><tab>` | enter completion menu |
154
+ | `<esc><esc>` | tmux-copy-mode-like / normal-mode (inside neovim terminal) |
155
+ | `nvim<enter>` | open retronvim's neovim IDE (`<space>` to open whichkey) |
156
+ | `y<enter>` | open yazi (changes directory on exit) |
158
157
  | `alt+o` or `<esc>o` | open yazi (even while writing commands) |
159
158
  | `alt+h` or `<esc>` | enter vim-mode |
160
- | `alt+l` | complete inline/ghost suggestion and enter vim-mode |
161
- | `alt+j` | prev shell history and enter vim-mode |
162
- | `alt+k` | next shell history and enter vim-mode |
163
- | `Up` | prev shell history |
164
- | `Down` | next shell history |
165
- | `ctrl+r` | search history with fzf |
166
- | `ctrl+l` | clear screen |
167
- | `ctrl+alt+l` | clear screen (inside neovim terminal or vscode terminal) |
168
- | `ctrl+d` | exit signal |
169
- | `ctrl+c` | cancel signal |
159
+ | `alt+l` | complete inline/ghost suggestion |
160
+ | `alt+j` | prev shell history and enter vim-mode |
161
+ | `alt+k` | next shell history and enter vim-mode |
162
+ | `Up` | prev shell history |
163
+ | `Down` | next shell history |
164
+ | `ctrl+r` | search history with fzf |
165
+ | `ctrl+l` | clear screen |
166
+ | `ctrl+alt+l` | clear screen (inside neovim terminal or vscode terminal) |
167
+ | `ctrl+d` | exit signal |
168
+ | `ctrl+c` | cancel signal |
170
169
 
171
170
  </details>
172
171
 
@@ -190,9 +189,9 @@ lctl lmet @alt @spc @sft rmet rctl
190
189
 
191
190
  ```
192
191
  _ f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 _
193
- _ @M↑ del @m↑ @clr @m🡠 _ _ _ _ _ _ _ _
194
- _ @M↓ @bsp @m↓ spc @m🡪 @🡠 @↓ @↑ @🡪 @yaz _ _
195
- _ _ _ _ caps @¿ @ñ pgup home end pgdn _ _
192
+ _ @W↑ del @w↑ @clr @w🡠 @m🡠 @m↓ @m↑ @m🡪 _ _ _ _
193
+ _ @W↓ @bsp @w↓ spc @w🡪 @🡠 @↓ @↑ @🡪 @yaz _ _
194
+ _ caps @¿ @ñ mmid mlft mrgt pgup home end pgdn _ _
196
195
  _ _ _ _ _ _ _
197
196
  ```
198
197
 
@@ -204,26 +203,35 @@ _ _ _ _ _ _ _
204
203
  | @alt | tap for middle click, hold for LeftAlt | `LAlt+l = LAlt+l` |
205
204
  | @spc | tap for space, hold for touchcursor layer, release for qwerty layer | `space+jj = DownArrow + DownArrow` |
206
205
  | @; | tap for semicolon, hold for ctrl | `;+click = OpenInNewTab (chrome)` |
206
+ | @bsp | backspace key | `space+s` |
207
207
  | @clr | clear screen on any shell | `space+r` |
208
- | @¿ | unicode ¿ | `space+v` |
209
- | | unicode ñ | `space+b` |
210
- | @m🡠 | mouse scrolling left | `space+t` |
211
- | @m🡪 | mouse scrolling right | `space+g` |
212
- | @m↑ | mouse scrolling up | `space+e` |
213
- | @m↓ | mouse scrolling down | `space+d` |
214
- | @M↑ | mouse fast scrolling up | `space+q` |
215
- | @M↓ | mouse fast scrolling down | `space+a` |
208
+ | @w🡠 | mouse scrolling left | `space+t` |
209
+ | @w🡪 | mouse scrolling right | `space+g` |
210
+ | @w↑ | mouse scrolling up | `space+e` |
211
+ | @w↓ | mouse scrolling down | `space+d` |
212
+ | @W↑ | mouse fast scrolling up | `space+q` |
213
+ | @W↓ | mouse fast scrolling down | `space+a` |
214
+ | @m🡠 | mouse cursor left | `space+y` |
215
+ | @m↓ | mouse cursor down | `space+u` |
216
+ | @m↑ | mouse cursor up | `space+i` |
217
+ | @m🡪 | mouse cursor right | `space+p` |
218
+ | mmid | mouse middle click | `space+c` |
219
+ | mlft | mouse left click | `space+v` |
220
+ | mrgt | mouse right click | `space+b` |
221
+ | del | delete key | `space+w` |
216
222
  | spc | space key | `space+f` |
217
- | bspc | backspace key | `space+s` |
218
- | home | home key | `space+m` |
219
- | end | end key | `space+,` |
220
- | pgup | pageup key | `space+n` |
221
- | pgdn | pagedown key | `space+.` |
222
223
  | @🡠 | left arrow key | `space+h` |
223
224
  | @↓ | down arrow key | `space+j` |
224
225
  | @↑ | up arrow key | `space+k` |
225
226
  | @🡪 | right arrow key | `space+l` |
227
+ | @yaz | open yazi and cd on exit | `space+;` |
226
228
  | caps | toggles capslock | `space+c` |
229
+ | @¿ | unicode ¿ | `space+v` |
230
+ | @ñ | unicode ñ | `space+b` |
231
+ | home | home key | `space+m` |
232
+ | end | end key | `space+,` |
233
+ | pgup | pageup key | `space+n` |
234
+ | pgdn | pagedown key | `space+.` |
227
235
 
228
236
  </details>
229
237
 
@@ -273,7 +281,6 @@ _ _ _ _ _ _ _
273
281
  - [`bat`](https://github.com/sharkdp/bat)
274
282
  - [`eza`](https://github.com/eza-community/eza)
275
283
  - [`firacode_nerd_font`](https://github.com/ryanoasis/nerd-fonts)
276
- - [`fd`](https://github.com/sharkdp/fd)
277
284
  - [`fzf`](https://github.com/junegunn/fzf)
278
285
  - [`git`](https://github.com/git-for-windows/git)
279
286
  - [`kanata`](https://github.com/jtroo/kanata)
@@ -313,7 +320,7 @@ _ _ _ _ _ _ _
313
320
 
314
321
  - `terax` on `linux` requires `chsh --shell /bin/zsh` (sets zsh as default shell)
315
322
 
316
- - `terax` requires the setting `Font family: FiraCode Nerd Font` for icons support (`pixi exec --channel retronvim -- firacode-nerdfont-installer` to install firacode font)
323
+ - `terax` requires the setting `Font family: FiraCode Nerd Font` for icons support (`pixi exec --channel retronvim --with font-fira-code-nerd-font -- firacode-nerdfont-installer` to install firacode font)
317
324
 
318
325
  </details>
319
326
 
@@ -17,6 +17,7 @@
17
17
 
18
18
  (defcfg
19
19
  linux-x11-repeat-delay-rate 300,50
20
+ movemouse-smooth-diagonals yes
20
21
  )
21
22
 
22
23
  ;; Only one defsrc is allowed.
@@ -63,9 +64,9 @@
63
64
 
64
65
  (deflayer touchcursor
65
66
  _ f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 _
66
- _ @M↑ del @m↑ @clr @m🡠 _ _ _ _ _ _ _ _
67
- _ @M↓ @bsp @m↓ spc @m🡪 @🡠 @↓ @↑ @🡪 @yaz _ _
68
- _ _ _ _ caps @¿ @ñ pgup home end pgdn _ _
67
+ _ @W↑ del @w↑ @clr @w🡠 @m🡠 @m↓ @m↑ @m🡪 _ _ _ _
68
+ _ @W↓ @bsp @w↓ spc @w🡪 @🡠 @↓ @↑ @🡪 @yaz _ _
69
+ _ caps @¿ @ñ mmid mlft mrgt pgup home end pgdn _ _
69
70
  _ _ _ _ _ _ _
70
71
  )
71
72
 
@@ -128,16 +129,20 @@
128
129
  ñ (unicode ñ)
129
130
 
130
131
  ;; mouse scrolling <intervale> <distance>
131
- m↑ (mwheel-up 50 40)
132
- m↓ (mwheel-down 50 40)
132
+ w↑ (mwheel-up 50 40)
133
+ w↓ (mwheel-down 50 40)
134
+ w🡠 (mwheel-left 50 40)
135
+ w🡪 (mwheel-right 50 40)
133
136
 
134
137
  ;; mouse scrolling <intervale> <distance>
135
- m🡠 (mwheel-left 50 40)
136
- m🡪 (mwheel-right 50 40)
137
-
138
- ;; mouse scrolling <intervale> <distance>
139
- M↑ (mwheel-up 25 60)
140
- M↓ (mwheel-down 25 60)
138
+ W↑ (mwheel-up 25 60)
139
+ W↓ (mwheel-down 25 60)
140
+
141
+ ;; mouse acceleration <intervale> <time-distance> <min-distance> <max-distance>
142
+ m↑ (movemouse-accel-up 10 1000 1 5)
143
+ m↓ (movemouse-accel-down 10 1000 1 5)
144
+ m🡠 (movemouse-accel-left 10 1000 1 5)
145
+ m🡪 (movemouse-accel-right 10 1000 1 5)
141
146
  )
142
147
 
143
148
  ;; The `lrld` action stands for "live reload". This will re-parse everything
package/nvim/init.lua CHANGED
@@ -5,12 +5,13 @@
5
5
  local vim = vim --- lsp warnings
6
6
  local colon = vim.env.APPDATA and ';' or ':'
7
7
  local mini_path = vim.env.RETRONVIM_PREFIX and (vim.env.RETRONVIM_PREFIX .. '/nvim/plugins/mini.nvim') or ''
8
- local plugins_path = vim.fn.expand(vim.fs.normalize(vim.fn.stdpath("data")) .. '/site/pack/core/opt/*', 0, 1)
8
+ local plugins_path = vim.fn.expand(vim.fs.normalize(vim.fn.stdpath("data")) .. '/site/pack/core/opt/*', 0, 1)
9
9
 
10
- vim.env.PNPM_HOME = vim.env.PNPM_HOME or (vim.env.HOME .. '/.local/share/pnpm')
11
- vim.env.PATH = vim.env.PATH .. colon .. vim.env.HOME .. '/.pixi/bin'
12
- vim.env.PATH = vim.env.PATH .. colon .. vim.env.PNPM_HOME
13
- vim.env.PATH = vim.env.PATH .. colon .. vim.env.PNPM_HOME .. '/global/5/node_modules/.bin'
10
+ vim.env.PNPM_HOME = vim.env.PNPM_HOME or (vim.env.HOME .. '/.local/share/pnpm')
11
+ vim.env.PATH = vim.env.PATH .. colon .. vim.env.HOME .. '/.pixi/bin'
12
+ vim.env.PATH = vim.env.PATH .. colon .. vim.env.PNPM_HOME
13
+ vim.env.PATH = vim.env.PATH .. colon .. vim.env.PNPM_HOME .. '/bin'
14
+ vim.env.PATH = vim.env.PATH .. colon .. vim.env.PNPM_HOME .. '/global/5/node_modules/.bin'
14
15
 
15
16
  if not vim.loop.fs_stat(mini_path) then
16
17
  vim.pack.add({ { src = 'https://github.com/nvim-mini/mini.nvim', version = 'v0.18.0' } })
@@ -91,6 +92,8 @@ vim.opt.listchars = {
91
92
 
92
93
  vim.treesitter.start = function() end --- nvim.conda on windows doesn't ship parser/lua.dll etc, lsp has their own syntax highlightting
93
94
 
95
+ vim.o.shell = vim.fn.executable('zsh') == 1 and 'zsh' or vim.env.SHELL --> fixes --> vim.o.shell='C:\\Users\\user\\zsh' --> set by --> export SHELL=zsh
96
+
94
97
  if not vim.g.vscode then
95
98
  vim.opt.pumborder = 'rounded' --- enable mini.completion border
96
99
  vim.opt.cmdheight = 0 --- more space in the neovim command line for displaying messages
@@ -530,7 +533,7 @@ if not vim.g.vscode then
530
533
  vim.cmd.term()
531
534
  end
532
535
  vim.fn.chansend(vim.bo.channel, { sequence .. '\r' })
533
- vim.pack.add({{ src = 'https://github.com/neovim/nvim-lspconfig', version = 'v2.10.0' }})
536
+ vim.pack.add({{ src = 'https://github.com/neovim/nvim-lspconfig', version = '51dbf53' }})
534
537
  end
535
538
 
536
539
  local fix_node_path = function()
@@ -544,17 +547,21 @@ if not vim.g.vscode then
544
547
  })
545
548
  end
546
549
 
547
- --> https://github.com/mason-org/mason-lspconfig.nvim/issues/371
548
- --> https://github.com/vuejs/language-tools/issues/5381
549
- vim.lsp.config['ts_ls'] = {
550
- cmd = { 'typescript-language-server', '--stdio' },
551
- filetypes = { 'vue', 'javascript', 'javascriptreact', 'typescript', 'typescriptreact' },
552
- init_options = {
553
- plugins = {
554
- {
555
- name = '@vue/typescript-plugin',
556
- location = vim.env.HOME .. "/.pixi/envs/neovim-lsp/lib/node_modules/@vue/language-server/node_modules/@vue/typescript-plugin",
557
- languages = { 'vue' },
550
+ --- https://github.com/neovim/nvim-lspconfig/blob/master/lsp/vtsls.lua
551
+ vim.lsp.config['vtsls'] = {
552
+ cmd = { 'vtsls', '--stdio' },
553
+ filetypes = { 'vue' },
554
+ settings = {
555
+ vtsls = {
556
+ tsserver = {
557
+ globalPlugins = {
558
+ {
559
+ name = '@vue/typescript-plugin',
560
+ location = vim.env.HOME .. "/.pixi/envs/neovim-lsp/lib/node_modules/@vue/language-server",
561
+ languages = { 'vue' },
562
+ configNamespace = 'typescript',
563
+ }
564
+ },
558
565
  },
559
566
  },
560
567
  },
@@ -570,33 +577,33 @@ if not vim.g.vscode then
570
577
  if vim.fn.executable('vscode-json-language-server') == 1 then vim.lsp.enable({ 'jsonls' }) end
571
578
  if vim.fn.executable('yaml-language-server') == 1 then vim.lsp.enable({ 'yamlls' }) end
572
579
 
573
- vim.lsp.enable({ 'bashls', 'clangd', 'copilot', 'cssls', 'dockerls', 'emmet_language_server', 'gopls', 'html', 'kmp-lsp', 'lua_ls', 'neocmake', 'omnisharp', 'phpantom_lsp', 'prismals', 'ruff', 'rust_analyzer', 'sqls', 'taplo', 'terraformls', 'ts_ls' })
580
+ vim.lsp.enable({ 'bashls', 'clangd', 'copilot', 'cssls', 'dockerls', 'emmet_language_server', 'gopls', 'html', 'kmp-lsp', 'lua_ls', 'neocmake', 'omnisharp', 'phpantom_lsp', 'prismals', 'ruff', 'rust_analyzer', 'sqls', 'sqruff', 'taplo', 'terraformls', 'tsc', 'vtsls' })
574
581
 
575
582
  map("n", "<leader>L", "", { desc = " LSP installer" }) --- relaunch nvim to autostart the new installed lsp
576
- map("n", "<leader>Lb", function() sendSequence('pixi g install --environment neovim-lsp bash-language-server=5.6.0') fix_node_path() end, { desc = " bash" }) --- (no formatter press `=` to format selection)
577
- map("n", "<leader>Lc", function() sendSequence('pixi g install --environment neovim-lsp clang-tools=22.1.0 --expose clangd') end, { desc = " c/c++" }) --- (+formatter)
578
- map("n", "<leader>LC", function() sendSequence('pixi g install --environment neovim-lsp omnisharp-roslyn=1.39.12') end, { desc = " c#" }) --- (+formatter)
579
- map("n", "<leader>Ld", function() sendSequence('pixi g install --environment neovim-lsp dockerfile-language-server-nodejs=0.15.0 ') fix_node_path() end, { desc = " docker" }) --- (+formatter)
580
- map("n", "<leader>Le", function() sendSequence('pixi g install --environment neovim-lsp emmet-language-server=2.8.0 ') fix_node_path() end, { desc = " emmet (autoclose tag)" }) --- suggests <autoclose-this-tag> but not </close-some-open-tag> like vscode-html-language-server
581
- map("n", "<leader>Lf", function() sendSequence('pixi g install pnpm nodejs && pnpm install -g oxfmt') end, { desc = " oxfmt formatter/eslint" })
582
- map("n", "<leader>LF", function() sendSequence('pixi g install --environment neovim-lsp biome') end, { desc = " biome formatter/eslint" }) --- https://biomejs.dev/internals/language-support/
583
- map("n", "<leader>Lg", function() sendSequence('pixi g install --environment neovim-lsp gopls=0.20.0') end, { desc = " go" }) --- (+formatter)
584
- map("n", "<leader>Lh", function() sendSequence('pixi g install --environment neovim-lsp --channel retronvim phpantom_lsp=0.9.0') end, { desc = " php" }) --- (+formatter)
585
- map("n", "<leader>Lj", function() sendSequence('pixi g install --environment neovim-lsp --channel retronvim kmp-lsp=0.25.0') end, { desc = "   java kotlin swift" })
586
- map("n", "<leader>Ll", function() sendSequence('pixi g install --environment neovim-lsp lua-language-server=3.17.1') end, { desc = " lua for " }) --- (+formatter)
587
- map("n", "<leader>LL", function() sendSequence('winget install luals.lua-language-server || scoop install lua-language-server') end, { desc = " lua for " }) --- (+formatter)
588
- map("n", "<leader>LM", function() sendSequence('pixi g install --environment neovim-lsp neocmakelsp=0.10.1') end, { desc = " cmake" }) --- (+formatter +linter) https://github.com/regen100/cmake-language-server doesn't have formatter nor linter
589
- map("n", "<leader>Lp", function() sendSequence('pixi g install --environment neovim-lsp prisma-language-server=31.6.0') fix_node_path() end, { desc = " prisma" }) --- (+formatter)
590
- map("n", "<leader>LP", function() sendSequence('pixi g install --environment neovim-lsp ty=0.0.43 ruff=0.15.16') end, { desc = " python" }) --- (-formatter) means no formatter
591
- map("n", "<leader>Lr", function() sendSequence('pixi g install --environment neovim-lsp rust=1.97.1 rust-analyzer=2026.04.27') end, { desc = " rust" }) --- (+formatter)
592
- map("n", "<leader>LR", function() sendSequence('pixi g install --environment neovim-lsp terraform-ls=0.38.5') fix_node_path() end, { desc = " terraform" }) --- (no formatter press `=` to format selection)
593
- map("n", "<leader>Ls", function() sendSequence('pixi g install --environment neovim-lsp sql-language-server=1.7.1 vscode-jsonrpc=8.2.1') fix_node_path() end, { desc = " sqlls(-formatter +linter)" }) --- (no formatter use sqls)
594
- map("n", "<leader>LS", function() sendSequence('pixi g install --environment neovim-lsp sqls=0.2.46') end, { desc = " sqls (+formatter -linter)" })
595
- map("n", "<leader>Lt", function() sendSequence('pixi g install --environment neovim-lsp tailwindcss-language-server=0.14.29') fix_node_path() end, { desc = "󱏿 tailwindcss" })
596
- map("n", "<leader>LT", function() sendSequence('pixi g install --environment neovim-lsp taplo=0.10.0') end, { desc = " toml" }) --- (+formatter)
597
- map("n", "<leader>Lx", function() sendSequence('pixi g install --environment neovim-lsp vscode-langservers-extracted=4.10.0') fix_node_path() end, { desc = "   css html json" }) --- (+formatter)
598
- map("n", "<leader>LX", function() sendSequence('pixi g install --environment neovim-lsp typescript=5.9.3 typescript-language-server=5.1.3 vue-language-server=3.2.8') fix_node_path() end, { desc = "   󰡄 " }) --- (+formatter)
599
- map("n", "<leader>Ly", function() sendSequence('pixi g install --environment neovim-lsp yaml-language-server=1.21.0') fix_node_path() end, { desc = " yaml" }) --- (+formatter)
583
+ map("n", "<leader>La", function() sendSequence('pixi g install pnpm nodejs && pnpm install -g typescript@7') end, { desc = "    angular react ..." }) --- (+formatter)
584
+ map("n", "<leader>Lb", function() sendSequence('pixi g install --environment neovim-lsp bash-language-server=5.6.0') fix_node_path() end, { desc = " bash" }) --- (no formatter press `=` to format selection)
585
+ map("n", "<leader>Lc", function() sendSequence('pixi g install --environment neovim-lsp clang-tools=22.1.0 --expose clangd') end, { desc = " c/c++" }) --- (+formatter)
586
+ map("n", "<leader>LC", function() sendSequence('pixi g install --environment neovim-lsp omnisharp-roslyn=1.39.12') end, { desc = " c#" }) --- (+formatter)
587
+ map("n", "<leader>Ld", function() sendSequence('pixi g install --environment neovim-lsp dockerfile-language-server-nodejs=0.15.0 ') fix_node_path() end, { desc = " docker" }) --- (+formatter)
588
+ map("n", "<leader>Le", function() sendSequence('pixi g install --environment neovim-lsp emmet-language-server=2.8.0 ') fix_node_path() end, { desc = " emmet (autoclose tag)" }) --- suggests <autoclose-this-tag> but not </close-some-open-tag> like vscode-html-language-server
589
+ map("n", "<leader>Lf", function() sendSequence('pixi g install pnpm nodejs && pnpm install -g oxfmt') end, { desc = " oxfmt formatter/eslint" }) --- https://oxc.rs/docs/guide/usage/formatter/language-support
590
+ map("n", "<leader>LF", function() sendSequence('pixi g install --environment neovim-lsp biome') end, { desc = " biome formatter/eslint" }) --- https://biomejs.dev/internals/language-support
591
+ map("n", "<leader>Lg", function() sendSequence('pixi g install --environment neovim-lsp gopls=0.20.0') end, { desc = " go" }) --- (+formatter)
592
+ map("n", "<leader>Lh", function() sendSequence('pixi g install --environment neovim-lsp --channel retronvim phpantom_lsp=0.9.0') end, { desc = " php" }) --- (+formatter)
593
+ map("n", "<leader>LH", function() sendSequence('pixi g install --environment neovim-lsp vscode-langservers-extracted=4.10.0') fix_node_path() end, { desc = " css html json" }) --- (+formatter)
594
+ map("n", "<leader>Lj", function() sendSequence('pixi g install --environment neovim-lsp --channel retronvim kmp-lsp=0.25.0') end, { desc = " java kotlin swift" }) --- (+formatter)
595
+ map("n", "<leader>Ll", function() sendSequence('pixi g install --environment neovim-lsp lua-language-server=3.17.1') end, { desc = " lua for  " }) --- (+formatter)
596
+ map("n", "<leader>LL", function() sendSequence('winget install luals.lua-language-server || scoop install lua-language-server') end, { desc = " lua for " }) --- (+formatter)
597
+ map("n", "<leader>LM", function() sendSequence('pixi g install --environment neovim-lsp neocmakelsp=0.10.1') end, { desc = " cmake" }) --- (+formatter +linter) https://github.com/regen100/cmake-language-server doesn't have formatter nor linter
598
+ map("n", "<leader>Lp", function() sendSequence('pixi g install --environment neovim-lsp prisma-language-server=31.6.0') fix_node_path() end, { desc = " prisma" }) --- (+formatter)
599
+ map("n", "<leader>LP", function() sendSequence('pixi g install --environment neovim-lsp ty=0.0.43 ruff=0.15.16') end, { desc = " python" }) --- (+formatter)
600
+ map("n", "<leader>Lr", function() sendSequence('pixi g install --environment neovim-lsp rust=1.97.1 rust-analyzer=2026.04.27') end, { desc = " rust" }) --- (+formatter)
601
+ map("n", "<leader>LR", function() sendSequence('pixi g install --environment neovim-lsp terraform-ls=0.38.5') fix_node_path() end, { desc = " terraform" }) --- (no formatter press `=` to format selection)
602
+ map("n", "<leader>Ls", function() sendSequence('pixi g install sqls=0.2.45 sqruff=0.40.0 -c https://prefix.dev/github-releases -c conda-forge -c retronvim') end, { desc = " sql" }) --- (+formatter)
603
+ map("n", "<leader>Lt", function() sendSequence('pixi g install --environment neovim-lsp tailwindcss-language-server=0.14.29') fix_node_path() end, { desc = "󱏿 tailwindcss" })
604
+ map("n", "<leader>LT", function() sendSequence('pixi g install --environment neovim-lsp taplo=0.10.0') end, { desc = " toml" }) --- (+formatter)
605
+ map("n", "<leader>Lv", function() sendSequence('pixi g install --environment neovim-lsp vue-language-server=3.2.8 vtsls=0.3.00 ') fix_node_path() end, { desc = "󰡄 vue" }) --- (+formatter)
606
+ map("n", "<leader>Ly", function() sendSequence('pixi g install --environment neovim-lsp yaml-language-server=1.21.0') fix_node_path() end, { desc = " yaml" }) --- (+formatter)
600
607
 
601
608
  ------------------------------------------------------------------------------------------------------------------------
602
609
 
package/package.json CHANGED
@@ -1,7 +1,31 @@
1
1
  {
2
2
  "name": "retrovim",
3
- "version": "0.0.4",
3
+ "version": "0.0.5",
4
4
  "description": "minimal neovim, yazi, zsh and kanata setup",
5
+ "keywords": [
6
+ "astronvim",
7
+ "file-manager",
8
+ "git-bash",
9
+ "kanata",
10
+ "keyboard layout",
11
+ "kmonad",
12
+ "lazyvim",
13
+ "LSP",
14
+ "mini.nvim",
15
+ "neovim",
16
+ "nvchad",
17
+ "QMK",
18
+ "retronvim",
19
+ "terax-ai",
20
+ "terminal",
21
+ "termux/proot-distro",
22
+ "text objects",
23
+ "touchcursor",
24
+ "vim",
25
+ "whichkey",
26
+ "yazi",
27
+ "zsh"
28
+ ],
5
29
  "bin": {
6
30
  "kanata_touchcursor": ".npm/kanata_touchcursor.js",
7
31
  "nvim": ".npm/nvim.js",
package/pyproject.toml CHANGED
@@ -11,12 +11,45 @@ build-backend = "hatchling.build"
11
11
 
12
12
  [project]
13
13
  name = "retrovim"
14
- version = "0.0.4"
14
+ version = "0.0.5"
15
15
  description = "minimal neovim, yazi, zsh, and kanata setup"
16
16
  readme = "README.md"
17
17
  requires-python = ">=3.8"
18
18
  license = { text = "GPL-3.0" }
19
19
  dependencies = []
20
+ classifiers = [
21
+ "Operating System :: Android",
22
+ "Operating System :: POSIX :: Linux",
23
+ "Operating System :: MacOS",
24
+ "Operating System :: Microsoft :: Windows",
25
+ "Topic :: Text Editors :: Integrated Development Environments (IDE)",
26
+ "Topic :: Desktop Environment :: File Managers",
27
+ "Topic :: Terminals",
28
+ ]
29
+ keywords = [
30
+ "astronvim",
31
+ "file-manager",
32
+ "git-bash",
33
+ "kanata",
34
+ "keyboard layout",
35
+ "lazyvim",
36
+ "LSP",
37
+ "mini.nvim",
38
+ "neovim",
39
+ "nvchad",
40
+ "retronvim",
41
+ "terax-ai",
42
+ "terminal",
43
+ "termux/proot-distro",
44
+ "text objects",
45
+ "vim",
46
+ "yazi",
47
+ "zsh"
48
+ ]
49
+
50
+ [project.urls]
51
+ Homepage = "https://github.com/yeferyv/retrovim"
52
+ Repository = "https://github.com/yeferyv/retrovim"
20
53
 
21
54
  [project.scripts]
22
55
  kanata_touchcursor = "kanata_touchcursor:main"
package/yazi/keymap.toml CHANGED
@@ -43,8 +43,8 @@ prepend_keymap = [
43
43
  { on = [ "i" ], run = """ shell --block -- bat --paging always --wrap never %s """, desc = "Bat open selected" },
44
44
 
45
45
  # Navigation
46
- { on = [ "J" ], run = "seek 10", desc = "preview down 3 lines" },
47
- { on = [ "K" ], run = "seek -10", desc = "preview up 3 lines" },
46
+ { on = [ "J" ], run = "seek 10", desc = "preview next page" },
47
+ { on = [ "K" ], run = "seek -10", desc = "preview previous page" },
48
48
  { on = [ "j" ], run = "arrow 1", desc = "down until end of list" },
49
49
  { on = [ "k" ], run = "arrow -1", desc = "up until start of list " },
50
50
  { on = [ "<A-j>" ], run = "arrow 10", desc = "move cursor down 10 lines" },
package/zsh/.zshrc CHANGED
@@ -2,17 +2,17 @@
2
2
  # │ shell configs │
3
3
  # ╰───────────────╯
4
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
- [[ "$OSTYPE" == "cygwin" ]] && export DOTEXE=".exe" # for git-bash / msys2
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
+ [[ -v TERAX_USER_ZDOTDIR ]] && export ZDOTDIR=$TERAX_USER_ZDOTDIR # terax v.8.6 shell integration changes ZDOTDIR
16
16
 
17
17
  alias apt="sudo apt -y"
18
18
  alias grep="grep --color=auto"
@@ -33,28 +33,27 @@ export NPM_CONFIG_PREFIX="$HOME/.local/share/npm"
33
33
  export PAGER="less -R --use-color --color=d+g --color=u+r --color=Pyk --color=Syk"
34
34
  export PNPM_HOME="$HOME/.local/share/pnpm" # $(pnpm setup)
35
35
  export SAVEHIST=10000
36
- export SHELL="zsh$DOTEXE" # for nvim terminal if bash is the default shell
36
+ export SHELL="zsh" # for nvim terminal if bash is the default shell
37
37
  export STARSHIP_CONFIG="$ZDOTDIR/starship.toml"
38
38
  export VIMINIT="lua vim.cmd.source(vim.env.ZDOTDIR .. [[/../nvim/init.lua]])" # luafile theorically is faster then `source` and `dofile`
39
39
  export YAZI_CONFIG_HOME="$ZDOTDIR/../yazi"
40
- export ZSH_PATINA_CONFIG_PATH="$ZDOTDIR/zsh-patina.toml"
40
+ export ZSH_PATINA_CONFIG_PATH="$ZDOTDIR/zsh-patina.toml" # zsh-patina restart ---> after changing zsh-patina.toml
41
41
  export ZEROBREW_ROOT="$HOME/.local/share/zerobrew"
42
42
  export ZEROBREW_PREFIX="$HOME/.local/share/zerobrew/prefix"
43
43
  export PKG_CONFIG_PATH="$ZEROBREW_PREFIX/lib/pkgconfig:${PKG_CONFIG_PATH:-}"
44
44
 
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="/bin:/usr/bin:$PATH" # ~/.local/bin/nvim from retronvim should search first for /bin/nvim binary
50
- export PATH="$HOME/.pixi/envs/retronvim/bin:$PATH"
51
- export PATH="$HOME/.pixi/envs/retronvim/Library/bin:$PATH"
52
- export PATH="$HOME/.pixi/envs/retronvim/Library/usr/bin:$PATH"
53
- export PATH="$HOME/.pixi/envs/retrovim/bin:$PATH"
54
- export PATH="$HOME/.pixi/envs/retrovim/Library/bin:$PATH"
55
- export PATH="$HOME/.pixi/envs/retrovim/Library/usr/bin:$PATH"
45
+ export PATH="/bin:/usr/bin:$PATH" # for ~/.pixi/envs/retronvim/bin/zsh.exe
46
+ export PATH="$HOME/.local/bin:$PATH" # uv binaries
47
+ export PATH="$HOME/.local/share/npm/bin:$PATH" # npm binaries
48
+ export PATH="$HOME/.pixi/envs/retronvim/bin:$PATH" # for ~/.pixi/envs/retronvim/bin/zsh
49
+ export PATH="$HOME/.pixi/envs/retronvim/Library/bin:$PATH" # for ~/.pixi/envs/retronvim/bin/zsh
50
+ export PATH="$HOME/.pixi/envs/retronvim/Library/usr/bin:$PATH" # for ~/.pixi/envs/retronvim/bin/zsh
51
+ export PATH="$HOME/.pixi/envs/retrovim/bin:$PATH" # for ~/.pixi/envs/retrovim/bin/zsh
52
+ export PATH="$HOME/.pixi/envs/retrovim/Library/bin:$PATH" # for ~/.pixi/envs/retrovim/bin/zsh
53
+ export PATH="$HOME/.pixi/envs/retrovim/Library/usr/bin:$PATH" # for ~/.pixi/envs/retrovim/bin/zsh
56
54
  export PATH="$HOME/.pixi/bin:$PATH"
57
- export PATH="$PATH:$PNPM_HOME" # $(pnpm setup)
55
+ export PATH="$PATH:$PNPM_HOME" # $(pnpm setup)
56
+ export PATH="$PATH:$PNPM_HOME/bin" # $(pnpm setup)
58
57
  export PATH="$PATH:$PNPM_HOME/global/5/node_modules/.bin" # $(pnpm approve-builds -g)
59
58
  export PATH="$PATH:$ZEROBREW_PREFIX/bin"
60
59
 
@@ -97,8 +96,11 @@ _autosuggest_fetch() {
97
96
  POSTDISPLAY=""
98
97
  region_highlight=()
99
98
 
100
- # Skip if buffer is empty OR editing in the middle of the line OR if we are actively in a Ctrl+R search
101
- if (( $#BUFFER )) && (( CURSOR == $#BUFFER )) && [[ "$WIDGET" != *isearch* ]]; then
99
+ # Skip during isearch
100
+ [[ "$WIDGET" == *isearch* ]] && return
101
+
102
+ # Skip if buffer is empty OR editing in the middle of the line
103
+ if (( $#BUFFER )) && (( CURSOR == $#BUFFER )); then
102
104
  # (r) reverse search, (b) escape glob characters in BUFFER
103
105
  local suggestion="${history[(r)${(b)BUFFER}*]}"
104
106
  if [[ -n "$suggestion" ]]; then
@@ -109,15 +111,14 @@ _autosuggest_fetch() {
109
111
  fi
110
112
  }
111
113
 
112
- # 2. Hook into the prompt redraw cycle (catches typing, Up-arrow, etc.)
113
- zle -N zle-line-pre-redraw _autosuggest_fetch
114
-
115
- # 3. Hook into incremental search updates (catches Ctrl+R buffer changes)
116
- zle -N zle-isearch-update _autosuggest_fetch
114
+ # 2. Clear suggestion
115
+ _autosuggest_clear() {
116
+ POSTDISPLAY=""
117
+ # region_highlight=() # it also clears zsh-patina syntax highlighting
118
+ }
117
119
 
118
- # 4. Accept the suggestion
120
+ # 3. Accept suggestion
119
121
  _autosuggest_accept() {
120
- # Only accept if cursor is at the end of the line AND there is a suggestion
121
122
  if (( CURSOR == $#BUFFER )) && (( $#POSTDISPLAY )); then
122
123
  BUFFER+="$POSTDISPLAY"
123
124
  CURSOR=$#BUFFER
@@ -135,6 +136,13 @@ zle -N _autosuggest_accept
135
136
  bindkey -M viins '\e[C' _autosuggest_accept
136
137
  bindkey -M viins '\el' _autosuggest_accept
137
138
 
139
+ # 4. Use add-zle-hook-widget (hooks INTO widgets, doesn't replace them)
140
+ autoload -Uz add-zle-hook-widget
141
+ add-zle-hook-widget line-pre-redraw _autosuggest_fetch
142
+ add-zle-hook-widget isearch-update _autosuggest_fetch
143
+ add-zle-hook-widget line-finish _autosuggest_clear
144
+
145
+
138
146
  # ╭─────────╮
139
147
  # │ plugins │
140
148
  # ╰─────────╯
package/zsh/starship.toml CHANGED
@@ -5,6 +5,7 @@ add_newline = false
5
5
  [directory]
6
6
  style = "bold fg:#5555cc"
7
7
  truncation_length = 9
8
+ use_os_path_sep = false # disable windows's slashes
8
9
 
9
10
  [cmd_duration]
10
11
  min_time = 60000