From 23de12baba9fbfc4ca24581b37c374aa5345cc25 Mon Sep 17 00:00:00 2001 From: Robert Günzler Date: Mon, 25 Nov 2024 13:30:37 +0100 Subject: update nvim config MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Robert Günzler --- .vim/after/ftplugin/c.lua | 1 + .vim/after/ftplugin/dirbuf.lua | 3 -- .vim/after/ftplugin/gitmessengerpopup.lua | 1 - .vim/after/ftplugin/gitrebase.lua | 34 -------------- .vim/after/ftplugin/go.lua | 19 -------- .vim/after/ftplugin/html.lua | 20 +++++++++ .vim/after/ftplugin/ledger.lua | 2 - .vim/after/ftplugin/lua.lua | 2 + .vim/after/ftplugin/mail.lua | 2 - .vim/after/ftplugin/markdown.lua | 74 +++---------------------------- .vim/after/ftplugin/mediawiki.lua | 5 +++ .vim/after/ftplugin/norg.lua | 1 - .vim/after/ftplugin/rust.lua | 1 - .vim/after/ftplugin/scd.lua | 0 .vim/after/ftplugin/tex.lua | 8 ---- .vim/after/ftplugin/todofile.lua | 23 ---------- 16 files changed, 34 insertions(+), 162 deletions(-) create mode 100644 .vim/after/ftplugin/c.lua delete mode 100644 .vim/after/ftplugin/dirbuf.lua delete mode 100644 .vim/after/ftplugin/gitmessengerpopup.lua delete mode 100644 .vim/after/ftplugin/gitrebase.lua delete mode 100644 .vim/after/ftplugin/go.lua create mode 100644 .vim/after/ftplugin/html.lua delete mode 100644 .vim/after/ftplugin/ledger.lua create mode 100644 .vim/after/ftplugin/lua.lua create mode 100644 .vim/after/ftplugin/mediawiki.lua delete mode 100644 .vim/after/ftplugin/norg.lua delete mode 100644 .vim/after/ftplugin/rust.lua delete mode 100644 .vim/after/ftplugin/scd.lua delete mode 100644 .vim/after/ftplugin/tex.lua delete mode 100644 .vim/after/ftplugin/todofile.lua (limited to '.vim/after/ftplugin') diff --git a/.vim/after/ftplugin/c.lua b/.vim/after/ftplugin/c.lua new file mode 100644 index 0000000..8b2cea9 --- /dev/null +++ b/.vim/after/ftplugin/c.lua @@ -0,0 +1 @@ +vim.opt_local.commentstring = '// %s' diff --git a/.vim/after/ftplugin/dirbuf.lua b/.vim/after/ftplugin/dirbuf.lua deleted file mode 100644 index 4f41efc..0000000 --- a/.vim/after/ftplugin/dirbuf.lua +++ /dev/null @@ -1,3 +0,0 @@ -vim.opt_local.list = false - -vim.keymap.set('n', '/', ':Telescope current_buffer_fuzzy_find', { buffer = vim.api.nvim_get_current_buf() }) diff --git a/.vim/after/ftplugin/gitmessengerpopup.lua b/.vim/after/ftplugin/gitmessengerpopup.lua deleted file mode 100644 index ab4688f..0000000 --- a/.vim/after/ftplugin/gitmessengerpopup.lua +++ /dev/null @@ -1 +0,0 @@ -vim.keymap.set('n', 'gd', require('internal.commit-preview').under_cursor, { buffer = 0, desc = 'commit preview' }) diff --git a/.vim/after/ftplugin/gitrebase.lua b/.vim/after/ftplugin/gitrebase.lua deleted file mode 100644 index 6b9e5dc..0000000 --- a/.vim/after/ftplugin/gitrebase.lua +++ /dev/null @@ -1,34 +0,0 @@ -local function commit_preview() - local beforewin = vim.api.nvim_get_current_win() - local commit = vim.api.nvim_get_current_line():match([[ ([0-9a-f]+) ]]) - if not commit then - return - end - require('internal.commit-preview').commit_preview(commit, function(bufnr, winid) - -- keymaps: - local close = function() - pcall(vim.api.nvim_win_close, winid, true) - pcall(vim.api.nvim_buf_delete, bufnr, { force = true }) - end - vim.keymap.set('n', 'q', close, { buffer = bufnr }) - - local goup = function() - vim.api.nvim_set_current_win(beforewin) - vim.cmd('normal k') - vim.cmd('normal cp') - end - vim.keymap.set('n', '', goup, { buffer = bufnr }) - vim.keymap.set('n', '', goup, { buffer = bufnr }) - - local godown = function() - vim.api.nvim_set_current_win(beforewin) - vim.cmd('normal j') - vim.cmd('normal cp') - end - vim.keymap.set('n', '', godown, { buffer = bufnr }) - vim.keymap.set('n', '', godown, { buffer = bufnr }) - end) -end - -vim.keymap.set('n', 'cp', commit_preview, { buffer = 0, desc = 'commit preview' }) -vim.keymap.set('n', 'c', commit_preview, { buffer = 0, desc = 'commit preview' }) diff --git a/.vim/after/ftplugin/go.lua b/.vim/after/ftplugin/go.lua deleted file mode 100644 index cda6a34..0000000 --- a/.vim/after/ftplugin/go.lua +++ /dev/null @@ -1,19 +0,0 @@ --- vim.opt.shiftwidth = 4 - -vim.keymap.set('n', 'i', function() - local iface = vim.fn.input('Impl: ') - if not iface or iface == '' then - return - end - require('internal.cursor').word(function(word) - vim.cmd('normal ][o') - local args = { - 'impl', - '-dir', - vim.fn.expand('%:h:p'), - '"' .. string.lower(word:sub(0, 1)) .. ' *' .. word .. '"', - iface, - } - vim.cmd('r!' .. table.concat(args, ' ')) - end) -end) diff --git a/.vim/after/ftplugin/html.lua b/.vim/after/ftplugin/html.lua new file mode 100644 index 0000000..35f0bd1 --- /dev/null +++ b/.vim/after/ftplugin/html.lua @@ -0,0 +1,20 @@ +local function get_visual_selection() + local start_pos = vim.fn.getpos('v') + local end_pos = vim.fn.getpos('.') + local text = vim.fn.getregion(vim.fn.getpos('v'), vim.fn.getpos('.'), { type = vim.fn.mode() }) + return { start_pos = start_pos, end_pos = end_pos, text = text } +end + +vim.keymap.set('x', '', function() + local sel = get_visual_selection() + vim.print(sel) + vim.api.nvim_buf_set_text( + sel.start_pos[1], -- bufnum + sel.start_pos[2] - 1, -- vim.api funcs use 0-based indexing + sel.start_pos[3] - 1, + sel.end_pos[2] - 1, + sel.end_pos[3], + { '' .. table.concat(sel.text, '') .. '' } + ) + vim.api.nvim_input('') +end, { desc = 'html: make link' }) diff --git a/.vim/after/ftplugin/ledger.lua b/.vim/after/ftplugin/ledger.lua deleted file mode 100644 index bcdcf9a..0000000 --- a/.vim/after/ftplugin/ledger.lua +++ /dev/null @@ -1,2 +0,0 @@ -vim.opt_local.commentstring = '; %s' -vim.opt_local.cursorcolumn = true diff --git a/.vim/after/ftplugin/lua.lua b/.vim/after/ftplugin/lua.lua new file mode 100644 index 0000000..ff08e11 --- /dev/null +++ b/.vim/after/ftplugin/lua.lua @@ -0,0 +1,2 @@ +vim.keymap.set('n', 'x', 'source %', { desc = 'Reload buf' }) +vim.keymap.set('n', 'X', ':Lazy reload ', { desc = 'Reload plugin' }) diff --git a/.vim/after/ftplugin/mail.lua b/.vim/after/ftplugin/mail.lua index 6e0fa20..fba17a2 100644 --- a/.vim/after/ftplugin/mail.lua +++ b/.vim/after/ftplugin/mail.lua @@ -1,4 +1,2 @@ -require('internal.spell') - vim.opt_local.cursorline = false vim.opt_local.commentstring = '> %s' diff --git a/.vim/after/ftplugin/markdown.lua b/.vim/after/ftplugin/markdown.lua index 7e6b22e..9b98392 100644 --- a/.vim/after/ftplugin/markdown.lua +++ b/.vim/after/ftplugin/markdown.lua @@ -1,68 +1,6 @@ --- require('internal.spell') -vim.opt_local.foldenable = false -vim.opt_local.foldlevel = 1 - -vim.fn.matchadd('Conceal', '- \\[ \\]\\&- \\zs\\[ ', 0, -1, { conceal = '☐ ' }) --- vim.fn.matchadd('Conceal', '\\[x\\]', 0, -1, { conceal = '☑ ' }) --- vim.fn.matchadd('Conceal', '\\[-\\]', 0, -1, { conceal = '☒ ' }) -vim.fn.matchadd('Conceal', '- \\[x\\]\\&- \\zs\\[x', 0, -1, { conceal = '🞕 ' }) -vim.fn.matchadd('Conceal', '- \\[[ x]\\zs\\]', 0, -1, { conceal = ' ' }) - -vim.keymap.set('n', 'Markdown_OpenUrlUnderCursor', vim.ui.open) - -vim.keymap.set( - 'n', - 'l', - require('internal.misc').link_preview, - { desc = 'link preview' } -) - -local function toggle_checkbox() - local ln, n = vim.api.nvim_get_current_line(), 0 - ln, n = string.gsub(ln, '%[ %]', '[x]', 1) - if n > 0 then - goto set_line - end - ln, n = string.gsub(ln, '%[x%]', '[ ]', 1) - if n > 0 then - goto set_line - end - ln, n = string.gsub(ln, 'TODO', 'DONE', 1) - if n > 0 then - goto set_line - end - ln, n = string.gsub(ln, 'DONE', 'TODO', 1) - if n > 0 then - goto set_line - end - - ::set_line:: - vim.api.nvim_set_current_line(ln) -end - -vim.keymap.set('n', '', toggle_checkbox, { desc = 'toggle checkbox', buffer = true }) -vim.keymap.set('i', '', toggle_checkbox, { desc = 'toggle checkbox', buffer = true }) - --- vim.keymap.set('n', 'o', function() --- local cursor = vim.api.nvim_win_get_cursor(0) --- -- need to decrement the row number here, to account for 0 indexing --- local node = vim.treesitter.get_node({ --- bufnr = 0, --- pos = { cursor[1] - 1, cursor[2] }, --- }) --- while node do --- if node:type() == 'list_item' then --- local ln = vim.treesitter.get_node_text(node:child(0), 0, {}) --- local ln_start = string.match(ln, '^(%d+)%.') --- if ln_start ~= nil then --- ln = ln:gsub(ln_start, tonumber(ln_start) + 1) --- end --- vim.api.nvim_buf_set_lines(0, cursor[1], cursor[1], false, { ln }) --- vim.api.nvim_feedkeys('jA', 'n', false) --- return --- end --- node = node:parent() --- end --- --- vim.api.nvim_feedkeys('o', 'n', false) --- end, { desc = 'smart-o', buffer = true }) +-- TODO: no idea if this is the best way to do this +-- the part that makes this work lives in ../../../after/ftplugin/markdown.lua +require('null-ls').disable('vale') +vim.keymap.set('n', 'v', function() + require('null-ls').toggle('vale') +end) diff --git a/.vim/after/ftplugin/mediawiki.lua b/.vim/after/ftplugin/mediawiki.lua new file mode 100644 index 0000000..5011e85 --- /dev/null +++ b/.vim/after/ftplugin/mediawiki.lua @@ -0,0 +1,5 @@ +vim.opt.wrap = true +vim.opt.linebreak = true + +vim.keymap.set({ 'n', 'v' }, 'j', 'gj', { buffer = true }) +vim.keymap.set({ 'n', 'v' }, 'k', 'gk', { buffer = true }) diff --git a/.vim/after/ftplugin/norg.lua b/.vim/after/ftplugin/norg.lua deleted file mode 100644 index 9bf66e6..0000000 --- a/.vim/after/ftplugin/norg.lua +++ /dev/null @@ -1 +0,0 @@ -vim.keymap.set('n', 'im', [[:Neorg inject-metadata]]) diff --git a/.vim/after/ftplugin/rust.lua b/.vim/after/ftplugin/rust.lua deleted file mode 100644 index a26bebe..0000000 --- a/.vim/after/ftplugin/rust.lua +++ /dev/null @@ -1 +0,0 @@ -vim.opt_local.makeprg = [[cargo run]] diff --git a/.vim/after/ftplugin/scd.lua b/.vim/after/ftplugin/scd.lua deleted file mode 100644 index e69de29..0000000 diff --git a/.vim/after/ftplugin/tex.lua b/.vim/after/ftplugin/tex.lua deleted file mode 100644 index bf62d26..0000000 --- a/.vim/after/ftplugin/tex.lua +++ /dev/null @@ -1,8 +0,0 @@ -local find_doc_root = require('lspconfig.util').root_pattern('Tectonic.toml') -if find_doc_root(vim.fn.expand('%:p:h')) then - vim.opt_local.makeprg = 'latextbx mk -1' -else - vim.opt_local.makeprg = 'latextbx mk -1 %' -end - -vim.opt_local.textwidth = 80 diff --git a/.vim/after/ftplugin/todofile.lua b/.vim/after/ftplugin/todofile.lua deleted file mode 100644 index 2080d39..0000000 --- a/.vim/after/ftplugin/todofile.lua +++ /dev/null @@ -1,23 +0,0 @@ -local function toggle_todo() - local ln, n = vim.api.nvim_get_current_line(), 0 - ln, n = string.gsub(ln, 'TODO', 'DONE', 1) - if n > 0 then - goto set_line - end - ln, n = string.gsub(ln, 'DONE', 'TODO', 1) - if n > 0 then - goto set_line - end - ln, n = string.gsub(ln, '^(-|*) ', '%1 TODO ') - if n > 0 then - goto set_line - end - - goto exit -- skip over set_current_line - - ::set_line:: - vim.api.nvim_set_current_line(ln) - - ::exit:: -end -vim.keymap.set('n', '', toggle_todo, { desc = 'toggle todo', buffer = true }) -- cgit 1.4.1