Sync config for all systems

This commit is contained in:
Martin
2025-07-10 20:03:17 +02:00
parent 2517fd0269
commit 4d7caf0abe
10 changed files with 176 additions and 35 deletions

View File

@ -26,7 +26,8 @@ vim.opt.smartcase = true
vim.opt.hidden = true
vim.opt.splitright = true
vim.opt.splitbelow = true
vim.opt.swapfile = false
vim.opt.swapfile = true
vim.opt.directory= '~/.cache/nvim/swap//,$TEMP//,/tmp//'
vim.opt.wildmode = 'longest,list'
vim.opt.wildignore = vim.opt.wildignore + 'main,*.o,*.d,*.aux,*.bbl,*.lof,*.loa,*.blg,*.fdb_latexmk,*.fls,*.tdo,*.pdf,*.pyc'
vim.opt.spell = false

View File

@ -1,3 +1,6 @@
local capabilities = require('cmp_nvim_lsp').default_capabilities()
local lspconfig = require("lspconfig")
vim.api.nvim_create_augroup('FileTypeConfigs', { clear = true })
vim.api.nvim_create_autocmd('FileType', {
@ -32,7 +35,16 @@ vim.api.nvim_create_autocmd('FileType', {
callback = function()
require('dap-python').setup()
-- lspconfig.pyright.setup({ capabilities = capabilities })
lspconfig.rust_analyzer.setup({
capabilities = capabilities,
settings = {
["rust-analyzer"] = {
checkOnSave = {
command = "clippy",
},
},
},
})
require("conform").setup({
rust = {"rustfmt"},
@ -45,6 +57,47 @@ vim.api.nvim_create_autocmd('FileType', {
pattern = 'markdown',
callback = function()
lspconfig.marksman.setup({ capabilities = capabilities })
require("todo-comments").setup()
end,
})
vim.api.nvim_create_autocmd('FileType', {
group = 'FileTypeConfigs',
pattern = 'dockerfile',
callback = function()
lspconfig.dockerls.setup({ capabilities = capabilities })
lspconfig.docker_compose_language_service.setup({ capabilities = capabilities })
end,
})
vim.api.nvim_create_autocmd('FileType', {
group = 'FileTypeConfigs',
pattern = 'cs',
callback = function()
lspconfig.omnisharp.setup({ capabilities = capabilities })
end,
})
vim.api.nvim_create_autocmd('FileType', {
group = 'FileTypeConfigs',
pattern = 'yaml',
callback = function()
lspconfig.yamlls.setup({ capabilities = capabilities })
lspconfig.docker_compose_language_service.setup({ capabilities = capabilities })
end,
})
vim.api.nvim_create_autocmd('FileType', {
group = 'FileTypeConfigs',
pattern = {'c', 'cpp', 'objc', 'objcpp'},
callback = function()
lspconfig.clangd.setup({ capabilities = capabilities })
end,
})
vim.api.nvim_create_autocmd('FileType', {
group = 'FileTypeConfigs',
pattern = 'sql',
callback = function()
lspconfig.sqls.setup({ capabilities = capabilities })
end,
})

View File

@ -18,6 +18,16 @@ vim.keymap.set('t', '<C-M-h>', '<C-\\><C-n><C-w>h', {})
vim.keymap.set('t', '<C-M-j>', '<C-\\><C-n><C-w>j', {})
vim.keymap.set('t', '<C-M-k>', '<C-\\><C-n><C-w>k', {})
vim.keymap.set('t', '<C-M-l>', '<C-\\><C-n><C-w>l', {})
vim.keymap.set('n', '<leader>zm', '<C-W>_<C-W>|', { noremap = true, silent = true })
vim.keymap.set('n', '<C-M-Y>', '<C-w>5<', {})
vim.keymap.set('n', '<C-M-U>', '<C-w>5+', {})
vim.keymap.set('n', '<C-M-I>', '<C-w>5-', {})
vim.keymap.set('n', '<C-M-O>', '<C-w>5>', {})
vim.keymap.set('t', '<C-M-Y>', '<C-\\><C-n><C-w>5<', {})
vim.keymap.set('t', '<C-M-U>', '<C-\\><C-n><C-w>5+', {})
vim.keymap.set('t', '<C-M-I>', '<C-\\><C-n><C-w>5-', {})
vim.keymap.set('t', '<C-M-O>', '<C-\\><C-n><C-w>5>', {})
vim.keymap.set('n', '<leader>s', ':call WindowSwap#EasyWindowSwap()<CR>', {})
@ -53,8 +63,7 @@ vim.keymap.set({"n","x"}, "y", "<Plug>(YankyYank)")
vim.keymap.set('n', '<leader>u', vim.cmd.UndotreeToggle)
-- DAP
vim.keymap.set('n', '<Leader>db', function() require('dap').toggle_breakpoint() end)
vim.keymap.set('n', '<Leader>dB', function() require('dap').set_breakpoint() end)
vim.keymap.set('n', "<Leader>db", function() require("dap").toggle_breakpoint() end)
vim.keymap.set('n', "<leader>dB", function() require("dap").set_breakpoint(vim.fn.input('Breakpoint condition: ')) end)
vim.keymap.set('n', "<leader>dc", function() require("dap").continue() end)
vim.keymap.set('n', "<leader>da", function() require("dap").continue({ before = get_args }) end)
@ -72,5 +81,10 @@ vim.keymap.set('n', "<leader>ds", function() require("dap").session() end)
vim.keymap.set('n', "<leader>dt", function() require("dap").terminate() end)
vim.keymap.set('n', "<leader>dw", function() require("dap.ui.widgets").hover() end)
vim.keymap.set('n', "<F5>", function() require("dap").continue() end)
vim.keymap.set('n', "<F11>", function() require("dap").step_into() end)
vim.keymap.set('n', "<F10>", function() require("dap").step_over() end)
vim.keymap.set('n', "<F12>", function() require("dap").step_out() end)
-- nnoremap <silent> <leader>t :CtrlPBufTagAll<CR>
-- nnoremap <silent> <leader>T :TagbarToggle<CR>

View File

@ -98,16 +98,9 @@ cmp.setup.cmdline(':', {
local capabilities = require('cmp_nvim_lsp').default_capabilities()
local lspconfig = require("lspconfig")
-- lspconfig.svelte.setup({ capabilities = capabilities })
-- lspconfig.omnisharp.setup({ capabilities = capabilities })
-- lspconfig.clangd.setup({ capabilities = capabilities })
-- lspconfig.dockerls.setup({ capabilities = capabilities })
-- lspconfig.docker_compose_language_service.setup({ capabilities = capabilities })
-- lspconfig.flow.setup({ capabilities = capabilities })
-- lspconfig.sqls.setup({ capabilities = capabilities })
-- lspconfig.yamlls.setup({ capabilities = capabilities })
-- lspconfig.nil_ls.setup({ capabilities = capabilities })
-- local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities.textDocument.foldingRange = {
dynamicRegistration = false,
lineFoldingOnly = true
@ -282,7 +275,13 @@ require('gitsigns').setup {
},
}
require("conform").setup({
python = {"black"},
rust = {"rustfmt"},
go = {"gofmt"},
})
require("trouble").setup()
require("todo-comments").setup()
require("dapui").setup()
require("nvim-dap-virtual-text").setup()
@ -301,7 +300,7 @@ dap.listeners.before.event_exited.dapui_config = function()
dapui.close()
end
require("obsidian").setup({
if vim.fn.has("mac") then
workspaces = {
{
name = "privat",
@ -311,10 +310,32 @@ require("obsidian").setup({
name = "joplin",
path = "~/Documents/notes/fromjoplin",
},
},
}
daily_notes = {
folder = "Journal",
date_format = "%Y-%m-%d",
default_tags = { "journal" },
template = "daily.md"
}
elseif vim.fn.has("win32") then
workspaces = {
{
name = "work",
path = "/mnt/c/Users/marti/Documents/notes/Work",
},
{
name = "privat",
path = "/mnt/c/Users/marti/Documents/notes/privat",
},
}
daily_notes = {}
end
require("obsidian").setup({
workspaces = workspaces,
templates = {
folder = "_templates",
date_format = "%Y-%m-%d-%a",
date_format = "%Y-%m-%d %a",
time_format = "%H:%M",
},
ui = {
@ -324,6 +345,7 @@ require("obsidian").setup({
["x"] = { char = "", hl_group = "ObsidianDone" },
["~"] = { char = "󰰱", hl_group = "ObsidianTilde" },
["!"] = { char = "", hl_group = "ObsidianImportant" },
["?"] = { char = "?", hl_group = "ObsidianImportant" }
},
},
disable_frontmatter = false,
@ -335,8 +357,6 @@ require("obsidian").setup({
local out = { id = note.id, tags = note.tags }
-- `note.metadata` contains any manually added fields in the frontmatter.
-- So here we just make sure those fields are kept in the frontmatter.
if note.metadata ~= nil and not vim.tbl_isempty(note.metadata) then
for k, v in pairs(note.metadata) do
out[k] = v
@ -346,18 +366,8 @@ require("obsidian").setup({
return out
end,
note_path_func = function(spec)
-- This is equivalent to the default behavior.
local path = spec.dir / spec.title
return path:with_suffix(".md")
end,
daily_notes = {
-- Optional, if you keep daily notes in a separate directory.
folder = "Journal",
-- Optional, if you want to change the date format for the ID of daily notes.
date_format = "%Y-%m-%d",
-- Optional, default tags to add to each new daily note created.
default_tags = { "journal" },
-- Optional, if you want to automatically insert a template from your template directory like 'daily.md'
template = "daily.md"
},
daily_notes = daily_notes,
})