diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index 8b9f3e90..0e016067 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,50 +1,52 @@ { - "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, - "cmp-nvim-lsp": { "branch": "main", "commit": "99290b3ec1322070bcfb9e846450a46f6efa50f0" }, - "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, - "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, + "YankAssassin.nvim": { "branch": "main", "commit": "4074b307bec6bb8c92b59fb3544e3dc3e43fcf6d" }, + "cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" }, + "cmp-nvim-lsp": { "branch": "main", "commit": "cbc7b02bb99fae35cb42f514762b89b5126651ef" }, + "cmp-nvim-lua": { "branch": "main", "commit": "e3a22cb071eb9d6508a156306b102c45cd2d573d" }, + "cmp-path": { "branch": "main", "commit": "c642487086dbd9a93160e1679a1327be111cbc25" }, "cmp-vsnip": { "branch": "main", "commit": "989a8a73c44e926199bfd05fa7a516d51f2d2752" }, "cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" }, - "codeium.vim": { "branch": "main", "commit": "000de972de76f357c03da14f4f8dd9a969d4fe8c" }, - "conform.nvim": { "branch": "master", "commit": "f9ef25a7ef00267b7d13bfc00b0dea22d78702d5" }, - "crates.nvim": { "branch": "main", "commit": "fd2bbca7aa588f24ffc3517831934b4c4a9588e9" }, + "conform.nvim": { "branch": "master", "commit": "40dcec5555f960b0a04340d76eabdf4efe78599d" }, + "crates.nvim": { "branch": "main", "commit": "ac9fa498a9edb96dc3056724ff69d5f40b898453" }, "ctrlp.vim": { "branch": "master", "commit": "564176f01d7f3f7f8ab452ff4e1f5314de7b0981" }, - "fzf": { "branch": "master", "commit": "e15cba0c8c7c9dd3388d260cf5b5de7fc044dfbc" }, - "fzf.vim": { "branch": "master", "commit": "1fff637559f29d5edbdb05e03327954a8cd9e406" }, - "git-blame.nvim": { "branch": "master", "commit": "b12da2156ec1c3f53f42c129201ff0bfed69c86e" }, - "go.nvim": { "branch": "master", "commit": "0d426e87227dd14584881ecc595c173121456111" }, - "guihua.lua": { "branch": "master", "commit": "d783191eaa75215beae0c80319fcce5e6b3beeda" }, + "fzf": { "branch": "master", "commit": "260d160973a1df05038c93136a076ca29592e755" }, + "fzf.vim": { "branch": "master", "commit": "34a564c81f36047f50e593c1656f4580ff75ccca" }, + "git-blame.nvim": { "branch": "main", "commit": "5c536e2d4134d064aa3f41575280bc8a2a0e03d7" }, + "go.nvim": { "branch": "master", "commit": "659b105cf7f97049f6fe76a554917642f27ecd16" }, + "guihua.lua": { "branch": "master", "commit": "ef44ba40f12e56c1c9fa45967f2b4d142e4b97a0" }, "gv.vim": { "branch": "master", "commit": "b6bb6664e2c95aa584059f195eb3a9f3cb133994" }, "harpoon": { "branch": "master", "commit": "1bc17e3e42ea3c46b33c0bbad6a880792692a1b3" }, - "indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" }, - "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, - "lsp-zero.nvim": { "branch": "v4.x", "commit": "df80878a8ac6f855a6290389340fd089870ea7a5" }, - "lualine.nvim": { "branch": "master", "commit": "1517caa8fff05e4b4999857319d3b0609a7f57fa" }, + "indent-blankline.nvim": { "branch": "master", "commit": "d28a3f70721c79e3c5f6693057ae929f3d9c0a03" }, + "lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" }, + "lsp-zero.nvim": { "branch": "v4.x", "commit": "d388e2b71834c826e61a3eba48caec53d7602510" }, + "lualine.nvim": { "branch": "master", "commit": "47f91c416daef12db467145e16bed5bbfe00add8" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" }, - "mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "a324581a3c83fdacdb9804b79de1cbe00ce18550" }, + "mason.nvim": { "branch": "main", "commit": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65" }, "mintabline.vim": { "branch": "master", "commit": "05714e0ee67622630f57d6540566df3e2293938e" }, - "nerdcommenter": { "branch": "master", "commit": "66c07e4083ab02ed2540ac289cc602c70b858c13" }, + "nerdcommenter": { "branch": "master", "commit": "a462bbda1e26f44fb3d3eb9d9d1c6a07aa98e665" }, + "none-ls.nvim": { "branch": "main", "commit": "f61f46ded0ca9edce7a09b674f8e162d10921426" }, "nord.nvim": { "branch": "master", "commit": "80c1e5321505aeb22b7a9f23eb82f1e193c12470" }, - "nvim-autopairs": { "branch": "master", "commit": "6522027785b305269fa17088395dfc0f456cedd2" }, - "nvim-cmp": { "branch": "main", "commit": "1e1900b0769324a9675ef85b38f99cca29e203b3" }, + "nvim-autopairs": { "branch": "master", "commit": "59bce2eef357189c3305e25bc6dd2d138c1683f5" }, + "nvim-cmp": { "branch": "main", "commit": "da88697d7f45d16852c6b2769dc52387d1ddc45f" }, "nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" }, - "nvim-lspconfig": { "branch": "master", "commit": "ff6471d4f837354d8257dfa326b031dd8858b16e" }, + "nvim-lspconfig": { "branch": "master", "commit": "ead0f5f342d8d323441e7d4b88f0fc436a81ad5f" }, "nvim-ripgrep": { "branch": "main", "commit": "7a1b0a4da8858e3501b593c25d7ed66bc91a221d" }, "nvim-silicon": { "branch": "main", "commit": "7f66bda8f60c97a5bf4b37e5b8acb0e829ae3c32" }, - "nvim-tree.lua": { "branch": "master", "commit": "44d9b58f11d5a426c297aafd0be1c9d45617a849" }, - "nvim-treesitter": { "branch": "master", "commit": "9df671fda41bc4af91b9f7ea3fa1628ba988a77b" }, - "nvim-web-devicons": { "branch": "master", "commit": "4c3a5848ee0b09ecdea73adcd2a689190aeb728c" }, + "nvim-tree.lua": { "branch": "master", "commit": "c988e289428d9202b28ba27479647033c7dd2956" }, + "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, + "nvim-web-devicons": { "branch": "master", "commit": "737cf6c657898d0c697311d79d361288a1343d50" }, "playground": { "branch": "master", "commit": "ba48c6a62a280eefb7c85725b0915e021a1a0749" }, - "plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" }, + "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, + "prettier.nvim": { "branch": "main", "commit": "ca6452de1accc68a1062e72f58679caa488b501a" }, "rust.vim": { "branch": "master", "commit": "889b9a7515db477f4cb6808bef1769e53493c578" }, - "suda.vim": { "branch": "master", "commit": "9adda7d195222d4e2854efb2a88005a120296c47" }, "telescope.nvim": { "branch": "master", "commit": "b79cd6c88b3d96b0f49cb7d240807cd59b610cd8" }, - "undotree": { "branch": "master", "commit": "b951b87b46c34356d44aa71886aecf9dd7f5788a" }, + "typst-preview.nvim": { "branch": "master", "commit": "e123a7ab64e52d836e00dea9251e85b201f38966" }, + "undotree": { "branch": "master", "commit": "d8f99084d98c32f651860eb0baaf89759f91debc" }, "vim-clang-format": { "branch": "master", "commit": "6b791825ff478061ad1c57b21bb1ed5a5fd0eb29" }, - "vim-doge": { "branch": "master", "commit": "750d17dcd5a38a6afb51ddd07ee7d3e96bab7e9e" }, - "vim-fugitive": { "branch": "master", "commit": "4a745ea72fa93bb15dd077109afbb3d1809383f2" }, - "vim-gitgutter": { "branch": "main", "commit": "6620e5fbbe6a28de0bfed081f5bd2767023b7eea" }, + "vim-doge": { "branch": "master", "commit": "03a84072ef21b205237c77986c78914395d646c3" }, + "vim-fugitive": { "branch": "master", "commit": "61b51c09b7c9ce04e821f6cf76ea4f6f903e3cf4" }, + "vim-gitgutter": { "branch": "main", "commit": "0acb772e76064cc406664ab595b58b3fac76488a" }, "vim-smoothie": { "branch": "master", "commit": "df1e324e9f3395c630c1c523d0555a01d2eb1b7e" }, "vim-surround": { "branch": "master", "commit": "3d188ed2113431cf8dac77be61b842acb64433d9" }, "vim-visual-multi": { "branch": "master", "commit": "a6975e7c1ee157615bbc80fc25e4392f71c344d4" }, diff --git a/.config/nvim/lua/config/keymaps.lua b/.config/nvim/lua/config/keymaps.lua index 6682cc8e..7ea0285a 100644 --- a/.config/nvim/lua/config/keymaps.lua +++ b/.config/nvim/lua/config/keymaps.lua @@ -98,7 +98,7 @@ vim.cmd([[nnoremap cmp :silent lua SetAutoCmp(Mode)]]) -- SudaWrite -- vim.cmd([[nnoremap sw :SudaWrite]]) -vim.keymap.set("n", "sw", ":SudaWrite") +-- vim.keymap.set("n", "sw", ":SudaWrite") -- appends backslash to end of specified number of lines (min 2) -- usage: 4b will append a backslash to the end of 4 lines @@ -185,5 +185,5 @@ vim.keymap.set("v", "", ":m '<-2gv=gv") -- sets 'gx' to open with default browser vim.keymap.set("n", "gx", function() local url = vim.fn.expand("") - vim.system({ "librewolf", url }, { detach = true }) + vim.system({ "librewolf-bin", url }, { detach = true }) end, { silent = true }) diff --git a/.config/nvim/lua/config/lazy.lua b/.config/nvim/lua/config/lazy.lua index 41669d44..f32fd39a 100644 --- a/.config/nvim/lua/config/lazy.lua +++ b/.config/nvim/lua/config/lazy.lua @@ -40,13 +40,17 @@ require("lazy").setup({ { "nvim-lua/plenary.nvim" }, { "tpope/vim-fugitive" }, { "tpope/vim-surround", keys = { "cs", "ds", "ys" } }, - { "lambdalisue/suda.vim" }, + -- { "lambdalisue/suda.vim" }, { "junegunn/fzf" }, { "junegunn/fzf.vim" }, { "junegunn/gv.vim" }, { "kien/ctrlp.vim" }, { "mbbill/undotree", cmd = { "UndotreeToggle" } }, - { "mason-org/mason.nvim", event = "VeryLazy", opts = { ui = { border = "rounded" } } }, + { + "mason-org/mason.nvim", + event = "VeryLazy", + opts = { ui = { border = "rounded" } }, + }, { "mason-org/mason-lspconfig.nvim", event = "VeryLazy" }, { "neovim/nvim-lspconfig", event = { "BufReadPre", "BufNewFile" } }, { @@ -60,6 +64,9 @@ require("lazy").setup({ end, ft = { "markdown" }, }, + -- Prettier specifically installed + { "nvimtools/none-ls.nvim" }, + { "MunifTanjim/prettier.nvim" }, -- Autocompletion/Snippets { "hrsh7th/nvim-cmp" }, { "hrsh7th/cmp-buffer" }, diff --git a/.config/nvim/lua/config/options.lua b/.config/nvim/lua/config/options.lua index ebcc4b25..90eb1c0a 100644 --- a/.config/nvim/lua/config/options.lua +++ b/.config/nvim/lua/config/options.lua @@ -113,6 +113,14 @@ vim.api.nvim_create_autocmd("BufReadPost", { end, }) +-- automatically runs Prettier on HTML files +-- vim.api.nvim_create_autocmd("BufWritePre", { +-- pattern = "*.html", +-- callback = function() +-- vim.cmd("Prettier") +-- end, +-- }) + -- Automatically closes Nvim tree if last window open vim.cmd([[autocmd BufEnter * ++nested if winnr('$') == 1 && bufname() == 'NvimTree_' . tabpagenr() | quit | endif]]) @@ -154,7 +162,7 @@ vim.g.codeium_disable_bindings = 1 vim.g.codeium_enabled = 0 -- Markdown Previewer settings -vim.g.mkdp_browser = "librewolf" +vim.g.mkdp_browser = "librewolf-bin" vim.g.mkdp_theme = "light" -- Create Default Mappings for NerdCommenter diff --git a/.config/nvim/lua/plugins/null_ls.lua b/.config/nvim/lua/plugins/null_ls.lua new file mode 100644 index 00000000..2f4197c4 --- /dev/null +++ b/.config/nvim/lua/plugins/null_ls.lua @@ -0,0 +1,35 @@ +return { + "nvimtools/none-ls.nvim", + config = function() + local group = vim.api.nvim_create_augroup("lsp_format_on_save", { clear = false }) + local event = "BufWritePre" -- or "BufWritePost" + local async = event == "BufWritePost" + + require("null-ls").setup({ + on_attach = function(client, bufnr) + if client.supports_method("textDocument/formatting") then + vim.keymap.set("n", "f", function() + vim.lsp.buf.format({ bufnr = vim.api.nvim_get_current_buf() }) + end, { buffer = bufnr, desc = "[lsp] format" }) + + -- format on save + vim.api.nvim_clear_autocmds({ buffer = bufnr, group = group }) + vim.api.nvim_create_autocmd(event, { + buffer = bufnr, + group = group, + callback = function() + vim.lsp.buf.format({ bufnr = bufnr, async = async }) + end, + desc = "[lsp] format on save", + }) + end + + if client.supports_method("textDocument/rangeFormatting") then + vim.keymap.set("x", "f", function() + vim.lsp.buf.format({ bufnr = vim.api.nvim_get_current_buf() }) + end, { buffer = bufnr, desc = "[lsp] format" }) + end + end, + }) + end, +} diff --git a/.config/nvim/lua/plugins/prettier.lua b/.config/nvim/lua/plugins/prettier.lua new file mode 100644 index 00000000..adfe285f --- /dev/null +++ b/.config/nvim/lua/plugins/prettier.lua @@ -0,0 +1,33 @@ +return { + "MunifTanjim/prettier.nvim", + config = function() + require("prettier").setup({ + bin = "prettierd", -- or `'prettierd'` (v0.23.3+) + filetypes = { + "css", + "graphql", + --"html", + "javascript", + "javascriptreact", + "json", + "less", + -- "markdown", + "scss", + "typescript", + "typescriptreact", + "yaml", + }, + cli_options = { + trailingComma = "all", + tabWidth = 4, + printWidth = 80, + semi = false, + jsxSingleQuote = true, + singleQuote = true, + bracketSpacing = true, + bracketSameLine = true, + arrowParens = "avoid", + }, + }) + end, +}