mirror of
https://git.sr.ht/~roxwize/.dotfiles
synced 2025-06-07 20:49:29 +00:00
~
This commit is contained in:
parent
6531db0006
commit
4a2ee1ef10
2 changed files with 106 additions and 60 deletions
97
configs/neovim.lua
Normal file
97
configs/neovim.lua
Normal file
|
@ -0,0 +1,97 @@
|
||||||
|
--vim.lsp.enable("ts_ls")
|
||||||
|
--vim.lsp.enable("vala_ls")
|
||||||
|
|
||||||
|
vim.opt.tabstop = 4
|
||||||
|
vim.opt.softtabstop = 4
|
||||||
|
vim.opt.shiftwidth = 4
|
||||||
|
vim.opt.expandtab = true
|
||||||
|
vim.opt.number = true
|
||||||
|
|
||||||
|
-- TODO: run :Neotree on VimEnter autocmd
|
||||||
|
-- neo-tree
|
||||||
|
require("neo-tree").setup {
|
||||||
|
default_component_configs = {
|
||||||
|
git_status = {
|
||||||
|
symbols = {
|
||||||
|
added = "+",
|
||||||
|
conflict = "!"
|
||||||
|
deleted = "-",
|
||||||
|
ignored = ".",
|
||||||
|
modified = "/",
|
||||||
|
renamed = ">",
|
||||||
|
staged = "S",
|
||||||
|
unstaged = "U",
|
||||||
|
untracked = "U",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
icon = {
|
||||||
|
folder_closed = "-",
|
||||||
|
folder_open = "+",
|
||||||
|
folder_empty = "-",
|
||||||
|
folder_empty_open = "-"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
sources = {
|
||||||
|
"filesystem",
|
||||||
|
"buffers",
|
||||||
|
"git_status",
|
||||||
|
"document_symbols"
|
||||||
|
},
|
||||||
|
source_selector = {
|
||||||
|
winbar = true,
|
||||||
|
sources = {
|
||||||
|
{ source = "filesystem" },
|
||||||
|
{ source = "buffers" },
|
||||||
|
{ source = "git_status" },
|
||||||
|
{ source = "document_symbols" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
vim.api.nvim_create_autocmd({"VimEnter"}, {
|
||||||
|
command = "Neotree action=show position=right reveal=true"
|
||||||
|
})
|
||||||
|
|
||||||
|
---- language servers + intellisense
|
||||||
|
-- cmp
|
||||||
|
local cmp = require("cmp")
|
||||||
|
cmp.setup {
|
||||||
|
snippet = {
|
||||||
|
expand = function(args)
|
||||||
|
require("luasnip").lsp_expand(args.body)
|
||||||
|
end
|
||||||
|
},
|
||||||
|
mapping = {
|
||||||
|
['<C-up>'] = cmp.mapping.select_prev_item(),
|
||||||
|
['<C-down>'] = cmp.mapping.select_next_item(),
|
||||||
|
['<C-space>'] = cmp.mapping.complete(),
|
||||||
|
['<C-e>'] = cmp.mapping.close(),
|
||||||
|
['<tab>'] = cmp.mapping.confirm { select = true }
|
||||||
|
},
|
||||||
|
sources = cmp.config.sources({
|
||||||
|
{ name = "nvim_lsp" },
|
||||||
|
{ name = "luasnip" }
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
local caps = vim.tbl_deep_extend(
|
||||||
|
"force",
|
||||||
|
vim.lsp.protocol.make_client_capabilities(),
|
||||||
|
require("cmp_nvim_lsp").default_capabilities(),
|
||||||
|
{ workspace = { didChangeWatchedFiles = { dynamicRegistration = true } } }
|
||||||
|
)
|
||||||
|
|
||||||
|
-- lspconfig
|
||||||
|
local lc = require("lspconfig")
|
||||||
|
|
||||||
|
lc.clangd.setup {
|
||||||
|
autostart = true,
|
||||||
|
capabilities = caps,
|
||||||
|
cmd = { "clangd" }
|
||||||
|
}
|
||||||
|
lc.nil_ls.setup {
|
||||||
|
autostart = true,
|
||||||
|
capabilities = caps,
|
||||||
|
cmd = { "nil" }
|
||||||
|
}
|
||||||
|
lc.ts_ls.setup { capabilities = caps }
|
||||||
|
lc.vala_ls.setup { capabilities = caps }
|
|
@ -6,67 +6,16 @@
|
||||||
plugins = with pkgs.vimPlugins; [
|
plugins = with pkgs.vimPlugins; [
|
||||||
cmp_luasnip
|
cmp_luasnip
|
||||||
cmp-nvim-lsp
|
cmp-nvim-lsp
|
||||||
luasnip
|
luasnip # Snippet engine
|
||||||
nvim-cmp
|
neo-tree-nvim # Filesystem tree
|
||||||
|
nvim-cmp # Code completion
|
||||||
nvim-lspconfig
|
nvim-lspconfig
|
||||||
rustaceanvim
|
rustaceanvim # Rust support
|
||||||
vim-just
|
vim-just # Syntax [just]
|
||||||
vim-sleuth
|
vim-sleuth # Indentation detection
|
||||||
vim-wakatime
|
vim-wakatime # Wakatime support
|
||||||
];
|
];
|
||||||
extraLuaConfig = ''
|
# TODO make path agnostic
|
||||||
--vim.lsp.enable("ts_ls")
|
extraLuaConfig = builtins.readFile /home/rae/.dotfiles/configs/neovim.lua;
|
||||||
--vim.lsp.enable("vala_ls")
|
|
||||||
|
|
||||||
vim.opt.tabstop = 4
|
|
||||||
vim.opt.softtabstop = 4
|
|
||||||
vim.opt.shiftwidth = 4
|
|
||||||
vim.opt.expandtab = true
|
|
||||||
vim.opt.number = true
|
|
||||||
|
|
||||||
-- cmp
|
|
||||||
local cmp = require("cmp")
|
|
||||||
cmp.setup {
|
|
||||||
snippet = {
|
|
||||||
expand = function(args)
|
|
||||||
require("luasnip").lsp_expand(args.body)
|
|
||||||
end
|
|
||||||
},
|
|
||||||
mapping = {
|
|
||||||
['<C-up>'] = cmp.mapping.select_prev_item(),
|
|
||||||
['<C-down>'] = cmp.mapping.select_next_item(),
|
|
||||||
['<C-space>'] = cmp.mapping.complete(),
|
|
||||||
['<C-e>'] = cmp.mapping.close(),
|
|
||||||
['<tab>'] = cmp.mapping.confirm { select = true }
|
|
||||||
},
|
|
||||||
sources = cmp.config.sources({
|
|
||||||
{ name = "nvim_lsp" },
|
|
||||||
{ name = "luasnip" }
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
local caps = vim.tbl_deep_extend(
|
|
||||||
"force",
|
|
||||||
vim.lsp.protocol.make_client_capabilities(),
|
|
||||||
require("cmp_nvim_lsp").default_capabilities(),
|
|
||||||
{ workspace = { didChangeWatchedFiles = { dynamicRegistration = true } } }
|
|
||||||
)
|
|
||||||
|
|
||||||
-- lspconfig
|
|
||||||
local lc = require("lspconfig")
|
|
||||||
|
|
||||||
lc.clangd.setup {
|
|
||||||
autostart = true,
|
|
||||||
capabilities = caps,
|
|
||||||
cmd = { "clangd" }
|
|
||||||
}
|
|
||||||
lc.nil_ls.setup {
|
|
||||||
autostart = true,
|
|
||||||
capabilities = caps,
|
|
||||||
cmd = { "nil" }
|
|
||||||
}
|
|
||||||
lc.ts_ls.setup { capabilities = caps }
|
|
||||||
lc.vala_ls.setup { capabilities = caps }
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue