add: update config

This commit is contained in:
asep.komarudin 2024-04-18 07:17:54 +07:00
parent c651a8ca42
commit a81806cab8
15 changed files with 363 additions and 407 deletions

View file

@ -1,186 +1,7 @@
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 or {}) do
table.insert(tab1, value)
end
return tab1
end
local extended_schemas = extend(schemas, default_schemas)
local opts = {
return {
settings = {
json = {
schemas = extended_schemas,
schemas = require("schemastore").json.schemas(),
},
},
setup = {
@ -196,5 +17,3 @@ local opts = {
provideFormatter = false,
},
}
return opts

View file

@ -1,21 +1,37 @@
-- https://luals.github.io/wiki/settings/
return {
settings = {
Lua = {
format = {
enable = false,
},
diagnostics = {
globals = { "vim" },
globals = { "vim", "spec" },
},
runtime = {
version = "LuaJIT",
special = {
spec = "require",
},
},
workspace = {
checkThirdParty = false,
library = {
[vim.fn.expand("$VIMRUNTIME/lua")] = true,
[vim.fn.stdpath("config") .. "/lua"] = true,
[vim.fn.expand("$VIMRUNTIME")] = true,
["${3rd}/busted/library"] = true,
["${3rd}/luassert/library"] = true,
["${3rd}/luv/library"] = true,
},
maxPreload = 5000,
preloadFileSize = 10000,
},
hint = {
enable = false,
arrayIndex = "Disable", -- "Enable" | "Auto" | "Disable"
await = true,
paramName = "Disable", -- "All" | "Literal" | "Disable"
paramType = true,
semicolon = "All", -- "All" | "SameLine" | "Disable"
setType = false,
},
telemetry = {
enable = false,
},
},
},

View file

@ -0,0 +1,25 @@
local opts = {
setup = {
root_dir = require("lspconfig.util").root_pattern("package.json", "vue.config.js")
or vim.loop.cwd()
or vim.fn.getcwd(),
init_options = {
config = {
vetur = {
completion = {
autoImport = true,
tagCasing = "kebab",
useScaffoldSnippets = true,
},
useWorkspaceDependencies = true,
validation = {
script = true,
style = true,
template = true,
},
},
},
},
},
}
return opts

View file

@ -0,0 +1,16 @@
local opts = {
settings = {
yaml = {
hover = true,
completion = true,
validate = true,
schemaStore = {
enable = true,
url = "https://www.schemastore.org/api/json/catalog.json",
},
schemas = require("schemastore").yaml.schemas(),
},
},
}
return opts