neovim

Personal neovim configuration files
git clone git://gtms.dev:neovim
Log | Files | Refs

commit b4dba0c4fd562e13d602b1c00bdc5927a6de0456
parent dd36edfe11ad068dff594cff5d696c1c757f74ed
Author: Tomas Nemec <nemi@skaut.cz>
Date:   Wed, 20 Apr 2022 14:16:24 +0200

update

Diffstat:
Mafter/plugin/aerial.lua | 5+----
Mafter/plugin/beacon.lua | 8+-------
Mafter/plugin/bqf.lua | 10++--------
Mafter/plugin/hexen.lua | 2+-
Mafter/plugin/notify.lua | 13++++++++++---
Mafter/plugin/nulls.lua | 40++++++++++++++++++----------------------
Mafter/plugin/refactoring.lua | 14++++++--------
Mafter/plugin/telescope.lua | 18+++---------------
Mafter/plugin/trans.lua | 5+++--
Dafter/queries/dart/refactoring.scm | 42------------------------------------------
Mlua/tms/colors.lua | 5++---
Mlua/tms/lsp/init.lua | 33+++++++++++++++++++--------------
Mlua/tms/p/telescope.lua | 2+-
Mplugin/diagnostic.lua | 33++++++++++++++++++++++-----------
14 files changed, 89 insertions(+), 141 deletions(-)

