Skip to content

Commit

Permalink
fix(nvim): fix mason/lsp setup
Browse files Browse the repository at this point in the history
  • Loading branch information
tiborpilz committed Mar 1, 2024
1 parent 8ffae14 commit ce8e24e
Show file tree
Hide file tree
Showing 8 changed files with 34 additions and 75 deletions.
8 changes: 4 additions & 4 deletions home/config/neovim/init.vim
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,10 @@ set updatetime=1000
let mapleader = ","

" Install Plugins automatically if they're missing.
autocmd VimEnter *
\ if len(filter(values(g:plugs), '!isdirectory(v:val.dir)'))
\| PlugInstall --sync | q
\| endif
" autocmd VimEnter *
" \ if len(filter(values(g:plugs), '!isdirectory(v:val.dir)'))
" \| PlugInstall --sync | q
" \| endif

" Load plugins
source $HOME/.config/nvim/plugins.vim
Expand Down
72 changes: 20 additions & 52 deletions home/config/neovim/lua/lsp-config.lua
Original file line number Diff line number Diff line change
@@ -1,66 +1,34 @@
local lspconfig_present, lspconfig = pcall(require, 'lspconfig')
local mason_present, mason = pcall(require, 'mason')
local mason_lspconfig_present, mason_lspconfig = pcall(require, 'mason-lspconfig')

if not (lspconfig_present or mason_present) then
if not (lspconfig_present) then
return
end

-- local function on_attach(_, bufnr)
-- vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc')
if not (mason_present) then
print('mason not found')
return
end

if not (mason_lspconfig_present) then
print('mason-lspconfig not found')
return
end

-- local opts = { noremap = true, silent = true }
mason.setup()
mason_lspconfig.setup()

-- vim.api.nvim_buf_set_keymap(bufnr, 'n', 'gD', '<Cmd>lua vim.lsp.buf.declaration()<CR>', opts)
-- vim.api.nvim_buf_set_keymap(bufnr, 'n', 'gd', '<Cmd>lua vim.lsp.buf.definition()<CR>', opts)
-- vim.api.nvim_buf_set_keymap(bufnr, 'n', 'K', '<Cmd>lua vim.lsp.buf.hover()<CR>', opts)
-- vim.api.nvim_buf_set_keymap(bufnr, 'n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<CR>', opts)
-- vim.api.nvim_buf_set_keymap(bufnr, 'n', '<C-k>', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts)
-- vim.api.nvim_buf_set_keymap(bufnr, 'n', '<leader>wa', '<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>', opts)
-- vim.api.nvim_buf_set_keymap(bufnr, 'n', '<leader>wr', '<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>', opts)
-- vim.api.nvim_buf_set_keymap(bufnr, 'n', '<leader>wl', '<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>', opts)
-- vim.api.nvim_buf_set_keymap(bufnr, 'n', '<leader>D', '<cmd>lua vim.lsp.buf.type_definition()<CR>', opts)
-- vim.api.nvim_buf_set_keymap(bufnr, 'n', '<leader>rn', '<cmd>lua vim.lsp.buf.rename()<CR>', opts)
-- vim.api.nvim_buf_set_keymap(bufnr, 'n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>', opts)
-- vim.api.nvim_buf_set_keymap(bufnr, 'n', '<leader>ca', '<cmd>lua vim.lsp.buf.code_action()<CR>', opts)
-- -- vim.api.nvim_buf_set_keymap(bufnr, 'v', '<leader>ca', '<cmd>lua vim.lsp.buf.range_code_action()<CR>', opts)
-- vim.api.nvim_buf_set_keymap(bufnr, 'n', '<leader>e', '<cmd>lua vim.lsp.diagnostic.show_line_diagnostics()<CR>', opts)
-- vim.api.nvim_buf_set_keymap(bufnr, 'n', '[d', '<cmd>lua vim.lsp.diagnostic.goto_prev()<CR>', opts)
-- vim.api.nvim_buf_set_keymap(bufnr, 'n', ']d', '<cmd>lua vim.lsp.diagnostic.goto_next()<CR>', opts)
-- vim.api.nvim_buf_set_keymap(bufnr, 'n', '<leader>q', '<cmd>lua vim.lsp.diagnostic.set_loclist()<CR>', opts)
-- vim.api.nvim_buf_set_keymap(bufnr, 'n', '<leader>so', [[<cmd>lua require('telescope.builtin').lsp_document_symbols()<CR>]], opts)
-- vim.cmd [[ command! Format execute 'lua vim.lsp.buf.formatting()' ]]
-- end
mason_lspconfig.setup_handlers {
function (server_name) -- default handler
require("lspconfig")[server_name].setup {}
end
}

-- add snippet support
local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities.textDocument.completion.completionItem.snippetSupport = true


-- replace diagnostic symbols
-- function lspSymbol(name, icon)
-- vim.fn.sign_define("LspDiagnosticsSign" .. name, { text = icon, numhl = "LspDiagnosticsDefaul" .. name })
-- end

-- lspSymbol("Error", "E")
-- lspSymbol("Warning", "W")
-- lspSymbol("Information", "I")
-- lspSymbol("Hint", "h")

-- vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(vim.lsp.diagnostic.on_publish_diagnostics, {
-- -- virtual_text = {
-- -- prefix = "",
-- -- spacing = 0,
-- -- },
-- signs = true,
-- underline = false,
-- update_in_insert = false, -- update diagnostics insert mode
-- })

-- require("lsp-colors").setup({
-- Error = "#FF0000",
-- Warning = "#e0af68",
-- Information = "#0db9d7",
-- Hint = "#10B981"
-- })

-- suppress error messages from lang servers
vim.notify = function(msg, log_level)
if msg:match "exit code" then
Expand Down
Empty file.
16 changes: 0 additions & 16 deletions home/config/neovim/lua/mason.lua

This file was deleted.

File renamed without changes.
4 changes: 2 additions & 2 deletions home/config/neovim/plugins.vim
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ colorscheme nightfox
lua require('lsp-config')

" Mason settings
lua require('mason')
lua require('mason-setup')

" Diagnostics Settings
lua require('diagnostics')
Expand All @@ -167,7 +167,7 @@ lua require('lsp-signature')
lua require('iron-config')

" Neorg setup
lua require('neorg')
lua require('neorg-setup')

" Dashboard settings
let g:dashboard_custom_header = [
Expand Down
6 changes: 5 additions & 1 deletion home/modules/editors/neovim.nix
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,10 @@ in
neovim
];

# xdg.configFile."nvim" = { source = ../../config/neovim; recursive = true; };
modules.shell.zsh.aliases = {
vim = "nvim";
};

xdg.configFile."nvim" = { source = ../../config/neovim; recursive = true; };
};
}
3 changes: 3 additions & 0 deletions home/modules/shell/zsh.nix
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,9 @@ in
xclip = "xclip -selection clipboard";
nix-shell = "nix-shell --run zsh"; # keep using zsh in nix shell

# speeds up non-scoped npm installs
nci = "npm_config_registry=https://registry.npmjs.org/ npm ci";

# Tools that can be used as drop-in replacements
ls = "eza";
};
Expand Down

0 comments on commit ce8e24e

Please sign in to comment.