diff options
| author | Thomas Schmucker <ts@its1.de> | 2026-09-08 07:14:29 +0200 |
|---|---|---|
| committer | Thomas Schmucker <ts@its1.de> | 2026-09-08 07:14:29 +0200 |
| commit | 18749ddf848acf9b3199be75f9f16588dda43bfb (patch) | |
| tree | c3083725e96c417ab0bbb25e779f29c8f11e8789 /nvim/lua | |
| parent | 3f04ecdc38cf7d584f56e5e25d06eea9e523de15 (diff) | |
| download | dotfiles-18749ddf848acf9b3199be75f9f16588dda43bfb.tar.gz dotfiles-18749ddf848acf9b3199be75f9f16588dda43bfb.tar.bz2 dotfiles-18749ddf848acf9b3199be75f9f16588dda43bfb.zip | |
Konfiguration vereinfacht
Diffstat (limited to 'nvim/lua')
| -rw-r--r-- | nvim/lua/config/colorscheme.lua | 18 | ||||
| -rw-r--r-- | nvim/lua/config/options.lua | 16 | ||||
| -rw-r--r-- | nvim/lua/config/statusline.lua | 55 | ||||
| -rw-r--r-- | nvim/lua/plugins/lsp.lua | 22 | ||||
| -rw-r--r-- | nvim/lua/plugins/ui.lua | 22 |
5 files changed, 37 insertions, 96 deletions
diff --git a/nvim/lua/config/colorscheme.lua b/nvim/lua/config/colorscheme.lua deleted file mode 100644 index ddd1d6a..0000000 --- a/nvim/lua/config/colorscheme.lua +++ /dev/null | |||
| @@ -1,18 +0,0 @@ | |||
| 1 | -- Fix: Farbschema für Rechtschreibfehler | ||
| 2 | vim.api.nvim_set_hl(0, "SpellBad", { fg = "#ffffff", bg = "#5f0000" }) | ||
| 3 | vim.api.nvim_set_hl(0, "SpellCap", { fg = "#000000", bg = "#ffaf00" }) | ||
| 4 | vim.api.nvim_set_hl(0, "SpellRare", { fg = "#000000", bg = "#5fd7ff" }) | ||
| 5 | vim.api.nvim_set_hl(0, "SpellLocal", { fg = "#000000", bg = "#5fff87" }) | ||
| 6 | vim.api.nvim_set_hl(0, "CursorLine", { bg = "#252526" }) | ||
| 7 | vim.api.nvim_set_hl(0, "CursorColumn", { bg = "#252526" }) | ||
| 8 | |||
| 9 | -- Statusline Farben | ||
| 10 | vim.api.nvim_set_hl(0, "StatuslineModeNormal", { fg = "#1e222a", bg = "#61afef", bold = true }) | ||
| 11 | vim.api.nvim_set_hl(0, "StatuslineModeInsert", { fg = "#1e222a", bg = "#98c379", bold = true }) | ||
| 12 | vim.api.nvim_set_hl(0, "StatuslineModeVisual", { fg = "#1e222a", bg = "#c678dd", bold = true }) | ||
| 13 | vim.api.nvim_set_hl(0, "StatuslineModeReplace", { fg = "#1e222a", bg = "#e86671", bold = true }) | ||
| 14 | vim.api.nvim_set_hl(0, "StatuslineModeCommand", { fg = "#1e222a", bg = "#e5c07b", bold = true }) | ||
| 15 | |||
| 16 | -- NVim-Tree | ||
| 17 | vim.api.nvim_set_hl(0, "NvimTreeOpenedFile", { bold = true }) | ||
| 18 | vim.api.nvim_set_hl(0, "NvimTreeCursorLine", { bg = "#2A2D2E" }) | ||
diff --git a/nvim/lua/config/options.lua b/nvim/lua/config/options.lua index 227475a..b1d2104 100644 --- a/nvim/lua/config/options.lua +++ b/nvim/lua/config/options.lua | |||
| @@ -12,6 +12,9 @@ opt.signcolumn = "yes" | |||
| 12 | opt.termguicolors = true | 12 | opt.termguicolors = true |
| 13 | opt.showcmd = false | 13 | opt.showcmd = false |
| 14 | 14 | ||
| 15 | -- Rahmen für alle Floating Windows (ersetzt manuelles Setzen von 'border') | ||
| 16 | opt.winborder = "rounded" | ||
| 17 | |||
| 15 | -- Texte umbrechen | 18 | -- Texte umbrechen |
| 16 | opt.wrap = false | 19 | opt.wrap = false |
| 17 | opt.linebreak = true | 20 | opt.linebreak = true |
| @@ -56,10 +59,8 @@ opt.tabstop = 4 | |||
| 56 | opt.shiftwidth = 4 | 59 | opt.shiftwidth = 4 |
| 57 | opt.softtabstop = 0 | 60 | opt.softtabstop = 0 |
| 58 | 61 | ||
| 59 | -- Einrückungen | 62 | -- Einrückungen (cindent nur für C/C++, siehe ftplugin/c.lua) |
| 60 | opt.smartindent = true | ||
| 61 | opt.autoindent = true | 63 | opt.autoindent = true |
| 62 | opt.cindent = true | ||
| 63 | 64 | ||
| 64 | -- Faltungen | 65 | -- Faltungen |
| 65 | opt.foldlevel = 1000 | 66 | opt.foldlevel = 1000 |
| @@ -95,7 +96,6 @@ opt.fileformat = "unix" | |||
| 95 | -- Provider deaktivieren (alle Plugins sind reines Lua, kein Provider noetig) | 96 | -- Provider deaktivieren (alle Plugins sind reines Lua, kein Provider noetig) |
| 96 | g.loaded_ruby_provider = 0 | 97 | g.loaded_ruby_provider = 0 |
| 97 | g.loaded_perl_provider = 0 | 98 | g.loaded_perl_provider = 0 |
| 98 | g.loaded_luarocks_provider = 0 | ||
| 99 | g.loaded_python3_provider = 0 | 99 | g.loaded_python3_provider = 0 |
| 100 | g.loaded_node_provider = 0 | 100 | g.loaded_node_provider = 0 |
| 101 | 101 | ||
| @@ -114,11 +114,3 @@ vim.diagnostic.config({ | |||
| 114 | severity_sort = true, | 114 | severity_sort = true, |
| 115 | float = { border = "rounded" }, | 115 | float = { border = "rounded" }, |
| 116 | }) | 116 | }) |
| 117 | |||
| 118 | vim.lsp.util.open_floating_preview = (function(orig) | ||
| 119 | return function(contents, syntax, opts, ...) | ||
| 120 | opts = opts or {} | ||
| 121 | opts.border = opts.border or "rounded" | ||
| 122 | return orig(contents, syntax, opts, ...) | ||
| 123 | end | ||
| 124 | end)(vim.lsp.util.open_floating_preview) | ||
diff --git a/nvim/lua/config/statusline.lua b/nvim/lua/config/statusline.lua index 8a9c75a..01339d0 100644 --- a/nvim/lua/config/statusline.lua +++ b/nvim/lua/config/statusline.lua | |||
| @@ -17,60 +17,17 @@ local function mode() | |||
| 17 | end | 17 | end |
| 18 | 18 | ||
| 19 | ---------------------------------------------------------------------- | 19 | ---------------------------------------------------------------------- |
| 20 | -- Git branch (buffer-lokal, gecached, kein redraw-spam) | ||
| 21 | ---------------------------------------------------------------------- | ||
| 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 | |||
| 27 | local function update_git_branch(bufnr) | ||
| 28 | bufnr = bufnr or 0 | ||
| 29 | |||
| 30 | -- nur in echten Dateien | ||
| 31 | if vim.bo[bufnr].buftype ~= "" then | ||
| 32 | vim.b[bufnr].git_branch = "" | ||
| 33 | return | ||
| 34 | end | ||
| 35 | |||
| 36 | -- kein Git → nichts tun | ||
| 37 | if vim.fn.executable("git") ~= 1 then | ||
| 38 | vim.b[bufnr].git_branch = "" | ||
| 39 | return | ||
| 40 | end | ||
| 41 | |||
| 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 | ||
| 48 | |||
| 49 | if branch and branch ~= "" then | ||
| 50 | vim.b[bufnr].git_branch = " " .. branch .. " " | ||
| 51 | else | ||
| 52 | vim.b[bufnr].git_branch = "" | ||
| 53 | end | ||
| 54 | end | ||
| 55 | |||
| 56 | ---------------------------------------------------------------------- | ||
| 57 | -- Autocmd: Git nur bei Bedarf aktualisieren | ||
| 58 | ---------------------------------------------------------------------- | ||
| 59 | |||
| 60 | vim.api.nvim_create_autocmd({ "BufEnter", "FocusGained" }, { | ||
| 61 | callback = function(args) | ||
| 62 | update_git_branch(args.buf) | ||
| 63 | end, | ||
| 64 | }) | ||
| 65 | |||
| 66 | ---------------------------------------------------------------------- | ||
| 67 | -- Statusline-Sektionen (reine Darstellung, keine IO) | 20 | -- Statusline-Sektionen (reine Darstellung, keine IO) |
| 68 | ---------------------------------------------------------------------- | 21 | ---------------------------------------------------------------------- |
| 69 | 22 | ||
| 70 | -- Git-Branch (buffer-lokal, gecached, kein redraw-spam) | 23 | -- Git-Branch (gitsigns setzt vim.b.gitsigns_head asynchron pro Buffer) |
| 71 | 24 | ||
| 72 | local function git() | 25 | local function git() |
| 73 | return vim.b.git_branch or "" | 26 | local head = vim.b.gitsigns_head |
| 27 | |||
| 28 | if not head or head == "" then return "" end | ||
| 29 | |||
| 30 | return " " .. head .. " " | ||
| 74 | end | 31 | end |
| 75 | 32 | ||
| 76 | -- Git-Diff (buffer-lokal, kein redraw-spam) | 33 | -- Git-Diff (buffer-lokal, kein redraw-spam) |
diff --git a/nvim/lua/plugins/lsp.lua b/nvim/lua/plugins/lsp.lua index b301b68..8e50357 100644 --- a/nvim/lua/plugins/lsp.lua +++ b/nvim/lua/plugins/lsp.lua | |||
| @@ -6,8 +6,12 @@ return { | |||
| 6 | config = function() | 6 | config = function() |
| 7 | local capabilities = require("blink.cmp").get_lsp_capabilities(vim.lsp.protocol.make_client_capabilities()) | 7 | local capabilities = require("blink.cmp").get_lsp_capabilities(vim.lsp.protocol.make_client_capabilities()) |
| 8 | 8 | ||
| 9 | vim.lsp.config.lua_ls = { | 9 | -- gilt fuer alle Server und wird mit den serverspezifischen Configs gemerged |
| 10 | vim.lsp.config("*", { | ||
| 10 | capabilities = capabilities, | 11 | capabilities = capabilities, |
| 12 | }) | ||
| 13 | |||
| 14 | vim.lsp.config.lua_ls = { | ||
| 11 | settings = { | 15 | settings = { |
| 12 | Lua = { | 16 | Lua = { |
| 13 | runtime = { | 17 | runtime = { |
| @@ -31,12 +35,10 @@ return { | |||
| 31 | } | 35 | } |
| 32 | 36 | ||
| 33 | vim.lsp.config.bashls = { | 37 | vim.lsp.config.bashls = { |
| 34 | capabilities = capabilities, | ||
| 35 | filetypes = { "sh", "bash" }, | 38 | filetypes = { "sh", "bash" }, |
| 36 | } | 39 | } |
| 37 | 40 | ||
| 38 | vim.lsp.config.clangd = { | 41 | vim.lsp.config.clangd = { |
| 39 | capabilities = capabilities, | ||
| 40 | cmd = { | 42 | cmd = { |
| 41 | "clangd", | 43 | "clangd", |
| 42 | "--background-index", | 44 | "--background-index", |
| @@ -52,20 +54,7 @@ return { | |||
| 52 | }, | 54 | }, |
| 53 | } | 55 | } |
| 54 | 56 | ||
| 55 | vim.lsp.config.prismals = { | ||
| 56 | capabilities = capabilities, | ||
| 57 | } | ||
| 58 | |||
| 59 | vim.lsp.config.jsonls = { | ||
| 60 | capabilities = capabilities, | ||
| 61 | } | ||
| 62 | |||
| 63 | vim.lsp.config.html = { | ||
| 64 | capabilities = capabilities, | ||
| 65 | } | ||
| 66 | |||
| 67 | vim.lsp.config.vtsls = { | 57 | vim.lsp.config.vtsls = { |
| 68 | capabilities = capabilities, | ||
| 69 | settings = { | 58 | settings = { |
| 70 | typescript = { | 59 | typescript = { |
| 71 | updateImportsOnFileMove = { enabled = "always" }, | 60 | updateImportsOnFileMove = { enabled = "always" }, |
| @@ -93,7 +82,6 @@ return { | |||
| 93 | } | 82 | } |
| 94 | 83 | ||
| 95 | vim.lsp.config.basedpyright = { | 84 | vim.lsp.config.basedpyright = { |
| 96 | capabilities = capabilities, | ||
| 97 | settings = { | 85 | settings = { |
| 98 | basedpyright = { | 86 | basedpyright = { |
| 99 | analysis = { | 87 | analysis = { |
diff --git a/nvim/lua/plugins/ui.lua b/nvim/lua/plugins/ui.lua index 9794c38..39a8e28 100644 --- a/nvim/lua/plugins/ui.lua +++ b/nvim/lua/plugins/ui.lua | |||
| @@ -16,6 +16,28 @@ return { | |||
| 16 | }) | 16 | }) |
| 17 | 17 | ||
| 18 | vscode.load() | 18 | vscode.load() |
| 19 | |||
| 20 | -- eigene Anpassungen an der vscode-Palette; muessen nach vscode.load() | ||
| 21 | -- gesetzt werden, weil :colorscheme alle Highlight-Gruppen zuruecksetzt | ||
| 22 | |||
| 23 | -- Fix: Farbschema für Rechtschreibfehler | ||
| 24 | vim.api.nvim_set_hl(0, "SpellBad", { fg = "#ffffff", bg = "#5f0000" }) | ||
| 25 | vim.api.nvim_set_hl(0, "SpellCap", { fg = "#000000", bg = "#ffaf00" }) | ||
| 26 | vim.api.nvim_set_hl(0, "SpellRare", { fg = "#000000", bg = "#5fd7ff" }) | ||
| 27 | vim.api.nvim_set_hl(0, "SpellLocal", { fg = "#000000", bg = "#5fff87" }) | ||
| 28 | vim.api.nvim_set_hl(0, "CursorLine", { bg = "#252526" }) | ||
| 29 | vim.api.nvim_set_hl(0, "CursorColumn", { bg = "#252526" }) | ||
| 30 | |||
| 31 | -- Statusline Farben | ||
| 32 | vim.api.nvim_set_hl(0, "StatuslineModeNormal", { fg = "#1e222a", bg = "#61afef", bold = true }) | ||
| 33 | vim.api.nvim_set_hl(0, "StatuslineModeInsert", { fg = "#1e222a", bg = "#98c379", bold = true }) | ||
| 34 | vim.api.nvim_set_hl(0, "StatuslineModeVisual", { fg = "#1e222a", bg = "#c678dd", bold = true }) | ||
| 35 | vim.api.nvim_set_hl(0, "StatuslineModeReplace", { fg = "#1e222a", bg = "#e86671", bold = true }) | ||
| 36 | vim.api.nvim_set_hl(0, "StatuslineModeCommand", { fg = "#1e222a", bg = "#e5c07b", bold = true }) | ||
| 37 | |||
| 38 | -- NVim-Tree | ||
| 39 | vim.api.nvim_set_hl(0, "NvimTreeOpenedFile", { bold = true }) | ||
| 40 | vim.api.nvim_set_hl(0, "NvimTreeCursorLine", { bg = "#2A2D2E" }) | ||
| 19 | end, | 41 | end, |
| 20 | }, | 42 | }, |
| 21 | 43 | ||
