diff --git a/.config/nvim/lua/core/commands.lua b/.config/nvim/lua/core/commands.lua index 3d72f55..1849719 100644 --- a/.config/nvim/lua/core/commands.lua +++ b/.config/nvim/lua/core/commands.lua @@ -13,3 +13,7 @@ end, {}) vim.api.nvim_create_user_command("RemoveTrailingSpaces", function() vim.cmd("% s/\\s\\+$//e") end, {}) + +vim.api.nvim_create_user_command("SetSchema", function() + require("schema-companion").select_schema() +end, {}) diff --git a/.config/nvim/lua/core/lazy.lua b/.config/nvim/lua/core/lazy.lua index d6166bf..b4c1665 100644 --- a/.config/nvim/lua/core/lazy.lua +++ b/.config/nvim/lua/core/lazy.lua @@ -178,27 +178,9 @@ require("lazy").setup({ -- YAML { - "someone-stole-my-name/yaml-companion.nvim", - ft = { "yaml" }, - opts = { - lspconfig = { - settings = { - redhat = { - telemetry = { - enabled = false, - }, - }, - -- yaml = { - -- schemas = { - -- ["https://custom/github-workflow.json"] = "/.github/workflows/*", - -- }, - -- }, - }, - }, - }, - config = function(_, opts) - local cfg = require("yaml-companion").setup(opts) - require("lspconfig")["yamlls"].setup(cfg) + "cenk1cenk2/schema-companion.nvim", + config = function() + require("schema-companion").setup({}) end, }, diff --git a/.config/nvim/lua/plugins/blink.lua b/.config/nvim/lua/plugins/blink.lua index 812924d..7bb2c3e 100644 --- a/.config/nvim/lua/plugins/blink.lua +++ b/.config/nvim/lua/plugins/blink.lua @@ -22,9 +22,9 @@ require("blink.cmp").setup({ window = { border = "single" }, }, menu = { - -- don't show completion menu automatically when searching + auto_show = function(ctx) - return ctx.mode ~= "cmdline" or not vim.tbl_contains({ "/", "?" }, vim.fn.getcmdtype()) + return vim.fn.getcmdtype() == ":" end, border = "single", diff --git a/.config/nvim/lua/plugins/lsp/mason.lua b/.config/nvim/lua/plugins/lsp/mason.lua index 559a5bd..17b2240 100644 --- a/.config/nvim/lua/plugins/lsp/mason.lua +++ b/.config/nvim/lua/plugins/lsp/mason.lua @@ -34,9 +34,8 @@ require("mason-lspconfig").setup({ automatic_installation = true, }) -local lspconfig = require("lspconfig") for _, server in pairs(servers) do - if server ~= "yamlls" then + if server ~= "ty" then local opts = { capabilities = require("blink.cmp").get_lsp_capabilities(), } @@ -49,6 +48,6 @@ for _, server in pairs(servers) do opts = vim.tbl_deep_extend("force", conf_opts, opts) end - lspconfig[server].setup(opts) + vim.lsp.config(server, opts) end end diff --git a/.config/nvim/lua/plugins/lsp/settings/yamlls.lua b/.config/nvim/lua/plugins/lsp/settings/yamlls.lua new file mode 100644 index 0000000..67d0b9e --- /dev/null +++ b/.config/nvim/lua/plugins/lsp/settings/yamlls.lua @@ -0,0 +1,28 @@ +return require("schema-companion").setup_client( + require("schema-companion").adapters.yamlls.setup({ + sources = { + require("schema-companion").sources.matchers.kubernetes.setup({ version = "master" }), + require("schema-companion").sources.lsp.setup(), + require("schema-companion").sources.schemas.setup({ + { + name = "Kubernetes master", + uri = "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/master-standalone-strict/all.json", + }, + }), + }, + }), + { + -- Have to add this for yamlls to understand that we support line folding + capabilities = { + textDocument = { + foldingRange = { + dynamicRegistration = false, + lineFoldingOnly = true, + }, + }, + }, + settings = { + redhat = { telemetry = { enabled = false } }, + }, + } +) diff --git a/.config/nvim/lua/plugins/lualine.lua b/.config/nvim/lua/plugins/lualine.lua index 0421190..e0b0f20 100644 --- a/.config/nvim/lua/plugins/lualine.lua +++ b/.config/nvim/lua/plugins/lualine.lua @@ -53,12 +53,12 @@ local get_filetype = function() local ft = vim.bo.filetype or "" if ft == "yaml" then - local schema = require("yaml-companion").get_buf_schema(0) - if not schema or not schema.result or not schema.result[1].name then + local schema = require("schema-companion").get_current_schemas() or "" + if schema == "" then return ft end - return ft .. " (" .. schema.result[1].name .. ")" + return ft .. " (" .. schema:sub(0, 50) .. ")" else return ft end diff --git a/.config/nvim/lua/plugins/telescope.lua b/.config/nvim/lua/plugins/telescope.lua index 0a817ec..6b72f91 100644 --- a/.config/nvim/lua/plugins/telescope.lua +++ b/.config/nvim/lua/plugins/telescope.lua @@ -39,4 +39,3 @@ telescope.setup({ telescope.load_extension("fzf") telescope.load_extension("ui-select") -telescope.load_extension("yaml_schema")