95 lines
2.6 KiB
Lua
95 lines
2.6 KiB
Lua
-- [[ Install `lazy.nvim` plugin manager ]]
|
|
local lazypath = vim.fn.stdpath 'data' .. '/lazy/lazy.nvim'
|
|
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
|
local lazyrepo = 'https://github.com/folke/lazy.nvim.git'
|
|
local out = vim.fn.system { 'git', 'clone', '--filter=blob:none', '--branch=stable', lazyrepo, lazypath }
|
|
if vim.v.shell_error ~= 0 then
|
|
error('Error cloning lazy.nvim:\n' .. out)
|
|
end
|
|
end
|
|
|
|
vim.opt.rtp:prepend(lazypath)
|
|
|
|
require('lazy').setup({
|
|
|
|
{
|
|
'rebelot/kanagawa.nvim',
|
|
priority = 1000,
|
|
config = function()
|
|
vim.cmd.colorscheme "kanagawa-wave"
|
|
end
|
|
},
|
|
|
|
{ -- Highlight, edit, and navigate code
|
|
'nvim-treesitter/nvim-treesitter',
|
|
build = ':TSUpdate',
|
|
config = function()
|
|
require('nvim-treesitter.configs').setup {
|
|
ensure_installed = { 'c', 'lua', 'vim', 'vimdoc', 'query', 'python' },
|
|
-- Autoinstall languages that are not installed
|
|
auto_install = true,
|
|
highlight = {
|
|
enable = true
|
|
},
|
|
indent = { enable = true, disable = { 'ruby' } },
|
|
incremental_selection = {
|
|
enable = true,
|
|
keymaps = {
|
|
init_selection = 'gnn',
|
|
node_incremental = 'grn',
|
|
scope_incremental = 'grc',
|
|
node_decremental = 'grm',
|
|
},
|
|
},
|
|
}
|
|
end,
|
|
},
|
|
-- {
|
|
-- "neovim/nvim-lspconfig",
|
|
-- config = function()
|
|
-- -- Configure the Pyright language server for Python
|
|
-- vim.lsp.config('pyright', {
|
|
-- cmd = { "pyright-langserver", "--stdio" },
|
|
-- filetypes = { "python" },
|
|
-- })
|
|
|
|
-- -- Enable the LSP server for Python files
|
|
-- vim.lsp.enable('pyright')
|
|
-- end,
|
|
-- }
|
|
{
|
|
-- handle LSP server installation and management
|
|
-- let's be lazy for now.
|
|
"mason-org/mason.nvim",
|
|
dependencies = {
|
|
"mason-org/mason-lspconfig.nvim",
|
|
"neovim/nvim-lspconfig",
|
|
},
|
|
config = function()
|
|
require("mason").setup()
|
|
require("mason-lspconfig").setup()
|
|
end
|
|
},
|
|
}, {
|
|
ui = {
|
|
-- If you are using a Nerd Font: set icons to an empty table which will use the
|
|
-- default lazy.nvim defined Nerd Font icons, otherwise define a unicode icons table
|
|
icons = vim.g.have_nerd_font and {} or {
|
|
cmd = '⌘',
|
|
config = '🛠',
|
|
event = '📅',
|
|
ft = '📂',
|
|
init = '⚙',
|
|
keys = '🗝',
|
|
plugin = '🔌',
|
|
runtime = '💻',
|
|
require = '🌙',
|
|
source = '📄',
|
|
start = '🚀',
|
|
task = '📌',
|
|
lazy = '💤 ',
|
|
},
|
|
},
|
|
})
|
|
|