diff --git a/after/plugin/aerial.lua b/after/plugin/aerial.lua @@ -1,5 +1,2 @@ if not pcall(require, 'aerial') then return end - -local aerial = require('aerial') -vim.g.aerial = { backends = { 'lsp', 'treesitter' }, highlight_on_jump = 0 } -aerial.setup() +require('aerial').setup({ highlight_on_jump = 0 }) diff --git a/after/plugin/beacon.lua b/after/plugin/beacon.lua @@ -1,9 +1,3 @@ if not pcall(require, 'beacon') then return end -require('tms.colors').update(function(t) - -end) -local Group = require('colorbuddy.group').Group -local colors = require('colorbuddy.color').colors -local groups = require('colorbuddy.group').groups -Group.new('Beacon', colors.none, groups.Normal.fg) +require('tms.colors').update(function(t) t.Group.new('Beacon', t.colors.none, t.groups.Normal.fg) end) diff --git a/after/plugin/bqf.lua b/after/plugin/bqf.lua @@ -1,9 +1,3 @@ -if not pcall(require, 'bqf') then - return -end +if not pcall(require, 'bqf') then return end -require('bqf').setup { - auto_enable = true, - auto_resize_height = false, - preview = { auto_preview = true }, -} +require('bqf').setup { auto_enable = true, auto_resize_height = false, preview = { auto_preview = true } } diff --git a/after/plugin/hexen.lua b/after/plugin/hexen.lua @@ -1,6 +1,6 @@ if not pcall(require, 'tms.p.hexen') then return end --- TODO Arguments andrange passed +-- TODO Arguments and range passed vim.api.nvim_create_user_command('HexEncode', require('tms.p.hexen').encode, { range = true }) vim.api.nvim_create_user_command('HexDecode', require('tms.p.hexen').decode, { range = true }) -- vim.cmd [[command! -range HexEncode lua require('tms.p.hexen').encode()]] diff --git a/after/plugin/notify.lua b/after/plugin/notify.lua @@ -1,3 +1,10 @@ - if not pcall(require, 'notify') then return end - require('notify').setup({ on_open = function(win) vim.api.nvim_win_set_config(win, { focusable = false }) end }) - vim.keymap.set('n', '<leader>N', require('notify').dismiss, { noremap = true }) +if not pcall(require, 'notify') then return end + +local notify = require('notify') +notify.setup({ + on_open = function(win) vim.api.nvim_win_set_config(win, { focusable = false }) end, + stages = 'slide', + render = 'minimal', +}) +vim.notify = notify +vim.keymap.set('n', '<leader>N', require('notify').dismiss, { noremap = true, desc = 'Dismiss notification' }) diff --git a/after/plugin/nulls.lua b/after/plugin/nulls.lua @@ -4,34 +4,30 @@ local null_ls = require('null-ls') local h = require('null-ls.helpers') local builtins = null_ls.builtins -local zsh_diag = function() - return { - name = 'zsh check', - method = null_ls.methods.DIAGNOSTICS, - filetypes = { 'zsh' }, - update_on_insert = true, - generator = null_ls.generator({ - command = 'zsh', - args = { '-n', '$FILENAME' }, - format = 'line', - check_exit_code = function(code) return code <= 1 end, - from_stderr = true, - to_stdin = true, - on_output = h.diagnostics.from_patterns({ - { pattern = [[%w+:(%d+): (.*)]], groups = { 'row', 'message' } }, - }), - }), - } -end +local zsh_diag = { + name = 'zsh check', + method = null_ls.methods.DIAGNOSTICS, + filetypes = { 'zsh' }, + update_on_insert = true, + generator = null_ls.generator({ + command = 'zsh', + args = { '-n', '$FILENAME' }, + format = 'line', + check_exit_code = function(code) return code <= 1 end, + from_stderr = true, + to_stdin = true, + on_output = h.diagnostics.from_patterns({ { pattern = [[%w+:(%d+): (.*)]], groups = { 'row', 'message' } } }), + }), +} null_ls.setup({ on_attach = function(client, bufnr) if client.resolved_capabilities.document_formatting == true then -- vim.api.nvim_buf_set_option(bufnr, 'formatexpr', 'v:lua.vim.lsp.formatexpr()') vim.keymap.set('n', 'Q', vim.lsp.buf.formatting, - { silent = true, buffer = bufnr, noremap = true }) + { silent = true, buffer = bufnr, noremap = true, desc = 'LSP Format (nulls)' }) vim.keymap.set('v', 'Q', vim.lsp.buf.range_formatting, - { silent = true, buffer = bufnr, noremap = true }) + { silent = true, buffer = bufnr, noremap = true, desc = 'LSP Range Format (nulls)' }) end end, sources = { @@ -53,6 +49,6 @@ null_ls.setup({ }, -- diagnostic builtins.diagnostics.shellcheck, - zsh_diag(), + zsh_diag, }, }) diff --git a/after/plugin/refactoring.lua b/after/plugin/refactoring.lua @@ -1,12 +1,10 @@ +do return end if not pcall(require, 'refactoring') then return end local refactor = require('refactoring') refactor.setup({}) -vim.keymap.set('n', '<leader>re', - require('refactoring').refactor('Extract Function'), - { silent = true, noremap = true }) -vim.keymap.set('v', '<leader>rf', - require('refactoring').refactor('Extract Function To File'), - { silent = true, noremap = true }) -vim.keymap.set('n', '<leader>rv', - require('refactoring').refactor('Extract Variable'), +vim.keymap + .set('n', '<leader>re', require('refactoring').refactor('Extract Function'), { silent = true, noremap = true }) +vim.keymap.set('v', '<leader>rf', require('refactoring').refactor('Extract Function To File'), { silent = true, noremap = true }) +vim.keymap + .set('n', '<leader>rv', require('refactoring').refactor('Extract Variable'), { silent = true, noremap = true }) diff --git a/after/plugin/telescope.lua b/after/plugin/telescope.lua @@ -5,19 +5,7 @@ local actions = require('telescope.actions') local action_generate = require('telescope.actions.generate') telescope.setup { - defaults = { - mappings = { - i = { - ['<esc>'] = actions.close, - ['<c-?>'] = action_generate.which_key({ - name_width = 20, -- typically leads to smaller floats - max_height = 0.5, -- increase potential maximum height - seperator = ' > ', -- change sep between mode, keybind, and name - close_with_action = false, -- do not close float on action - }), - }, - }, - }, + defaults = { mappings = { i = { ['<esc>'] = actions.close, ['<c-?>'] = action_generate.which_key() } } }, extensions = { fzy_native = { override_generic_sorter = false, override_file_sorter = true } }, } @@ -29,13 +17,13 @@ _ = telescope.load_extension('aerial') _ = telescope.load_extension('zk') _ = telescope.load_extension('git_worktree') --- TODO(tms) 13.04.22: Hmm hmm vim.cmd [[packadd packer.nvim]] require('packer').init() _ = telescope.load_extension('packer') local map = function(mode, lhs, picker, opts) - vim.keymap.set(mode, lhs, string.format('<cmd>lua require("tms.p.telescope")["%s"]() <cr>', picker), opts) + opts.desc = 'Telescope ' .. picker + vim.keymap.set(mode, lhs, require('tms.p.telescope')[picker], opts) end local opts = { noremap = true } diff --git a/after/plugin/trans.lua b/after/plugin/trans.lua @@ -1,2 +1,3 @@ - vim.keymap.set('x', 'mtt', function() require('trans').translate() end) - vim.keymap.set('x', 'mtc', function() require('trans').translate('cs') end) +if not pcall(require, 'trans') then return end +vim.keymap.set('x', 'mtt', function() require('trans').translate() end) +vim.keymap.set('x', 'mtc', function() require('trans').translate('cs') end) diff --git a/after/queries/dart/refactoring.scm b/after/queries/dart/refactoring.scm @@ -1,42 +0,0 @@ -;; Grabs all the local variable declarations. This is useful for scope -;; variable passing. Which variables do we need to pass to the extracted -;; function? -;;((short_var_declaration -;; (expression_list -;; (identifier) @definition.local_name))) -;;((var_declaration -;; (var_spec -;; (identifier) @definition.local_name))) -(local_variable_declaration - (initialized_variable_definition - (identifier) @definiton.local_name)) - -;; grabs all the arguments that are passed into the function. Needed for -;; function extraction, 106 -;;(function_declaration -;; parameters: (parameter_list -;; (parameter_declaration -;; (identifier) @definition.function_argument))) - -(function_signature - (formal_parameter_list - (formal_parameter - (identifier) @definition.function_argument))) - -(function_signature - (formal_parameter_list - (optional_formal_parameters - (formal_parameter - (identifier) @definition.function_argument)))) - -;; TODO is this scope required? Fails when this is uncommented -;; (program) @definition.scope -;;(function_declaration) @definition.scope - -(block) @definition.block - -(declaration) @definition.statement -(return_statement) @definition.statement -(if_statement) @definition.statement -(for_statement) @definition.statement -(call_expression) @definition.statement diff --git a/lua/tms/colors.lua b/lua/tms/colors.lua @@ -82,7 +82,7 @@ end M.update = function(fn) local colors = require('colorbuddy.color').colors local is_dark = M.is_dark(colors) - local cb = { + fn({ Color = require('colorbuddy.color').Color, colors = colors, Group = require('colorbuddy.group').Group, @@ -90,8 +90,7 @@ M.update = function(fn) styles = require('colorbuddy.style').styles, dimm = function(color, amount) return M.dimm(color, amount, is_dark) end, is_dark = is_dark, - } - fn(cb) + }) end return M diff --git a/lua/tms/lsp/init.lua b/lua/tms/lsp/init.lua @@ -21,25 +21,30 @@ local on_attach = function(client, bufnr) client.resolved_capabilities.range_formatting = false end - vim.keymap.set('n', 'gd', vim.lsp.buf.definition, { silent = true, buffer = bufnr }) - vim.keymap.set('n', 'gD', '<cmd>vsplit | lua vim.lsp.buf.definition()<cr>', { silent = true, buffer = bufnr }) - vim.keymap.set('n', 'gT', vim.lsp.buf.type_definition, { silent = true, buffer = bufnr }) - vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, { silent = true, buffer = bufnr }) - vim.keymap.set('n', 'K', vim.lsp.buf.hover, { silent = true, buffer = bufnr }) - vim.keymap.set('n', '<c-p>', vim.lsp.buf.signature_help, { silent = true, buffer = bufnr }) - vim.keymap.set('i', '<c-p>', vim.lsp.buf.signature_help, { silent = true, buffer = bufnr }) - vim.keymap.set('n', 'gr', vim.lsp.buf.references, { silent = true, buffer = bufnr }) - vim.keymap.set('n', 'ga', vim.lsp.buf.code_action, { silent = true, buffer = bufnr }) - vim.keymap.set('n', 'gn', vim.lsp.buf.rename, { silent = true, buffer = bufnr }) + vim.keymap.set('n', 'gd', vim.lsp.buf.definition, { silent = true, buffer = bufnr, desc = 'LSP Definition' }) + vim.keymap.set('n', 'gD', '<cmd>vsplit | lua vim.lsp.buf.definition()<cr>', + { silent = true, buffer = bufnr, desc = 'LSP definition in vsplit' }) + vim.keymap + .set('n', 'gT', vim.lsp.buf.type_definition, { silent = true, buffer = bufnr, desc = 'LSP Type Definition' }) + vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, { silent = true, buffer = bufnr, desc = 'LSP Implementation' }) + vim.keymap.set('n', 'K', vim.lsp.buf.hover, { silent = true, buffer = bufnr, desc = 'LSP Hover' }) + vim.keymap.set('n', '<c-p>', vim.lsp.buf.signature_help, + { silent = true, buffer = bufnr, desc = 'LSP Signature Help' }) + vim.keymap.set('i', '<c-p>', vim.lsp.buf.signature_help, + { silent = true, buffer = bufnr, desc = 'LSP Signature Help' }) + vim.keymap.set('n', 'gr', vim.lsp.buf.references, { silent = true, buffer = bufnr, desc = 'LSP References' }) + vim.keymap.set('n', 'ga', vim.lsp.buf.code_action, { silent = true, buffer = bufnr, desc = 'LSP Code Actions' }) + vim.keymap.set('n', 'gn', vim.lsp.buf.rename, { silent = true, buffer = bufnr, desc = 'LSP Rename' }) -- formatting if client.resolved_capabilities.document_formatting == true then - vim.keymap.set('n', 'Q', vim.lsp.buf.formatting, { silent = true, buffer = bufnr }) - vim.keymap.set('v', 'Q', vim.lsp.buf.range_formatting, { silent = true, buffer = bufnr }) + vim.keymap.set('n', 'Q', vim.lsp.buf.formatting, { silent = true, buffer = bufnr, desc = 'LSP Format' }) + vim.keymap.set('v', 'Q', vim.lsp.buf.range_formatting, { silent = true, buffer = bufnr, desc = 'LSP Range Format' }) end -- symbols local t = require('tms.p.telescope') - vim.keymap.set('n', 'gm', t.lsp_document_symbols, { silent = true, buffer = bufnr }) - vim.keymap.set('n', 'gM', t.lsp_dynamic_workspace_symbols, { silent = true, buffer = bufnr }) + vim.keymap.set('n', 'gm', t.lsp_document_symbols, { silent = true, buffer = bufnr, desc = 'LSP Document Symbols' }) + vim.keymap.set('n', 'gM', t.lsp_dynamic_workspace_symbols, + { silent = true, buffer = bufnr, desc = 'LSP Workspace Symbols' }) local has_aerial, aerial = pcall(require, 'aerial') if has_aerial then aerial.on_attach(client, bufnr) end diff --git a/lua/tms/p/telescope.lua b/lua/tms/p/telescope.lua @@ -62,7 +62,7 @@ return setmetatable({}, { if M[k] then return M[k] else - return require('telescope.builtin')[k] + return builtin[k] end end, }) diff --git a/plugin/diagnostic.lua b/plugin/diagnostic.lua @@ -1,12 +1,23 @@ vim.diagnostic.config({ virtual_text = false, underline = false, float = { border = 'single' }, severity_sort = true }) -local opts = { silent = true } -local goto_next = function() vim.diagnostic.goto_next({ float = false }) end -local goto_prev = function() vim.diagnostic.goto_prev({ float = false }) end -vim.keymap.set('n', '>d', goto_next, opts) -vim.keymap.set('n', '>(', goto_next, opts) -vim.keymap.set('n', '<d', goto_prev, opts) -vim.keymap.set('n', '<(', goto_prev, opts) -vim.keymap.set('n', 'gs', function() vim.diagnostic.open_float(0, { scope = 'line' }) end, opts) -vim.keymap.set('n', 'gS', function() vim.diagnostic.open_float(0, { scope = 'cursor' }) end, opts) -vim.keymap.set('n', 'gll', function() vim.diagnostic.setloclist() end, opts) -vim.keymap.set('n', 'glq', function() vim.diagnostic.setqflist() end, opts) + +local d = { + next = function() vim.diagnostic.goto_next({ float = false }) end, + prev = function() vim.diagnostic.goto_prev({ float = false }) end, + open = function() vim.diagnostic.open_float(0) end, + open_cursor = function() vim.diagnostic.open_float(0, { scope = 'cursor' }) end, + loc = function() vim.diagnostic.setloclist() end, + qf = function() vim.diagnostic.setqflist() end, + qf_error = function() vim.diagnostic.setqflist({ severity = vim.diagnostic.severity.ERROR }) end, +} + +local o = function(desc) return { desc = desc, silent = true } end + +vim.keymap.set('n', '>d', d.next, o('Diagnostic Next')) +vim.keymap.set('n', '>(', d.next, o('Diagnostic Next')) +vim.keymap.set('n', '<d', d.prev, o('Diagnostic Previous')) +vim.keymap.set('n', '<(', d.prev, o('Diagnostic Previous')) +vim.keymap.set('n', 'gs', d.open, o('Diagnostic Open for Line')) +vim.keymap.set('n', 'gS', d.open_cursor, o('Diagnostic Open for Cursor')) +vim.keymap.set('n', 'gll', d.loc, o('Diagnostic to Location List')) +vim.keymap.set('n', 'glq', d.qf, o('Diagnostic to Quickfix List')) +vim.keymap.set('n', 'glQ', d.qf_error, o('Diagnostic to Quickfix List'))