add plugins
This commit is contained in:
4
init.lua
Normal file
4
init.lua
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
vim.g.mapleader = " " -- Set leader key before running lazy
|
||||||
|
|
||||||
|
require("0x29a.lazy_init")
|
||||||
|
require("0x29a.set")
|
||||||
10
lua/0x29a/lazy/autopairs.lua
Normal file
10
lua/0x29a/lazy/autopairs.lua
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
return {
|
||||||
|
'windwp/nvim-autopairs',
|
||||||
|
event = "InsertEnter",
|
||||||
|
config = function()
|
||||||
|
require('nvim-autopairs').setup({})
|
||||||
|
local cmp_autopairs = require('nvim-autopairs.completion.cmp')
|
||||||
|
local cmp = require('cmp')
|
||||||
|
cmp.event:on('confirm_done', cmp_autopairs.on_confirm_done())
|
||||||
|
end
|
||||||
|
}
|
||||||
3
lua/0x29a/lazy/colorscheme.lua
Normal file
3
lua/0x29a/lazy/colorscheme.lua
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
return {
|
||||||
|
"shaunsingh/nord.nvim"
|
||||||
|
}
|
||||||
20
lua/0x29a/lazy/conform.lua
Normal file
20
lua/0x29a/lazy/conform.lua
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
return {
|
||||||
|
'stevearc/conform.nvim',
|
||||||
|
event = { "BufWritePre" },
|
||||||
|
cmd = { "ConformInfo" },
|
||||||
|
opts = {
|
||||||
|
formatters_by_ft = {
|
||||||
|
markdown = { "prettierd" },
|
||||||
|
python = { "isort", "black" },
|
||||||
|
terraform = { "terraform_fmt" }
|
||||||
|
},
|
||||||
|
-- Set default options
|
||||||
|
default_format_ops = {
|
||||||
|
lsp_format = "fallback",
|
||||||
|
},
|
||||||
|
-- Set up format-on-save
|
||||||
|
format_on_save = {
|
||||||
|
timeout_ms = 500
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
5
lua/0x29a/lazy/indent-blankline.lua
Normal file
5
lua/0x29a/lazy/indent-blankline.lua
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
return {
|
||||||
|
"lukas-reineke/indent-blankline.nvim",
|
||||||
|
main = "ibl",
|
||||||
|
opts = {}
|
||||||
|
}
|
||||||
116
lua/0x29a/lazy/lsp.lua
Normal file
116
lua/0x29a/lazy/lsp.lua
Normal file
@@ -0,0 +1,116 @@
|
|||||||
|
return {
|
||||||
|
"neovim/nvim-lspconfig",
|
||||||
|
dependencies = {
|
||||||
|
"stevearc/conform.nvim",
|
||||||
|
"williamboman/mason.nvim",
|
||||||
|
"williamboman/mason-lspconfig.nvim",
|
||||||
|
"hrsh7th/cmp-nvim-lsp",
|
||||||
|
"hrsh7th/cmp-buffer",
|
||||||
|
"hrsh7th/cmp-path",
|
||||||
|
"hrsh7th/cmp-cmdline",
|
||||||
|
"hrsh7th/nvim-cmp",
|
||||||
|
"L3MON4D3/LuaSnip",
|
||||||
|
"saadparwaiz1/cmp_luasnip",
|
||||||
|
"j-hui/fidget.nvim",
|
||||||
|
},
|
||||||
|
|
||||||
|
config = function()
|
||||||
|
require("conform").setup({
|
||||||
|
formatters_by_ft = {
|
||||||
|
}
|
||||||
|
})
|
||||||
|
local cmp = require('cmp')
|
||||||
|
local cmp_lsp = require("cmp_nvim_lsp")
|
||||||
|
local capabilities = vim.tbl_deep_extend(
|
||||||
|
"force",
|
||||||
|
{},
|
||||||
|
vim.lsp.protocol.make_client_capabilities(),
|
||||||
|
cmp_lsp.default_capabilities())
|
||||||
|
|
||||||
|
require("fidget").setup({})
|
||||||
|
require("mason").setup()
|
||||||
|
require("mason-lspconfig").setup({
|
||||||
|
ensure_installed = {
|
||||||
|
"gopls",
|
||||||
|
"bashls",
|
||||||
|
"ansiblels",
|
||||||
|
"dockerls",
|
||||||
|
"docker_compose_language_service",
|
||||||
|
"jsonls",
|
||||||
|
"pylsp",
|
||||||
|
},
|
||||||
|
handlers = {
|
||||||
|
function(server_name) -- default handler (optional)
|
||||||
|
require("lspconfig")[server_name].setup {
|
||||||
|
capabilities = capabilities
|
||||||
|
}
|
||||||
|
end,
|
||||||
|
|
||||||
|
zls = function()
|
||||||
|
local lspconfig = require("lspconfig")
|
||||||
|
lspconfig.zls.setup({
|
||||||
|
root_dir = lspconfig.util.root_pattern(".git", "build.zig", "zls.json"),
|
||||||
|
settings = {
|
||||||
|
zls = {
|
||||||
|
enable_inlay_hints = true,
|
||||||
|
enable_snippets = true,
|
||||||
|
warn_style = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
vim.g.zig_fmt_parse_errors = 0
|
||||||
|
vim.g.zig_fmt_autosave = 0
|
||||||
|
|
||||||
|
end,
|
||||||
|
["lua_ls"] = function()
|
||||||
|
local lspconfig = require("lspconfig")
|
||||||
|
lspconfig.lua_ls.setup {
|
||||||
|
capabilities = capabilities,
|
||||||
|
settings = {
|
||||||
|
Lua = {
|
||||||
|
runtime = { version = "Lua 5.1" },
|
||||||
|
diagnostics = {
|
||||||
|
globals = { "bit", "vim", "it", "describe", "before_each", "after_each" },
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
end,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
local cmp_select = { behavior = cmp.SelectBehavior.Select }
|
||||||
|
|
||||||
|
cmp.setup({
|
||||||
|
snippet = {
|
||||||
|
expand = function(args)
|
||||||
|
require('luasnip').lsp_expand(args.body) -- For `luasnip` users.
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
mapping = cmp.mapping.preset.insert({
|
||||||
|
['<C-p>'] = cmp.mapping.select_prev_item(cmp_select),
|
||||||
|
['<C-n>'] = cmp.mapping.select_next_item(cmp_select),
|
||||||
|
['<C-y>'] = cmp.mapping.confirm({ select = true }),
|
||||||
|
["<C-Space>"] = cmp.mapping.complete(),
|
||||||
|
}),
|
||||||
|
sources = cmp.config.sources({
|
||||||
|
{ name = 'nvim_lsp' },
|
||||||
|
{ name = 'luasnip' }, -- For luasnip users.
|
||||||
|
}, {
|
||||||
|
{ name = 'buffer' },
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.diagnostic.config({
|
||||||
|
-- update_in_insert = true,
|
||||||
|
float = {
|
||||||
|
focusable = false,
|
||||||
|
style = "minimal",
|
||||||
|
border = "rounded",
|
||||||
|
source = "always",
|
||||||
|
header = "",
|
||||||
|
prefix = "",
|
||||||
|
},
|
||||||
|
})
|
||||||
|
end
|
||||||
|
}
|
||||||
9
lua/0x29a/lazy/lualine.lua
Normal file
9
lua/0x29a/lazy/lualine.lua
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
return {
|
||||||
|
'nvim-lualine/lualine.nvim',
|
||||||
|
dependencies = { 'nvim-tree/nvim-web-devicons' },
|
||||||
|
config = function()
|
||||||
|
require("lualine").setup({
|
||||||
|
theme = "auto",
|
||||||
|
})
|
||||||
|
end
|
||||||
|
}
|
||||||
18
lua/0x29a/lazy/nvimtree.lua
Normal file
18
lua/0x29a/lazy/nvimtree.lua
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
return {
|
||||||
|
"nvim-tree/nvim-tree.lua",
|
||||||
|
version = "*",
|
||||||
|
lazy = false,
|
||||||
|
dependencies = {
|
||||||
|
"nvim-tree/nvim-web-devicons",
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
require("nvim-tree").setup(
|
||||||
|
{
|
||||||
|
filters = {
|
||||||
|
dotfiles = false,
|
||||||
|
git_ignored = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
|
end
|
||||||
|
}
|
||||||
14
lua/0x29a/lazy/telescope.lua
Normal file
14
lua/0x29a/lazy/telescope.lua
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
return {
|
||||||
|
'nvim-telescope/telescope.nvim',
|
||||||
|
tag = '0.1.6', -- or, branch = '0.1.x',
|
||||||
|
dependencies = { 'nvim-lua/plenary.nvim' },
|
||||||
|
config = function()
|
||||||
|
require('telescope').setup({})
|
||||||
|
local builtin = require('telescope.builtin')
|
||||||
|
vim.keymap.set('n', '<leader>ff', builtin.find_files, {})
|
||||||
|
vim.keymap.set('n', '<leader>fg', builtin.git_files, {})
|
||||||
|
vim.keymap.set('n', '<leader>fl', builtin.live_grep, {})
|
||||||
|
vim.keymap.set('n', ';', builtin.buffers, {})
|
||||||
|
vim.keymap.set('n', '<leader>fh', builtin.help_tags, {})
|
||||||
|
end
|
||||||
|
}
|
||||||
15
lua/0x29a/lazy/treesitter.lua
Normal file
15
lua/0x29a/lazy/treesitter.lua
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
return {
|
||||||
|
"nvim-treesitter/nvim-treesitter",
|
||||||
|
build = ":TSUpdate",
|
||||||
|
config = function()
|
||||||
|
local configs = require("nvim-treesitter.configs")
|
||||||
|
configs.setup({
|
||||||
|
ensure_installed = {
|
||||||
|
"c", "lua", "vim", "vimdoc", "elixir", "javascript", "html", "python", "typescript", "terraform"
|
||||||
|
},
|
||||||
|
sync_install = false,
|
||||||
|
highlight = { enable = true },
|
||||||
|
indent = { enable = true },
|
||||||
|
})
|
||||||
|
end
|
||||||
|
}
|
||||||
4
lua/0x29a/lazy/tw.lua
Normal file
4
lua/0x29a/lazy/tw.lua
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
return {
|
||||||
|
"cappyzawa/trim.nvim",
|
||||||
|
opts = {}
|
||||||
|
}
|
||||||
21
lua/0x29a/lazy_init.lua
Normal file
21
lua/0x29a/lazy_init.lua
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||||
|
|
||||||
|
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
||||||
|
vim.fn.system({
|
||||||
|
"git",
|
||||||
|
"clone",
|
||||||
|
"--filter=blob:none",
|
||||||
|
"https://github.com/folke/lazy.nvim.git",
|
||||||
|
"--branch=stable",
|
||||||
|
lazypath,
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.opt.rtp:prepend(lazypath)
|
||||||
|
|
||||||
|
require("lazy").setup({
|
||||||
|
spec = "0x29a.lazy",
|
||||||
|
change_detection = {
|
||||||
|
notify = false
|
||||||
|
}
|
||||||
|
})
|
||||||
12
lua/0x29a/set.lua
Normal file
12
lua/0x29a/set.lua
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
vim.cmd.colorscheme("nord")
|
||||||
|
vim.opt.nu = true
|
||||||
|
vim.opt.relativenumber = true
|
||||||
|
vim.opt.tabstop = 2
|
||||||
|
vim.opt.softtabstop = 2
|
||||||
|
vim.opt.shiftwidth = 2
|
||||||
|
vim.opt.expandtab = true
|
||||||
|
vim.opt.smartindent = true
|
||||||
|
vim.opt.wrap = false
|
||||||
|
vim.opt.hlsearch = true
|
||||||
|
vim.opt.incsearch = true
|
||||||
|
vim.opt.termguicolors = true
|
||||||
Reference in New Issue
Block a user