diff options
| author | Thomas Schmucker <ts@its1.de> | 2026-07-24 10:42:48 +0200 |
|---|---|---|
| committer | Thomas Schmucker <ts@its1.de> | 2026-07-24 10:42:48 +0200 |
| commit | d0456680793b6ed85c3de16ff22c4e7bb80ec341 (patch) | |
| tree | ba12ca5475a2c22d2ccabfc327028be9bf4f0ebd /nvim/lua/config | |
| parent | 7dc291df70e115bf021240d0ea2616dffe28d9c8 (diff) | |
| download | dotfiles-d0456680793b6ed85c3de16ff22c4e7bb80ec341.tar.gz dotfiles-d0456680793b6ed85c3de16ff22c4e7bb80ec341.tar.bz2 dotfiles-d0456680793b6ed85c3de16ff22c4e7bb80ec341.zip | |
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).
Diffstat (limited to 'nvim/lua/config')
| -rw-r--r-- | nvim/lua/config/statusline.lua | 11 |
1 files changed, 10 insertions, 1 deletions
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 | |||
| 20 | -- Git branch (buffer-lokal, gecached, kein redraw-spam) | 20 | -- Git branch (buffer-lokal, gecached, kein redraw-spam) |
| 21 | ---------------------------------------------------------------------- | 21 | ---------------------------------------------------------------------- |
| 22 | 22 | ||
| 23 | -- /dev/null gibt es unter Windows nicht (cmd.exe versteht das nicht als | ||
| 24 | -- Pfad und meldet "Das System kann den angegebenen Pfad nicht finden"). | ||
| 25 | local devnull = vim.fn.has("win32") == 1 and "NUL" or "/dev/null" | ||
| 26 | |||
| 23 | local function update_git_branch(bufnr) | 27 | local function update_git_branch(bufnr) |
| 24 | bufnr = bufnr or 0 | 28 | bufnr = bufnr or 0 |
| 25 | 29 | ||
| @@ -35,7 +39,12 @@ local function update_git_branch(bufnr) | |||
| 35 | return | 39 | return |
| 36 | end | 40 | end |
| 37 | 41 | ||
| 38 | local branch = vim.fn.systemlist("git rev-parse --abbrev-ref HEAD 2>/dev/null")[1] | 42 | local branch = vim.fn.systemlist("git rev-parse --abbrev-ref HEAD 2>" .. devnull)[1] |
| 43 | if branch then | ||
| 44 | -- unter Windows bleibt an systemlist()-Zeilen mitunter ein | ||
| 45 | -- trailing \r haengen (^M in der Statuszeile sichtbar) | ||
| 46 | branch = branch:gsub("\r$", "") | ||
| 47 | end | ||
| 39 | 48 | ||
| 40 | if branch and branch ~= "" then | 49 | if branch and branch ~= "" then |
| 41 | vim.b[bufnr].git_branch = " " .. branch .. " " | 50 | vim.b[bufnr].git_branch = " " .. branch .. " " |
