From 86bd90038d6cefc412201d5b6fec0cfb357b1632 Mon Sep 17 00:00:00 2001 From: Felix Nehrke Date: Tue, 26 Aug 2025 19:52:14 +0200 Subject: [PATCH] Start new wiki-diary entries with a skeleton and do not apply vimwiki-filetype to markdown-files in vim --- .config/nvim/lua/config/defaults.lua | 5 ++++- .config/nvim/lua/plugins/vimwiki.lua | 17 ++++++++++++++++- .config/nvim/snippets/sh.snippets | 4 ++++ 3 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 .config/nvim/snippets/sh.snippets diff --git a/.config/nvim/lua/config/defaults.lua b/.config/nvim/lua/config/defaults.lua index 993d74e..683ceda 100644 --- a/.config/nvim/lua/config/defaults.lua +++ b/.config/nvim/lua/config/defaults.lua @@ -92,9 +92,12 @@ function fix_filetype(pattern, filetype) }) end +local home = vim.fn.expand("$HOME") + -- fix filetypes fix_filetype("*Containerfile", "dockerfile") -fix_filetype("~/.config/git/*", "gitconfig") +fix_filetype(home.."/.config/git/*", "gitconfig") +fix_filetype(home.."/.local/bin/*", "sh") -- adjust settings per filetype -- git diff --git a/.config/nvim/lua/plugins/vimwiki.lua b/.config/nvim/lua/plugins/vimwiki.lua index 95a55d8..a4aab83 100644 --- a/.config/nvim/lua/plugins/vimwiki.lua +++ b/.config/nvim/lua/plugins/vimwiki.lua @@ -2,9 +2,24 @@ local wikipath = "~/Development/nemoinho/gitea.nehrke.info/nemoinho/vimwiki/" --vim.cmd("let g:vimwiki_list = [{'path': '~/Development/nemoinho/gitea.nehrke.info/nemoinho/vimwiki/' }]") vim.g.vimwiki_table_mappings = 0 vim.g.vimwiki_list = { { path = wikipath, auto_export = 1 } } +vim.g.vimwiki_ext2syntax = { my_very_own_nonsense = "markdown" } vim.g.vimwiki_autowriteall = 0 vim.g.vimwiki_url_maxsave = 0 -vim.keymap.set("n", "we", "VimwikiMakeDiaryNote") +vim.keymap.set("n", "we", function() + vim.cmd("VimwikiMakeDiaryNote") + -- stop if buffer is not empty! + if vim.fn.line("$") ~= 1 or vim.fn.getline(1) ~= "" then + return + end + local ls = require('luasnip') + local snippets = ls.get_snippets(vim.bo.ft) + for _, snippet in ipairs(snippets) do + if snippet["name"] == "_skeleton" then + ls.snip_expand(snippet) + return true + end + end +end, { desc = "VimwikiMakeDiaryNote" }) local vimwikiconfig = vim.api.nvim_create_augroup('VIMWIKI_CONFIG', { clear = true }) vim.api.nvim_create_autocmd({ "BufRead", "BufNewFile" }, { diff --git a/.config/nvim/snippets/sh.snippets b/.config/nvim/snippets/sh.snippets new file mode 100644 index 0000000..1f49df6 --- /dev/null +++ b/.config/nvim/snippets/sh.snippets @@ -0,0 +1,4 @@ +snippet _skeleton Create initial skeleton + #!/usr/bin/env bash + + ${0}