summaryrefslogtreecommitdiff
path: root/.config
diff options
context:
space:
mode:
Diffstat (limited to '.config')
-rw-r--r--.config/nvim/init.lua273
1 files changed, 122 insertions, 151 deletions
diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua
index 645b9ca..f581eea 100644
--- a/.config/nvim/init.lua
+++ b/.config/nvim/init.lua
@@ -1,146 +1,135 @@
+vim.g.mapleader = " "
+
+vim.opt.number = true
+vim.opt.relativenumber = true
+vim.opt.clipboard = "unnamedplus"
+vim.opt.termguicolors = true
+vim.opt.expandtab = true
+vim.opt.shiftwidth = 2
+vim.opt.tabstop = 2
+vim.opt.signcolumn = "yes"
+vim.opt.scrolloff = 5
+vim.opt.showmode = false
+
+
+
vim.pack.add({
{ src = "https://github.com/neovim/nvim-lspconfig" },
{ src = "https://github.com/hrsh7th/nvim-cmp" },
{ src = "https://github.com/hrsh7th/cmp-nvim-lsp" },
-
{ src = "https://github.com/L3MON4D3/LuaSnip" },
{ src = "https://github.com/saadparwaiz1/cmp_luasnip" },
{ src = "https://github.com/rafamadriz/friendly-snippets" },
- { src = "https://github.com/nvim-treesitter/nvim-treesitter", build = ":TSUpdate" },
-
+ { src = "https://github.com/nvim-treesitter/nvim-treesitter", build = ":TSUpdate" },
{ src = "https://github.com/echasnovski/mini.nvim" },
{ src = "https://github.com/stevearc/oil.nvim" },
-
-
{ src = "https://github.com/nvim-telescope/telescope.nvim" },
{ src = "https://github.com/nvim-lua/plenary.nvim" },
{ src = "https://github.com/lukas-reineke/indent-blankline.nvim" },
{ src = "https://github.com/folke/which-key.nvim" },
-
{ src = "https://github.com/stevearc/conform.nvim" },
{ src = "https://github.com/windwp/nvim-autopairs" },
+
{ src = "https://github.com/nvim-tree/nvim-web-devicons" },
{ src = "https://github.com/nvim-lualine/lualine.nvim" },
- { src = "https://github.com/WTFox/jellybeans.nvim" },
+
{ src = "https://github.com/norcalli/nvim-colorizer.lua" },
+
+ { src = "https://github.com/WTFox/jellybeans.nvim" },
})
-vim.g.mapleader = " "
-vim.opt.number = true
-vim.opt.relativenumber = true
-vim.opt.clipboard = "unnamedplus"
-vim.opt.termguicolors = true
-vim.opt.expandtab = true
-vim.opt.shiftwidth = 2
-vim.opt.tabstop = 2
-vim.opt.signcolumn = "yes"
-vim.opt.scrolloff = 5
-vim.opt.showmode = false
-vim.api.nvim_create_autocmd("TextYankPost", {
- callback = function()
- vim.highlight.on_yank({ timeout = 150 })
- end,
-})
+vim.cmd("colorscheme jellybeans")
-vim.api.nvim_create_autocmd('LspAttach', {
- callback = function(args)
- -- Unset 'formatexpr'
- vim.bo[args.buf].formatexpr = nil
- -- Unset 'omnifunc'
- vim.bo[args.buf].omnifunc = nil
- -- Disable document colors
- vim.lsp.document_color.enable(false)
- end,
+require("lualine").setup({
+ options = { section_separators = '', component_separators = '' },
+ sections = {
+ lualine_a = { 'mode' },
+ lualine_y = { 'branch' },
+ lualine_z = { 'filename' },
+ lualine_b = {}, lualine_c = {}, lualine_x = {},
+ },
})
require("nvim-treesitter").setup({
- ensure_installed = {
- "lua", "vim", "bash", "json", "python",
- "cpp", "css", "java", "c",
+ ensure_installed = {
+ "lua", "vim", "bash", "json", "python", "cpp", "css", "java", "c"
},
highlight = { enable = true },
+ indent = { enable = true },
})
-require("colorizer").setup()
+require("colorizer").setup()
require("ibl").setup({
indent = { char = "▏" },
scope = { enabled = false },
})
-
+require("mini.surround").setup()
+require("which-key").setup()
require("nvim-autopairs").setup()
-local cmp_autopairs = require("nvim-autopairs.completion.cmp")
-
-local capabilities = require("cmp_nvim_lsp").default_capabilities()
-
-require("conform").setup({
- formatters_by_ft = {
- python = { "isort", "black" },
- },
-})
-
-vim.lsp.config("lua_ls", {
- capabilities = capabilities,
- settings = {
- Lua = {
- diagnostics = { globals = { "vim" } },
- },
- },
-})
require("oil").setup({
- view_options = {
- -- Show files and directories that start with "."
- show_hidden = true,
- }
+ view_options = { show_hidden = true }
})
-vim.lsp.config("pyright", {
- capabilities = capabilities,
+require('telescope').setup({
+ defaults = {
+ border = true,
+ borderchars = { "─", "│", "─", "│", "┌", "┐", "┘", "└" },
+ },
+ pickers = {
+ find_files = { hidden = true }
+ }
})
-vim.lsp.config("bashls", {
- capabilities = capabilities,
- filetypes = { "sh", "zsh" },
+require("conform").setup({
+ formatters_by_ft = {
+ python = { "isort", "black" },
+ },
})
-vim.lsp.config("clangd", {
- capabilities = capabilities,
- cmd = { "clangd", "--compile-commands-dir=." },
-})
-vim.lsp.config("html", {
- capabilities = capabilities,
-})
-vim.lsp.config("ts_ls", {
- capabilities = capabilities,
-})
-vim.lsp.config("cssls", {
- capabilities = capabilities,
-})
+local lspconfig = require("lspconfig")
+local capabilities = require("cmp_nvim_lsp").default_capabilities()
+local servers = {
+ pyright = {},
+ html = {},
+ ts_ls = {},
+ cssls = {},
+ bashls = {
+ filetypes = { "sh", "zsh" },
+ },
+ clangd = {
+ cmd = { "clangd", "--compile-commands-dir=." },
+ },
+ lua_ls = {
+ settings = {
+ Lua = {
+ diagnostics = { globals = { "vim" } },
+ },
+ },
+ },
+}
+for server, config in pairs(servers) do
+ config.capabilities = capabilities
+ lspconfig[server].setup(config)
+end
-vim.lsp.enable({
- "lua_ls",
- "pyright",
- "clangd",
- "html",
- "cssls",
- "ts_ls",
- "bashls",
-})
-require("luasnip.loaders.from_vscode").lazy_load()
local cmp = require("cmp")
local luasnip = require("luasnip")
+local cmp_autopairs = require("nvim-autopairs.completion.cmp")
+
+require("luasnip.loaders.from_vscode").lazy_load()
cmp.setup({
snippet = {
@@ -177,72 +166,9 @@ cmp.setup({
},
})
-
cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done())
-require("which-key").setup()
-
-require('telescope').setup({
- defaults = {
- border = true,
- borderchars = {
- "─", "│", "─", "│", "┌", "┐", "┘", "└"
- },
- pickers = {
- find_files = {
- hidden = true
- }
- }
- },
-})
-
-local builtin = require('telescope.builtin')
-
-
-vim.keymap.set("n", "<leader>o", "<CMD>Oil<CR>", { desc = "Open parent directory" })
-vim.keymap.set('n', '<leader>ff', builtin.find_files, { desc = "files" })
-vim.keymap.set('n', '<leader>fg', builtin.live_grep, { desc = "grep" })
-vim.keymap.set('n', '<leader>fb', builtin.buffers, { desc = "buffers" })
-vim.keymap.set('n', '<leader>fh', builtin.help_tags, { desc = "help" })
-
-vim.keymap.set('n', 'gd', builtin.lsp_definitions, { desc = "go to definition" })
-vim.keymap.set('n', 'gr', builtin.lsp_references, { desc = "references" })
-vim.keymap.set('n', 'gi', builtin.lsp_implementations, { desc = "implementations" })
-
-vim.keymap.set('n', '<leader>ds', builtin.lsp_document_symbols, { desc = "doc symbols" })
-vim.keymap.set('n', '<leader>ws', builtin.lsp_workspace_symbols, { desc = "workspace symbols" })
-
-vim.keymap.set('n', '<leader>rn', vim.lsp.buf.rename, { desc = "rename" })
-
-vim.keymap.set('n', '<leader>]', vim.diagnostic.goto_next, { desc = "next diagnostic" })
-vim.keymap.set('n', '<leader>[', vim.diagnostic.goto_prev, { desc = "prev diagnostic" })
-vim.keymap.set('n', '<leader>e', vim.diagnostic.open_float, { desc = "line diagnostics" })
-
-vim.keymap.set("n", "<leader>bd", "<cmd>bdelete<CR>", { desc = "delete buffer" })
-vim.keymap.set("n", "<Tab>", "<cmd>bnext<CR>", { desc = "next buffer" })
-vim.keymap.set("n", "<leader><Tab>", "<cmd>bprevious<CR>", { desc = "prev buffer" })
-
-vim.keymap.set("n", "K", vim.lsp.buf.hover, { desc = "hover docs" })
-vim.keymap.set("n", "M", vim.lsp.buf.signature_help, { desc = "signature help" })
-
-vim.keymap.set("n", "<leader>c", require("conform").format, { desc = "format" })
-
-
-require("lualine").setup({
- options = { section_separators = '', component_separators = '' },
- sections = {
- lualine_a = { 'mode' },
- lualine_y = { 'branch' },
- lualine_z = { 'filename' },
- lualine_b = {},
- lualine_c = {},
- lualine_x = {},
- },
-})
-
-
-vim.cmd("colorscheme jellybeans")
local s = luasnip.snippet
local t = luasnip.text_node
@@ -253,10 +179,55 @@ luasnip.add_snippets("markdown", {
s("sc", { t("Switch(config)# "), i(0) }),
s("sci", { t({ "", "Switch(config-if)# " }), i(0) }),
s("scir", { t({ "", "Switch(config-if-range)# " }), i(0) }),
-
s("r#", { t("Router# "), i(0) }),
s("rc", { t("Router(config)# "), i(0) }),
s("rci", { t({ "", "Router(config-if)# " }), i(0) }),
s("rcir", { t({ "", "Router(config-if-range)# " }), i(0) }),
s("rcr", { t({ "", "Router(config-router)# " }), i(0) }),
})
+
+
+
+vim.api.nvim_create_autocmd("TextYankPost", {
+ callback = function()
+ vim.highlight.on_yank({ timeout = 150 })
+ end,
+})
+
+-- vim.api.nvim_create_autocmd('LspAttach', {
+-- callback = function(args)
+-- vim.bo[args.buf].formatexpr = nil
+-- vim.bo[args.buf].omnifunc = nil
+-- vim.lsp.document_color.enable(false)
+-- end,
+-- })
+
+
+
+local builtin = require('telescope.builtin')
+local map = vim.keymap.set
+
+map("n", "<leader>o", "<CMD>Oil<CR>", { desc = "Open parent directory" })
+map("n", "<leader>c", require("conform").format, { desc = "Format code" })
+
+map('n', '<leader>ff', builtin.find_files, { desc = "Find files" })
+map('n', '<leader>fg', builtin.live_grep, { desc = "Live grep" })
+map('n', '<leader>fb', builtin.buffers, { desc = "Find buffers" })
+map('n', '<leader>fh', builtin.help_tags, { desc = "Help tags" })
+
+map('n', 'gd', builtin.lsp_definitions, { desc = "Go to definition" })
+map('n', 'gr', builtin.lsp_references, { desc = "References" })
+map('n', 'gi', builtin.lsp_implementations, { desc = "Implementations" })
+map('n', '<leader>ds', builtin.lsp_document_symbols, { desc = "Document symbols" })
+map('n', '<leader>ws', builtin.lsp_workspace_symbols, { desc = "Workspace symbols" })
+map('n', '<leader>rn', vim.lsp.buf.rename, { desc = "Rename symbol" })
+map("n", "K", vim.lsp.buf.hover, { desc = "Hover docs" })
+map("n", "M", vim.lsp.buf.signature_help, { desc = "Signature help" })
+
+map('n', '<leader>]', vim.diagnostic.goto_next, { desc = "Next diagnostic" })
+map('n', '<leader>[', vim.diagnostic.goto_prev, { desc = "Prev diagnostic" })
+map('n', '<leader>e', vim.diagnostic.open_float, { desc = "Line diagnostics" })
+
+map("n", "<leader>bd", "<cmd>bdelete<CR>", { desc = "Delete buffer" })
+map("n", "<Tab>", "<cmd>bnext<CR>", { desc = "Next buffer" })
+map("n", "<leader><Tab>", "<cmd>bprevious<CR>", { desc = "Prev buffer" })