retrovim 0.0.3 → 0.0.4

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.
@@ -0,0 +1,82 @@
1
+ # https://rattler-build.prefix.dev/latest/tutorials/repackaging
2
+ # rattler-build build --recipe kmp-lsp.yaml --target-platform linux-64 --output-dir kmp-lsp-channel
3
+ # rattler-build build --recipe kmp-lsp.yaml --target-platform linux-aarch64 --output-dir kmp-lsp-channel
4
+ # rattler-build build --recipe kmp-lsp.yaml --target-platform osx-64 --output-dir kmp-lsp-channel
5
+ # rattler-build build --recipe kmp-lsp.yaml --target-platform osx-arm64 --output-dir kmp-lsp-channel
6
+ # rattler-build build --recipe kmp-lsp.yaml --target-platform win-64 --output-dir kmp-lsp-channel
7
+
8
+ # https://pixi.prefix.dev/dev/reference/cli/pixi/clean/cache
9
+ # pixi clean cache --build --yes
10
+
11
+ # https://pixi.prefix.dev/dev/reference/cli/pixi/global/install
12
+ # pixi g install --path ./kmp-lsp-channel/linux-64/kmp-lsp*
13
+ # pixi g install --path ./kmp-lsp-channel/linux-aarch64/kmp-lsp*
14
+ # pixi g install --path ./kmp-lsp-channel/osx-64/kmp-lsp*
15
+ # pixi g install --path ./kmp-lsp-channel/osx-aarch64/kmp-lsp*
16
+ # pixi g install --path ./kmp-lsp-channel/win-64/kmp-lsp-0.25.0-h9490d1a_0.conda
17
+
18
+ # https://rattler-build.prefix.dev/latest/getting_started/#authentication
19
+ # rattler-build auth login anaconda.org --conda-token $ANACONDA_API_KEY
20
+
21
+ # https://rattler-build.prefix.dev/latest/getting_started/#publishing-the-package
22
+ # rattler-build publish --recipe kmp-lsp.yaml --target-platform linux-64 --to https://anaconda.org/retronvim
23
+ # rattler-build publish --recipe kmp-lsp.yaml --target-platform linux-aarch64 --to https://anaconda.org/retronvim
24
+ # rattler-build publish --recipe kmp-lsp.yaml --target-platform osx-64 --to https://anaconda.org/retronvim
25
+ # rattler-build publish --recipe kmp-lsp.yaml --target-platform osx-arm64 --to https://anaconda.org/retronvim
26
+ # rattler-build publish --recipe kmp-lsp.yaml --target-platform win-64 --to https://anaconda.org/retronvim
27
+
28
+ context:
29
+ version: 0.25.0
30
+
31
+ package:
32
+ name: kmp-lsp
33
+ version: ${{ version }}
34
+
35
+ source:
36
+ - if: target_platform == "linux-64"
37
+ then:
38
+ - url: https://github.com/Hessesian/kmp-lsp/releases/download/v${{ version }}/kmp-lsp-linux-x86_64.tar.gz
39
+
40
+ - if: target_platform == "linux-aarch64"
41
+ then:
42
+ - url: https://github.com/Hessesian/kmp-lsp/releases/download/v${{ version }}/kmp-lsp-linux-aarch64.tar.gz
43
+
44
+ - if: target_platform == "osx-64"
45
+ then:
46
+ - url: https://github.com/Hessesian/kmp-lsp/releases/download/v${{ version }}/kmp-lsp-darwin-x86_64.tar.gz
47
+
48
+ - if: target_platform == "osx-arm64"
49
+ then:
50
+ - url: https://github.com/Hessesian/kmp-lsp/releases/download/v${{ version }}/kmp-lsp-darwin-aarch64.tar.gz
51
+
52
+ - if: target_platform == "win-64"
53
+ then:
54
+ - url: https://github.com/Hessesian/kmp-lsp/releases/download/v${{ version }}/kmp-lsp-windows-x86_64.zip
55
+
56
+ build:
57
+ # number: 0 # build version
58
+
59
+ dynamic_linking:
60
+ # fixes macos builds from linux: failed to find `install_name_tool`
61
+ # https://rattler-build.prefix.dev/latest/build_options/#dynamic-linking-configuration
62
+ binary_relocation: false
63
+
64
+ script:
65
+ interpreter: bash
66
+ content:
67
+ - mkdir -p $PREFIX/bin
68
+ - cp -r kmp-lsp* $PREFIX/bin
69
+
70
+ - if: win
71
+ then:
72
+ - mv $PREFIX/bin/kmp-lsp* $PREFIX/bin/kmp-lsp.exe
73
+
74
+ tests:
75
+ - package_contents:
76
+ bin:
77
+ - kmp-lsp*
78
+
79
+ about:
80
+ summary: Fast, low-memory LSP server for Kotlin and Java, written in Rust
81
+ homepage: https://github.com/Hessesian/kmp-lsp
82
+ repository: https://github.com/Hessesian/kmp-lsp
@@ -0,0 +1,78 @@
1
+ # https://rattler-build.prefix.dev/latest/tutorials/repackaging
2
+ # rattler-build build --recipe phpantom_lsp.yaml --target-platform linux-64 --output-dir phpantom-channel
3
+ # rattler-build build --recipe phpantom_lsp.yaml --target-platform linux-aarch64 --output-dir phpantom-channel
4
+ # rattler-build build --recipe phpantom_lsp.yaml --target-platform osx-64 --output-dir phpantom-channel
5
+ # rattler-build build --recipe phpantom_lsp.yaml --target-platform osx-arm64 --output-dir phpantom-channel
6
+ # rattler-build build --recipe phpantom_lsp.yaml --target-platform win-64 --output-dir phpantom-channel
7
+
8
+ # https://pixi.prefix.dev/dev/reference/cli/pixi/clean/cache
9
+ # pixi clean cache --build --yes
10
+
11
+ # https://pixi.prefix.dev/dev/reference/cli/pixi/global/install
12
+ # pixi g install --path ./phpantom-channel/linux-64/phpantom*
13
+ # pixi g install --path ./phpantom-channel/linux-aarch64/phpantom*
14
+ # pixi g install --path ./phpantom-channel/osx-64/phpantom*
15
+ # pixi g install --path ./phpantom-channel/osx-aarch64/phpantom*
16
+ # pixi g install --path ./phpantom-channel/win-64/phpantom-0.9.0-h9490d1a_0.conda
17
+
18
+ # https://rattler-build.prefix.dev/latest/getting_started/#authentication
19
+ # rattler-build auth login anaconda.org --conda-token $ANACONDA_API_KEY
20
+
21
+ # https://rattler-build.prefix.dev/latest/getting_started/#publishing-the-package
22
+ # rattler-build publish --recipe phpantom_lsp.yaml --target-platform linux-64 --to https://anaconda.org/retronvim
23
+ # rattler-build publish --recipe phpantom_lsp.yaml --target-platform linux-aarch64 --to https://anaconda.org/retronvim
24
+ # rattler-build publish --recipe phpantom_lsp.yaml --target-platform osx-64 --to https://anaconda.org/retronvim
25
+ # rattler-build publish --recipe phpantom_lsp.yaml --target-platform osx-arm64 --to https://anaconda.org/retronvim
26
+ # rattler-build publish --recipe phpantom_lsp.yaml --target-platform win-64 --to https://anaconda.org/retronvim
27
+
28
+ context:
29
+ version: 0.9.0
30
+
31
+ package:
32
+ name: phpantom_lsp
33
+ version: ${{ version }}
34
+
35
+ source:
36
+ - if: target_platform == "linux-64"
37
+ then:
38
+ - url: https://github.com/PHPantom-dev/phpantom_lsp/releases/download/${{ version }}/phpantom_lsp-x86_64-unknown-linux-gnu.tar.gz
39
+
40
+ - if: target_platform == "linux-aarch64"
41
+ then:
42
+ - url: https://github.com/PHPantom-dev/phpantom_lsp/releases/download/${{ version }}/phpantom_lsp-aarch64-unknown-linux-gnu.tar.gz
43
+
44
+ - if: target_platform == "osx-64"
45
+ then:
46
+ - url: https://github.com/PHPantom-dev/phpantom_lsp/releases/download/${{ version }}/phpantom_lsp-x86_64-apple-darwin.tar.gz
47
+
48
+ - if: target_platform == "osx-arm64"
49
+ then:
50
+ - url: https://github.com/PHPantom-dev/phpantom_lsp/releases/download/${{ version }}/phpantom_lsp-aarch64-apple-darwin.tar.gz
51
+
52
+ - if: target_platform == "win-64"
53
+ then:
54
+ - url: https://github.com/PHPantom-dev/phpantom_lsp/releases/download/${{ version }}/phpantom_lsp-x86_64-pc-windows-msvc.zip
55
+
56
+ build:
57
+ # number: 0 # build version
58
+
59
+ dynamic_linking:
60
+ # fixes macos builds from linux: failed to find `install_name_tool`
61
+ # https://rattler-build.prefix.dev/latest/build_options/#dynamic-linking-configuration
62
+ binary_relocation: false
63
+
64
+ script:
65
+ interpreter: bash
66
+ content:
67
+ - mkdir -p $PREFIX/bin
68
+ - cp -r phpantom* $PREFIX/bin
69
+
70
+ tests:
71
+ - package_contents:
72
+ bin:
73
+ - phpantom*
74
+
75
+ about:
76
+ summary: Fast PHP language server with deep type intelligence. Generics, Laravel, PHPStan annotations.
77
+ homepage: https://phpantom-dev.github.io/phpantom_lsp/
78
+ repository: https://github.com/PHPantom-dev/phpantom_lsp
@@ -1,23 +1,29 @@
1
1
  # https://rattler-build.prefix.dev/latest/tutorials/repackaging
