config(nvim): replace lsp syntax with treesitter

See https://github.com/neovim/nvim-lspconfig/issues/2542
main
sudo pacman -Syu 2024-07-05 01:10:46 +07:00
parent ff0a0e2701
commit 1a1b2d2ac8
2 changed files with 68 additions and 3 deletions

View File

@ -23,6 +23,7 @@ https://kbd.news/rss.php
https://go.dev/blog/feed.atom
https://lwn.net/headlines/rss
https://github.blog/tag/git/atom
https://golangweekly.com/rss/
https://lobste.rs/t/cryptography,design,go,linux,mac.rss "~lobste.rs"
http://antirez.com/rss
@ -38,4 +39,3 @@ https://michael.stapelberg.ch/feed.xml
https://mitchellh.com/feed.xml
https://research.swtch.com/feed.atom
https://stephango.com/feed.xml
https://xeiaso.net/blog.rss

View File

@ -170,6 +170,9 @@ require("lazy").setup({
},
}
end,
integrations = {
treesitter_context = false,
},
})
vim.cmd("colorscheme catppuccin")
@ -457,6 +460,50 @@ require("lazy").setup({
end,
},
-- https://github.com/nvim-treesitter/nvim-treesitter
{
"nvim-treesitter/nvim-treesitter",
build = {
":TSUpdate",
},
config = function()
require("nvim-treesitter.configs").setup({
ensure_installed = {
"bash",
"go",
"lua",
"markdown",
"markdown_inline",
"proto",
"python",
"vim",
"vimdoc",
},
highlight = {
enabled = true,
disable = function(lang, bufnr)
-- Skip big files with many lines
return vim.api.nvim_buf_line_count(bufnr) > 10000
end,
},
})
end,
},
-- https://github.com/nvim-treesitter/nvim-treesitter-context
{
"nvim-treesitter/nvim-treesitter-context",
dependencies = {
"nvim-treesitter/nvim-treesitter",
},
config = function()
require("treesitter-context").setup({
enable = true,
max_lines = 2,
})
end,
},
-- https://github.com/neovim/nvim-lspconfig
{
"neovim/nvim-lspconfig",
@ -481,8 +528,14 @@ require("lazy").setup({
-- https://github.com/golang/tools/blob/master/gopls/doc/settings.md
-- https://github.com/golang/tools/blob/master/gopls/doc/inlayHints.md
-- https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md#gopls
-- https://github.com/neovim/nvim-lspconfig/issues/2542
lspconfig.gopls.setup({
capabilities = capabilities,
on_init = function(client, initialization_result)
if client.server_capabilities then
client.server_capabilities.semanticTokensProvider = nil
end
end,
on_attach = function(client, bufnr)
vim.lsp.inlay_hint.enable(true, { bufnr = bufnr })
end,
@ -498,12 +551,24 @@ require("lazy").setup({
-- Python
-- https://github.com/astral-sh/ruff/blob/main/crates/ruff_server/docs/setup/NEOVIM.md
-- https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md#ruff
lspconfig.ruff.setup({})
lspconfig.ruff.setup({
on_init = function(client, initialization_result)
if client.server_capabilities then
client.server_capabilities.semanticTokensProvider = nil
end
end,
})
-- Markdown
-- https://github.com/artempyanykh/marksman
-- https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md#marksman
lspconfig.marksman.setup({})
lspconfig.marksman.setup({
on_init = function(client, initialization_result)
if client.server_capabilities then
client.server_capabilities.semanticTokensProvider = nil
end
end,
})
-- General
vim.keymap.set("n", "<Space>e", vim.diagnostic.open_float)