diff --git a/lua/cosmic/core/pluginsInit.lua b/lua/cosmic/core/pluginsInit.lua index 84b7246..857fe1e 100644 --- a/lua/cosmic/core/pluginsInit.lua +++ b/lua/cosmic/core/pluginsInit.lua @@ -91,6 +91,7 @@ return packer.startup(function() require('cosmic.lsp') end, requires = { + { 'b0o/SchemaStore.nvim' }, { 'williamboman/nvim-lsp-installer' }, { 'jose-elias-alvarez/nvim-lsp-ts-utils' }, { diff --git a/lua/cosmic/lsp/providers/jsonls.lua b/lua/cosmic/lsp/providers/jsonls.lua index b3140c3..5109824 100644 --- a/lua/cosmic/lsp/providers/jsonls.lua +++ b/lua/cosmic/lsp/providers/jsonls.lua @@ -1,171 +1,7 @@ -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 opts = { settings = { json = { - schemas = schemas, + schemas = require('schemastore').json.schemas(), }, }, setup = {