diff options
| -rw-r--r-- | lua/lvim/lsp/providers/jsonls.lua | 186 | ||||
| -rw-r--r-- | lua/lvim/plugins.lua | 7 | 
2 files changed, 13 insertions, 180 deletions
| diff --git a/lua/lvim/lsp/providers/jsonls.lua b/lua/lvim/lsp/providers/jsonls.lua index 1fffa686..528c72a0 100644 --- a/lua/lvim/lsp/providers/jsonls.lua +++ b/lua/lvim/lsp/providers/jsonls.lua @@ -1,186 +1,12 @@ -local default_schemas = nil -local status_ok, jsonls_settings = pcall(require, "nlspsettings.jsonls") -if status_ok then -  default_schemas = jsonls_settings.get_default_schemas() -end - -local schemas = { -  { -    description = "TypeScript compiler configuration file", -    fileMatch = { -      "tsconfig.json", -      "tsconfig.*.json", -    }, -    url = "https://json.schemastore.org/tsconfig.json", -  }, -  { -    description = "Lerna config", -    fileMatch = { "lerna.json" }, -    url = "https://json.schemastore.org/lerna.json", -  }, -  { -    description = "Babel configuration", -    fileMatch = { -      ".babelrc.json", -      ".babelrc", -      "babel.config.json", -    }, -    url = "https://json.schemastore.org/babelrc.json", -  }, -  { -    description = "ESLint config", -    fileMatch = { -      ".eslintrc.json", -      ".eslintrc", -    }, -    url = "https://json.schemastore.org/eslintrc.json", -  }, -  { -    description = "Bucklescript config", -    fileMatch = { "bsconfig.json" }, -    url = "https://raw.githubusercontent.com/rescript-lang/rescript-compiler/8.2.0/docs/docson/build-schema.json", -  }, -  { -    description = "Prettier config", -    fileMatch = { -      ".prettierrc", -      ".prettierrc.json", -      "prettier.config.json", -    }, -    url = "https://json.schemastore.org/prettierrc", -  }, -  { -    description = "Vercel Now config", -    fileMatch = { "now.json" }, -    url = "https://json.schemastore.org/now", -  }, -  { -    description = "Stylelint config", -    fileMatch = { -      ".stylelintrc", -      ".stylelintrc.json", -      "stylelint.config.json", -    }, -    url = "https://json.schemastore.org/stylelintrc", -  }, -  { -    description = "A JSON schema for the ASP.NET LaunchSettings.json files", -    fileMatch = { "launchsettings.json" }, -    url = "https://json.schemastore.org/launchsettings.json", -  }, -  { -    description = "Schema for CMake Presets", -    fileMatch = { -      "CMakePresets.json", -      "CMakeUserPresets.json", -    }, -    url = "https://raw.githubusercontent.com/Kitware/CMake/master/Help/manual/presets/schema.json", -  }, -  { -    description = "Configuration file as an alternative for configuring your repository in the settings page.", -    fileMatch = { -      ".codeclimate.json", -    }, -    url = "https://json.schemastore.org/codeclimate.json", -  }, -  { -    description = "LLVM compilation database", -    fileMatch = { -      "compile_commands.json", -    }, -    url = "https://json.schemastore.org/compile-commands.json", -  }, -  { -    description = "Config file for Command Task Runner", -    fileMatch = { -      "commands.json", -    }, -    url = "https://json.schemastore.org/commands.json", -  }, -  { -    description = "AWS CloudFormation provides a common language for you to describe and provision all the infrastructure resources in your cloud environment.", -    fileMatch = { -      "*.cf.json", -      "cloudformation.json", -    }, -    url = "https://raw.githubusercontent.com/awslabs/goformation/v5.2.9/schema/cloudformation.schema.json", -  }, -  { -    description = "The AWS Serverless Application Model (AWS SAM, previously known as Project Flourish) extends AWS CloudFormation to provide a simplified way of defining the Amazon API Gateway APIs, AWS Lambda functions, and Amazon DynamoDB tables needed by your serverless application.", -    fileMatch = { -      "serverless.template", -      "*.sam.json", -      "sam.json", -    }, -    url = "https://raw.githubusercontent.com/awslabs/goformation/v5.2.9/schema/sam.schema.json", -  }, -  { -    description = "Json schema for properties json file for a GitHub Workflow template", -    fileMatch = { -      ".github/workflow-templates/**.properties.json", -    }, -    url = "https://json.schemastore.org/github-workflow-template-properties.json", -  }, -  { -    description = "golangci-lint configuration file", -    fileMatch = { -      ".golangci.toml", -      ".golangci.json", -    }, -    url = "https://json.schemastore.org/golangci-lint.json", -  }, -  { -    description = "JSON schema for the JSON Feed format", -    fileMatch = { -      "feed.json", -    }, -    url = "https://json.schemastore.org/feed.json", -    versions = { -      ["1"] = "https://json.schemastore.org/feed-1.json", -      ["1.1"] = "https://json.schemastore.org/feed.json", -    }, -  }, -  { -    description = "Packer template JSON configuration", -    fileMatch = { -      "packer.json", -    }, -    url = "https://json.schemastore.org/packer.json", -  }, -  { -    description = "NPM configuration file", -    fileMatch = { -      "package.json", -    }, -    url = "https://json.schemastore.org/package.json", -  }, -  { -    description = "JSON schema for Visual Studio component configuration files", -    fileMatch = { -      "*.vsconfig", -    }, -    url = "https://json.schemastore.org/vsconfig.json", -  }, -  { -    description = "Resume json", -    fileMatch = { "resume.json" }, -    url = "https://raw.githubusercontent.com/jsonresume/resume-schema/v1.0.0/schema.json", -  }, -} - -local function extend(tab1, tab2) -  for _, value in ipairs(tab2) do -    table.insert(tab1, value) -  end -  return tab1 -end - -local extended_schemas = extend(schemas, default_schemas) - +local full_schemas = vim.tbl_deep_extend( +  "force", +  require("schemastore").json.schemas(), +  require("nlspsettings.jsonls").get_default_schemas() +)  local opts = {    settings = {      json = { -      schemas = extended_schemas, +      schemas = full_schemas,      },    },    setup = { diff --git a/lua/lvim/plugins.lua b/lua/lvim/plugins.lua index 050bd00b..b5cfab63 100644 --- a/lua/lvim/plugins.lua +++ b/lua/lvim/plugins.lua @@ -29,6 +29,7 @@ local commit = {    plenary = "e86dc9b11241ff69ece50c15a5cdd49d20d4c27c",    popup = "b7404d35d5d3548a82149238289fa71f7f6de4ac",    project = "cef52b8da07648b750d7f1e8fb93f12cb9482988", +  schemastore = "058575f0bd94b115604bef9c4c48c5d02e21ffef",    structlog = "6f1403a192791ff1fa7ac845a73de9e860f781f1",    telescope = "f262e7d56d37625613c5de0df5a933cccacf13c5",    telescope_fzf_native = "b8662b076175e75e6497c59f3e2799b879d7b954", @@ -272,4 +273,10 @@ return {      end,      disable = not lvim.builtin.terminal.active,    }, + +  -- SchemaStore +  { +    "b0o/schemastore.nvim", +    commit = commit.schemastore, +  },  } | 
