From 7e73c21dfe7c514b9e7b96f2249f297db832b08b Mon Sep 17 00:00:00 2001 From: dineshsalunke Date: Sun, 28 Jan 2024 01:06:58 +0530 Subject: [PATCH] refactor: add formatter and typescript-tools --- lazy-lock.json | 83 +++++++++++++++++++++-------------------- lua/config/autocmds.lua | 6 +++ lua/plugins/coding.lua | 38 +++++++++++++++++++ lua/plugins/editor.lua | 1 - lua/plugins/lsp.lua | 68 ++------------------------------- lua/plugins/ui.lua | 31 ++++++++------- 6 files changed, 107 insertions(+), 120 deletions(-) diff --git a/lazy-lock.json b/lazy-lock.json index e6c589a..1e920e8 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -1,53 +1,54 @@ { "Comment.nvim": { "branch": "master", "commit": "0236521ea582747b58869cb72f70ccfa967d2e89" }, - "LuaSnip": { "branch": "master", "commit": "0b4950a237ce441a6a3a947d501622453f6860ea" }, - "alpha-nvim": { "branch": "main", "commit": "234822140b265ec4ba3203e3e0be0e0bb826dff5" }, - "bufferline.nvim": { "branch": "main", "commit": "6ecd37e0fa8b156099daedd2191130e083fb1490" }, - "catppuccin": { "branch": "main", "commit": "3d9a5ed556e289bce6c1fb0af89ec838360641b2" }, + "LuaSnip": { "branch": "master", "commit": "8ae1dedd988eb56441b7858bd1e8554dfadaa46d" }, + "alpha-nvim": { "branch": "main", "commit": "4b36c1ca9ea475bdc006896657cf1ccc486aeffa" }, + "bufferline.nvim": { "branch": "main", "commit": "d6cb9b7cac52887bcac65f8698e67479553c0748" }, + "catppuccin": { "branch": "main", "commit": "afab7ec2a79c7127627dede79c0018b6e45663d0" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, - "cmp-nvim-lsp": { "branch": "main", "commit": "44b16d11215dce86f253ce0c30949813c0a90765" }, + "cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" }, "cmp-nvim-lsp-signature-help": { "branch": "main", "commit": "3d8912ebeb56e5ae08ef0906e3a54de1c66b92f1" }, "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, - "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, - "dressing.nvim": { "branch": "master", "commit": "c1e1d5fa44fe08811b6ef4aadac2b50e602f9504" }, - "flash.nvim": { "branch": "main", "commit": "cc8c7e03987134997d74ee87e55a5717279f2d05" }, - "gitsigns.nvim": { "branch": "main", "commit": "bdeba1cec3faddd89146690c10b9a87949c0ee66" }, - "glow.nvim": { "branch": "main", "commit": "5b38fb7b6e806cac62707a4aba8c10c5f14d5bb5" }, - "indent-blankline.nvim": { "branch": "master", "commit": "9637670896b68805430e2f72cf5d16be5b97a22a" }, - "lazy.nvim": { "branch": "main", "commit": "2a9354c7d2368d78cbd5575a51a2af5bd8a6ad01" }, - "lazygit.nvim": { "branch": "main", "commit": "75c920883f44243f2bbb172be423e484a58f7c45" }, - "lsp-zero.nvim": { "branch": "v2.x", "commit": "abd2208cf967b911402d32262042b71bdff06c26" }, - "lspkind.nvim": { "branch": "master", "commit": "57610d5ab560c073c465d6faf0c19f200cb67e6e" }, - "lualine.nvim": { "branch": "master", "commit": "45e27ca739c7be6c49e5496d14fcf45a303c3a63" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "2451adb9bdb0fd32140bf3aa8dbc17ff60050db3" }, - "mason.nvim": { "branch": "main", "commit": "d66c60e17dd6fd8165194b1d14d21f7eb2c1697a" }, - "mini.bufremove": { "branch": "main", "commit": "7821606e35c1ac931b56d8e3155f45ffe76ee7e5" }, - "mini.indentscope": { "branch": "main", "commit": "f60e9b51a6214c73a170ffc5445ce91560981031" }, - "mini.pairs": { "branch": "main", "commit": "dfa9f6e2576bb8853be277d96b735af59d9be7c2" }, - "mini.surround": { "branch": "main", "commit": "9d1956b576d7051da3a483b251dfc778121c60db" }, + "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, + "dressing.nvim": { "branch": "master", "commit": "0e88293ce3459f4bb310125f3366304af6dc7990" }, + "flash.nvim": { "branch": "main", "commit": "48817af25f51c0590653bbc290866e4890fe1cbe" }, + "formatter.nvim": { "branch": "master", "commit": "cb4778b8432f1ae86dae4634c0b611cb269a4c2f" }, + "gitsigns.nvim": { "branch": "main", "commit": "2c2463dbd82eddd7dbab881c3a62cfbfbe3c67ae" }, + "glow.nvim": { "branch": "main", "commit": "238070a686c1da3bccccf1079700eb4b5e19aea4" }, + "indent-blankline.nvim": { "branch": "master", "commit": "12e92044d313c54c438bd786d11684c88f6f78cd" }, + "lazy.nvim": { "branch": "main", "commit": "aedcd79811d491b60d0a6577a9c1701063c2a609" }, + "lazygit.nvim": { "branch": "main", "commit": "1e08e3f5ac1152339690140e61a4a32b3bdc7de5" }, + "lsp-zero.nvim": { "branch": "v2.x", "commit": "9a686513eaaa13d737d0fec8956a18268ead8b29" }, + "lspkind.nvim": { "branch": "master", "commit": "1735dd5a5054c1fb7feaf8e8658dbab925f4f0cf" }, + "lualine.nvim": { "branch": "master", "commit": "7d131a8d3ba5016229e8a1d08bf8782acea98852" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "b9084b1f42f790d6230dc66dbcb6bcc35b148552" }, + "mason.nvim": { "branch": "main", "commit": "dcd0ea30ccfc7d47e879878d1270d6847a519181" }, + "mini.bufremove": { "branch": "main", "commit": "020243bfed8c8b941f2c20626faf3ea39c0c0e1b" }, + "mini.indentscope": { "branch": "main", "commit": "5a8369475cd7cd6f207a4d288406d03b0fc48bdb" }, + "mini.pairs": { "branch": "main", "commit": "552062017ff207e1f35f7028bfb3f27c7421d22d" }, + "mini.surround": { "branch": "main", "commit": "3c98c6be8028139a114081e06d2a9f1ac3f4b7fc" }, "neo-tree.nvim": { "branch": "v2.x", "commit": "80dc74d081823649809f78370fa5b204aa9a853a" }, - "neodev.nvim": { "branch": "main", "commit": "ddf29935af5a510307850919d6772ea6a4e2c008" }, - "noice.nvim": { "branch": "main", "commit": "74c2902146b080035beb19944baf6f014a954720" }, - "nui.nvim": { "branch": "main", "commit": "c8de23342caf8d50b15d6b28368d36a56a69d76f" }, - "null-ls.nvim": { "branch": "main", "commit": "0010ea927ab7c09ef0ce9bf28c2b573fc302f5a7" }, - "nvim-cmp": { "branch": "main", "commit": "5dce1b778b85c717f6614e3f4da45e9f19f54435" }, + "neodev.nvim": { "branch": "main", "commit": "64b2a51b02c6f2ae177c745e4d8bc801a339fe09" }, + "noice.nvim": { "branch": "main", "commit": "bf67d70bd7265d075191e7812d8eb42b9791f737" }, + "nui.nvim": { "branch": "main", "commit": "35da9ca1de0fc4dda96c2e214d93d363c145f418" }, + "nvim-cmp": { "branch": "main", "commit": "538e37ba87284942c1d76ed38dd497e54e65b891" }, "nvim-colorizer.lua": { "branch": "master", "commit": "36c610a9717cc9ec426a07c8e6bf3b3abcb139d6" }, - "nvim-lspconfig": { "branch": "master", "commit": "ede4114e1fd41acb121c70a27e1b026ac68c42d6" }, - "nvim-notify": { "branch": "master", "commit": "94859430020f5cf32a1b97ddd9e596fed9db7981" }, + "nvim-lspconfig": { "branch": "master", "commit": "8917d2c830e04bf944a699b8c41f097621283828" }, + "nvim-notify": { "branch": "master", "commit": "80b67b265530632505193553d05127ae7fe09ddd" }, "nvim-treesitter": { "branch": "master", "commit": "b6492f41c46d9c3bc3550ecfb10c3f261e73cba6" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "bd103502252027434ec42f628d2dbf54821d4ce6" }, - "nvim-ts-autotag": { "branch": "main", "commit": "6be1192965df35f94b8ea6d323354f7dc7a557e4" }, - "nvim-web-devicons": { "branch": "master", "commit": "480a756df82a0c231622c9bf2173bb6634713716" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "19a91a38b02c1c28c14e0ba468d20ae1423c39b2" }, + "nvim-ts-autotag": { "branch": "main", "commit": "a65b202cfd08e0e69e531eab737205ff5bc082a4" }, + "nvim-web-devicons": { "branch": "master", "commit": "b427ac5f9dff494f839e81441fb3f04a58cbcfbc" }, "playground": { "branch": "master", "commit": "ba48c6a62a280eefb7c85725b0915e021a1a0749" }, - "plenary.nvim": { "branch": "master", "commit": "9ce85b0f7dcfe5358c0be937ad23e456907d410b" }, - "rest.nvim": { "branch": "main", "commit": "f13ae54ae2545d4d612593d4a442cbb33a1b5b65" }, - "smart-splits.nvim": { "branch": "master", "commit": "0beb14427dcf2a5d5d63e0064b45032a7bd3e763" }, - "telescope.nvim": { "branch": "master", "commit": "c1a2af0af69e80e14e6b226d3957a064cd080805" }, - "trouble.nvim": { "branch": "main", "commit": "3f85d8ed30e97ceeddbbcf80224245d347053711" }, - "twilight.nvim": { "branch": "main", "commit": "a4843e6e67092a1e6fa9666f02bf0ab59174c1df" }, - "vim-illuminate": { "branch": "master", "commit": "6acf7d4a18255a3ddc43770866c8e148fe85af7b" }, + "plenary.nvim": { "branch": "master", "commit": "663246936325062427597964d81d30eaa42ab1e4" }, + "rest.nvim": { "branch": "main", "commit": "2d7bd3d398940ce2692941e6cd052c072207b9f9" }, + "smart-splits.nvim": { "branch": "master", "commit": "36bfe63246386fc5ae2679aa9b17a7746b7403d5" }, + "telescope.nvim": { "branch": "master", "commit": "2f3857c25bbd00ed7ac593c9d4071906369e4d20" }, + "trouble.nvim": { "branch": "main", "commit": "f1168feada93c0154ede4d1fe9183bf69bac54ea" }, + "twilight.nvim": { "branch": "main", "commit": "8b7b50c0cb2dc781b2f4262a5ddd57571556d1e4" }, + "typescript-tools.nvim": { "branch": "master", "commit": "c43d9580c3ff5999a1eabca849f807ab33787ea7" }, + "vim-illuminate": { "branch": "master", "commit": "97c1265ff0b67064b6cfdc15bafc50202a537ae2" }, "vim-smoothie": { "branch": "master", "commit": "df1e324e9f3395c630c1c523d0555a01d2eb1b7e" }, - "which-key.nvim": { "branch": "main", "commit": "7ccf476ebe0445a741b64e36c78a682c1c6118b7" }, - "zen-mode.nvim": { "branch": "main", "commit": "68f554702de63f4b7b6b6d4bcb10178f41a0acc7" } + "which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" }, + "zen-mode.nvim": { "branch": "main", "commit": "78557d972b4bfbb7488e17b5703d25164ae64e6a" } } \ No newline at end of file diff --git a/lua/config/autocmds.lua b/lua/config/autocmds.lua index a8adff1..3b36e96 100644 --- a/lua/config/autocmds.lua +++ b/lua/config/autocmds.lua @@ -35,3 +35,9 @@ vim.api.nvim_create_autocmd("BufEnter", { end end, }) + +vim.api.nvim_create_augroup("__formatter__", { clear = true }) +vim.api.nvim_create_autocmd("BufWritePost", { + group = "__formatter__", + command = ":FormatWrite" +}) diff --git a/lua/plugins/coding.lua b/lua/plugins/coding.lua index b88a666..9f31453 100644 --- a/lua/plugins/coding.lua +++ b/lua/plugins/coding.lua @@ -132,6 +132,44 @@ return { end, }, + { + "mhartington/formatter.nvim", + opts = {}, + config = function() + local formatter = require("formatter") + formatter.setup({ + filetype = { + lua = { + require("formatter.filetypes.lua").stylua, + }, + typescript = { + require("formatter.filetypes.typescript").prettierd, + require("formatter.filetypes.typescript").eslint_d, + }, + typescriptreact = { + require("formatter.filetypes.typescript").prettierd, + require("formatter.filetypes.typescript").eslint_d, + }, + javascript = { + require("formatter.filetypes.typescript").prettierd, + require("formatter.filetypes.typescript").eslint_d, + }, + javascriptreact = { + require("formatter.filetypes.typescript").prettierd, + require("formatter.filetypes.typescript").eslint_d, + }, + json = { + require("formatter.filetypes.typescript").prettierd, + }, + go = { + require("formatter.filetypes.go").gofumpt, + require("formatter.filetypes.go").goimports, + }, + }, + }) + end, + }, + { "echasnovski/mini.pairs", event = "VeryLazy", diff --git a/lua/plugins/editor.lua b/lua/plugins/editor.lua index ab3be1b..0fc35ce 100644 --- a/lua/plugins/editor.lua +++ b/lua/plugins/editor.lua @@ -55,7 +55,6 @@ return { { "nvim-telescope/telescope.nvim", - tag = "0.1.1", dependencies = { "nvim-lua/plenary.nvim", }, diff --git a/lua/plugins/lsp.lua b/lua/plugins/lsp.lua index 3ae9a5c..01c4e5b 100644 --- a/lua/plugins/lsp.lua +++ b/lua/plugins/lsp.lua @@ -42,25 +42,7 @@ return { vim.keymap.set("n", "", vim.lsp.buf.signature_help, { desc = "Hover Documentation" }) end) - lsp.format_on_save({ - format_opts = { - async = false, - timeout_ms = 10000, - }, - servers = { - ["null-ls"] = { - "javascript", - "typescript", - "typescriptreact", - "lua", - "go", - "yamlls", - }, - }, - }) - lsp.ensure_installed({ - "tsserver", "lua_ls", "gopls", "yamlls", @@ -70,23 +52,6 @@ return { local util = require("lspconfig/util") lspconfig.lua_ls.setup(lsp.nvim_lua_ls()) - lspconfig.tsserver.setup({ - single_file_support = false, - root_dir = util.root_pattern(".git"), - commands = { - TypescriptOrganizeImports = { - function() - local param = { - command = "_typescript.organizeImports", - arguments = { vim.api.nvim_buf_get_name(0) }, - title = "Organize ts imports", - } - vim.lsp.buf.execute_command(param) - end, - description = "Organize imports", - }, - }, - }) lspconfig.gopls.setup({ cmd = { "gopls" }, filetypes = { @@ -98,41 +63,16 @@ return { root_dir = util.root_pattern("go.work", "go.mod", ".git"), }) - vim.keymap.set("n", "oi", "TypescriptOrganizeImports", { silent = true, noremap = true }) - vim.keymap.set( - "n", - "ami", - "TypescriptAddMissingImports", - { silent = true, noremap = true } - ) - vim.keymap.set("n", "fa", "TypescriptFixAll", { silent = true, noremap = true }) - vim.keymap.set("n", "ru", "TypescriptRemoveUnused", { silent = true, noremap = true }) - lsp.setup() end, }, { - "jose-elias-alvarez/null-ls.nvim", + "pmizio/typescript-tools.nvim", + dependencies = { "nvim-lua/plenary.nvim", "neovim/nvim-lspconfig" }, config = function() - local null_ls = require("null-ls") - - null_ls.setup({ - debug = true, - sources = { - null_ls.builtins.code_actions.gitsigns, - null_ls.builtins.formatting.stylua, - null_ls.builtins.formatting.prettierd, - null_ls.builtins.formatting.eslint_d, - null_ls.builtins.formatting.yamlfmt, - null_ls.builtins.diagnostics.yamllint, - null_ls.builtins.formatting.fixjson, - null_ls.builtins.formatting.gofumpt, - null_ls.builtins.formatting.goimports, - null_ls.builtins.formatting.goimports_reviser, - null_ls.builtins.completion.luasnip, - }, - }) + require("typescript-tools").setup({}) + vim.keymap.set("n", "toi", vim.lsp.buf.rename, { desc = "[T]ypescript [O]rganize [I]mports" }) end, }, diff --git a/lua/plugins/ui.lua b/lua/plugins/ui.lua index 69d58cc..14667e3 100644 --- a/lua/plugins/ui.lua +++ b/lua/plugins/ui.lua @@ -54,22 +54,25 @@ return { { "lukas-reineke/indent-blankline.nvim", event = { "BufReadPost", "BufNewFile" }, + main = "ibl", opts = { - char = "┊", - filetype_exclude = { - "help", - "alpha", - "dashboard", - "neo-tree", - "Trouble", - "lazy", - "mason", - "notify", - "toggleterm", - "lazyterm", + indent = { + char = "┊", + }, + exclude = { + filetypes = { + "help", + "alpha", + "dashboard", + "neo-tree", + "Trouble", + "lazy", + "mason", + "notify", + "toggleterm", + "lazyterm", + }, }, - show_trailing_blankline_indent = false, - show_current_context = false, }, },