diff options
| author | Thomas Schmucker <ts@its1.de> | 2026-07-23 09:51:55 +0200 |
|---|---|---|
| committer | Thomas Schmucker <ts@its1.de> | 2026-07-23 09:51:55 +0200 |
| commit | fe4db25063224c51f9970f2f41d355f60d751b1b (patch) | |
| tree | 04852c80566b91e70a7ece10f51030e763751672 /neovim-windows-setup.md | |
| parent | 1b2066ee60e9fc629941db716d8a7ac6d81dbca6 (diff) | |
| download | dotfiles-fe4db25063224c51f9970f2f41d355f60d751b1b.tar.gz dotfiles-fe4db25063224c51f9970f2f41d355f60d751b1b.tar.bz2 dotfiles-fe4db25063224c51f9970f2f41d355f60d751b1b.zip | |
bootstrap: neovim-win.ps1 hinzugefuegt (natives PowerShell-Pendant)
Reiner PowerShell-Weg statt Git-Bash/WSL, wie von Thomas gewuenscht.
Installiert Formatter/Tools/LSP-Server per winget und npm; einzelne
fehlschlagende Pakete werden als Warnung gemeldet statt das Skript
abzubrechen (mehrere winget-IDs konnten in dieser Session nicht gegen
eine Live-Quelle verifiziert werden, siehe Kopfkommentar im Skript).
neovim-windows-setup.md: Abschnitt zu externen Abhaengigkeiten auf das
neue Skript verweisen lassen statt einzelne Befehle aufzulisten.
Diffstat (limited to 'neovim-windows-setup.md')
| -rw-r--r-- | neovim-windows-setup.md | 43 |
1 files changed, 4 insertions, 39 deletions
diff --git a/neovim-windows-setup.md b/neovim-windows-setup.md index 7c8e7f3..555c273 100644 --- a/neovim-windows-setup.md +++ b/neovim-windows-setup.md | |||
| @@ -26,54 +26,19 @@ Nach Änderungen im Repo `install-win.cmd` erneut ausführen, um die Kopien zu a | |||
| 26 | 26 | ||
| 27 | ## 3. Externe Abhängigkeiten | 27 | ## 3. Externe Abhängigkeiten |
| 28 | 28 | ||
| 29 | `bootstrap/neovim.sh` bricht unter Windows sofort ab (`Nicht unterstütztes Betriebssystem`) – die Pakete müssen manuell installiert werden: | 29 | `bootstrap/neovim.sh` bricht unter Windows sofort ab (`Nicht unterstütztes Betriebssystem`). Stattdessen `bootstrap/neovim-win.ps1` ausführen (reines PowerShell, kein Git Bash/WSL nötig): |
| 30 | 30 | ||
| 31 | **Tools** | ||
| 32 | ```powershell | 31 | ```powershell |
| 33 | winget install BurntSushi.ripgrep.MSVC | 32 | .\bootstrap\neovim-win.ps1 |
| 34 | winget install sharkdp.fd | ||
| 35 | winget install tree-sitter.tree-sitter | ||
| 36 | ``` | 33 | ``` |
| 37 | 34 | ||
| 38 | **C-Compiler** (nötig, damit `nvim-treesitter` Parser kompilieren kann): | 35 | Installiert per `winget`/`npm`: Git, Node, Formatter (jq, prettier, ruff, shfmt, stylua, yamlfmt, gawk, xmllint), Tools (ripgrep, fd, tree-sitter-cli, zig als C-Compiler für Treesitter, make) und LSP-Server (basedpyright, bash-language-server, clangd, shellcheck, vscode-langservers-extracted, lua-language-server, prisma, vtsls). Einzelne Pakete, die fehlschlagen, werden als Warnung gemeldet statt das Skript abzubrechen – Details siehe Kopfkommentar im Skript (einige winget-IDs, v. a. GnuWin32.Gawk/Libxml2, google.yamlfmt, mvdan.shfmt, astral-sh.ruff, zig.zig, sind ungeprüft). |
| 39 | ```powershell | ||
| 40 | winget install zig.zig | ||
| 41 | ``` | ||
| 42 | (zig funktioniert als `cc`-Ersatz für Treesitter; alternativ MSVC Build Tools oder MinGW-w64) | ||
| 43 | 36 | ||
| 44 | **Make** (für `opt.makeprg = "gmake"`): | 37 | `windows\bin` (enthält `gmake.cmd`, Wrapper für `opt.makeprg = "gmake"`) danach einmalig zum PATH hinzufügen: |
| 45 | ```powershell | ||
| 46 | winget install GnuWin32.Make | ||
| 47 | ``` | ||
| 48 | Anschließend `windows\bin` (enthält `gmake.cmd`, einen Wrapper der an `make` durchreicht) einmalig zum PATH hinzufügen: | ||
| 49 | ```powershell | 38 | ```powershell |
| 50 | setx PATH "%PATH%;%USERPROFILE%\dotfiles\windows\bin" | 39 | setx PATH "%PATH%;%USERPROFILE%\dotfiles\windows\bin" |
| 51 | ``` | 40 | ``` |
| 52 | 41 | ||
| 53 | **Formatter** (conform.nvim): | ||
| 54 | ```powershell | ||
| 55 | winget install jqlang.jq | ||
| 56 | npm install -g prettier | ||
| 57 | pip install ruff | ||
| 58 | winget install mvdan.shfmt | ||
| 59 | winget install JohnnyMorganz.StyLua | ||
| 60 | winget install google.yamlfmt | ||
| 61 | winget install GnuWin32.Gawk | ||
| 62 | ``` | ||
| 63 | `xmllint` (für XML/XSD) ist in libxml2 enthalten – z. B. über `winget install GnuWin32.Libxml2` oder in Git for Windows bereits vorhanden. | ||
| 64 | |||
| 65 | **LSP-Server**: | ||
| 66 | ```powershell | ||
| 67 | npm install -g basedpyright | ||
| 68 | npm install -g bash-language-server | ||
| 69 | npm install -g vscode-langservers-extracted | ||
| 70 | npm install -g @prisma/language-server | ||
| 71 | npm install -g @vtsls/language-server | ||
| 72 | winget install LLVM.LLVM # clangd | ||
| 73 | winget install koalaman.shellcheck | ||
| 74 | winget install LuaLS.lua-language-server | ||
| 75 | ``` | ||
| 76 | |||
| 77 | ## 4. Bekannte Stolpersteine | 42 | ## 4. Bekannte Stolpersteine |
| 78 | 43 | ||
| 79 | - **`g.python3_host_prog`** in `nvim/lua/config/options.lua` ist hart auf einen Unix-Pfad (`$HOME/.local/venv/nvim/bin/python`) gesetzt. Unter Windows existiert weder dieses `HOME`-Layout noch `bin/python` (dort `Scripts\python.exe`). Aktuell nutzt kein installiertes Plugin die Python-Provider-API – daher unkritisch, kann ignoriert werden, solange `:python3`-Funktionen nicht gebraucht werden. (Erwägenswert: `g.loaded_python3_provider = 0` setzen, dann verschwindet das Problem ganz – separat besprochen, noch nicht umgesetzt.) | 44 | - **`g.python3_host_prog`** in `nvim/lua/config/options.lua` ist hart auf einen Unix-Pfad (`$HOME/.local/venv/nvim/bin/python`) gesetzt. Unter Windows existiert weder dieses `HOME`-Layout noch `bin/python` (dort `Scripts\python.exe`). Aktuell nutzt kein installiertes Plugin die Python-Provider-API – daher unkritisch, kann ignoriert werden, solange `:python3`-Funktionen nicht gebraucht werden. (Erwägenswert: `g.loaded_python3_provider = 0` setzen, dann verschwindet das Problem ganz – separat besprochen, noch nicht umgesetzt.) |
