feat(nvim): ts-context, crates.nvim, dap-ui

This commit is contained in:
winston 2023-09-14 20:32:13 +02:00
parent 07b178ede6
commit 11098c09ea
Signed by: winston
GPG key ID: 3786770EDBC2B481
5 changed files with 55 additions and 5 deletions

View file

@ -83,7 +83,6 @@ cmp.setup({
{ name = "nvim_lsp" }, { name = "nvim_lsp" },
{ name = "luasnip" }, { name = "luasnip" },
{ name = "vim-dadbod-completion" }, { name = "vim-dadbod-completion" },
}, {
{ name = "buffer" }, { name = "buffer" },
}), }),
formatting = { formatting = {
@ -95,6 +94,14 @@ cmp.setup({
}, },
}) })
vim.api.nvim_create_autocmd("BufRead", {
group = vim.api.nvim_create_augroup("CmpSourceCargo", { clear = true }),
pattern = "Cargo.toml",
callback = function()
cmp.setup.buffer({ sources = { { name = "crates" } } })
end,
})
local git_ft = { "gitcommit", "NeogitCommitMessage", "Octo" } local git_ft = { "gitcommit", "NeogitCommitMessage", "Octo" }
cmp.setup.filetype(git_ft, { cmp.setup.filetype(git_ft, {
sources = cmp.config.sources({ sources = cmp.config.sources({
@ -171,7 +178,24 @@ require("lsp.validation").setup(common)
require("lsp.webdev").setup(common) require("lsp.webdev").setup(common)
-- external dependencies -- external dependencies
pcall(require("py_lsp").setup, common) pcall(require("py_lsp").setup, common)
pcall(require("rust-tools").setup, { server = common }) pcall(require("rust-tools").setup, {
server = {
settings = {
["rust-analyzer"] = {
cargo = {
autoReload = true,
target = "wasm32-unknown-unknown",
},
checkOnSave = {
allTargets = true,
},
},
},
},
tools = {
executor = require("rust-tools.executors").toggleterm,
},
})
lspconfig.nil_ls.setup(vim.tbl_extend("keep", { lspconfig.nil_ls.setup(vim.tbl_extend("keep", {
settings = { settings = {

View file

@ -18,6 +18,7 @@ return {
term_colors = true, term_colors = true,
integrations = { integrations = {
treesitter = true, treesitter = true,
treesitter_context = true,
native_lsp = { native_lsp = {
enabled = true, enabled = true,
virtual_text = { virtual_text = {

View file

@ -19,20 +19,36 @@ return {
"folke/trouble.nvim", "folke/trouble.nvim",
opts = { padding = false }, opts = { padding = false },
}, },
{ "folke/neodev.nvim", opts = {} }, { "folke/neodev.nvim", opts = true },
"nvim-lua/lsp-status.nvim", "nvim-lua/lsp-status.nvim",
"barreiroleo/ltex-extra.nvim", "barreiroleo/ltex-extra.nvim",
"b0o/schemastore.nvim", "b0o/schemastore.nvim",
"hallerpatrick/py_lsp.nvim", "hallerpatrick/py_lsp.nvim",
-- rust lsp, dap, dependency management
{ "saecki/crates.nvim", opts = true },
"simrat39/rust-tools.nvim", "simrat39/rust-tools.nvim",
-- lua native typescript lsp plugin
"pmizio/typescript-tools.nvim", "pmizio/typescript-tools.nvim",
{ "ray-x/go.nvim", dependencies = { "ray-x/guihua.lua" } }, { "ray-x/go.nvim", dependencies = { "ray-x/guihua.lua" } },
{ {
"rcarriga/nvim-dap-ui",
dependencies = {
"mfussenegger/nvim-dap", "mfussenegger/nvim-dap",
dependencies = {
{ "rcarriga/nvim-dap-ui" },
"theHamsta/nvim-dap-virtual-text", "theHamsta/nvim-dap-virtual-text",
}, },
config = function()
local dap, dapui = require("dap"), require("dapui")
dap.listeners.after.event_initialized["dapui_config"] = function()
dapui.open()
end
dap.listeners.before.event_terminated["dapui_config"] = function()
dapui.close()
end
dap.listeners.before.event_exited["dapui_config"] = function()
dapui.close()
end
end,
}, },
}, },
config = function() config = function()

View file

@ -41,6 +41,11 @@ return {
name = "Astro", name = "Astro",
color = C.red, color = C.red,
}, },
["dt"] = {
icon = "",
name = "Diet",
color = "#427819",
},
["norg"] = { ["norg"] = {
icon = "", icon = "",
name = "Neorg", name = "Neorg",

View file

@ -44,6 +44,10 @@ return {
vim.o.foldenable = false vim.o.foldenable = false
end, end,
}, },
{
"nvim-treesitter/nvim-treesitter-context",
config = { mode = "topline" },
},
"nvim-treesitter/playground", "nvim-treesitter/playground",
"nvim-treesitter/nvim-treesitter-textobjects", "nvim-treesitter/nvim-treesitter-textobjects",
"windwp/nvim-ts-autotag", "windwp/nvim-ts-autotag",