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') 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