diff --git a/lazy-lock.json b/lazy-lock.json index c7f0497..3be70c5 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -1,26 +1,29 @@ { - "blink.cmp": { "branch": "main", "commit": "9bcb14b43852a6f2bfd5ac9ef29cb5cf09b1b39b" }, - "conform.nvim": { "branch": "master", "commit": "8132ec733eed3bf415b97b76797ca41b59f51d7d" }, - "fidget.nvim": { "branch": "main", "commit": "d9ba6b7bfe29b3119a610892af67602641da778e" }, + "blink.cmp": { "branch": "main", "commit": "327fff91fe6af358e990be7be1ec8b78037d2138" }, + "blink.download": { "branch": "main", "commit": "86361b98f3c8317904a08e3bd12cf3cdcbe3e925" }, + "conform.nvim": { "branch": "master", "commit": "b4aab989db276993ea5dcb78872be494ce546521" }, + "fidget.nvim": { "branch": "main", "commit": "4d5858bd4c471c895060e1b9f3575f1551184dc5" }, "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" }, - "fzf-lua": { "branch": "main", "commit": "fd6588ee052e150eb61f578fa8c40648def5b334" }, + "fzf-lua": { "branch": "main", "commit": "f8cf874c7c78deaddb028b80b7116c50cb53e88d" }, "kanagawa.nvim": { "branch": "master", "commit": "debe91547d7fb1eef34ce26a5106f277fbfdd109" }, + "kubectl.nvim": { "branch": "main", "commit": "6d54b5cd11e3b2e9ebebe1cdc406c1f653634f92" }, "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "c4c84f4521d62de595c0d0f718a9a40c1890c8ce" }, - "mason-tool-installer.nvim": { "branch": "main", "commit": "93a9ff9b34c91c0cb0f7de8d5f7e4abce51d8903" }, - "mason.nvim": { "branch": "main", "commit": "8024d64e1330b86044fed4c8494ef3dcd483a67c" }, - "mini.icons": { "branch": "main", "commit": "94848dad1589a199f876539bd79befb0c5e3abf0" }, - "mini.misc": { "branch": "main", "commit": "02de0d3fa53fcad1bee6c770b92a485769143155" }, - "mini.statusline": { "branch": "main", "commit": "452d27d764720cddcb9909b786598bb9e80c1ce8" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "7f9a39fcd2ac6e979001f857727d606888f5909c" }, + "mason-tool-installer.nvim": { "branch": "main", "commit": "517ef5994ef9d6b738322664d5fdd948f0fdeb46" }, + "mason.nvim": { "branch": "main", "commit": "7dc4facca9702f95353d5a1f87daf23d78e31c2a" }, + "mini.icons": { "branch": "main", "commit": "f9a177c11daa7829389b7b6eaaec8b8a5c47052d" }, + "mini.misc": { "branch": "main", "commit": "b48a5527e26e3d1840be317e52b1f3db5c364f35" }, + "mini.statusline": { "branch": "main", "commit": "3c86b8a1cb67e347e91815b21662c28fd52ac144" }, + "neoconf.nvim": { "branch": "main", "commit": "62b9efa4190d73d02f7e8817479f9c234aefa2f9" }, "noice.nvim": { "branch": "main", "commit": "0427460c2d7f673ad60eb02b35f5e9926cf67c59" }, "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" }, - "nvim-jdtls": { "branch": "master", "commit": "4d77ff02063cf88963d5cf10683ab1fd15d072de" }, - "nvim-lspconfig": { "branch": "master", "commit": "5e0e9c00d51fcb7efef0d4c49023f9593b38661e" }, + "nvim-jdtls": { "branch": "master", "commit": "b69924ca90014fef485ee153571bdcbc1ece8c2e" }, + "nvim-lspconfig": { "branch": "master", "commit": "d9879110d0422a566fa01d732556f4d5515e1738" }, "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "89ebe73cd2836db80a22d9748999ace0241917a5" }, - "oil.nvim": { "branch": "master", "commit": "08c2bce8b00fd780fb7999dbffdf7cd174e896fb" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "71385f191ec06ffc60e80e6b0c9a9d5daed4824c" }, + "oil.nvim": { "branch": "master", "commit": "07f80ad645895af849a597d1cac897059d89b686" }, "showkeys": { "branch": "main", "commit": "cb0a50296f11f1e585acffba8c253b9e8afc1f84" }, - "snacks.nvim": { "branch": "main", "commit": "bc0630e43be5699bb94dadc302c0d21615421d93" }, + "snacks.nvim": { "branch": "main", "commit": "72a6316d2421942cb81f2d5276a0e607629cd1c6" }, "vim-sleuth": { "branch": "master", "commit": "be69bff86754b1aa5adcbb527d7fcd1635a84080" }, "which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" } } diff --git a/lua/lsp/init.lua b/lua/lsp/init.lua index 7590d51..183560e 100644 --- a/lua/lsp/init.lua +++ b/lua/lsp/init.lua @@ -1,5 +1,6 @@ return { - lua_ls = require("lsp.lua"), - jdtls = require("lsp.java"), - clangd = require("lsp.clangd"), + lua_ls = require("lsp.lua"), + jdtls = require("lsp.java"), + clangd = require("lsp.clangd"), + ts_ls = require("lsp.ts_ls"), } diff --git a/lua/lsp/ts_ls.lua b/lua/lsp/ts_ls.lua new file mode 100644 index 0000000..92e895e --- /dev/null +++ b/lua/lsp/ts_ls.lua @@ -0,0 +1,14 @@ +local vue_language_server_path = vim.fn.expand '$MASON/packages' .. '/vue-language-server' .. '/node_modules/@vue/language-server' + +return { + init_options = { + plugins = { + { + name = "@vue/typescript-plugin", + location = vue_language_server_path, + languages = { "vue" }, + }, + }, + }, + filetypes = { "typescript", "javascript", "javascriptreact", "typescriptreact", "vue" }, +} diff --git a/lua/plugins/conform.lua b/lua/plugins/conform.lua index 431b569..e52777b 100644 --- a/lua/plugins/conform.lua +++ b/lua/plugins/conform.lua @@ -6,6 +6,8 @@ return { }, formatters_by_ft = { javascript = { "prettierd", "prettier", stop_after_first = true }, + typescript = { "prettierd", "prettier", stop_after_first = true }, + vue = { "prettierd", "prettier", stop_after_first = true }, rust = { "rustfmt", lsp_format = "fallback" }, java = { "spotless", "google-java-format" }, lua = { "stylua" }, diff --git a/lua/plugins/kube.lua b/lua/plugins/kube.lua new file mode 100644 index 0000000..2ed1159 --- /dev/null +++ b/lua/plugins/kube.lua @@ -0,0 +1,13 @@ +return { + { + "ramilito/kubectl.nvim", + -- use a release tag to download pre-built binaries + version = "2.*", + -- AND/OR build from source, requires nightly: https://rust-lang.github.io/rustup/concepts/channels.html#working-with-nightly-rust + -- build = 'cargo build --release', + dependencies = "saghen/blink.download", + config = function() + require("kubectl").setup() + end, + }, +} diff --git a/lua/plugins/lsp.lua b/lua/plugins/lsp.lua index 6c290d7..4228d34 100644 --- a/lua/plugins/lsp.lua +++ b/lua/plugins/lsp.lua @@ -1,18 +1,21 @@ +if not table.unpack then + table.unpack = unpack +end + return { -- Main LSP Configuration "neovim/nvim-lspconfig", dependencies = { - -- Automatically install LSPs and related tools to stdpath for Neovim - -- Mason must be loaded before its dependents so we need to set it up here. - -- NOTE: `opts = {}` is the same as calling `require('mason').setup({})` { "williamboman/mason.nvim", opts = {} }, "williamboman/mason-lspconfig.nvim", "WhoIsSethDaniel/mason-tool-installer.nvim", + "folke/neoconf.nvim", -- Useful status updates for LSP. { "j-hui/fidget.nvim", opts = {} }, }, config = function() + require("neoconf").setup({}) vim.api.nvim_create_autocmd("LspAttach", { group = vim.api.nvim_create_augroup("kickstart-lsp-attach", { clear = true }), callback = function(event) @@ -106,18 +109,17 @@ return { local capabilities = vim.lsp.protocol.make_client_capabilities() local servers = require("lsp") - local ensure_installed = { "lua_ls" } --vim.tbl_keys(servers or {}) + local ensure_installed = { "lua_ls", "ts_ls", "vue-language-server" } vim.list_extend(ensure_installed, { - "stylua", -- Used to format Lua code + "stylua", }) require("mason-tool-installer").setup({ ensure_installed = ensure_installed }) - - for name, value in pairs(servers) do --pseudocode + for name, value in pairs(servers) do vim.lsp.config(name, value) end require("mason-lspconfig").setup({ - ensure_installed = {}, -- explicitly set to an empty table (Kickstart populates installs via mason-tool-installer) + ensure_installed = {}, automatic_installation = false, }) end, diff --git a/lua/plugins/neoconf.lua b/lua/plugins/neoconf.lua new file mode 100644 index 0000000..8e4ea71 --- /dev/null +++ b/lua/plugins/neoconf.lua @@ -0,0 +1 @@ +return { "folke/neoconf.nvim" }