diff --git a/dot_config/nvim/after/queries/c_sharp/indents.scm b/dot_config/nvim/after/queries/c_sharp/indents.scm index af2167e..72cc8cb 100644 --- a/dot_config/nvim/after/queries/c_sharp/indents.scm +++ b/dot_config/nvim/after/queries/c_sharp/indents.scm @@ -36,6 +36,7 @@ (using_statement) (local_function_statement) (object_creation_expression) + (array_creation_expression) (implicit_object_creation_expression) ] @indent.begin @@ -61,6 +62,8 @@ (while_statement (block "{" @indent.branch)) +(array_creation_expression + (initializer_expression "{" @indent.branch)) (object_creation_expression (initializer_expression "{" @indent.branch)) (implicit_object_creation_expression @@ -102,6 +105,7 @@ (local_function_statement ";" @indent.end) (local_declaration_statement ";" @indent.end) +; this is fucked up, because grammer doesn't match # as part of the token [ (if_directive) (else_directive) @@ -110,4 +114,4 @@ (nullable_directive) (pragma_directive) (undef_directive) - ] @align.zero + ] @indent.zero diff --git a/dot_config/nvim/lua/configs/keys.lua b/dot_config/nvim/lua/configs/keys.lua index a96e10e..4fe455a 100644 --- a/dot_config/nvim/lua/configs/keys.lua +++ b/dot_config/nvim/lua/configs/keys.lua @@ -20,6 +20,8 @@ function M.setup() vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, { desc = 'Go to next diagnostic' }) vim.keymap.set('n', ']d', vim.diagnostic.goto_next, { desc = 'Go to prev diagnostic' }) + vim.keymap.set('n', '[e', function() vim.diagnostic.goto_prev({severity = vim.diagnostic.severity.ERROR}) end, { desc = 'Go to next error' }) + vim.keymap.set('n', ']e', function() vim.diagnostic.goto_next({severity = vim.diagnostic.severity.ERROR}) end, { desc = 'Go to prev error' }) vim.keymap.set('n', 'q', vim.diagnostic.setloclist, { desc = 'Diagnostic to loclist' }) vim.keymap.set({ 'n', 'x', 'o' }, 'n', "'Nn'[v:searchforward]", { expr = true, desc = 'Next search result' }) diff --git a/dot_config/nvim/lua/configs/options.lua b/dot_config/nvim/lua/configs/options.lua index f2db9f6..82a10f4 100644 --- a/dot_config/nvim/lua/configs/options.lua +++ b/dot_config/nvim/lua/configs/options.lua @@ -134,15 +134,16 @@ function M.setup() }) vim.diagnostic.config({ - virtual_text = { - format = function(diag) - local s = vim.diagnostic.severity - if diag.severity == s.E or diag.severity == s.W then - return diag.message - end - return nil - end, - }, + virtual_text = false + -- virtual_text = { + -- format = function(diag) + -- local s = vim.diagnostic.severity + -- if diag.severity == s.E or diag.severity == s.W then + -- return diag.message + -- end + -- return nil + -- end, + -- }, }) if vim.g.neoray then -- {{{ diff --git a/dot_config/nvim/lua/configs/packages/lsp.lua b/dot_config/nvim/lua/configs/packages/lsp.lua index caf8721..02ff9f4 100644 --- a/dot_config/nvim/lua/configs/packages/lsp.lua +++ b/dot_config/nvim/lua/configs/packages/lsp.lua @@ -57,15 +57,6 @@ local server_configs = function() phpactor = { -- {{{ cmd = { vim.env.HOME .. '/devel/phpactor/bin/phpactor', 'language-server' }, - handlers = { - ['textDocument/publishDiagnostics'] = vim.lsp.with( - vim.lsp.diagnostic.on_publish_diagnostics, { - virtual_text = { - severity = vim.diagnostic.severity.ERROR, - }, - } - ), - }, root_dir = function(startpath) local u = require('lspconfig.util') return u.search_ancestors(startpath, function(path) @@ -303,18 +294,23 @@ local function make_client_capabilities() end local function config() - require('neodev').setup({}) - vim.api.nvim_create_autocmd('LspAttach', { callback = on_attach, }) local capabilities = make_client_capabilities() - local servers = server_configs(); local nvim_lsp = require('lspconfig') + + nvim_lsp.util.default_config = vim.tbl_extend('force', + nvim_lsp.util.default_config, + { + capabilities = capabilities + } + ) + + local servers = server_configs(); for name, conf in pairs(servers) do - conf.capabilities = capabilities nvim_lsp[name].setup(conf) end end @@ -336,8 +332,12 @@ end return { { 'neovim/nvim-lspconfig', + event = 'BufRead', + config = config, + cmd = { 'LspInfo', 'LspLog', 'LspStart' }, dependencies = { - { 'j-hui/fidget.nvim', config = true }, + { 'folke/neodev.nvim', config = true }, + { 'j-hui/fidget.nvim', config = true, tag = 'legacy' }, { 'ray-x/lsp_signature.nvim', opts = { @@ -357,12 +357,9 @@ return { { 'li', 'LspInfo', desc = 'Lsp info' }, { 'll', 'LspLog', desc = 'Lsp log' }, }, - event = 'BufRead', - config = config, }, { 'SmiteshP/nvim-navic', lazy = true }, { 'Hoffs/omnisharp-extended-lsp.nvim', lazy = true }, { 'b0o/schemastore.nvim', lazy = true }, - { 'folke/neodev.nvim', lazy = true }, { 'Issafalcon/lsp-overloads.nvim', lazy = true }, } diff --git a/dot_config/nvim/lua/configs/packages/misc.lua b/dot_config/nvim/lua/configs/packages/misc.lua index 45ce530..cf53be4 100644 --- a/dot_config/nvim/lua/configs/packages/misc.lua +++ b/dot_config/nvim/lua/configs/packages/misc.lua @@ -173,6 +173,15 @@ return { }, { 'dyng/ctrlsf.vim', cmd = 'CtrlSF' }, + { + 'https://git.sr.ht/~whynothugo/lsp_lines.nvim', + config = function() + require('lsp_lines').setup() + vim.diagnostic.config({ + virtual_lines = { only_current_line = true }, + }) + end, + }, { 'andymass/vim-matchup', diff --git a/dot_config/nvim/lua/configs/packages/telescope.lua b/dot_config/nvim/lua/configs/packages/telescope.lua index 78707e4..d998841 100644 --- a/dot_config/nvim/lua/configs/packages/telescope.lua +++ b/dot_config/nvim/lua/configs/packages/telescope.lua @@ -4,7 +4,8 @@ local M = { 'nvim-lua/plenary.nvim', { 'nvim-telescope/telescope-fzf-native.nvim', - build = 'cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build' + build = + 'cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build', }, }, cmd = { 'Telescope' }, @@ -12,11 +13,11 @@ local M = { { 'b', [[Telescope buffers]], desc = 'Buffers' }, { 'ff', [[Telescope find_files]], desc = 'Search file' }, { 'fg', [[Telescope live_grep]], desc = 'Grep through files' }, - { 'T', [[Telescope]], desc = 'Telescope' }, + { 'Ta', [[Telescope]], desc = 'Telescope all' }, { 'Tg', [[Telescope grep_string]], desc = 'Telescope grep string' }, { 'Td', [[Telescope diagnostics]], desc = 'Telescope workspace diagnostics' }, { 'Tj', [[Telescope jumplist]], desc = 'Telescope jumplist' }, - { 'Tr', [[Telescope resume]], desc = 'Telescope resume' }, + { 'TT', [[Telescope resume]], desc = 'Telescope resume' }, }, } @@ -25,7 +26,7 @@ function M.config() local actions = require('telescope.actions') local layout_actions = require('telescope.actions.layout') - telescope.setup { + local opts = { defaults = { preview = { hide_on_startup = true, @@ -55,25 +56,16 @@ function M.config() }, }, }, + extensions = { + fzf = {}, + }, } - telescope.load_extension('fzf') + telescope.setup(opts) - local augr = vim.api.nvim_create_augroup('Telescope', {}) - vim.api.nvim_create_autocmd('FileType', { - group = augr, - pattern = 'TelescopePrompt', - callback = function() - vim.api.nvim_exec([[ - imap Telescope buffers initial_mode=insert - nmap Telescope buffers initial_mode=insert - imap Telescope fd initial_mode=insert - nmap Telescope fd initial_mode=insert - imap Telescope builtin initial_mode=insert - nmap Telescope builtin initial_mode=insert - ]], false) - end, - }) + for ext, _ in pairs(opts.extensions) do + telescope.load_extension(ext) + end end return M