Files
Nvim/lua/plugins/lsp.lua

86 lines
2.4 KiB
Lua

return { -- adds lsp functionality and api for included languages
{
"neovim/nvim-lspconfig",
dependencies = {
{ "mason-org/mason.nvim", config = true }, -- The "App Store"
{ "mason-org/mason-lspconfig.nvim", config = true }, -- The "Bridge"
{
'saghen/blink.cmp',
version = '*', -- Downloads pre-built binaries (fast!)
opts =
{
keymap = {
preset = 'none',
['<CR>'] = { 'select_next', 'fallback' },
['<S-CR>'] = { 'select_prev', 'fallback' },
['<Tab>'] = { 'accept', 'fallback' },
['<C-space>'] = { 'show', 'show_documentation', 'hide_documentation' },
},
sources = {
default = { 'lsp', 'path', 'snippets', 'buffer' },
},
},
},
{
'MeanderingProgrammer/render-markdown.nvim',
dependencies = { 'nvim-treesitter/nvim-treesitter', 'nvim-mini/mini.nvim' }, -- if you use the mini.nvim suite
---@module 'render-markdown'
},
{ -- basic tree sitter parser support
"nvim-treesitter/nvim-treesitter",
opts = {
indent = { enable = true },
highlight = { enable = true },
folds = { enable = true },
ensure_installed = {
"bash",
"c",
"diff",
"html",
"javascript",
"jsdoc",
"json",
"lua",
"luadoc",
"luap",
"markdown",
"markdown_inline",
"printf",
"python",
"query",
"regex",
"toml",
"tsx",
"typescript",
"vim",
"vimdoc",
"xml",
"yaml",
"zsh",
},
}
},
{ -- Adds git related signs to the gutter, as well as utilities for managing changes
'lewis6991/gitsigns.nvim',
opts = {
signs = {
add = { text = '+' },
change = { text = '~' },
delete = { text = '_' },
topdelete = { text = '' },
changedelete = { text = '~' },
},
},
},
}
},
{
'NMAC427/guess-indent.nvim',
config = function()
require('guess-indent').setup ({
filetype_exclude = {"lua"},
})
end,
}, -- Detect tabstop and shiftwidth automatically
}