neovim: add presence-nvim and change lsp settings
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
{config, pkgs, ...}:
|
{config, pkgs, ...}:
|
||||||
|
|
||||||
{
|
{
|
||||||
programs.neovim = {
|
programs.neovim = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -22,6 +23,15 @@
|
|||||||
vim-polyglot
|
vim-polyglot
|
||||||
nvim-tree-lua
|
nvim-tree-lua
|
||||||
(gruvbox.overrideAttrs (oa: { patches = [ ./nvim/gruvbox.patch ]; }))
|
(gruvbox.overrideAttrs (oa: { patches = [ ./nvim/gruvbox.patch ]; }))
|
||||||
|
(pkgs.vimUtils.buildVimPlugin {
|
||||||
|
name = "presence-nvim";
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "andweeb";
|
||||||
|
repo = "presence.nvim";
|
||||||
|
rev = "f4c1e227be0a0c863c2de201155401950eda572e";
|
||||||
|
sha256 = "08s4az1gv6r5sl0jqkaf4yzibglibb7n2sivh7qccj8dz8id3883";
|
||||||
|
};
|
||||||
|
})
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@@ -1,10 +1,4 @@
|
|||||||
require'lspconfig'.rust_analyzer.setup{}
|
local nvim_lsp = require('lspconfig')
|
||||||
require'lspconfig'.tsserver.setup{}
|
|
||||||
require'lspconfig'.clangd.setup{}
|
|
||||||
require'lspconfig'.tsserver.setup{}
|
|
||||||
require'lspconfig'.jedi_language_server.setup{}
|
|
||||||
require'lspconfig'.purescriptls.setup{}
|
|
||||||
|
|
||||||
local comm = vim.api.nvim_command
|
local comm = vim.api.nvim_command
|
||||||
local bind = vim.api.nvim_set_keymap
|
local bind = vim.api.nvim_set_keymap
|
||||||
local set = function(a) comm("set " .. a) end
|
local set = function(a) comm("set " .. a) end
|
||||||
@@ -182,13 +176,24 @@ do
|
|||||||
bind('n', string.format("<M-%d>", i), string.format(":BufferGoto %d<CR>", i), {silent=true, noremap=true})
|
bind('n', string.format("<M-%d>", i), string.format(":BufferGoto %d<CR>", i), {silent=true, noremap=true})
|
||||||
end
|
end
|
||||||
|
|
||||||
|
--presence.nvim
|
||||||
|
vim.g.presence_neovim_image_text = "Ballin"
|
||||||
|
vim.g.presence_main_image = "file"
|
||||||
|
--vim.g.presence_log_level = "debug"
|
||||||
|
|
||||||
--lsp and compe stuff i got from various places
|
--lsp and compe stuff i got from various places
|
||||||
vim.api.nvim_buf_set_keymap(0, 'n', 'gD', '<Cmd>lua vim.lsp.buf.declaration()<CR>', {silent=true, noremap=true})
|
local on_attach = function(client, bufnr)
|
||||||
vim.api.nvim_buf_set_keymap(0, 'n', 'gd', '<Cmd>lua vim.lsp.buf.definition()<CR>', {silent=true, noremap=true})
|
local function buf_set_keymap(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end
|
||||||
vim.api.nvim_buf_set_keymap(0, 'n', 'gk', '<Cmd>lua vim.lsp.buf.hover()<CR>', {silent=true, noremap=true})
|
local function buf_set_option(...) vim.api.nvim_buf_set_option(bufnr, ...) end
|
||||||
vim.api.nvim_buf_set_keymap(0, 'n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<CR>', {silent=true, noremap=true})
|
buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc')
|
||||||
vim.api.nvim_buf_set_keymap(0, 'n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>', {silent=true, noremap=true})
|
buf_set_keymap('n', 'gD', '<Cmd>lua vim.lsp.buf.declaration()<CR>', {silent=true, noremap=true})
|
||||||
vim.api.nvim_buf_set_keymap(0, 'n', "<space>f", "<cmd>lua vim.lsp.buf.formatting()<CR>", {silent=true, noremap=true})
|
buf_set_keymap('n', 'gd', '<Cmd>lua vim.lsp.buf.definition()<CR>', {silent=true, noremap=true})
|
||||||
|
buf_set_keymap('n', 'gk', '<Cmd>lua vim.lsp.buf.hover()<CR>', {silent=true, noremap=true})
|
||||||
|
buf_set_keymap('n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<CR>', {silent=true, noremap=true})
|
||||||
|
buf_set_keymap('n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>', {silent=true, noremap=true})
|
||||||
|
buf_set_keymap('n', "<M-f>", "<cmd>lua vim.lsp.buf.formatting()<CR>", {silent=true, noremap=true})
|
||||||
|
end
|
||||||
|
|
||||||
require'compe'.setup {
|
require'compe'.setup {
|
||||||
enabled = true;
|
enabled = true;
|
||||||
autocomplete = true;
|
autocomplete = true;
|
||||||
@@ -308,3 +313,8 @@ local statusline = {
|
|||||||
}
|
}
|
||||||
vim.o.statusline = table.concat(statusline)
|
vim.o.statusline = table.concat(statusline)
|
||||||
vim.api.nvim_set_option("termguicolors", true)
|
vim.api.nvim_set_option("termguicolors", true)
|
||||||
|
|
||||||
|
local servers = { "clangd", "rust_analyzer", "tsserver", "jedi_language_server" }
|
||||||
|
for _, lsp in ipairs(servers) do
|
||||||
|
nvim_lsp[lsp].setup { on_attach = on_attach }
|
||||||
|
end
|
||||||
|
Reference in New Issue
Block a user