From cd67bb22f0e86bcd7813b9941fe3b1c02f7be0f3 Mon Sep 17 00:00:00 2001 From: jaredgoldman Date: Tue, 9 Apr 2024 14:00:35 -0400 Subject: [PATCH] feat: add support for typescript formatting --- lazy-lock.json | 155 +++++++++-------------------------------- lua/config/conform.lua | 3 +- lua/config/harpoon.lua | 3 + lua/config/themery.lua | 26 ++++--- lua/keymaps.lua | 126 +++++++++++++++++---------------- lua/lsp.lua | 6 +- lua/plugins.lua | 1 + 7 files changed, 122 insertions(+), 198 deletions(-) diff --git a/lazy-lock.json b/lazy-lock.json index 1a400ed..6ad0753 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -1,123 +1,34 @@ { - "FTerm.nvim": { - "branch": "master", - "commit": "d1320892cc2ebab472935242d9d992a2c9570180" - }, - "LuaSnip": { - "branch": "master", - "commit": "8ae1dedd988eb56441b7858bd1e8554dfadaa46d" - }, - "catppuccin": { - "branch": "main", - "commit": "aebe43db9cb26e1c70fc5b2fd4158169c405e720" - }, - "cmp-buffer": { - "branch": "main", - "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" - }, - "cmp-cmdline": { - "branch": "main", - "commit": "d250c63aa13ead745e3a40f61fdd3470efde3923" - }, - "cmp-nvim-lsp": { - "branch": "main", - "commit": "5af77f54de1b16c34b23cba810150689a3a90312" - }, - "cmp-path": { - "branch": "main", - "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" - }, - "conform.nvim": { - "branch": "master", - "commit": "9d5ba06d6ee7418c674f498634617416d15b6239" - }, - "copilot.vim": { - "branch": "release", - "commit": "7097b09e52621a97d11f254e04de5e5a0f26e5f5" - }, - "dashboard-nvim": { - "branch": "master", - "commit": "681300934baf36f6184ca41f0b26aed22056d4ee" - }, - "harpoon": { - "branch": "harpoon2", - "commit": "da326d0438ac68dee9b6b62a734be940a8bd8405" - }, - "lazy.nvim": { - "branch": "main", - "commit": "31ddbea7c10b6920c9077b66c97951ca8682d5c8" - }, - "lspkind.nvim": { - "branch": "master", - "commit": "1735dd5a5054c1fb7feaf8e8658dbab925f4f0cf" - }, - "lualine.nvim": { - "branch": "master", - "commit": "0a5a66803c7407767b799067986b4dc3036e1983" - }, - "mason-lspconfig.nvim": { - "branch": "main", - "commit": "44509689b9bf3984d729cc264aacb31cb7f41668" - }, - "mason.nvim": { - "branch": "main", - "commit": "751b1fcbf3d3b783fcf8d48865264a9bcd8f9b10" - }, - "monokai.nvim": { - "branch": "master", - "commit": "b8bd44d5796503173627d7a1fc51f77ec3a08a63" - }, - "nvim-autopairs": { - "branch": "master", - "commit": "4f41e5940bc0443fdbe5f995e2a596847215cd2a" - }, - "nvim-cmp": { - "branch": "main", - "commit": "ce16de5665c766f39c271705b17fff06f7bcb84f" - }, - "nvim-comment": { - "branch": "main", - "commit": "e9ac16ab056695cad6461173693069ec070d2b23" - }, - "nvim-dap": { - "branch": "master", - "commit": "405df1dcc2e395ab5173a9c3d00e03942c023074" - }, - "nvim-lspconfig": { - "branch": "master", - "commit": "9619e53d3f99f0ca4ea3b88f5d97fce703131820" - }, - "nvim-tree.lua": { - "branch": "master", - "commit": "81eb8d519233c105f30dc0a278607e62b20502fd" - }, - "nvim-treesitter": { - "branch": "master", - "commit": "11a3584b81c3249d2b6279305aee1c7ad273985a" - }, - "nvim-ts-autotag": { - "branch": "main", - "commit": "531f48334c422222aebc888fd36e7d109cb354cd" - }, - "nvim-web-devicons": { - "branch": "master", - "commit": "93ddac6966d5d3416f96df728d7b92e27aaa4452" - }, - "plenary.nvim": { - "branch": "master", - "commit": "8aad4396840be7fc42896e3011751b7609ca4119" - }, - "telescope.nvim": { - "branch": "master", - "commit": "6312868392331c9c0f22725041f1ec2bef57c751" - }, - "themery.nvim": { - "branch": "main", - "commit": "1005a58801276d29c4b1e11244cf7631250f9143" - }, - "vim-maximizer": { - "branch": "master", - "commit": "2e54952fe91e140a2e69f35f22131219fcd9c5f1" - } -} - + "FTerm.nvim": { "branch": "master", "commit": "d1320892cc2ebab472935242d9d992a2c9570180" }, + "LuaSnip": { "branch": "master", "commit": "8ae1dedd988eb56441b7858bd1e8554dfadaa46d" }, + "catppuccin": { "branch": "main", "commit": "02bdd749931a5d739063562e57531c118e081882" }, + "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, + "cmp-cmdline": { "branch": "main", "commit": "d250c63aa13ead745e3a40f61fdd3470efde3923" }, + "cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" }, + "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, + "conform.nvim": { "branch": "master", "commit": "9d5ba06d6ee7418c674f498634617416d15b6239" }, + "copilot.vim": { "branch": "release", "commit": "7097b09e52621a97d11f254e04de5e5a0f26e5f5" }, + "dashboard-nvim": { "branch": "master", "commit": "681300934baf36f6184ca41f0b26aed22056d4ee" }, + "git-blame.nvim": { "branch": "master", "commit": "a0282d05adbee80aaf4e2ff35b81b52940b67bed" }, + "harpoon": { "branch": "harpoon2", "commit": "da326d0438ac68dee9b6b62a734be940a8bd8405" }, + "lazy.nvim": { "branch": "main", "commit": "31ddbea7c10b6920c9077b66c97951ca8682d5c8" }, + "lspkind.nvim": { "branch": "master", "commit": "1735dd5a5054c1fb7feaf8e8658dbab925f4f0cf" }, + "lualine.nvim": { "branch": "master", "commit": "0a5a66803c7407767b799067986b4dc3036e1983" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "44509689b9bf3984d729cc264aacb31cb7f41668" }, + "mason.nvim": { "branch": "main", "commit": "751b1fcbf3d3b783fcf8d48865264a9bcd8f9b10" }, + "monokai.nvim": { "branch": "master", "commit": "b8bd44d5796503173627d7a1fc51f77ec3a08a63" }, + "nvim-autopairs": { "branch": "master", "commit": "4f41e5940bc0443fdbe5f995e2a596847215cd2a" }, + "nvim-cmp": { "branch": "main", "commit": "ce16de5665c766f39c271705b17fff06f7bcb84f" }, + "nvim-comment": { "branch": "main", "commit": "e9ac16ab056695cad6461173693069ec070d2b23" }, + "nvim-dap": { "branch": "master", "commit": "405df1dcc2e395ab5173a9c3d00e03942c023074" }, + "nvim-grey": { "branch": "main", "commit": "820bf3030bfd6c2f90567fc1b206ce517e8635ee" }, + "nvim-lspconfig": { "branch": "master", "commit": "e25c4cdecd3d58c0deccce0f372426c8c480bcce" }, + "nvim-tree.lua": { "branch": "master", "commit": "81eb8d519233c105f30dc0a278607e62b20502fd" }, + "nvim-treesitter": { "branch": "master", "commit": "fbe76211f45413feadb155a89073bf65b5766b2e" }, + "nvim-ts-autotag": { "branch": "main", "commit": "531f48334c422222aebc888fd36e7d109cb354cd" }, + "nvim-web-devicons": { "branch": "master", "commit": "fd4abfc5237246670977972c6f518186b621a32d" }, + "plenary.nvim": { "branch": "master", "commit": "8aad4396840be7fc42896e3011751b7609ca4119" }, + "telescope.nvim": { "branch": "master", "commit": "6312868392331c9c0f22725041f1ec2bef57c751" }, + "themery.nvim": { "branch": "main", "commit": "1005a58801276d29c4b1e11244cf7631250f9143" }, + "vim-maximizer": { "branch": "master", "commit": "2e54952fe91e140a2e69f35f22131219fcd9c5f1" } +} \ No newline at end of file diff --git a/lua/config/conform.lua b/lua/config/conform.lua index 2c87367..7acacad 100644 --- a/lua/config/conform.lua +++ b/lua/config/conform.lua @@ -3,7 +3,8 @@ require("conform").setup({ lua = { "stylua" }, python = { "isort", "black" }, javascript = { { "prettierd", "prettier" } }, - json = { { "prettierd", "prettier" } }, + typescript = { { "prettierd", "prettier" } }, + json = { { "prettier", "prettierd" } }, markdown = { { "marksman", "prettierd", "prettier" } }, }, }) diff --git a/lua/config/harpoon.lua b/lua/config/harpoon.lua index c5d79af..e0bed28 100644 --- a/lua/config/harpoon.lua +++ b/lua/config/harpoon.lua @@ -35,6 +35,9 @@ end api.nvim_create_user_command("HarpoonClear", function() harpoon:list():clear() end, { bang = true }) +api.nvim_create_user_command("HarpoonAdd", function() + harpoon:list():add() +end, { bang = true }) api.nvim_create_user_command("HarpoonToggleFile", function() maybe_remove_add() end, { bang = true }) diff --git a/lua/config/themery.lua b/lua/config/themery.lua index b89ff82..eb3ec25 100644 --- a/lua/config/themery.lua +++ b/lua/config/themery.lua @@ -1,13 +1,19 @@ -- Set custom name to the list require("themery").setup({ - themes = { { - name = "Day", - colorscheme = "catppuccin-latte", - }, - { - name = "Night", - colorscheme = "catppuccin-mocha", - } }, - themeConfigFile = "~/.config/nvim/lua/config/theme.lua", -- Desibed below - livePreview = true, -- Apply theme while browsing. Default to true. + themes = { + { + name = "Day", + colorscheme = "catppuccin-latte", + }, + -- { + -- name = "Afternoon", + -- colorscheme = "nvim-grey", + -- }, + { + name = "Night", + colorscheme = "catppuccin-mocha", + }, + }, + themeConfigFile = "~/.config/nvim/lua/config/theme.lua", -- Desibed below + livePreview = true, -- Apply theme while browsing. Default to true. }) diff --git a/lua/keymaps.lua b/lua/keymaps.lua index 81618d8..b566b3e 100644 --- a/lua/keymaps.lua +++ b/lua/keymaps.lua @@ -2,69 +2,73 @@ local keymap = vim.api.nvim_set_keymap local opts = { noremap = true, silent = true } local mappings = { - n = { - -- highlighting - ["nh"] = ":nohl", - -- move between buffers - [""] = "h", - [""] = "j", - [""] = "k", - [""] = "l", - -- open and close buggers - ["sv"] = "s", - ["sh"] = "v", - ["se"] = "=", - ["sx"] = ":close", - -- nvim-tree - ["e"] = ":NvimTreeFindFileToggle", - ["cf"] = ":NvimTreeCollapseKeepBuffers", - -- LSP - ["ls"] = ":lspstop", - ["lo"] = ":lspstart", - -- Telescope - ["ff"] = "Telescope find_files", - ["fw"] = "Telescope live_grep", - ["fc"] = "Telescope grep_string", - ["th"] = "Themery", - ["sm"] = ":MaximizerToggle", - -- FTerm - ["h"] = "FTermToggle", - -- Harpoon - ["a"] = "HarpoonAdd", - [""] = "HarpoonUI", + n = { + -- highlighting + ["nh"] = ":nohl", + -- move between buffers + [""] = "h", + [""] = "j", + [""] = "k", + [""] = "l", + -- open and close buggers + ["sv"] = "s", + ["sh"] = "v", + ["se"] = "=", + ["sx"] = ":close", + -- nvim-tree + ["e"] = ":NvimTreeFindFileToggle", + ["cf"] = ":NvimTreeCollapse", + -- LSP + ["ls"] = ":lspstop", + ["lo"] = ":lspstart", + -- Telescope + ["ff"] = "Telescope find_files", + ["fw"] = "Telescope live_grep", + ["fc"] = "Telescope grep_string", + ["th"] = "Themery", + ["sm"] = ":MaximizerToggle", + -- FTerm + ["h"] = "FTermToggle", + -- Harpoon + ["a"] = "HarpoonAdd", + [""] = "HarpoonUI", ["c"] = "HarpoonClear", - -- Formating - ["fm"] = "Format", - }, - x = { - [""] = ":move '>+1gv-gv", - [""] = ":move '<-2gv-gv", - }, - i = { - [""] = { 'copilot#Accept("")', expr = true }, - [""] = "", - ["C-BS"] = "HarpoonRemove" - }, - t = { - ["C-h"] = ":FTermClose", - }, + -- Formating + ["fm"] = "Format", + -- Disable help menu + [""] = "", + }, + x = { + [""] = ":move '>+1gv-gv", + [""] = ":move '<-2gv-gv", + }, + i = { + [""] = { 'copilot#Accept("")', expr = true }, + [""] = "", + ["C-BS"] = "HarpoonRemove", + -- Disable help menu + [""] = "", + }, + t = { + ["C-h"] = ":FTermClose", + }, } for mode, mode_mappings in pairs(mappings) do - for key, mapping in pairs(mode_mappings) do - if type(mapping) == "function" then - -- For direct Lua function calls; ensure your function returns a string command - keymap(mode, key, "lua " .. mapping() .. "", opts) - elseif type(mapping) == "table" and mapping.expr then - -- For expression mappings, like for copilot - local expr_opts = vim.tbl_extend("force", opts, { expr = true }) - keymap(mode, key, mapping[1], expr_opts) - elseif type(mapping) == "table" then - -- For mappings that have their options specified directly - keymap(mode, key, mapping[1], mapping[2] or opts) - else - -- For simple string command mappings - keymap(mode, key, mapping, opts) - end - end + for key, mapping in pairs(mode_mappings) do + if type(mapping) == "function" then + -- For direct Lua function calls; ensure your function returns a string command + keymap(mode, key, "lua " .. mapping() .. "", opts) + elseif type(mapping) == "table" and mapping.expr then + -- For expression mappings, like for copilot + local expr_opts = vim.tbl_extend("force", opts, { expr = true }) + keymap(mode, key, mapping[1], expr_opts) + elseif type(mapping) == "table" then + -- For mappings that have their options specified directly + keymap(mode, key, mapping[1], mapping[2] or opts) + else + -- For simple string command mappings + keymap(mode, key, mapping, opts) + end + end end diff --git a/lua/lsp.lua b/lua/lsp.lua index 612b041..6712300 100644 --- a/lua/lsp.lua +++ b/lua/lsp.lua @@ -1,6 +1,6 @@ local lspconfig = require("lspconfig") - local mappings = { +local mappings = { ["k"] = vim.diagnostic.open_float, ["[d"] = vim.diagnostic.goto_prev, ["]d"] = vim.diagnostic.goto_next, @@ -18,9 +18,6 @@ local lspconfig = require("lspconfig") ["rn"] = vim.lsp.buf.rename, ["ca"] = vim.lsp.buf.code_action, ["gr"] = vim.lsp.buf.references, - ["fm"] = function() - vim.lsp.buf.format({ async = true }) - end, } local on_attach = function(client, bufnr) @@ -37,6 +34,7 @@ local servers = { "intelephense", "tailwindcss", "lua_ls", + "marksman", } local capabilities = vim.lsp.protocol.make_client_capabilities() diff --git a/lua/plugins.lua b/lua/plugins.lua index 3e180a5..8f52a19 100644 --- a/lua/plugins.lua +++ b/lua/plugins.lua @@ -144,4 +144,5 @@ require("lazy").setup({ opts = {}, }, "f-person/git-blame.nvim", + "yorickpeterse/nvim-grey", })