aboutsummaryrefslogtreecommitdiff
path: root/nvim/lua
diff options
context:
space:
mode:
authorThomas Schmucker <ts@its1.de>2026-09-08 07:14:29 +0200
committerThomas Schmucker <ts@its1.de>2026-09-08 07:14:29 +0200
commit18749ddf848acf9b3199be75f9f16588dda43bfb (patch)
treec3083725e96c417ab0bbb25e779f29c8f11e8789 /nvim/lua
parent3f04ecdc38cf7d584f56e5e25d06eea9e523de15 (diff)
downloaddotfiles-18749ddf848acf9b3199be75f9f16588dda43bfb.tar.gz
dotfiles-18749ddf848acf9b3199be75f9f16588dda43bfb.tar.bz2
dotfiles-18749ddf848acf9b3199be75f9f16588dda43bfb.zip
Konfiguration vereinfacht
Diffstat (limited to 'nvim/lua')
-rw-r--r--nvim/lua/config/colorscheme.lua18
-rw-r--r--nvim/lua/config/options.lua16
-rw-r--r--nvim/lua/config/statusline.lua55
-rw-r--r--nvim/lua/plugins/lsp.lua22
-rw-r--r--nvim/lua/plugins/ui.lua22
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
2vim.api.nvim_set_hl(0, "SpellBad", { fg = "#ffffff", bg = "#5f0000" })
3vim.api.nvim_set_hl(0, "SpellCap", { fg = "#000000", bg = "#ffaf00" })
4vim.api.nvim_set_hl(0, "SpellRare", { fg = "#000000", bg = "#5fd7ff" })
5vim.api.nvim_set_hl(0, "SpellLocal", { fg = "#000000", bg = "#5fff87" })
6vim.api.nvim_set_hl(0, "CursorLine", { bg = "#252526" })
7vim.api.nvim_set_hl(0, "CursorColumn", { bg = "#252526" })
8
9-- Statusline Farben
10vim.api.nvim_set_hl(0, "StatuslineModeNormal", { fg = "#1e222a", bg = "#61afef", bold = true })
11vim.api.nvim_set_hl(0, "StatuslineModeInsert", { fg = "#1e222a", bg = "#98c379", bold = true })
12vim.api.nvim_set_hl(0, "StatuslineModeVisual", { fg = "#1e222a", bg = "#c678dd", bold = true })
13vim.api.nvim_set_hl(0, "StatuslineModeReplace", { fg = "#1e222a", bg = "#e86671", bold = true })
14vim.api.nvim_set_hl(0, "StatuslineModeCommand", { fg = "#1e222a", bg = "#e5c07b", bold = true })
15
16-- NVim-Tree
17vim.api.nvim_set_hl(0, "NvimTreeOpenedFile", { bold = true })
18vim.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"
12opt.termguicolors = true 12opt.termguicolors = true
13opt.showcmd = false 13opt.showcmd = false
14 14
15-- Rahmen für alle Floating Windows (ersetzt manuelles Setzen von 'border')
16opt.winborder = "rounded"
17
15-- Texte umbrechen 18-- Texte umbrechen
16opt.wrap = false 19opt.wrap = false
17opt.linebreak = true 20opt.linebreak = true
@@ -56,10 +59,8 @@ opt.tabstop = 4
56opt.shiftwidth = 4 59opt.shiftwidth = 4
57opt.softtabstop = 0 60opt.softtabstop = 0
58 61
59-- Einrückungen 62-- Einrückungen (cindent nur für C/C++, siehe ftplugin/c.lua)
60opt.smartindent = true
61opt.autoindent = true 63opt.autoindent = true
62opt.cindent = true
63 64
64-- Faltungen 65-- Faltungen
65opt.foldlevel = 1000 66opt.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)
96g.loaded_ruby_provider = 0 97g.loaded_ruby_provider = 0
97g.loaded_perl_provider = 0 98g.loaded_perl_provider = 0
98g.loaded_luarocks_provider = 0
99g.loaded_python3_provider = 0 99g.loaded_python3_provider = 0
100g.loaded_node_provider = 0 100g.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
118vim.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
124end)(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()
17end 17end
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").
25local devnull = vim.fn.has("win32") == 1 and "NUL" or "/dev/null"
26
27local 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
54end
55
56----------------------------------------------------------------------
57-- Autocmd: Git nur bei Bedarf aktualisieren
58----------------------------------------------------------------------
59
60vim.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
72local function git() 25local 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 .. " "
74end 31end
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