mirror of
https://codeberg.org/andyscott/dotfiles.git
synced 2024-12-23 18:23:10 -05:00
133 lines
3.1 KiB
Lua
133 lines
3.1 KiB
Lua
return {
|
|
-- statusline
|
|
{
|
|
"nvim-lualine/lualine.nvim",
|
|
config = true,
|
|
dependencies = { "nvim-tree/nvim-web-devicons" }
|
|
},
|
|
-- Theme
|
|
{
|
|
"neanias/everforest-nvim",
|
|
version = false,
|
|
priority = 1000,
|
|
config = function()
|
|
require("everforest").setup({
|
|
background = "soft",
|
|
transparent_background_level = 0,
|
|
italics = false,
|
|
disable_italic_comments = false,
|
|
})
|
|
end,
|
|
},
|
|
-- Which-key keybind hints
|
|
{
|
|
"folke/which-key.nvim",
|
|
config = true,
|
|
},
|
|
-- Auto-pair brackets, parenthesis, etm.
|
|
{
|
|
"windwp/nvim-autopairs",
|
|
config = true,
|
|
lazy = true,
|
|
event = { "BufReadPost", "BufNewFile" }
|
|
},
|
|
-- Tree-sitter
|
|
{
|
|
"nvim-treesitter/nvim-treesitter",
|
|
lazy = true,
|
|
build = ":TSUpdate",
|
|
event = { "BufReadPost", "BufNewFile" },
|
|
opts = {
|
|
indent = { enable = true },
|
|
highlight = { enable = true },
|
|
auto_install = { enable = true },
|
|
ensure_installed = {
|
|
"bash",
|
|
"c",
|
|
"cpp",
|
|
"lua",
|
|
"luadoc",
|
|
"markdown",
|
|
"python",
|
|
"vim",
|
|
"vimdoc",
|
|
"yaml",
|
|
"zig",
|
|
},
|
|
},
|
|
},
|
|
-- Auto-completion
|
|
{
|
|
"hrsh7th/nvim-cmp",
|
|
event = "InsertEnter",
|
|
dependencies = {
|
|
{"L3MON4D3/LuaSnip"},
|
|
},
|
|
config = function()
|
|
-- Here is where you configure the autocompletion settings.
|
|
-- The arguments for .extend() have the same shape as `manage_nvim_cmp`:
|
|
-- https://github.com/VonHeikemen/lsp-zero.nvim/blob/v2.x/doc/md/api-reference.md#manage_nvim_cmp
|
|
|
|
require("lsp-zero.cmp").extend()
|
|
|
|
-- And you can configure cmp even more, if you want to.
|
|
local cmp = require("cmp")
|
|
local cmp_action = require("lsp-zero.cmp").action()
|
|
|
|
cmp.setup({
|
|
mapping = {
|
|
["<C-Space>"] = cmp.mapping.complete(),
|
|
["<C-f>"] = cmp_action.luasnip_jump_forward(),
|
|
["<C-b>"] = cmp_action.luasnip_jump_backward(),
|
|
}
|
|
})
|
|
end
|
|
},
|
|
-- LSP
|
|
{
|
|
"VonHeikemen/lsp-zero.nvim",
|
|
branch = "v2.x",
|
|
lazy = true,
|
|
config = function()
|
|
-- This is where you modify the settings for lsp-zero
|
|
-- Note: autocompletion settings will not take effect
|
|
|
|
require("lsp-zero.settings").preset({})
|
|
end
|
|
},
|
|
{
|
|
"neovim/nvim-lspconfig",
|
|
cmd = "LspInfo",
|
|
event = {"BufReadPre", "BufNewFile"},
|
|
dependencies = {
|
|
{"hrsh7th/cmp-nvim-lsp"},
|
|
{"williamboman/mason-lspconfig.nvim"},
|
|
{
|
|
"williamboman/mason.nvim",
|
|
lazy = true,
|
|
build = function()
|
|
pcall(vim.api.nvim_command, "MasonUpdate")
|
|
end,
|
|
},
|
|
},
|
|
config = function()
|
|
-- This is where all the LSP shenanigans will live
|
|
|
|
local lsp = require("lsp-zero")
|
|
|
|
lsp.on_attach(function(client, bufnr)
|
|
-- see :help lsp-zero-keybindings
|
|
-- to learn the available actions
|
|
lsp.default_keymaps({buffer = bufnr})
|
|
end)
|
|
|
|
lsp.setup_servers({'pyright', 'zls'})
|
|
|
|
-- (Optional) Configure lua language server for neovim
|
|
-- require("lspconfig").lua_ls.setup(lsp.nvim_lua_ls())
|
|
|
|
lsp.setup()
|
|
end
|
|
}
|
|
}
|
|
|