diff --git a/neovim/.config/nvim/init.lua b/neovim/.config/nvim/init.lua index 7ba9f65..96f5504 100644 --- a/neovim/.config/nvim/init.lua +++ b/neovim/.config/nvim/init.lua @@ -47,9 +47,6 @@ require("packer").startup(function(use) -- File tree use({ "kyazdani42/nvim-tree.lua" }) - -- Sidebar - use({ "sidebar-nvim/sidebar.nvim" }) - -- Treesitter for better syntax highlighting use({ "nvim-treesitter/nvim-treesitter", @@ -163,17 +160,6 @@ require("packer").startup(function(use) end, }) - use({ - "dstein64/nvim-scrollview", - config = function() - require("scrollview").setup({ - excluded_filetypes = { "NvimTree" }, - current_only = true, - winblend = 50, - }) - end, - }) - if PACKER_BOOTSTRAP then require("packer").sync() end @@ -192,7 +178,6 @@ require("user.theme") require("nvim-autopairs").setup({}) require("user.file-tree") -require("user.sidebar") require("user.treesitter") require("user.telescope") require("user.gitsigns") diff --git a/neovim/.config/nvim/lua/user/comp.lua b/neovim/.config/nvim/lua/user/comp.lua index 9876266..63d4ea7 100644 --- a/neovim/.config/nvim/lua/user/comp.lua +++ b/neovim/.config/nvim/lua/user/comp.lua @@ -1,6 +1,8 @@ local cmp = require("cmp") local ls = require("luasnip") +require("cmp_git").setup() + local kind_icons = { Text = "", Method = "", @@ -128,7 +130,7 @@ cmp.setup.cmdline(":", { cmp.setup.filetype("gitcommit", { sources = cmp.config.sources({ - { name = "cmp_git" }, + { name = "git" }, }, { { name = "buffer" }, }), diff --git a/neovim/.config/nvim/lua/user/file-tree.lua b/neovim/.config/nvim/lua/user/file-tree.lua index 787352f..89c5442 100644 --- a/neovim/.config/nvim/lua/user/file-tree.lua +++ b/neovim/.config/nvim/lua/user/file-tree.lua @@ -26,27 +26,29 @@ local function git_stage(node) local relative_path = string.gsub(node.absolute_path, cwd .. "/", "") Job - :new({ - command = "git", - args = { "add", relative_path }, - }) - :start() + :new({ + command = "git", + args = { "add", relative_path }, + }) + :start() require("nvim-tree.actions.reloaders").reload_explorer() end + local function git_reset(node) local cwd = vim.loop.cwd() local relative_path = string.gsub(node.absolute_path, cwd .. "/", "") Job - :new({ - command = "git", - args = { "reset", relative_path }, - }) - :start() + :new({ + command = "git", + args = { "reset", relative_path }, + }) + :start() require("nvim-tree.actions.reloaders").reload_explorer() end + -- TODO: add here keymap for git diff window require("nvim-tree").setup({ @@ -57,6 +59,7 @@ require("nvim-tree").setup({ open_on_tab = false, update_cwd = true, auto_reload_on_write = true, + reload_on_bufenter = true, update_focused_file = { enable = true, }, diff --git a/neovim/.config/nvim/lua/user/lsp.lua b/neovim/.config/nvim/lua/user/lsp.lua index 73aed51..dc685b1 100644 --- a/neovim/.config/nvim/lua/user/lsp.lua +++ b/neovim/.config/nvim/lua/user/lsp.lua @@ -1,10 +1,31 @@ local lsp_installer = require("nvim-lsp-installer") +local lspconfig = require("lspconfig") local null_ls = require("null-ls") local util = require("lspconfig").util local formatting = null_ls.builtins.formatting local diagnostics = null_ls.builtins.diagnostics +lsp_installer.setup({ + ensure_installed = { + "bashls", + "cssmodules_ls", + "dockerls", + "tailwindcss", + "tsserver", + "vimls", + "cssls", + "html", + "jsonls", + "prismals", + "sumneko_lua", + "svelte", + "emmet_ls", + "eslint", + }, + automatic_installation = true, +}) + null_ls.setup({ sources = { formatting.prettierd, @@ -57,12 +78,22 @@ local on_attach = function(client, bufnr) }, bufnr) end -lsp_installer.on_server_ready(function(server) +local servers = lsp_installer.get_installed_servers() + +for _, server in ipairs(servers) do local opts = { capabilities = capabilities, on_attach = on_attach, } + if server.name == "emmet_ls" then + opts.filetypes = { "html", "css", "scss", "javascripreact", "typescriptreact" } + end + + if server.name == "tailwindcss" then + opts.root_dir = util.root_pattern("tailwind.config.js", "tailwind.config.cjs", "tailwind.config.mjs") + end + if server.name == "sumneko_lua" then local luadev = require("lua-dev").setup({ lspconfig = { @@ -114,8 +145,8 @@ lsp_installer.on_server_ready(function(server) opts.root_dir = util.root_pattern(".eslintrc", ".eslintrc.json") end - server:setup(opts) -end) + lspconfig[server.name].setup(opts) +end vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(vim.lsp.diagnostic.on_publish_diagnostics, { update_in_insert = false, diff --git a/neovim/.config/nvim/lua/user/lualine.lua b/neovim/.config/nvim/lua/user/lualine.lua index 2228804..a99add7 100644 --- a/neovim/.config/nvim/lua/user/lualine.lua +++ b/neovim/.config/nvim/lua/user/lualine.lua @@ -62,6 +62,17 @@ local npm = { end, } +local location = { + function() + local line = vim.fn.line(".") + local total_lines = vim.api.nvim_buf_line_count(0) + + local percent = math.floor(line / total_lines * 100) + + return line .. "/" .. total_lines .. " (" .. percent .. "%%)" + end, +} + local tabs = { "tabs", mode = 1, @@ -89,7 +100,7 @@ lualine.setup({ lualine_a = { mode }, lualine_b = { branch }, lualine_c = { diagnostics }, - lualine_x = { npm, tabstop, fileformat }, + lualine_x = { npm, location, tabstop, fileformat }, lualine_y = { filename }, lualine_z = {}, }, diff --git a/neovim/.config/nvim/lua/user/remaps.lua b/neovim/.config/nvim/lua/user/remaps.lua index a75b386..3ec41ed 100644 --- a/neovim/.config/nvim/lua/user/remaps.lua +++ b/neovim/.config/nvim/lua/user/remaps.lua @@ -56,11 +56,6 @@ vim.keymap.set("n", "", function() require("nvim-tree").toggle(true, false) end) --- Sidebar -vim.keymap.set("n", "s", function() - require("sidebar-nvim").toggle() -end) - -- Telescope vim.keymap.set("n", "f", function() ts.find_files({ hidden = true }) diff --git a/neovim/.config/nvim/lua/user/sidebar.lua b/neovim/.config/nvim/lua/user/sidebar.lua deleted file mode 100644 index b532f43..0000000 --- a/neovim/.config/nvim/lua/user/sidebar.lua +++ /dev/null @@ -1,5 +0,0 @@ -require("sidebar-nvim").setup({ - open = false, - side = "right", - sections = { "datetime", "git", "diagnostics", "todos", "containers", "symbols" }, -})