Merge main; Move ft

This commit is contained in:
Martin Pander
2025-07-10 07:55:44 +02:00
parent e0e6cb760e
commit d33e403915
5 changed files with 151 additions and 13 deletions

View File

@ -50,7 +50,7 @@
#};
#home.shellAliases = {
# "ll" = "ls -la";
# "ll" = "ls -la";
# "t" = "tmuxp";
# "tl" = "tmuxp load";
# };

View File

@ -31,6 +31,8 @@
nvim-lint
todo-comments-nvim
# vim-startify
promise-async
nvim-ufo
vim-windowswap
vim-nix
plenary-nvim
@ -77,6 +79,7 @@
(lib.strings.fileContents ../../nvim/base.lua)
(lib.strings.fileContents ../../nvim/keymaps.lua)
(lib.strings.fileContents ../../nvim/plugins.lua)
(lib.strings.fileContents ../../nvim/filetype.lua)
];
};

View File

@ -26,6 +26,7 @@
bind c new-window -a -c "#{pane_current_path}"
bind C-s display-popup -E "zsh ~/bin/tmuxp_selector.sh"
bind C-g display-popup -E -d "#{pane_current_path}" -xC -yC -w 80% -h 75% "lazygit"
#######################################
# status line

103
nvim/filetype.lua Normal file
View File

@ -0,0 +1,103 @@
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', {
group = 'FileTypeConfigs',
pattern = 'python',
callback = function()
require('dap-python').setup()
lspconfig.pyright.setup({ capabilities = capabilities })
require("conform").setup({
python = {"black"},
})
end,
})
vim.api.nvim_create_autocmd('FileType', {
group = 'FileTypeConfigs',
pattern = 'go',
callback = function()
require('dap-python').setup()
lspconfig.gopls.setup({ capabilities = capabilities })
require("conform").setup({
go = {"gofmt"},
})
end,
})
vim.api.nvim_create_autocmd('FileType', {
group = 'FileTypeConfigs',
pattern = 'rust',
callback = function()
require('dap-python').setup()
lspconfig.rust_analyzer.setup({
capabilities = capabilities,
settings = {
["rust-analyzer"] = {
checkOnSave = {
command = "clippy",
},
},
},
})
require("conform").setup({
rust = {"rustfmt"},
})
end,
})
vim.api.nvim_create_autocmd('FileType', {
group = 'FileTypeConfigs',
pattern = 'markdown',
callback = function()
lspconfig.marksman.setup({ capabilities = capabilities })
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

@ -97,18 +97,9 @@ cmp.setup.cmdline(':', {
local capabilities = require('cmp_nvim_lsp').default_capabilities()
local lspconfig = require("lspconfig")
lspconfig.gopls.setup({ capabilities = capabilities })
lspconfig.svelte.setup({ capabilities = capabilities })
lspconfig.pyright.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.marksman.setup({ capabilities = capabilities })
lspconfig.sqls.setup({ capabilities = capabilities })
lspconfig.yamlls.setup({ capabilities = capabilities })
lspconfig.nil_ls.setup({ capabilities = capabilities })
-- lspconfig.svelte.setup({ capabilities = capabilities })
-- lspconfig.flow.setup({ capabilities = capabilities })
-- lspconfig.nil_ls.setup({ capabilities = capabilities })
require("yanky").setup({
ring = {
@ -277,6 +268,11 @@ require("obsidian").setup({
path = "/mnt/c/Users/marti/Documents/notes/Work",
},
},
templates = {
folder = "_templates",
date_format = "%Y-%m-%d, %a",
time_format = "%H:%M",
},
ui = {
checkboxes = {
[" "] = { char = "󰄱", hl_group = "ObsidianTodo" },
@ -287,6 +283,41 @@ require("obsidian").setup({
["?"] = { char = "?", hl_group = "ObsidianImportant" },
},
},
disable_frontmatter = false,
note_frontmatter_func = function(note)
-- Add the title of the note as an alias.
if note.title then
note:add_alias(note.title)
end
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
end
end
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"
-- },
})
require("conform").setup({