2
- # rattler-build build --recipe retrovim.yaml --target-platform linux-64 --output-dir retrovim-channel
3
- # rattler-build build --recipe retrovim.yaml --target-platform osx-64 --output-dir retrovim-channel
4
- # rattler-build build --recipe retrovim.yaml --target-platform osx-arm64 --output-dir retrovim-channel
5
- # rattler-build build --recipe retrovim.yaml --target-platform win-64 --output-dir retrovim-channel
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
6
7
 
7
8
  # https://pixi.prefix.dev/dev/reference/cli/pixi/clean/cache
8
9
  # pixi clean cache --build --yes
9
10
 
10
11
  # https://pixi.prefix.dev/dev/reference/cli/pixi/global/install
11
- # pixi g install --path ./retrovim-channel/noarch/retrovim-0.0.4-h4616a5c_0.conda -c conda-forge -c ./firacode-channel -c ./mise-channel -c ./terax-channel -c ./win32-channel -c ./zsh-patina-channel -c ./zsh-channel
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
17
 
13
18
  # https://rattler-build.prefix.dev/latest/getting_started/#authentication
14
19
  # rattler-build auth login anaconda.org --conda-token $ANACONDA_API_KEY
15
20
 
16
21
  # https://rattler-build.prefix.dev/latest/getting_started/#publishing-the-package
17
- # rattler-build publish --recipe retrovim.yaml --target-platform linux-64 --to https://anaconda.org/retronvim
18
- # rattler-build publish --recipe retrovim.yaml --target-platform osx-64 --to https://anaconda.org/retronvim
19
- # rattler-build publish --recipe retrovim.yaml --target-platform osx-arm64 --to https://anaconda.org/retronvim
20
- # rattler-build publish --recipe retrovim.yaml --target-platform win-64 --to https://anaconda.org/retronvim
22
+ # rattler-build publish --recipe retrovim.yaml --target-platform linux-64 --to https://anaconda.org/retronvim
23
+ # rattler-build publish --recipe retrovim.yaml --target-platform linux-aarch64 --to https://anaconda.org/retronvim
24
+ # rattler-build publish --recipe retrovim.yaml --target-platform osx-64 --to https://anaconda.org/retronvim
25
+ # rattler-build publish --recipe retrovim.yaml --target-platform osx-arm64 --to https://anaconda.org/retronvim
26
+ # rattler-build publish --recipe retrovim.yaml --target-platform win-64 --to https://anaconda.org/retronvim
21
27
 
22
28
  context:
23
29
  version: 0.0.4
@@ -37,9 +43,6 @@ source:
37
43
  build:
38
44
  # number: 0 # build version
39
45
 
40
- # This makes the package architecture-independent (noarch)
41
- noarch: generic
42
-
43
46
  dynamic_linking:
44
47
  # fixes macos builds from linux: failed to find `install_name_tool`
45
48
  # https://rattler-build.prefix.dev/latest/build_options/#dynamic-linking-configuration
@@ -59,7 +62,7 @@ build:
59
62
  cat >> $PREFIX/bin/git <<< '#!/bin/bash'
60
63
  cat >> $PREFIX/bin/git <<< 'export CONDA_PREFIX=${CONDA_PREFIX:-$(dirname $(dirname $(realpath $0)))}'
61
64
  cat >> $PREFIX/bin/git <<< 'cp --update $CONDA_PREFIX/__clobbers__/git/bin/git $CONDA_PREFIX/bin/git.2.53.0'
62
- cat >> $PREFIX/bin/git <<< 'exec git.2.53.0 "$@"'
65
+ cat >> $PREFIX/bin/git <<< 'exec $CONDA_PREFIX/bin/git.2.53.0 "$@"'
63
66
  chmod +x $PREFIX/bin/git
64
67
 
65
68
  ############################################################################################################################
@@ -79,7 +82,7 @@ build:
79
82
  cat >> $PREFIX/bin/nvim <<< 'export VIMINIT="luafile $CONDA_PREFIX/opt/retrovim/nvim/init.lua"'
80
83
  cat >> $PREFIX/bin/nvim <<< 'export ZDOTDIR="$CONDA_PREFIX/opt/retrovim/zsh"'
81
84
  cat >> $PREFIX/bin/nvim <<< 'cp --update $CONDA_PREFIX/__clobbers__/nvim/bin/nvim $CONDA_PREFIX/bin/nvim.0.12'
