From 1b2066ee60e9fc629941db716d8a7ac6d81dbca6 Mon Sep 17 00:00:00 2001 From: Thomas Schmucker Date: Thu, 23 Jul 2026 07:42:59 +0200 Subject: neovim: Python- und Node-Provider deaktiviert, bootstrap bereinigt Alle Plugins sind reines Lua, ein Provider wird nicht benoetigt. g.python3_host_prog entfernt (zeigte auf unix-spezifischen venv-Pfad), stattdessen g.loaded_python3_provider = 0 und g.loaded_node_provider = 0. bootstrap/neovim.sh: setup_python_provider() (venv + pynvim) und install_npm neovim-node-host entfernt, python3 als Systemvoraussetzung gestrichen. node bleibt (wird fuer npm-Installationen benoetigt). --- nvim/lua/config/options.lua | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'nvim/lua') diff --git a/nvim/lua/config/options.lua b/nvim/lua/config/options.lua index abd5ed9..409c620 100644 --- a/nvim/lua/config/options.lua +++ b/nvim/lua/config/options.lua @@ -92,11 +92,12 @@ opt.clipboard = "unnamedplus" opt.updatetime = 250 opt.timeoutlen = 300 --- Provider deaktivieren +-- Provider deaktivieren (alle Plugins sind reines Lua, kein Provider noetig) g.loaded_ruby_provider = 0 g.loaded_perl_provider = 0 g.loaded_luarocks_provider = 0 -g.python3_host_prog = os.getenv("HOME") .. "/.local/venv/nvim/bin/python" +g.loaded_python3_provider = 0 +g.loaded_node_provider = 0 -- netrw deaktivieren g.loaded_netrw = 1 -- cgit v1.3 From d0456680793b6ed85c3de16ff22c4e7bb80ec341 Mon Sep 17 00:00:00 2001 From: Thomas Schmucker Date: Fri, 24 Jul 2026 10:42:48 +0200 Subject: neovim: /dev/null in statusline.lua bricht unter Windows update_git_branch() nutzte '2>/dev/null', um Fehlerausgaben von 'git rev-parse' zu unterdruecken. /dev/null existiert unter Windows nicht - cmd.exe interpretiert es als Dateipfad und meldet 'Das System kann den angegebenen Pfad nicht finden', sichtbar in der Statuszeile. devnull wird jetzt je nach vim.fn.has('win32') auf 'NUL' bzw. '/dev/null' gesetzt. Zusaetzlich ein trailing \r vom systemlist()- Ergebnis entfernt (zeigte sich als ^M in der Statuszeile). --- nvim/lua/config/statusline.lua | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'nvim/lua') diff --git a/nvim/lua/config/statusline.lua b/nvim/lua/config/statusline.lua index 0ec6579..8a9c75a 100644 --- a/nvim/lua/config/statusline.lua +++ b/nvim/lua/config/statusline.lua @@ -20,6 +20,10 @@ end -- Git branch (buffer-lokal, gecached, kein redraw-spam) ---------------------------------------------------------------------- +-- /dev/null gibt es unter Windows nicht (cmd.exe versteht das nicht als +-- Pfad und meldet "Das System kann den angegebenen Pfad nicht finden"). +local devnull = vim.fn.has("win32") == 1 and "NUL" or "/dev/null" + local function update_git_branch(bufnr) bufnr = bufnr or 0 @@ -35,7 +39,12 @@ local function update_git_branch(bufnr) return end - local branch = vim.fn.systemlist("git rev-parse --abbrev-ref HEAD 2>/dev/null")[1] + local branch = vim.fn.systemlist("git rev-parse --abbrev-ref HEAD 2>" .. devnull)[1] + if branch then + -- unter Windows bleibt an systemlist()-Zeilen mitunter ein + -- trailing \r haengen (^M in der Statuszeile sichtbar) + branch = branch:gsub("\r$", "") + end if branch and branch ~= "" then vim.b[bufnr].git_branch = "  " .. branch .. " " -- cgit v1.3 From c76dc6075beb1bbbc55231df7d5aa50b5f70ba2c Mon Sep 17 00:00:00 2001 From: Thomas Schmucker Date: Fri, 24 Jul 2026 11:20:14 +0200 Subject: neovim: SonarScan/SonarIssues nur unter POSIX registrieren sonar-scanner und scripts/sonarqube.sh haben kein Windows-Pendant. Statt die Kommandos unter Windows existieren zu lassen und dort mit Fehlern (fehlendes sh, /dev/null-artige Probleme) fehlzuschlagen, werden SonarScan/SonarIssues jetzt nur registriert, wenn vim.fn.has('win32') == 0 - unter Windows existieren die Kommandos schlicht nicht. LspOff/LspOffBuffer/LspOn bleiben unveraendert, betreffen keine Plattform-Abhaengigkeit. neovim-windows-setup.md: den damit erledigten sonarqube.sh-Stolperstein aus Abschnitt 4 entfernt, MSVC/Developer PowerShell bleibt als einziger verbleibender Punkt. --- neovim-windows-setup.md | 1 - nvim/lua/config/usercmds.lua | 10 ++++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) (limited to 'nvim/lua') diff --git a/neovim-windows-setup.md b/neovim-windows-setup.md index 6791f3d..8227995 100644 --- a/neovim-windows-setup.md +++ b/neovim-windows-setup.md @@ -66,7 +66,6 @@ $userPath = [Environment]::GetEnvironmentVariable("PATH", "User") ## 4. Bekannte Stolpersteine - **C-Compiler für `nvim-treesitter` (MSVC)**: `cl.exe` findet `nvim-treesitter` automatisch, aber nur wenn `INCLUDE`/`LIB` gesetzt sind – das passiert ausschließlich in einer "Developer PowerShell for VS" bzw. "x64 Native Tools Command Prompt", nicht in einer normalen PowerShell/Windows Terminal-Sitzung. Ohne das schlägt die Parser-Kompilierung mit einer Meldung wie "cannot find `
`.h" fehl, obwohl `cl.exe` selbst gefunden wird. Neovim also immer aus dieser Developer-Shell heraus starten. -- **`scripts/sonarqube.sh`** (`:SonarIssues`): reines POSIX-Shellskript, kein Windows-Pendant vorhanden. Läuft nur, wenn ein `sh` im PATH liegt (z. B. `sh.exe` aus Git for Windows im PATH verfügbar machen); ansonsten `:SonarIssues` auf Windows nicht nutzen. ## 5. Verifizieren diff --git a/nvim/lua/config/usercmds.lua b/nvim/lua/config/usercmds.lua index 9abc50f..db02497 100644 --- a/nvim/lua/config/usercmds.lua +++ b/nvim/lua/config/usercmds.lua @@ -66,8 +66,14 @@ local function enable_lsp() vim.cmd("edit") -- triggert Reattach bei vielen Setups end -vim.api.nvim_create_user_command("SonarScan", run_sonar, {}) -vim.api.nvim_create_user_command("SonarIssues", load_sonar_issues, {}) +-- sonar-scanner/scripts/sonarqube.sh sind POSIX-only (kein Windows-Pendant), +-- deshalb Kommandos unter Windows gar nicht erst registrieren statt sie +-- dort fehlschlagen zu lassen. +if vim.fn.has("win32") == 0 then + vim.api.nvim_create_user_command("SonarScan", run_sonar, {}) + vim.api.nvim_create_user_command("SonarIssues", load_sonar_issues, {}) +end + vim.api.nvim_create_user_command("LspOff", disable_lsp, {}) vim.api.nvim_create_user_command("LspOffBuffer", disable_lsp_buffer, {}) vim.api.nvim_create_user_command("LspOn", enable_lsp, {}) -- cgit v1.3 From e786fedb6f680e84a9bca37cfad7342a06e05a51 Mon Sep 17 00:00:00 2001 From: Thomas Schmucker Date: Fri, 24 Jul 2026 11:21:33 +0200 Subject: neovim: is_windows-Variable statt has('win32') == 0 Lua-Falle vermieden: 0 ist in Lua truthy, ein direktes 'not vim.fn.has("win32")' waere falsch gewesen. Stattdessen is_windows = vim.fn.has("win32") == 1 (liefert echtes bool), dann 'if not is_windows then' - lesbarer als '== 0'. --- nvim/lua/config/usercmds.lua | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'nvim/lua') diff --git a/nvim/lua/config/usercmds.lua b/nvim/lua/config/usercmds.lua index db02497..529b370 100644 --- a/nvim/lua/config/usercmds.lua +++ b/nvim/lua/config/usercmds.lua @@ -69,7 +69,9 @@ end -- sonar-scanner/scripts/sonarqube.sh sind POSIX-only (kein Windows-Pendant), -- deshalb Kommandos unter Windows gar nicht erst registrieren statt sie -- dort fehlschlagen zu lassen. -if vim.fn.has("win32") == 0 then +local is_windows = vim.fn.has("win32") == 1 + +if not is_windows then vim.api.nvim_create_user_command("SonarScan", run_sonar, {}) vim.api.nvim_create_user_command("SonarIssues", load_sonar_issues, {}) end -- cgit v1.3