diff options
Diffstat (limited to '.config/nvim/lua/getchoo')
| -rw-r--r-- | .config/nvim/lua/getchoo/.stylua.toml | 2 | ||||
| -rw-r--r-- | .config/nvim/lua/getchoo/config.lua | 18 | ||||
| -rw-r--r-- | .config/nvim/lua/getchoo/ftdetect.lua | 8 | ||||
| -rw-r--r-- | .config/nvim/lua/getchoo/keymap.lua | 16 | ||||
| -rw-r--r-- | .config/nvim/lua/getchoo/lsp/config/cmp.lua | 88 | ||||
| -rw-r--r-- | .config/nvim/lua/getchoo/lsp/config/init.lua | 10 | ||||
| -rw-r--r-- | .config/nvim/lua/getchoo/lsp/config/lsp_config.lua | 38 | ||||
| -rw-r--r-- | .config/nvim/lua/getchoo/lsp/config/mason.lua | 4 | ||||
| -rw-r--r-- | .config/nvim/lua/getchoo/lsp/config/null_ls.lua | 28 | ||||
| -rw-r--r-- | .config/nvim/lua/getchoo/lsp/config/sources.lua | 38 | ||||
| -rw-r--r-- | .config/nvim/lua/getchoo/lsp/keymap.lua | 6 | ||||
| -rw-r--r-- | .config/nvim/lua/getchoo/lsp/server.lua | 10 | ||||
| -rw-r--r-- | .config/nvim/lua/getchoo/plugins.lua | 176 |
13 files changed, 228 insertions, 214 deletions
diff --git a/.config/nvim/lua/getchoo/.stylua.toml b/.config/nvim/lua/getchoo/.stylua.toml deleted file mode 100644 index 0435f67..0000000 --- a/.config/nvim/lua/getchoo/.stylua.toml +++ /dev/null @@ -1,2 +0,0 @@ -indent_type = "Spaces" -indent_width = 2 diff --git a/.config/nvim/lua/getchoo/config.lua b/.config/nvim/lua/getchoo/config.lua index 150ebcb..a67f734 100644 --- a/.config/nvim/lua/getchoo/config.lua +++ b/.config/nvim/lua/getchoo/config.lua @@ -5,18 +5,18 @@ local M = {} M.bufferline = { - animation = true, - auto_hide = true, - icons = true, - maximum_padding = 2, - semantic_letters = true, + animation = true, + auto_hide = true, + icons = true, + maximum_padding = 2, + semantic_letters = true, } M.lualine = { - options = { - theme = "nord", - }, - extensions = { "nvim-tree" }, + options = { + theme = "catppuccin", + }, + extensions = { "nvim-tree" }, } M.tree = {} diff --git a/.config/nvim/lua/getchoo/ftdetect.lua b/.config/nvim/lua/getchoo/ftdetect.lua index f5a15cb..5dd569d 100644 --- a/.config/nvim/lua/getchoo/ftdetect.lua +++ b/.config/nvim/lua/getchoo/ftdetect.lua @@ -1,10 +1,10 @@ -- load custom file types local filetypes = { - filename = { - PKGBUILD = "text", - [".makepkg.conf"] = "text", - }, + filename = { + PKGBUILD = "text", + [".makepkg.conf"] = "text", + }, } vim.filetype.add(filetypes) diff --git a/.config/nvim/lua/getchoo/keymap.lua b/.config/nvim/lua/getchoo/keymap.lua index b1b7a6a..9a4484c 100644 --- a/.config/nvim/lua/getchoo/keymap.lua +++ b/.config/nvim/lua/getchoo/keymap.lua @@ -4,24 +4,24 @@ local opts = { noremap = true, silent = true } local set = function(mode, key, cmd) - vim.keymap.set(mode, key, cmd, opts) + vim.keymap.set(mode, key, cmd, opts) end set("n", "<leader>t", function() - vim.cmd("NvimTreeToggle") + vim.cmd("NvimTreeToggle") end) for i = 1, 9 do - set("n", "<leader>" .. i, function() - local cmd = "BufferGoto " .. i - vim.cmd(cmd) - end) + set("n", "<leader>" .. i, function() + local cmd = "BufferGoto " .. i + vim.cmd(cmd) + end) end set("n", "<leader>p", function() - vim.cmd("BufferPick") + vim.cmd("BufferPick") end) set("n", "<leader>q", function() - vim.cmd("BufferClose") + vim.cmd("BufferClose") end) diff --git a/.config/nvim/lua/getchoo/lsp/config/cmp.lua b/.config/nvim/lua/getchoo/lsp/config/cmp.lua index 868b6f1..0f0f51f 100644 --- a/.config/nvim/lua/getchoo/lsp/config/cmp.lua +++ b/.config/nvim/lua/getchoo/lsp/config/cmp.lua @@ -5,63 +5,63 @@ local luasnip = require("luasnip") local M = {} local has_words_before = function() - local line, col = unpack(vim.api.nvim_win_get_cursor(0)) - return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil + local line, col = unpack(vim.api.nvim_win_get_cursor(0)) + return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil end local feedkey = function(key, mode) - vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes(key, true, true, true), mode, true) + vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes(key, true, true, true), mode, true) end M.config = { - snippet = { - expand = function(args) - vim.fn["vsnip#anonymous"](args.body) - luasnip.lsp_expand(args.body) - end, - }, - mapping = mapping.preset.insert({ - ["<Tab>"] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_next_item() - elseif luasnip.expand_or_jumpable() then - luasnip.expand_or_jump() - elseif vim.fn["vsnip#available"](1) == 1 then - feedkey("<Plug>(vsnip-expand-or-jump)", "") - elseif has_words_before() then - cmp.complete() - else - fallback() - end - end, { "i", "s" }), - ["<S-Tab>"] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_prev_item() - elseif luasnip.jumpable(-1) then - luasnip.jump(-1) - elseif vim.fn["vsnip#available"](-1) == 1 then - feedkey("<Plug>(vsnip-jump-prev)", "") - else - fallback() - end - end, { "i", "s" }), - }), - sources = cmp.config.sources({ - { name = "nvim_lsp" }, - { name = "luasnip" }, - { name = "vsnip" }, - { name = "buffer" }, - { name = "path" }, - }), + snippet = { + expand = function(args) + vim.fn["vsnip#anonymous"](args.body) + luasnip.lsp_expand(args.body) + end, + }, + mapping = mapping.preset.insert({ + ["<Tab>"] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_next_item() + elseif luasnip.expand_or_jumpable() then + luasnip.expand_or_jump() + elseif vim.fn["vsnip#available"](1) == 1 then + feedkey("<Plug>(vsnip-expand-or-jump)", "") + elseif has_words_before() then + cmp.complete() + else + fallback() + end + end, { "i", "s" }), + ["<S-Tab>"] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_prev_item() + elseif luasnip.jumpable(-1) then + luasnip.jump(-1) + elseif vim.fn["vsnip#available"](-1) == 1 then + feedkey("<Plug>(vsnip-jump-prev)", "") + else + fallback() + end + end, { "i", "s" }), + }), + sources = cmp.config.sources({ + { name = "nvim_lsp" }, + { name = "luasnip" }, + { name = "vsnip" }, + { name = "buffer" }, + { name = "path" }, + }), } -local capabilities = require("cmp_nvim_lsp").update_capabilities(vim.lsp.protocol.make_client_capabilities()) +local capabilities = require("cmp_nvim_lsp").default_capabilities() capabilities.textDocument.completion.completionItem.snippetSupport = true M.capabilities = capabilities M.on_attach = function(_, bufnr) - vim.api.nvim_buf_set_option(bufnr, "omnifunc", "v:lua.vim.lsp.omnifunc") + vim.api.nvim_buf_set_option(bufnr, "omnifunc", "v:lua.vim.lsp.omnifunc") end return M diff --git a/.config/nvim/lua/getchoo/lsp/config/init.lua b/.config/nvim/lua/getchoo/lsp/config/init.lua index be6c357..1c928d3 100644 --- a/.config/nvim/lua/getchoo/lsp/config/init.lua +++ b/.config/nvim/lua/getchoo/lsp/config/init.lua @@ -16,11 +16,11 @@ M.mason_lspconfig = mason.mason_lspconfig M.null_ls = null_ls.config M.treesitter = { - auto_install = true, - highlight = { - enable = true, - additional_vim_regex_highlighting = false, - }, + auto_install = true, + highlight = { + enable = true, + additional_vim_regex_highlighting = false, + }, } M.trouble = {} diff --git a/.config/nvim/lua/getchoo/lsp/config/lsp_config.lua b/.config/nvim/lua/getchoo/lsp/config/lsp_config.lua index 6b13d19..4df3fe0 100644 --- a/.config/nvim/lua/getchoo/lsp/config/lsp_config.lua +++ b/.config/nvim/lua/getchoo/lsp/config/lsp_config.lua @@ -4,35 +4,35 @@ local sources = require("getchoo.lsp.config.sources") local M = {} local on_attach = function(client, bufnr) - cmp.on_attach(client, bufnr) + cmp.on_attach(client, bufnr) end local all_config = { - capabilities = cmp.capabilities, - on_attach = on_attach, + capabilities = cmp.capabilities, + on_attach = on_attach, } local servers = {} for _, server in ipairs(sources.lsp_servers) do - servers[server] = all_config + servers[server] = all_config end servers["sumneko_lua"] = { - capabilities = cmp.capabilities, - on_attach = on_attach, - settings = { - Lua = { - runtime = { - version = "LuaJIT", - }, - diagnostics = { - globals = { "vim" }, - }, - workspace = { - library = vim.api.nvim_get_runtime_file("", true), - }, - }, - }, + capabilities = cmp.capabilities, + on_attach = on_attach, + settings = { + Lua = { + runtime = { + version = "LuaJIT", + }, + diagnostics = { + globals = { "vim" }, + }, + workspace = { + library = vim.api.nvim_get_runtime_file("", true), + }, + }, + }, } M.servers = servers diff --git a/.config/nvim/lua/getchoo/lsp/config/mason.lua b/.config/nvim/lua/getchoo/lsp/config/mason.lua index 7201814..6814697 100644 --- a/.config/nvim/lua/getchoo/lsp/config/mason.lua +++ b/.config/nvim/lua/getchoo/lsp/config/mason.lua @@ -4,11 +4,11 @@ local sources = require("getchoo.lsp.config.sources") local M = {} M.mason_tool_installer = { - ensure_installed = sources.mason, + ensure_installed = sources.mason, } M.mason_lspconfig = { - automatic_installation = true, + automatic_installation = true, } return M diff --git a/.config/nvim/lua/getchoo/lsp/config/null_ls.lua b/.config/nvim/lua/getchoo/lsp/config/null_ls.lua index 5fded8d..42cd30e 100644 --- a/.config/nvim/lua/getchoo/lsp/config/null_ls.lua +++ b/.config/nvim/lua/getchoo/lsp/config/null_ls.lua @@ -16,23 +16,23 @@ end local augroup = vim.api.nvim_create_augroup("LspFormatting", {}) local formatting_on_attach = function(client, bufnr) - if client.supports_method("textDocument/formatting") then - vim.api.nvim_clear_autocmds({ group = augroup, buffer = bufnr }) - vim.api.nvim_create_autocmd("BufWritePre", { - group = augroup, - buffer = bufnr, - callback = function() - -- local params = require("vim.lsp.util").make_formatting_params({}) - -- client.request("textDocument/formatting", params, nil, bufnr) - lsp_formatting(bufnr) -- neovim >= 8 - end, - }) - end + if client.supports_method("textDocument/formatting") then + vim.api.nvim_clear_autocmds({ group = augroup, buffer = bufnr }) + vim.api.nvim_create_autocmd("BufWritePre", { + group = augroup, + buffer = bufnr, + callback = function() + -- local params = require("vim.lsp.util").make_formatting_params({}) + -- client.request("textDocument/formatting", params, nil, bufnr) + lsp_formatting(bufnr) -- neovim >= 8 + end, + }) + end end M.config = { - on_attach = formatting_on_attach, - sources = sources.null_ls, + on_attach = formatting_on_attach, + sources = sources.null_ls, } return M diff --git a/.config/nvim/lua/getchoo/lsp/config/sources.lua b/.config/nvim/lua/getchoo/lsp/config/sources.lua index 7281508..1898870 100644 --- a/.config/nvim/lua/getchoo/lsp/config/sources.lua +++ b/.config/nvim/lua/getchoo/lsp/config/sources.lua @@ -3,25 +3,25 @@ local diagnostics = null_ls.builtins.diagnostics local formatting = null_ls.builtins.formatting local M = { - lsp_servers = { "rust_analyzer", "pyright", "bashls" }, - null_ls = { - diagnostics.alex, - diagnostics.codespell, - diagnostics.flake8, - formatting.black, - formatting.codespell, - formatting.prettier, - formatting.rustfmt, - formatting.stylua, - }, - mason = { - "alex", - "black", - "codespell", - "flake8", - "prettier", - "stylua", - }, + lsp_servers = { "rust_analyzer", "pyright", "bashls" }, + null_ls = { + diagnostics.alex, + diagnostics.codespell, + diagnostics.flake8, + formatting.black, + formatting.codespell, + formatting.prettier, + formatting.rustfmt, + formatting.stylua, + }, + mason = { + "alex", + "black", + "codespell", + "flake8", + "prettier", + "stylua", + }, } return M diff --git a/.config/nvim/lua/getchoo/lsp/keymap.lua b/.config/nvim/lua/getchoo/lsp/keymap.lua index 0a93db8..9f34ffa 100644 --- a/.config/nvim/lua/getchoo/lsp/keymap.lua +++ b/.config/nvim/lua/getchoo/lsp/keymap.lua @@ -4,7 +4,7 @@ local opts = { noremap = true, silent = true } local set = function(mode, key, cmd) - vim.keymap.set(mode, key, cmd, opts) + vim.keymap.set(mode, key, cmd, opts) end set("n", "<space>e", vim.diagnostic.open_float) @@ -13,9 +13,9 @@ set("n", "]d", vim.diagnostic.goto_next) set("n", "<space>q", vim.diagnostic.setloclist) set("n", "<space>f", function() - vim.cmd("Telescope") + vim.cmd("Telescope") end) set("n", "<space>t", function() - vim.cmd("TroubleToggle") + vim.cmd("TroubleToggle") end) diff --git a/.config/nvim/lua/getchoo/lsp/server.lua b/.config/nvim/lua/getchoo/lsp/server.lua index c4ff20b..325e1c7 100644 --- a/.config/nvim/lua/getchoo/lsp/server.lua +++ b/.config/nvim/lua/getchoo/lsp/server.lua @@ -8,15 +8,15 @@ local null_ls = require("null-ls") local config = require("getchoo.lsp.config") if vim.g.use_mason then - require("mason").setup() - require("mason-lspconfig").setup(config.mason_lspconfig) - require("mason-tool-installer").setup(config.mason_tool_installer) - vim.opt.runtimepath:append("~/.local/share/nvim/mason/bin/") + require("mason").setup() + require("mason-lspconfig").setup(config.mason_lspconfig) + require("mason-tool-installer").setup(config.mason_tool_installer) + vim.opt.runtimepath:append("~/.local/share/nvim/mason/bin/") end null_ls.setup(config.null_ls) cmp.setup(config.cmp) for server, settings in pairs(config.lsp_servers) do - lspconfig[server].setup(settings) + lspconfig[server].setup(settings) end diff --git a/.config/nvim/lua/getchoo/plugins.lua b/.config/nvim/lua/getchoo/plugins.lua index fbf42a9..900e1c7 100644 --- a/.config/nvim/lua/getchoo/plugins.lua +++ b/.config/nvim/lua/getchoo/plugins.lua @@ -8,91 +8,107 @@ local cmd = vim.cmd local packer_path = fn.stdpath("data") .. "/site/pack/packer/start/packer.nvim" if fn.empty(fn.glob(packer_path)) > 0 then - Packer_bootstrap = fn.system({ - "git", - "clone", - "--depth", - "1", - "https://github.com/wbthomason/packer.nvim", - packer_path, - }) - cmd("packadd packer.nvim") + Packer_bootstrap = fn.system({ + "git", + "clone", + "--depth", + "1", + "https://github.com/wbthomason/packer.nvim", + packer_path, + }) + cmd("packadd packer.nvim") end require("packer").startup(function(use) - use("wbthomason/packer.nvim") - - -- comsetic plugins - use({ "nvim-lualine/lualine.nvim", requires = { "kyazdani42/nvim-web-devicons" } }) - - use("shaunsingh/nord.nvim") - - use({ "rose-pine/neovim", as = "rose-pine" }) - - -- general use plugins - use({ - "romgrk/barbar.nvim", - requires = { "kyazdani42/nvim-web-devicons" }, - }) - - use("ggandor/lightspeed.nvim") - use("kyazdani42/nvim-tree.lua") - - -- lsp plugins - if vim.g.use_lsp_plugins then - use("neovim/nvim-lspconfig") - - use({ - "jose-elias-alvarez/null-ls.nvim", - requires = { "nvim-lua/plenary.nvim" }, - }) - - if vim.g.use_mason then - use("williamboman/mason.nvim") - use("williamboman/mason-lspconfig") - use("whoissethdaniel/mason-tool-installer.nvim") - end - - use({ - "nvim-treesitter/nvim-treesitter", - run = function() - require("nvim-treesitter.install").update({ with_sync = true }) - end, - }) - - use("hrsh7th/nvim-cmp") - use("hrsh7th/cmp-nvim-lsp") - use("hrsh7th/cmp-buffer") - use("hrsh7th/cmp-path") - use("hrsh7th/cmp-vsnip") - use("hrsh7th/vim-vsnip") - use("L3MON4D3/LuaSnip") - use("saadparwaiz1/cmp_luasnip") - - use({ - "folke/trouble.nvim", - requires = { "kyazdani42/nvim-web-devicons" }, - }) - use({ - "nvim-telescope/telescope.nvim", - requires = { "nvim-lua/plenary.nvim" }, - }) - - use("lewis6991/gitsigns.nvim") - use("editorconfig/editorconfig-vim") - end - - if Packer_bootstrap then - require("packer").sync() - end + use("wbthomason/packer.nvim") + + -- comsetic plugins + use({ "nvim-lualine/lualine.nvim", requires = { "kyazdani42/nvim-web-devicons" } }) + + use({ + "catppuccin/nvim", + as = "catppuccin", + config = function() + require("catppuccin").setup({ + flavour = "frappe", -- mocha, macchiato, frappe, latte + integrations = { + barbar = true, + gitsigns = true, + lightspeed = true, + mason = true, + cmp = true, + nvimtree = true, + treesitter_context = true, + treesitter = true, + telescope = true, + lsp_trouble = true, + }, + }) + vim.api.nvim_command("colorscheme catppuccin") + end, + }) + + ---- use("shaunsingh/nord.nvim") + ---- use({ "rose-pine/neovim", as = "rose-pine" }) + + -- general use plugins + use({ + "romgrk/barbar.nvim", + requires = { "kyazdani42/nvim-web-devicons" }, + }) + + use("ggandor/lightspeed.nvim") + use("kyazdani42/nvim-tree.lua") + + -- lsp plugins + if vim.g.use_lsp_plugins then + use("neovim/nvim-lspconfig") + + use({ + "jose-elias-alvarez/null-ls.nvim", + requires = { "nvim-lua/plenary.nvim" }, + }) + + if vim.g.use_mason then + use("williamboman/mason.nvim") + use("williamboman/mason-lspconfig") + use("whoissethdaniel/mason-tool-installer.nvim") + end + + use({ + "nvim-treesitter/nvim-treesitter", + run = function() + require("nvim-treesitter.install").update({ with_sync = true }) + end, + }) + + use("hrsh7th/nvim-cmp") + use("hrsh7th/cmp-nvim-lsp") + use("hrsh7th/cmp-buffer") + use("hrsh7th/cmp-path") + use("hrsh7th/cmp-vsnip") + use("hrsh7th/vim-vsnip") + use("L3MON4D3/LuaSnip") + use("saadparwaiz1/cmp_luasnip") + + use({ + "folke/trouble.nvim", + requires = { "kyazdani42/nvim-web-devicons" }, + }) + use({ + "nvim-telescope/telescope.nvim", + requires = { "nvim-lua/plenary.nvim" }, + }) + + use("lewis6991/gitsigns.nvim") + use("editorconfig/editorconfig-vim") + end + + if Packer_bootstrap then + require("packer").sync() + end end) --- setup nord colorscheme -vim.g.nord_borders = true -vim.g.nord_disable_background = true -vim.g.nord_italic = false -require("nord").set() - local config = require("getchoo.config") require("bufferline").setup(config.bufferline) require("lualine").setup(config.lualine) |