82
- cat >> $PREFIX/bin/nvim <<< 'exec nvim.0.12 "$@"'
85
+ cat >> $PREFIX/bin/nvim <<< 'exec $CONDA_PREFIX/bin/nvim.0.12 "$@"'
83
86
  chmod +x $PREFIX/bin/nvim
84
87
 
85
88
  ############################################################################################################################
@@ -108,7 +111,7 @@ build:
108
111
  cat >> $PREFIX/bin/zsh <<< '#!/bin/bash'
109
112
  cat >> $PREFIX/bin/zsh <<< 'export CONDA_PREFIX=${CONDA_PREFIX:-$(dirname $(dirname $(realpath $0)))}'
110
113
  cat >> $PREFIX/bin/zsh <<< 'export ZDOTDIR="$CONDA_PREFIX/opt/retrovim/zsh"'
111
- cat >> $PREFIX/bin/zsh <<< 'exec zsh-5.9 "$@"'
114
+ cat >> $PREFIX/bin/zsh <<< 'exec $CONDA_PREFIX/bin/zsh-5.9 "$@"'
112
115
  chmod +x $PREFIX/bin/zsh
113
116
 
114
117
  ############################################################################################################################
@@ -136,6 +139,12 @@ build:
136
139
  cat >> $PREFIX/Library/bin/nvim.cmd <<< 'set RETRONVIM_PREFIX=%CONDA_PREFIX%/opt/retrovim'
137
140
  cat >> $PREFIX/Library/bin/nvim.cmd <<< 'set "VIMINIT=luafile %CONDA_PREFIX%/opt/retrovim/nvim/init.lua"'
138
141
  cat >> $PREFIX/Library/bin/nvim.cmd <<< 'set ZDOTDIR=%CONDA_PREFIX%/opt/retrovim/zsh'
142
+ cat >> $PREFIX/Library/bin/nvim.cmd <<< 'set BAT_THEME=base16'
143
+ 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
+ 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
+ cat >> $PREFIX/Library/bin/nvim.cmd <<< 'set LESSHISTFILE=-'
147
+ cat >> $PREFIX/Library/bin/nvim.cmd <<< 'set YAZI_CONFIG_HOME=%CONDA_PREFIX%/opt/retrovim/yazi'
139
148
  cat >> $PREFIX/Library/bin/nvim.cmd <<< 'nvim %*'
140
149
 
141
150
  ############################################################################################################################
@@ -149,6 +158,10 @@ build:
149
158
 
150
159
  cat >> $PREFIX/bin/yazi.cmd <<< '@echo off'
151
160
  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
+ 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'
152
165
  cat >> $PREFIX/bin/yazi.cmd <<< 'set BAT_THEME=base16'
153
166
  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'
154
167
  cat >> $PREFIX/bin/yazi.cmd <<< 'set LESS=--ignore-case'
@@ -176,7 +189,7 @@ build:
176
189
  # https://github.com/conda-forge/alacritty-feedstock/blob/main/recipe/menu.json
177
190
 
178
191
  - |
179
- mkdir $PREFIX/Menu
192
+ mkdir -p $PREFIX/Menu
180
193
  cp $RECIPE_DIR/terax.{png,ico,icns} $PREFIX/Menu
181
194
  cat >> $PREFIX/Menu/menu.json <<'EOF'
182
195
  {
@@ -216,31 +229,40 @@ requirements:
216
229
  - bat=0.26.1
217
230
  - eza=0.23.4
218
231
  - fd-find=10.4.2
219
- - firacode-nerdfont-installer=3.4.0
232
+ - font-fira-code-nerd-font=3.4.0
220
233
  - fzf=0.70.0
221
234
  - git
222
235
  - kanata=1.11.0
223
236
  - lazygit=0.61.0
224
- - mise
225
237
  - nvim=0.12.4
226
238
  - ripgrep=15.1.0
227
239
  - starship=1.24.2
228
- - terax
229
240
  - yazi=26.5.6
230
241
  - zsh-patina=1.8.0
231
242
  - zsh=5.9
232
243
 
233
244
  - if: osx
234
245
  then:
246
+ - terax
235
247
  - zerobrew
236
248
 
237
- - if: linux
249
+ - if: target_platform == "linux-64"
238
250
  then:
239
251
  - file=5.47 # not installed inside docker
240
252
  - less=692 # not installed inside docker
253
+ - terax
241
254
  - win32yank # WSL clipboaard
242
255
  - zerobrew
243
256
 
257
+ - if: target_platform == "linux-aarch64"
258
+ then:
259
+ - file=5.47 # not installed inside docker
260
+ - less=692 # not installed inside docker
261
+
262
+ - if: win
263
+ then:
264
+ - terax
265
+
244
266
  tests:
245
267
  - package_contents:
246
268
  bin:
@@ -20,8 +20,8 @@ on:
20
20
  env:
21
21
  GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} # setting GH_TOKEN for the entire workflow
22
22
  ANACONDA_API_KEY: ${{ secrets.ANACONDA_TOKEN }}
23
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
24
- UV_PUBLISH_TOKEN: ${{ secrets.PYPI_TOKEN }}
23
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} # write access last 90 days, trusted-publishing should last forever https://www.npmjs.com/package/retrovim/access
24
+ UV_PUBLISH_TOKEN: ${{ secrets.PYPI_TOKEN }} # trusted-publishing should last forever https://pypi.org/manage/account/publishing
25
25
 
26
26
  # https://github.com/googleapis/release-please-action?tab=readme-ov-file#workflow-permissions
27
27
  # GitHub requires `issues: write` permission for label management since labels are shared between issues and pull requests
@@ -39,9 +39,9 @@ jobs:
39
39
  # 1. create release bot
40
40
  # ==========================================================
41
41
  # https://www.youtube.com/watch?v=P0wAXh5UOnM
42
- # ╭───────────────────────────────────────────────────────────────────────────╮
43
- # to retrigger remove the github release and tag then -> │ git pull --rebase && git commit --allow-empty --amend && git push --force │
44
- # ╰───────────────────────────────────────────────────────────────────────────╯
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
45
  - uses: googleapis/release-please-action@v4
46
46
  id: release
47
47
  with:
@@ -57,34 +57,41 @@ jobs:
57
57
  # ==========================================================
58
58
  # 3. Install dependencies
59
59
  # ==========================================================
60
- - name: Install rattler-build and uv 🧰
60
+ - name: Install rattler-build, uv and npm 🧰
61
61
  if: ${{ steps.release.outputs.release_created }}
62
62
  run: |
63
63
  git submodule update --init --depth 1
64
- rm -rf ./nvim/plugins/*/tests
65
64
 
66
- curl -L pixi.sh/install.sh | bash
65
+ curl -L pixi.sh/install.sh | sh
67
66
  export PATH="$HOME/.pixi/bin:$PATH"
68
67
  pixi global install rattler-build uv
69
68
 
69
+ - name: Setup Node auth 🔑
70
+ if: ${{ steps.release.outputs.release_created }}
71
+ uses: actions/setup-node@v4
72
+ with:
73
+ registry-url: 'https://registry.npmjs.org'
74
+
75
+
70
76
  # ==========================================================
71
77
  # 4. Publish packages
72
78
  # ==========================================================
73
- - name: Publish to npm, pypi, anaconda.org and vscode-marketplace 🚀
79
+ - name: Publish to npm, pypi and anaconda.org 🚀
74
80
  if: ${{ steps.release.outputs.release_created }}
75
81
  run: |
82
+ export PATH="$HOME/.pixi/bin:$PATH"
76
83
 
77
84
  # https://rattler-build.prefix.dev/latest/getting_started/#authentication
78
85
  # https://rattler-build.prefix.dev/latest/getting_started/#publishing-the-package
79
86
  # https://rattler-build.prefix.dev/latest/getting_started/#publishing-to-anacondaorg
80
87
  rattler-build auth login anaconda.org --conda-token $ANACONDA_API_KEY
81
- rattler-build publish .conda/retronvim.yaml --target-platform linux-64 --to https://anaconda.org/retronvim --build-number=+1
82
- rattler-build publish .conda/retronvim.yaml --target-platform osx-64 --to https://anaconda.org/retronvim --build-number=+1
83
- rattler-build publish .conda/retronvim.yaml --target-platform osx-arm64 --to https://anaconda.org/retronvim --build-number=+1
84
- rattler-build publish .conda/retronvim.yaml --target-platform win-64 --to https://anaconda.org/retronvim --build-number=+1
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
85
92
 
86
93
  npm publish
87
- uv publish
94
+ uv build && uv publish
88
95
 
89
96
  # ==========================================================
90
97
  # 5. Upload artifacts to GitHub Release
@@ -6,23 +6,38 @@ const path = require('path');
6
6
  const os = require('os');
7
7
 
8
8
  const self = fs.realpathSync(process.argv[1]);
9
- process.env.RETRONVIM_PREFIX = path.join(path.dirname(path.dirname(self)), 'lib', 'node_modules', 'retrovim')
9
+ process.env.RETRONVIM_PREFIX = path.dirname(path.dirname(self))
10
10
 
11
11
  const where = os.platform() === 'win32' ? 'where' : 'which';
12
+ const dotexe = os.platform() === 'win32' ? '.exe' : '';
12
13
 
13
- const executable = execFileSync(where, ['kanata'], { encoding: 'utf8' }).trim().split(/\r?\n/)[0];
14
+ const executable = execFileSync(where, ['kanata' + dotexe], { encoding: 'utf8' }).trim().split(/\r?\n/)[0];
14
15
 
15
- execFileSync('sudo', ['--validate'], { stdio: 'inherit' });
16
+ if (os.platform() === 'win32'){
17
+ const child = spawn(
18
+ 'conhost',
19
+ [
20
+ '--headless',
21
+ executable,
22
+ '--cfg',
23
+ path.join(process.env.RETRONVIM_PREFIX, 'kanata', 'touchcursor.kbd')
24
+ ],
25
+ {stdio: 'inherit', detached: true,}
26
+ );
27
+ child.unref();
28
+ } else{
29
+ execFileSync('sudo', ['--validate'], { stdio: 'inherit' });
16
30
 
17
- const child = spawn(
18
- 'sudo',
19
- [
20
- '--preserve-env',
21
- executable,
22
- '--cfg',
23
- path.join(process.env.RETRONVIM_PREFIX, 'kanata', 'touchcursor.kbd')
24
- ],
25
- {stdio: 'inherit', detached: true,}
26
- );
31
+ const child = spawn(
32
+ 'sudo',
33
+ [
34
+ '--preserve-env',
35
+ executable,
36
+ '--cfg',
37
+ path.join(process.env.RETRONVIM_PREFIX, 'kanata', 'touchcursor.kbd')
38
+ ],
39
+ {stdio: 'inherit', detached: true,}
40
+ );
41
+ child.unref();
42
+ }
27
43
 
28
- child.unref();
package/.npm/nvim.js CHANGED
@@ -7,7 +7,7 @@ const os = require('os');
7
7
 
8
8
  const self = fs.realpathSync(process.argv[1]);
9
9
 
10
- process.env.RETRONVIM_PREFIX = path.join(path.dirname(path.dirname(self)), 'lib', 'node_modules', 'retrovim')
10
+ process.env.RETRONVIM_PREFIX = path.dirname(path.dirname(self))
11
11
  process.env.SHELL = 'zsh'
12
12
  process.env.VIMINIT = `lua vim.cmd.source(vim.env.RETRONVIM_PREFIX .. [[/nvim/init.lua]])`;
13
13
  process.env.ZDOTDIR = path.join(process.env.RETRONVIM_PREFIX, 'zsh');
@@ -20,7 +20,8 @@ process.env.LESSHISTFILE = '-';
20
20
  process.env.YAZI_CONFIG_HOME = path.join(process.env.RETRONVIM_PREFIX, 'yazi');
21
21
 
22
22
  const where = os.platform() === 'win32' ? 'where' : 'which';
23
+ const dotexe = os.platform() === 'win32' ? '.exe' : '';
23
24
 
24
- const executable = execFileSync(where, ['nvim'], { encoding: 'utf8' }).trim().split(/\r?\n/)[0];
25
+ const executable = execFileSync(where, ['nvim' + dotexe], { encoding: 'utf8' }).trim().split(/\r?\n/)[0];
25
26
 
26
27
  execFileSync(executable, process.argv.slice(2), { stdio: 'inherit' });
package/.npm/yazi.js CHANGED
@@ -7,7 +7,7 @@ const os = require('os');
7
7
 
8
8
  const self = fs.realpathSync(process.argv[1]);
9
9
 
10
- process.env.RETRONVIM_PREFIX = path.join(path.dirname(path.dirname(self)), 'lib', 'node_modules', 'retrovim')
10
+ process.env.RETRONVIM_PREFIX = path.dirname(path.dirname(self))
11
11
  process.env.SHELL = 'zsh'
12
12
  process.env.VIMINIT = `lua vim.cmd.source(vim.env.RETRONVIM_PREFIX .. [[/nvim/init.lua]])`;
13
13
  process.env.ZDOTDIR = path.join(process.env.RETRONVIM_PREFIX, 'zsh');
@@ -20,7 +20,8 @@ process.env.LESSHISTFILE = '-';
20
20
  process.env.YAZI_CONFIG_HOME = path.join(process.env.RETRONVIM_PREFIX, 'yazi');
21
21
 
22
22
  const where = os.platform() === 'win32' ? 'where' : 'which';
23
+ const dotexe = os.platform() === 'win32' ? '.exe' : '';
23
24
 
24
- const executable = execFileSync(where, ['yazi'], { encoding: 'utf8' }).trim().split(/\r?\n/)[0];
25
+ const executable = execFileSync(where, ['yazi' + dotexe], { encoding: 'utf8' }).trim().split(/\r?\n/)[0];
25
26
 
26
27
  execFileSync(executable, process.argv.slice(2), { stdio: 'inherit' });
package/.npm/zsh.js CHANGED
@@ -7,11 +7,12 @@ const os = require('os');
7
7
 
8
8
  const self = fs.realpathSync(process.argv[1]);
9
9
 
10
- process.env.RETRONVIM_PREFIX = path.join(path.dirname(path.dirname(self)), 'lib', 'node_modules', 'retrovim')
10
+ process.env.RETRONVIM_PREFIX = path.dirname(path.dirname(self))
11
11
  process.env.ZDOTDIR = path.join(process.env.RETRONVIM_PREFIX, 'zsh');
12
12
 
13
13
  const where = os.platform() === 'win32' ? 'where' : 'which';
14
+ const dotexe = os.platform() === 'win32' ? '.exe' : '';
14
15
 
15
- const executable = execFileSync(where, ['zsh'], { encoding: 'utf8' }).trim().split(/\r?\n/)[0];
16
+ const executable = execFileSync(where, ['zsh' + dotexe], { encoding: 'utf8' }).trim().split(/\r?\n/)[0];
16
17
 
17
18
  execFileSync(executable, process.argv.slice(2), { stdio: 'inherit' });
@@ -3,26 +3,42 @@
3
3
  import os
4
4
  import sys
5
5
  import subprocess
6
- import shutil
7
6
 
8
7
  def main():
9
- os.environ['RETRONVIM_PREFIX'] = os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(os.path.realpath(__file__))))))
10
-
11
- subprocess.run(['sudo', '--validate'], check=True)
12
-
13
- executable = shutil.which('kanata')
14
-
15
- # Spawn detached child process running kanata
16
- subprocess.Popen(
17
- [
18
- 'sudo',
19
- '--preserve-env',
20
- executable,
21
- '--cfg',
22
- os.path.join(os.environ['RETRONVIM_PREFIX'], 'kanata', 'touchcursor.kbd')
23
- ],
24
- start_new_session=True
25
- )
8
+ os.environ['RETRONVIM_PREFIX'] = os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))), 'data')
9
+
10
+ where = 'where' if sys.platform == 'win32' else 'which'
11
+ dotexe = 'where' if sys.platform == '.exe' else ''
12
+
13
+ executables = subprocess.run( [where, 'kanata' + dotexe], capture_output=True, text=True )
14
+
15
+ executable = executables.stdout.splitlines()[0]
16
+
17
+ if sys.platform == 'win32':
18
+ subprocess.Popen(
19
+ [
20
+ 'conhost',
21
+ '--headless',
22
+ executable,
23
+ '--cfg',
24
+ os.path.join(os.environ['RETRONVIM_PREFIX'], 'kanata', 'touchcursor.kbd')
25
+ ],
26
+ start_new_session=True
27
+ )
28
+ else:
29
+ subprocess.run(['sudo', '--validate'], check=True)
30
+
31
+ # Spawn detached child process running kanata
32
+ subprocess.Popen(
33
+ [
34
+ 'sudo',
35
+ '--preserve-env',
36
+ executable,
37
+ '--cfg',
38
+ os.path.join(os.environ['RETRONVIM_PREFIX'], 'kanata', 'touchcursor.kbd')
39
+ ],
40
+ start_new_session=True
41
+ )
26
42
 
27
43
  if __name__ == '__main__':
28
44
  main()
@@ -3,10 +3,9 @@
3
3
  import os
4
4
  import sys
5
5
  import subprocess
6
- import shutil
7
6
 
8
7
  def main():
9
- os.environ['RETRONVIM_PREFIX'] = os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(os.path.realpath(__file__))))))
8
+ os.environ['RETRONVIM_PREFIX'] = os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))), 'data')
10
9
 
11
10
  os.environ['SHELL'] = 'zsh'
12
11
  os.environ['VIMINIT'] = f"lua vim.cmd.source(vim.env.RETRONVIM_PREFIX .. [[/nvim/init.lua]])"
@@ -19,13 +18,14 @@ def main():
19
18
  os.environ['LESSHISTFILE'] = '-'
20
19
  os.environ['YAZI_CONFIG_HOME'] = os.path.join(os.environ['RETRONVIM_PREFIX'], 'yazi')
21
20
 
22
- executable = shutil.which('nvim')
23
- args = [executable] + sys.argv[1:]
21
+ where = 'where' if sys.platform == 'win32' else 'which'
22
+ dotexe = 'where' if sys.platform == '.exe' else ''
24
23
 
25
- try:
26
- os.execve(executable, args, os.environ)
27
- except Exception:
28
- subprocess.run([executable] + sys.argv[1:])
24
+ executables = subprocess.run( [where, 'nvim' + dotexe], capture_output=True, text=True )
25
+
26
+ executable = executables.stdout.splitlines()[1] if sys.platform == 'win32' else executables.stdout.splitlines()[0]
27
+
28
+ subprocess.run([executable] + sys.argv[1:])
29
29
 
30
30
  if __name__ == '__main__':
31
31
  main()
@@ -3,10 +3,9 @@
3
3
  import os
4
4
  import sys
5
5
  import subprocess
6
- import shutil
7
6
 
8
7
  def main():
9
- os.environ['RETRONVIM_PREFIX'] = os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(os.path.realpath(__file__))))))
8
+ os.environ['RETRONVIM_PREFIX'] = os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))), 'data')
10
9
 
11
10
  os.environ['SHELL'] = 'zsh'
12
11
  os.environ['VIMINIT'] = f"lua vim.cmd.source(vim.env.RETRONVIM_PREFIX .. [[/nvim/init.lua]])"
@@ -19,13 +18,14 @@ def main():
19
18
  os.environ['LESSHISTFILE'] = '-'
20
19
  os.environ['YAZI_CONFIG_HOME'] = os.path.join(os.environ['RETRONVIM_PREFIX'], 'yazi')
21
20
 
22
- executable = shutil.which('yazi')
23
- args = [executable] + sys.argv[1:]
21
+ where = 'where' if sys.platform == 'win32' else 'which'
22
+ dotexe = 'where' if sys.platform == '.exe' else ''
24
23
 
25
- try:
26
- os.execve(executable, args, os.environ)
27
- except Exception:
28
- subprocess.run([executable] + sys.argv[1:])
24
+ executables = subprocess.run( [where, 'yazi' + dotexe], capture_output=True, text=True )
25
+
26
+ executable = executables.stdout.splitlines()[1] if sys.platform == 'win32' else executables.stdout.splitlines()[0]
27
+
28
+ subprocess.run([executable] + sys.argv[1:])
29
29
 
30
30
  if __name__ == '__main__':
31
31
  main()
@@ -3,20 +3,19 @@
3
3
  import os
4
4
  import sys
5
5
  import subprocess
6
- import shutil
7
6
 
8
7
  def main():
9
- os.environ['RETRONVIM_PREFIX'] = os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(os.path.realpath(__file__))))))
10
-
8
+ os.environ['RETRONVIM_PREFIX'] = os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))), 'data')
11
9
  os.environ['ZDOTDIR'] = os.path.join(os.environ['RETRONVIM_PREFIX'], 'zsh')
12
10
 
13
- executable = shutil.which('zsh')
14
- args = [executable] + sys.argv[1:]
11
+ where = 'where' if sys.platform == 'win32' else 'which'
12
+ dotexe = 'where' if sys.platform == '.exe' else ''
13
+
14
+ executables = subprocess.run( [where, 'zsh' + dotexe], capture_output=True, text=True )
15
+
16
+ executable = executables.stdout.splitlines()[1] if sys.platform == 'win32' else executables.stdout.splitlines()[0]
15
17
 
16
- try:
17
- os.execve(executable, args, os.environ)
18
- except Exception:
19
- subprocess.run([executable] + sys.argv[1:])
18
+ subprocess.run([executable] + sys.argv[1:])
20
19
 
21
20
  if __name__ == '__main__':
22
21
  main()
package/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.0.4](https://github.com/YeferYV/RetroVim/compare/v0.0.3...v0.0.4) (2026-08-07)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * **retrovim.yaml:** trampoline not generating shim for nvim.cmd ([fb76d09](https://github.com/YeferYV/RetroVim/commit/fb76d091aabb8aa7063d64d6677619e815d4ab16))
9
+ * **zsh:** `ctrl+r` conflicts with builtin `zsh-autosuggestions` ([b5cf4d2](https://github.com/YeferYV/RetroVim/commit/b5cf4d2759e1d3336d8f4ebfeb1dc6d9382ad7c3))
10
+ * **zsh:** zsh-autosuggestion as git-submodule ([3370660](https://github.com/YeferYV/RetroVim/commit/3370660ddd9201db41afe5571eb82d3e605cfb0a))
11
+
3
12
  ## [0.0.3](https://github.com/YeferYV/RetroVim/compare/v0.0.2...v0.0.3) (2026-06-15)
4
13
 
5
14
 
package/README.md CHANGED
@@ -245,25 +245,26 @@ _ _ _ _ _ _ _
245
245
  - SSH/Bash/Zsh (linux/macos):
246
246
 
247
247
  ```bash
248
- sh <(curl https://pkgx.sh) pixi g install retrovim -c retronvim -c conda-forge --with pixi
248
+ curl -L pixi.sh/install.sh | sh
249
+ pixi g install retrovim -c retronvim -c conda-forge
249
250
  ```
250
251
 
251
252
  - npm + any package manager:
252
253
 
253
254
  ```bash
254
- # brew install bat eza fzf git kanata lazygit mise neovim ripgrep starship yazi zsh zsh-patina
255
- # pixi g install bat eza fzf git kanata lazygit mise nvim ripgrep starship yazi zsh zsh-patina -c retronvim -c conda-forge
255
+ # brew install bat eza font-fira-code-nerd-font fzf git kanata lazygit neovim ripgrep starship yazi zsh zsh-patina 7zip pixi
256
+ # pixi g install bat eza font-fira-code-nerd-font fzf git kanata lazygit nvim ripgrep starship yazi zsh zsh-patina 7zip -c retronvim -c conda-forge -e retronvim
256
257
 
257
- npm install -g retronvim
258
+ npm install -g retrovim
258
259
  ```
259
260
 
260
261
  - pip + any package manager:
261
262
 
262
263
  ```bash
263
- # brew install bat eza fzf git kanata lazygit mise neovim ripgrep starship yazi zsh zsh-patina
264
- # pixi g install bat eza fzf git kanata lazygit mise nvim ripgrep starship yazi zsh zsh-patina -c retronvim -c conda-forge
264
+ # brew install bat eza font-fira-code-nerd-font fzf git kanata lazygit neovim ripgrep starship yazi zsh zsh-patina 7zip pixi
265
+ # pixi g install bat eza font-fira-code-nerd-font fzf git kanata lazygit nvim ripgrep starship yazi zsh zsh-patina 7zip -c retronvim -c conda-forge -e retronvim
265
266
 
266
- pip install retronvim
267
+ pip install retrovim
267
268
  ```
268
269
 
269
270
  **Plugins**
@@ -277,7 +278,6 @@ _ _ _ _ _ _ _
277
278
  - [`git`](https://github.com/git-for-windows/git)
278
279
  - [`kanata`](https://github.com/jtroo/kanata)
279
280
  - [`lazygit`](https://github.com/jesseduffield/lazygit)
280
- - [`mise`](https://github.com/jdx/mise)
281
281
  - [`neovim`](https://neovim.io)
282
282
  - [`pixi`](https://github.com/prefix-dev/pixi)
283
283
  - [`ripgrep`](https://github.com/BurntSushi/ripgrep)
package/nvim/init.lua CHANGED
@@ -92,32 +92,24 @@ vim.opt.listchars = {
92
92
  vim.treesitter.start = function() end --- nvim.conda on windows doesn't ship parser/lua.dll etc, lsp has their own syntax highlightting
93
93
 
94
94
  if not vim.g.vscode then
95
- vim.opt.pumborder = 'rounded' --- enable mini.completion border
96
- vim.opt.cmdheight = 0 --- more space in the neovim command line for displaying messages
97
- vim.opt.laststatus = 3 --- laststatus=3 global status line (line between splits)
98
- vim.opt.number = true --- set numbered lines
99
- vim.opt.scrolloff = 3 --- vertical scrolloff
100
- vim.opt.sidescrolloff = 3 --- horizontal scrolloff
101
- vim.opt.virtualedit = "all" --- allow cursor bypass end of line
102
- vim.o.foldcolumn = '1' --- if '1' will show clickable fold signs
103
- vim.o.foldlevel = 99 --- Disable folding at startup
104
- vim.o.foldmethod = "expr" --- expr = specify an expression to define folds
105
- vim.o.foldexpr = 'v:lua.vim.lsp.foldexpr()' --- if folding using treesitter then 'v:lua.vim.treesitter.foldexpr()'
95
+ vim.opt.pumborder = 'rounded' --- enable mini.completion border
96
+ vim.opt.cmdheight = 0 --- more space in the neovim command line for displaying messages
97
+ vim.opt.laststatus = 3 --- laststatus=3 global status line (line between splits)
98
+ vim.opt.number = true --- set numbered lines
99
+ vim.opt.scrolloff = 3 --- vertical scrolloff
100
+ vim.opt.sidescrolloff = 3 --- horizontal scrolloff
101
+ vim.opt.virtualedit = "all" --- allow cursor bypass end of line
102
+ vim.o.foldcolumn = '1' --- if '1' will show clickable fold signs
103
+ vim.o.foldlevel = 99 --- Disable folding at startup
104
+ vim.o.foldmethod = "expr" --- expr = specify an expression to define folds
105
+ vim.o.foldexpr = 'v:lua.vim.lsp.foldexpr()' --- if folding using treesitter then 'v:lua.vim.treesitter.foldexpr()'
106
106
  vim.o.fillchars = [[eob: ,fold: ,foldinner: ,foldopen:,foldsep: ,foldclose:]]
107
- vim.g.netrw_banner = 0 -- Hide the massive top banner
108
- vim.g.netrw_liststyle = 3 -- Use tree-style view instead of a flat list
109
- vim.g.netrw_browse_split = 4 -- Open files in a new vertical split on the right
110
- vim.g.netrw_winsize = 18 -- Set the width of the netrw split window (percentage)
111
- vim.g.netrw_preview = 1 -- open in a split window
112
- vim.g.netrw_list_hide = -- absolute path not supported only relative path works
113
- vim.cmd.packadd('netrw') and
114
- vim.fn["netrw_gitignore#Hide"]()
115
- .. ",.git"
116
- -- vim.g.netrw_localcopydircmd = 'cp -r' -- Change copy command to support recursive copying
117
- -- vim.g.netrw_keepdir = 0 -- don't close netrw after picking a file
118
- -- vim.g.netrw_altv = 1 -- open file to the right
119
- -- vim.g.netrw_special_syntax = 0 -- desactiva los colores por defecto de netrw
120
- -- vim.g.netrw_fastbrowse = 1 -- re-use directory listings
107
+ vim.g.netrw_banner = 0 --- Hide the massive top banner
108
+ vim.g.netrw_liststyle = 3 --- Use tree-style view instead of a flat list
109
+ vim.g.netrw_browse_split = 4 --- Open files in a new vertical split on the right
110
+ vim.g.netrw_winsize = 18 --- Set the width of the netrw split window (percentage)
111
+ vim.g.netrw_preview = 1 --- open in a split window
112
+ vim.g.netrw_list_hide = [[.git,node_modules]] --- vim.fn["netrw_gitignore#Hide"]() --> conflicts with RetroVim/.pip/nvim/__init__.py
121
113
  end
122
114
 
123
115
  --- ╭──────────────╮
@@ -541,6 +533,17 @@ if not vim.g.vscode then
541
533
  vim.pack.add({{ src = 'https://github.com/neovim/nvim-lspconfig', version = 'v2.10.0' }})
542
534
  end
543
535
 
536
+ local fix_node_path = function()
537
+ return vim.env.APPDATA
538
+ and autocmd({ "TermLeave" }, {
539
+ once = true,
540
+ callback = function()
541
+ vim.fn.filecopy(vim.env.HOME .. "/.pixi/envs/neovim-lsp/node.exe",
542
+ vim.env.HOME .. "/.pixi/envs/neovim-lsp/bin/node.exe")
543
+ end
544
+ })
545
+ end
546
+
544
547
  --> https://github.com/mason-org/mason-lspconfig.nvim/issues/371
545
548
  --> https://github.com/vuejs/language-tools/issues/5381
546
549
  vim.lsp.config['ts_ls'] = {
@@ -550,7 +553,7 @@ if not vim.g.vscode then
550
553
  plugins = {
551
554
  {
552
555
  name = '@vue/typescript-plugin',
553
- location = vim.env.PNPM_HOME .. "/global/5/node_modules/@vue/language-server/node_modules/@vue/typescript-plugin",
556
+ location = vim.env.HOME .. "/.pixi/envs/neovim-lsp/lib/node_modules/@vue/language-server/node_modules/@vue/typescript-plugin",
554
557
  languages = { 'vue' },
555
558
  },
556
559
  },
@@ -570,28 +573,30 @@ if not vim.g.vscode then
570
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' })
571
574
 
572
575
  map("n", "<leader>L", "", { desc = " LSP installer" }) --- relaunch nvim to autostart the new installed lsp
573
- map("n", "<leader>Lb", function() sendSequence('mise use --global node npm:bash-language-server@5.6.0') end, { desc = " bash" }) --- (no formatter press `=` to format selection)
574
- map("n", "<leader>Lc", function() sendSequence('mise use --global conda:clang-tools@22.1.8') end, { desc = " c/c++" }) --- (+formatter)
575
- map("n", "<leader>LC", function() sendSequence('mise x pixi -- pixi g install omnisharp-roslyn=1.39.12') end, { desc = " c#" }) --- (+formatter)
576
- map("n", "<leader>Ld", function() sendSequence('mise use --global node npm:dockerfile-language-server-nodejs@0.15.0') end, { desc = " docker" }) --- (+formatter)
577
- map("n", "<leader>Le", function() sendSequence('mise use --global node npm:emmet-language-server@0.1.3') end, { desc = " emmet (autoclose tag)" }) --- suggests <autoclose-this-tag> but not </close-some-open-tag> like vscode-html-language-server
578
- map("n", "<leader>Lf", function() sendSequence('mise use --global node npm:oxfmt@0.58.0') end, { desc = " oxfmt formatter/eslint" })
579
- map("n", "<leader>LF", function() sendSequence('mise use --global biome@2.5.3') end, { desc = " biome formatter/eslint" }) --- https://biomejs.dev/internals/language-support/
580
- map("n", "<leader>Lg", function() sendSequence('mise use --global go@1.26.5 conda:gopls@0.20.0') end, { desc = " go" }) --- (+formatter)
581
- map("n", "<leader>Lh", function() sendSequence('mise use --global github:phpantom-dev/phpantom_lsp@0.8.0') end, { desc = " php" }) --- (+formatter)
582
- map("n", "<leader>Lj", function() sendSequence('mise use --global github:hessesian/kmp-lsp@0.24.0') end, { desc = "   java kotlin swift" })
583
- map("n", "<leader>Ll", function() sendSequence('mise use --global lua-language-server@3.18.2') end, { desc = " lua" }) --- (+formatter)
584
- map("n", "<leader>LM", function() sendSequence('mise use --global github:neocmakelsp/neocmakelsp@0.10.4') end, { desc = " cmake" }) --- (+formatter +linter)
585
- map("n", "<leader>Lp", function() sendSequence('mise use --global node npm:@prisma/language-server@31.11.0') end, { desc = " prisma" }) --- (+formatter)
586
- map("n", "<leader>LP", function() sendSequence('mise use --global ty@0.0.58 ruff@0.15.21') end, { desc = " python" }) --- (-formatter)
587
- map("n", "<leader>Lr", function() sendSequence('mise use --global rust@1.97.0 rust-analyzer@2026-07-06') end, { desc = " rust" }) --- (+formatter)
588
- map("n", "<leader>LR", function() sendSequence('mise use --global terraform-ls@0.38.0') end, { desc = " terraform" }) --- (no formatter press `=` to format selection)
589
- map("n", "<leader>LS", function() sendSequence('mise use --global github:sqls-server/sqls@0.2.45') end, { desc = " sqls" })
590
- map("n", "<leader>Lt", function() sendSequence('mise use --global node npm:@tailwindcss/language-server@0.14.29') end, { desc = "󱏿 tailwindcss" })
591
- map("n", "<leader>LT", function() sendSequence('mise use --global taplo@0.10.0') end, { desc = " toml" }) --- (+formatter)
592
- map("n", "<leader>Lx", function() sendSequence('mise use --global node npm:vscode-langservers-extracted@4.10.0') end, { desc = "   css html json" }) --- (+formatter)
593
- map("n", "<leader>LX", function() sendSequence('pnpm install -g typescript@6.0.2 typescript-language-server@5.3.0 @vue/typescript-plugin@3.3.7') end, { desc = "   󰡄 " }) --- (+formatter)
594
- map("n", "<leader>Ly", function() sendSequence('mise use --global node npm:yaml-language-server@1.24.0') end, { desc = " yaml" }) --- (+formatter)
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)
595
600
 
596
601
  ------------------------------------------------------------------------------------------------------------------------
597
602
 
@@ -633,7 +638,7 @@ if not vim.g.vscode then
633
638
  "n",
634
639
  "<leader>Ek",
635
640
  function()
636
- sendSequence("mise use --global opencode github:github/copilot-language-server-release; exit")
641
+ sendSequence("pixi g install opencode copilot-language-server-release -c https://prefix.dev/retronvim -c conda-forge; exit")
637
642
  vim.pack.add({{ src = 'https://github.com/folke/sidekick.nvim', version = 'v2.3.0' }})
638
643
  autocmd({ "TermLeave" }, { once = true, command = "lsp enable copilot" })
639
644
  require("sidekick").setup({})
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "retrovim",
3
- "version": "0.0.3",
3
+ "version": "0.0.4",
4
4
  "description": "minimal neovim, yazi, zsh and kanata setup",
5
5
  "bin": {
6
6
  "kanata_touchcursor": ".npm/kanata_touchcursor.js",
package/pyproject.toml CHANGED
@@ -4,10 +4,10 @@
4
4
  # ╰────────────────────────────╯
5
5
 
6
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"
7
+ requires = ["hatchling"]
8
+ build-backend = "hatchling.build"
9
+ # requires = ["uv_build>=0.12,<0.13"]
10
+ # build-backend = "uv_build"
11
11
 
12
12
  [project]
13
13
  name = "retrovim"
@@ -24,20 +24,20 @@ nvim = "nvim:main"
24
24
  yazi = "yazi:main"
25
25
  zsh = "zsh:main"
26
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"]
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 = "." } # pip doesn't include it
32
+ # wheel-exclude = [".git","tests"]
33
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"
34
+ [tool.hatch.build.targets.wheel]
35
+ packages = [
36
+ ".pip/kanata_touchcursor",
37
+ ".pip/nvim",
38
+ ".pip/yazi",
39
+ ".pip/zsh",
40
+ ]
41
+
42
+ [tool.hatch.build.targets.wheel.force-include]
43
+ "." = "data"
package/yazi/keymap.toml CHANGED
@@ -38,7 +38,7 @@ prepend_keymap = [
38
38
  { on = [ "g", "h" ], run = """ cd ~ """, desc = "󱂵 Go home" },
39
39
  { on = [ "g", "g" ], run = """ arrow -9999 """, desc = "󰛃 Go top" },
40
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" },
41
+ { on = [ "g", "s" ], run = """ cd %YAZI_CONFIG_HOME%/.. """, for = "windows", desc = " retrovim settings" },
42
42
  { on = [ "g", "r" ], run = """ plugin cd-git-root """, desc = " git root" },
43
43
  { on = [ "i" ], run = """ shell --block -- bat --paging always --wrap never %s """, desc = "Bat open selected" },
44
44
 
package/zsh/.zshrc CHANGED
@@ -12,6 +12,7 @@ setopt interactive_comments # allow comment
12
12
  zstyle ":completion:*" menu select # <tab><tab> to enter menu completion
13
13
  precmd () { printf "\033]0; $(basename ${PWD/~/\~}) \a" } # tmux/wezterm CWD status/title
14
14
  [[ "$OSTYPE" == "cygwin" ]] && export HOME="/c/Users/$USERNAME" # for git-bash / msys2 home
15
+ [[ "$OSTYPE" == "cygwin" ]] && export DOTEXE=".exe" # for git-bash / msys2
15
16
 
16
17
  alias apt="sudo apt -y"
17
18
  alias grep="grep --color=auto"
@@ -32,7 +33,7 @@ export NPM_CONFIG_PREFIX="$HOME/.local/share/npm"
32
33
  export PAGER="less -R --use-color --color=d+g --color=u+r --color=Pyk --color=Syk"
33
34
  export PNPM_HOME="$HOME/.local/share/pnpm" # $(pnpm setup)
34
35
  export SAVEHIST=10000
35
- export SHELL="zsh" # for nvim terminal if bash is the default shell
36
+ export SHELL="zsh$DOTEXE" # for nvim terminal if bash is the default shell
36
37
  export STARSHIP_CONFIG="$ZDOTDIR/starship.toml"
37
38
  export VIMINIT="lua vim.cmd.source(vim.env.ZDOTDIR .. [[/../nvim/init.lua]])" # luafile theorically is faster then `source` and `dofile`
38
39
  export YAZI_CONFIG_HOME="$ZDOTDIR/../yazi"
@@ -41,20 +42,25 @@ export ZEROBREW_ROOT="$HOME/.local/share/zerobrew"
41
42
  export ZEROBREW_PREFIX="$HOME/.local/share/zerobrew/prefix"
42
43
  export PKG_CONFIG_PATH="$ZEROBREW_PREFIX/lib/pkgconfig:${PKG_CONFIG_PATH:-}"
43
44
 
44
- export PATH="/bin:/usr/bin:$PATH"
45
45
  export PATH="$HOME/appdata/local/mise/shims:$PATH"
46
46
  export PATH="$HOME/.local/bin:$PATH"
47
47
  export PATH="$HOME/.local/share/mise/shims:$PATH"
48
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
49
50
  export PATH="$HOME/.pixi/envs/retronvim/bin:$PATH"
50
- export PATH="$HOME/.pixi/envs/retronvim/Library:$PATH"
51
+ export PATH="$HOME/.pixi/envs/retronvim/Library/bin:$PATH"
52
+ export PATH="$HOME/.pixi/envs/retronvim/Library/usr/bin:$PATH"
51
53
  export PATH="$HOME/.pixi/envs/retrovim/bin:$PATH"
52
- export PATH="$HOME/.pixi/envs/retrovim/Library:$PATH"
54
+ export PATH="$HOME/.pixi/envs/retrovim/Library/bin:$PATH"
55
+ export PATH="$HOME/.pixi/envs/retrovim/Library/usr/bin:$PATH"
53
56
  export PATH="$HOME/.pixi/bin:$PATH"
54
57
  export PATH="$PATH:$PNPM_HOME" # $(pnpm setup)
55
58
  export PATH="$PATH:$PNPM_HOME/global/5/node_modules/.bin" # $(pnpm approve-builds -g)
56
59
  export PATH="$PATH:$ZEROBREW_PREFIX/bin"
57
60
 
61
+ [[ -e /data/data/com.termux ]] && export LD_LIBRARY_PATH="$(echo ~/.pixi/envs/*/lib | tr ' ' ':'):$LD_LIBRARY_PATH" # fixes lib**.so not found inside termux/proot-distro
62
+ [[ -e /data/data/com.termux ]] && export PATH="$(echo ~/.pixi/envs/*/bin | tr ' ' ':'):$PATH" # workaround for termux/proot-distro it should be before ~/.pixi/bin path
63
+
58
64
  # ╭─────────────────╮
59
65
  # │ yazi cd on exit │
60
66
  # ╰─────────────────╯
@@ -141,5 +147,5 @@ bindkey -M viins '\el' _autosuggest_accept
141
147
  >/dev/null 2>&1 which zsh-patina && eval "$(zsh-patina activate)"
142
148
 
143
149
  # 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"
150
+ [[ -n $HOME/.cache/.zcompdump(#qNm.mh+24) ]] && compinit -u -d "$HOME/.cache/.zcompdump" || compinit -u -C -d "$HOME/.cache/.zcompdump"
145
151