Code Monkey home page Code Monkey logo

lsp-json's People

Contributors

amjadhd avatar deathaxe avatar dependabot-preview[bot] avatar dependabot[bot] avatar husanjun avatar jfcherng avatar jwortmann avatar mattdmo avatar onlyhavecans avatar predrag-codetribe avatar predragnikolic avatar pushqrdx avatar rchl avatar rwols avatar ultra-instinct-05 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

lsp-json's Issues

Incorrect snippet completions

This language server sends snippet completions like "operator": $1.

:: --> LSP-json textDocument/completion(102): {'position': {'character': 17, 'line': 9}, 'textDocument': {'uri': 'file:///Users/raoulwols/Library/Application%20Support/Sublime%20Text%203/Packages/LSP-json/Default.sublime-keymap'}}
:: <<< LSP-json 102: {'isIncomplete': False, 'items': [{'insertText': '"key"', 'label': 'key', 'kind': 10, 'documentation': '', 'textEdit': {'newText': '"key"', 'range': {'end': {'character': 18, 'line': 9}, 'start': {'character': 16, 'line': 9}}}, 'insertTextFormat': 2, 'filterText': '"key"'}, {'insertText': '"operator": $1', 'command': {'command': 'editor.action.triggerSuggest', 'title': 'Suggest'}, 'label': 'operator', 'kind': 10, 'documentation': {'value': 'The operator used to match the given `key` and the `operand`.', 'kind': 'markdown'}, 'textEdit': {'newText': '"operator": $1', 'range': {'end': {'character': 18, 'line': 9}, 'start': {'character': 16, 'line': 9}}}, 'insertTextFormat': 2, 'filterText': '"operator"'}, {'insertText': '"operand": ${1:true}', 'label': 'operand', 'kind': 10, 'documentation': '', 'textEdit': {'newText': '"operand": ${1:true}', 'range': {'end': {'character': 18, 'line': 9}, 'start': {'character': 16, 'line': 9}}}, 'insertTextFormat': 2, 'filterText': '"operand"'}, {'insertText': '"match_all": ${1:false}', 'label': 'match_all', 'kind': 10, 'documentation': {'value': 'If `true`, then the condition must evaluate to true for all selections.', 'kind': 'markdown'}, 'textEdit': {'newText': '"match_all": ${1:false}', 'range': {'end': {'character': 18, 'line': 9}, 'start': {'character': 16, 'line': 9}}}, 'insertTextFormat': 2, 'filterText': '"match_all"'}]}

The problem with that is that ST will accumulate "snippet fields" over time

image

The language server should instead return snippets like "operator": $0.

Differentiate between Preferences.sublime-settings and *.sublime-settings

I would like to write a schema for LSP.sublime-settings.
But the match for *.sublime-settings is too broad.

{
"fileMatch": ["*.sublime-settings"],
"url": "sublime://schemas/sublime-settings"
},

This also matches LSP.sublime-settings, but that file has a different schema. It should match the file Preferences.sublime-settings exactly (and maybe rename the schema to preferences-sublime-settings or something).

Auto-generate most of the schema possibilities for .sublime-settings?

The PackageDev package generates popups with a description of the key for settings files. For example:

Screenshot from 2020-04-07 22-05-37

Because we're basically doing the same for schema files (for .sublime-settings) manually, I think it would be worthwhile to look into how to automate writing a skeleton schema file for a given .sublime-settings file.

I've skimmed through the code and I think this is the relevant part:

https://github.com/SublimeText/PackageDev/blob/ac1fb9803319ab518c664110f2f0f82a33f1fe73/plugins_/settings/known_settings.py#L254-L312

The latest LSP-json doesn't work on ST 3.

As per report on sublimelsp/LSP-css#46 (comment)

  File "/Applications/Sublime Text 3.app/Contents/MacOS/sublime_plugin.py", line 125, in reload_plugin
    m = importlib.import_module(modulename)
  File "./python3.3/importlib/__init__.py", line 90, in import_module
  File "<frozen importlib._bootstrap>", line 1584, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1565, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1532, in _find_and_load_unlocked
  File "/Applications/Sublime Text 3.app/Contents/MacOS/sublime_plugin.py", line 1199, in load_module
    exec(compile(source, source_path, 'exec'), mod.__dict__)
  File "/Users/juliangarnier/Library/Application Support/Sublime Text 3/Installed Packages/LSP-json.sublime-package/commands.py", line 1, in <module>
ImportError: cannot import name LspTextCommand

Support reading schema files from installed packages

Implement fetching schema files from installed packages that have defined their custom schemas for preferences (and possibly for other types of configurations too).

For example, if package LSP wants to provide schema for its LSP.sublime-settings preferences it can include file LSP.sublime-settings.schema.json (or just LSP.sublime-settings.schema but then the one developing the schema would have to manually associate that extension with JSON syntax) that this package will find and automatically map to LSP.sublime-settings file pattern.

The limitation of that system is that one schema can only be associated with one file pattern.
(There could be a special case for preferences where we would also auto-create patterns with platform suffixes.)

@predragnikolic @rwols Thoughts (especially on naming)?

Warnings when inside a PC messages.json

When opening a messages.json file,
LSP-json shows these warnings:

messages.json

{
    "1.9.0": "messages/1.9.0.txt",
    "install": "README.md"
}

/Users/codetribe/Library/Application Support/Sublime Text/Packages/LSP-volar/messages.json:
    3:16  warning Incorrect type. Expected "object". ​unknown-source
    2:5   warning Property 1.9.0 is not allowed. ​unknown-source

Expected behavior:
No errors should be reported.

JSON formatting

The readme states:

Uses VSCode JSON Language Server to provide validation, formatting and other features for JSON files. See linked repository for more information.

From this, I understand the "formatting" means "document formatting", which I'd like to do. Assuming "VSCode JSON Language Server" is the "linked repository" mentioned in the quote, I spent some time looking through its issues and readme, but could not figure out how to enable JSON formatting or to trigger the command. Does "LSP-json" really supports this? If true, the readme does not help much with setup or asks too much of a user.

Error: Cannot find module 'node:util'

LSP-json: internal/modules/cjs/loader.js:883
LSP-json:   throw err;
LSP-json:   ^
LSP-json: 
LSP-json: Error: Cannot find module 'node:util'
LSP-json: Require stack:
LSP-json: - D:\Sublime Text\Data\Package Storage\LSP-json\14.16.1\language-server\node_modules\vscode-languageserver\lib\node\main.js
LSP-json: - D:\Sublime Text\Data\Package Storage\LSP-json\14.16.1\language-server\node_modules\vscode-languageserver\node.js
LSP-json: - D:\Sublime Text\Data\Package Storage\LSP-json\14.16.1\language-server\out\node\jsonServerMain.js
LSP-json:     at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
LSP-json:     at Function.Module._load (internal/modules/cjs/loader.js:725:27)
LSP-json:     at Module.require (internal/modules/cjs/loader.js:952:19)
LSP-json:     at require (internal/modules/cjs/helpers.js:88:18)
LSP-json:     at Object.<anonymous> (D:\Sublime Text\Data\Package Storage\LSP-json\14.16.1\language-server\node_modules\vscode-languageserver\lib\node\main.js:23:21)
LSP-json:     at Module._compile (internal/modules/cjs/loader.js:1063:30)
LSP-json:     at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
LSP-json:     at Module.load (internal/modules/cjs/loader.js:928:32)
LSP-json:     at Function.Module._load (internal/modules/cjs/loader.js:769:14)
LSP-json:     at Module.require (internal/modules/cjs/loader.js:952:19) {
LSP-json:   code: 'MODULE_NOT_FOUND',
LSP-json:   requireStack: [
LSP-json:     'D:\\Sublime Text\\Data\\Package Storage\\LSP-json\\14.16.1\\language-server\\node_modules\\vscode-languageserver\\lib\\node\\main.js',
LSP-json:     'D:\\Sublime Text\\Data\\Package Storage\\LSP-json\\14.16.1\\language-server\\node_modules\\vscode-languageserver\\node.js',
LSP-json:     'D:\\Sublime Text\\Data\\Package Storage\\LSP-json\\14.16.1\\language-server\\out\\node\\jsonServerMain.js'
LSP-json:   ]
LSP-json: }

node : 14.16.1
LSP-json:v1.15.0

I tried to rollback the vscode-languageserver version and it worked

Disable auto complete

A little background: I'm a real, i mean, 100% hater of autocomplete and all that popups over my code and intercepts keyboard controls. So I decided to cut off this feature at the root a years ago by setting "auto_complete": false in general Sublime's settings.
But today I have installed LSP-json for fast linting, highlighting erorrs, hints, etc. in my JSON files. But not for autocomplete. I never asked for this.
The problem is, even with "auto_complete": false, when that plugin enabled, Sublime showing me autocomplete popup at least when I starting to write property name.
And i don't know how to disable this behavior. Maybe I missing some option in plugin's configuration, but I rather guess it's some kind of a bug. Because I have installed a lot of plugins in my developer's life, and no one of them ever showed me an autocomplete interface with aforementioned option disabled.
If it is, after all, somehow, not a bug but a feature, I have a question "why?" and asking for help to disable it.

Crash with malformed userSchemas setting

This is how i triggered it the first time:

  1. in User/LSP-json.sublime-settings add the following:
{
	"userSchemas":
	[
		{
			"fileMatch": ["pyrightconfig.json"],
			"url": "https://raw.githubusercontent.com/microsoft/pyright/master/client/schemas/pyrightconfig.schema.json"
		}
	]
}

note the typo "url" instead of "uri"
2. In an open project folder add a pyrightconfig.json file
3. open it and start typing

Log

log
:: --> lsp-json initialize(1): {'capabilities': {'workspace': {'applyEdit': True, 'workspaceEdit': {'documentChanges': True, 'failureHandling': 'abort'}, 'executeCommand': {}, 'configuration': True, 'symbol': {'symbolKind': {'valueSet': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26]}, 'dynamicRegistration': True}, 'didChangeConfiguration': {'dynamicRegistration': True}, 'workspaceFolders': True}, 'experimental': {}, 'window': {'workDoneProgress': True}, 'textDocument': {'definition': {'linkSupport': True, 'dynamicRegistration': True}, 'colorProvider': {'dynamicRegistration': True}, 'documentHighlight': {'dynamicRegistration': True}, 'typeDefinition': {'linkSupport': True, 'dynamicRegistration': True}, 'rangeFormatting': {'dynamicRegistration': True}, 'rename': {'dynamicRegistration': True}, 'documentSymbol': {'hierarchicalDocumentSymbolSupport': True, 'symbolKind': {'valueSet': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26]}, 'dynamicRegistration': True}, 'codeAction': {'codeActionLiteralSupport': {'codeActionKind': {'valueSet': []}}, 'dynamicRegistration': True}, 'declaration': {'linkSupport': True, 'dynamicRegistration': True}, 'implementation': {'linkSupport': True, 'dynamicRegistration': True}, 'publishDiagnostics': {'relatedInformation': True}, 'hover': {'contentFormat': ['markdown', 'plaintext'], 'dynamicRegistration': True}, 'references': {'dynamicRegistration': True}, 'synchronization': {'willSave': True, 'willSaveWaitUntil': True, 'didSave': True, 'dynamicRegistration': True}, 'completion': {'completionItem': {'snippetSupport': True}, 'completionItemKind': {'valueSet': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25]}, 'dynamicRegistration': True}, 'formatting': {'dynamicRegistration': True}, 'signatureHelp': {'signatureInformation': {'parameterInformation': {'labelOffsetSupport': True}, 'documentationFormat': ['markdown', 'plaintext']}, 'dynamicRegistration': True}}}, 'clientInfo': {'name': 'Sublime Text LSP', 'version': '0.11.4'}, 'processId': 4936, 'initializationOptions': {'customCapabilities': {'rangeFormatting': {'editLimit': 1000}}, 'provideFormatter': True}, 'rootPath': 'C:\\Users\\Lehdhili\\AppData\\Roaming\\Sublime Text 3\\Packages\\LSP-json', 'workspaceFolders': [{'name': 'LSP-json', 'uri': 'file:///C:/Users/Lehdhili/AppData/Roaming/Sublime%20Text%203/Packages/LSP-json'}, {'name': 'sublime_lib', 'uri': 'file:///C:/Users/Lehdhili/AppData/Roaming/Sublime%20Text%203/Packages/sublime_lib/st3/sublime_lib'}], 'rootUri': 'file:///C:/Users/Lehdhili/AppData/Roaming/Sublime%20Text%203/Packages/LSP-json'}
:: <<< lsp-json 1: {'capabilities': {'textDocumentSync': 2, 'colorProvider': {}, 'foldingRangeProvider': True, 'documentRangeFormattingProvider': True, 'selectionRangeProvider': True, 'definitionProvider': True, 'hoverProvider': True, 'documentSymbolProvider': True, 'completionProvider': {'resolveProvider': False, 'triggerCharacters': ['"', ':']}}}
::  -> lsp-json initialized: {}
::  -> lsp-json workspace/didChangeConfiguration: {'settings': {'json': {'resultLimit': 5000, 'format': {'enable': True}}}}
::  -> lsp-json textDocument/didOpen
:: --> lsp-json textDocument/documentColor(2): {'textDocument': {'uri': 'file:///C:/Users/Lehdhili/AppData/Roaming/Sublime%20Text%203/Packages/LSP-json/pyrightconfig.json'}}
:: <<< lsp-json 2: []
::  -> lsp-json json/schemaAssociations: [{'fileMatch': ['/*.sublime-build'], 'uri': 'sublime://schemas/sublime-build'}, {'fileMatch': ['/*.sublime-color-scheme', '/*.hidden-color-scheme'], 'uri': 'sublime://schemas/sublime-color-scheme'}, {'fileMatch': ['/*.sublime-commands'], 'uri': 'sublime://schemas/sublime-commands'}, {'fileMatch': ['/*.sublime-completions'], 'uri': 'sublime://schemas/sublime-completions'}, {'fileMatch': ['/*.sublime-keymap'], 'uri': 'sublime://schemas/sublime-keymap'}, {'fileMatch': ['/*.sublime-macro'], 'uri': 'sublime://schemas/sublime-macro'}, {'fileMatch': ['/*.sublime-menu'], 'uri': 'sublime://schemas/sublime-menu'}, {'fileMatch': ['/*.sublime-mousemap'], 'uri': 'sublime://schemas/sublime-mousemap'}, {'fileMatch': ['/*.sublime-project'], 'uri': 'sublime://schemas/sublime-project'}, {'fileMatch': ['/*.sublime-settings'], 'uri': 'sublime://schemas/sublime-settings'}, {'fileMatch': ['/*.sublime-theme', '/*.hidden-theme'], 'uri': 'sublime://schemas/sublime-theme'}, {'fileMatch': ['/.vscode/*.json'], 'uri': 'sublime://schemas/vscode-base'}, {'fileMatch': ['/package.json'], 'uri': 'sublime://schemas/package-json-eslint'}, {'fileMatch': ['/Preferences.sublime-settings', '/Preferences%20%28Linux%29.sublime-settings', '/Preferences%20%28OSX%29.sublime-settings', '/Preferences%20%28Windows%29.sublime-settings'], 'uri': 'sublime://schemas/preferences.sublime-settings'}, {'fileMatch': ['/sublime-package.json'], 'uri': 'sublime://schemas/sublime-package-schema'}, {'fileMatch': ['/tsconfig.json', '/tsconfig.*.json', '/tsconfig-*.json'], 'uri': 'sublime://schemas/tsconfig'}, {'fileMatch': ['/jsconfig.json', '/jsconfig.*.json'], 'uri': 'sublime://schemas/jsconfig'}, {'uri': 'sublime://schemas/json-with-comments'}, {'fileMatch': ['/.angular-cli.json', '/angular-cli.json'], 'uri': 'https://raw.githubusercontent.com/angular/angular-cli/master/packages/angular/cli/lib/config/schema.json'}, {'fileMatch': ['/apple-app-site-association'], 'uri': 'https://json.schemastore.org/apple-app-site-association'}, {'fileMatch': ['/appsscript.json'], 'uri': 'https://json.schemastore.org/appsscript'}, {'fileMatch': ['/appsettings.json', '/appsettings.*.json'], 'uri': 'https://json.schemastore.org/appsettings'}, {'fileMatch': ['/arc.json'], 'uri': 'https://raw.githubusercontent.com/architect/parser/master/schema.json'}, {'fileMatch': ['/.avsc'], 'uri': 'https://json.schemastore.org/avro-avsc'}, {'fileMatch': ['/deployment.template.json', '/deployment.*.template.json'], 'uri': 'https://json.schemastore.org/azure-iot-edge-deployment-template-2.0'}, {'fileMatch': ['/manifest.json'], 'uri': 'https://json.schemastore.org/foxx-manifest'}, {'fileMatch': ['/*.asmdef'], 'uri': 'https://json.schemastore.org/asmdef'}, {'fileMatch': ['/.babelrc', '/babel.config.json'], 'uri': 'https://json.schemastore.org/babelrc'}, {'fileMatch': ['/.backportrc.json'], 'uri': 'https://json.schemastore.org/backportrc'}, {'fileMatch': ['/.bootstraprc'], 'uri': 'https://json.schemastore.org/bootstraprc'}, {'fileMatch': ['/bower.json', '/.bower.json'], 'uri': 'https://json.schemastore.org/bower'}, {'fileMatch': ['/.bowerrc'], 'uri': 'https://json.schemastore.org/bowerrc'}, {'fileMatch': ['/.suite.json', '/.xsuite.json'], 'uri': 'https://json.schemastore.org/bozr'}, {'fileMatch': ['/bsconfig.json'], 'uri': 'https://bucklescript.github.io/bucklescript/docson/build-schema.json'}, {'fileMatch': ['/buildkite.json', '/buildkite.*.json', '/.buildkite/pipeline.json', '/.buildkite/pipeline.*.json'], 'uri': 'https://raw.githubusercontent.com/buildkite/pipeline-schema/master/schema.json'}, {'fileMatch': ['/bundleconfig.json'], 'uri': 'https://json.schemastore.org/bundleconfig'}, {'fileMatch': ['/.clasp.json'], 'uri': 'https://json.schemastore.org/clasp'}, {'fileMatch': ['/compilerconfig.json'], 'uri': 'https://json.schemastore.org/compilerconfig'}, {'fileMatch': ['/compile_commands.json'], 'uri': 'https://json.schemastore.org/compile-commands'}, {'fileMatch': ['/commands.json'], 'uri': 'https://json.schemastore.org/commands'}, {'fileMatch': ['/cosmos.config.json'], 'uri': 'https://json.schemastore.org/cosmos-config'}, {'fileMatch': ['/chutzpah.json'], 'uri': 'https://json.schemastore.org/chutzpah'}, {'fileMatch': ['/contentmanifest.json'], 'uri': 'https://json.schemastore.org/vsix-manifestinjection'}, {'fileMatch': ['/cloudbuild.json', '/*.cloudbuild.json'], 'uri': 'https://json.schemastore.org/cloudbuild'}, {'fileMatch': ['/*.cf.json', '/cloudformation.json'], 'uri': 'https://raw.githubusercontent.com/awslabs/goformation/master/schema/cloudformation.schema.json'}, {'fileMatch': ['/*.sam.json', '/sam.json'], 'uri': 'https://raw.githubusercontent.com/awslabs/goformation/master/schema/sam.schema.json'}, {'fileMatch': ['/coffeelint.json'], 'uri': 'https://json.schemastore.org/coffeelint'}, {'fileMatch': ['/composer.json'], 'uri': 'https://json.schemastore.org/composer'}, {'fileMatch': ['/component.json'], 'uri': 'https://json.schemastore.org/component'}, {'fileMatch': ['/config.json'], 'uri': 'https://json.schemastore.org/config'}, {'fileMatch': ['/contribute.json'], 'uri': 'https://json.schemastore.org/contribute'}, {'fileMatch': ['/cypress.json'], 'uri': 'https://raw.githubusercontent.com/cypress-io/cypress/develop/cli/schema/cypress.schema.json'}, {'fileMatch': ['/.creatomic'], 'uri': 'https://json.schemastore.org/creatomic'}, {'fileMatch': ['/.cspell.json', '/cspell.json', '/cSpell.json'], 'uri': 'https://raw.githubusercontent.com/streetsidesoftware/cspell/master/cspell.schema.json'}, {'fileMatch': ['/.csscomb.json'], 'uri': 'https://json.schemastore.org/csscomb'}, {'fileMatch': ['/.csslintrc'], 'uri': 'https://json.schemastore.org/csslintrc'}, {'fileMatch': ['/.dla.json'], 'uri': 'https://json.schemastore.org/datalogic-scan2deploy-android'}, {'fileMatch': ['/.dlc.json'], 'uri': 'https://json.schemastore.org/datalogic-scan2deploy-ce'}, {'fileMatch': ['/debugsettings.json'], 'uri': 'https://json.schemastore.org/debugsettings'}, {'fileMatch': ['/docfx.json'], 'uri': 'https://json.schemastore.org/docfx'}, {'fileMatch': ['/.dolittle/artifacts.json'], 'uri': 'https://raw.githubusercontent.com/dolittle/DotNET.SDK/master/Schemas/Artifacts.Configuration/artifacts.json'}, {'fileMatch': ['/bounded-context.json'], 'uri': 'https://raw.githubusercontent.com/dolittle/Runtime/master/Schemas/Applications.Configuration/bounded-context.json'}, {'fileMatch': ['/.dolittle/event-horizons.json'], 'uri': 'https://raw.githubusercontent.com/dolittle/Runtime/master/Schemas/Events/event-horizons.json'}, {'fileMatch': ['/.dolittle/resources.json'], 'uri': 'https://raw.githubusercontent.com/dolittle/DotNET.Fundamentals/master/Schemas/ResourceTypes.Configuration/resources.json'}, {'fileMatch': ['/.dolittle/server.json'], 'uri': 'https://raw.githubusercontent.com/dolittle/Runtime/master/Schemas/Server/server.json'}, {'fileMatch': ['/.dolittle/tenants.json'], 'uri': 'https://raw.githubusercontent.com/dolittle/Runtime/master/Schemas/Tenancy/tenants.json'}, {'fileMatch': ['/.dolittle/tenant-map.json'], 'uri': 'https://raw.githubusercontent.com/dolittle/DotNET.Fundamentals/master/Schemas/Tenancy.Configuration/tenant-map.json'}, {'fileMatch': ['/.dolittle/topology.json'], 'uri': 'https://raw.githubusercontent.com/dolittle/DotNET.SDK/master/Schemas/Applications.Configuration/topology.json'}, {'fileMatch': ['/dotnetcli.host.json'], 'uri': 'https://json.schemastore.org/dotnetcli.host'}, {'fileMatch': ['/epr-manifest.json'], 'uri': 'https://json.schemastore.org/epr-manifest'}, {'fileMatch': ['/electron-builder.json'], 'uri': 'https://json.schemastore.org/electron-builder'}, {'fileMatch': ['/app.json'], 'uri': 'https://json.schemastore.org/expo-37.0.0.json'}, {'fileMatch': ['/.eslintrc', '/.eslintrc.json'], 'uri': 'https://json.schemastore.org/eslintrc'}, {'fileMatch': ['/fabric.mod.json'], 'uri': 'https://json.schemastore.org/fabric.mod.json'}, {'fileMatch': ['/fantomas-config.json'], 'uri': 'https://json.schemastore.org/fantomas'}, {'fileMatch': ['/function.json'], 'uri': 'https://json.schemastore.org/function'}, {'fileMatch': ['/gitversion.json'], 'uri': 'https://json.schemastore.org/gitversion'}, {'fileMatch': ['/global.json'], 'uri': 'https://json.schemastore.org/global'}, {'fileMatch': ['/.meshrc.json', '/.meshrc.js'], 'uri': 'https://raw.githubusercontent.com/Urigo/graphql-mesh/master/packages/types/src/config-schema.json'}, {'fileMatch': ['/graphql.config.json', '/graphql.config.js', '/.graphqlrc', '/.graphqlrc.json', '/.graphqlrc.js'], 'uri': 'https://raw.githubusercontent.com/kamilkisiela/graphql-config/master/config-schema.json'}, {'fileMatch': ['/codegen.json', '/codegen.js', '/.codegen.json', '/.codegen.js'], 'uri': 'https://raw.githubusercontent.com/dotansimha/graphql-code-generator/master/website/static/config.schema.json'}, {'fileMatch': ['/copy.json'], 'uri': 'https://json.schemastore.org/grunt-copy-task'}, {'fileMatch': ['/clean.json'], 'uri': 'https://json.schemastore.org/grunt-clean-task'}, {'fileMatch': ['/cssmin.json'], 'uri': 'https://json.schemastore.org/grunt-cssmin-task'}, {'fileMatch': ['/jshint.json'], 'uri': 'https://json.schemastore.org/grunt-jshint-task'}, {'fileMatch': ['/watch.json'], 'uri': 'https://json.schemastore.org/grunt-watch-task'}, {'fileMatch': ['/grunt/*.json', '/*-tasks.json'], 'uri': 'https://json.schemastore.org/grunt-task'}, {'fileMatch': ['/haxelib.json'], 'uri': 'https://json.schemastore.org/haxelib'}, {'fileMatch': ['/host.json'], 'uri': 'https://json.schemastore.org/host'}, {'fileMatch': ['/host-meta.json'], 'uri': 'https://json.schemastore.org/host-meta'}, {'fileMatch': ['/.htmlhintrc'], 'uri': 'https://json.schemastore.org/htmlhint'}, {'fileMatch': ['/imageoptimizer.json'], 'uri': 'https://json.schemastore.org/imageoptimizer'}, {'fileMatch': ['/.jsbeautifyrc'], 'uri': 'https://json.schemastore.org/jsbeautifyrc'}, {'fileMatch': ['/.jsbeautifyrc'], 'uri': 'https://json.schemastore.org/jsbeautifyrc-nested'}, {'fileMatch': ['/.jscsrc', '/jscsrc.json'], 'uri': 'https://json.schemastore.org/jscsrc'}, {'fileMatch': ['/.jshintrc'], 'uri': 'https://json.schemastore.org/jshintrc'}, {'fileMatch': ['/.jsinspectrc'], 'uri': 'https://json.schemastore.org/jsinspectrc'}, {'fileMatch': ['/*.schema.json'], 'uri': 'https://jsonapi.org/schema'}, {'fileMatch': ['/feed.json'], 'uri': 'https://json.schemastore.org/feed'}, {'fileMatch': ['/*.jsonld'], 'uri': 'https://json.schemastore.org/jsonld'}, {'fileMatch': ['/*.patch'], 'uri': 'https://json.schemastore.org/json-patch'}, {'fileMatch': ['/jsconfig.json'], 'uri': 'https://json.schemastore.org/jsconfig'}, {'fileMatch': ['/launchsettings.json'], 'uri': 'https://json.schemastore.org/launchsettings'}, {'fileMatch': ['/lerna.json'], 'uri': 'https://json.schemastore.org/lerna'}, {'fileMatch': ['/libman.json'], 'uri': 'https://json.schemastore.org/libman'}, {'fileMatch': ['/localazy.json'], 'uri': 'https://raw.githubusercontent.com/localazy/cli-schema/master/localazy.json'}, {'fileMatch': ['/*.lsdl.json'], 'uri': 'https://json.schemastore.org/lsdlschema'}, {'fileMatch': ['/mimetypes.json'], 'uri': 'https://json.schemastore.org/mimetypes'}, {'fileMatch': ['/.modernizrrc'], 'uri': 'https://json.schemastore.org/modernizrrc'}, {'fileMatch': ['/mycode.json'], 'uri': 'https://json.schemastore.org/mycode'}, {'fileMatch': ['/.nestcli.json', '/.nest-cli.json', '/nest-cli.json', '/nest.json'], 'uri': 'https://json.schemastore.org/nest-cli'}, {'fileMatch': ['/.nodehawkrc'], 'uri': 'https://json.schemastore.org/nodehawkrc'}, {'fileMatch': ['/nodemon.json'], 'uri': 'https://json.schemastore.org/nodemon'}, {'fileMatch': ['/.npmpackagejsonlintrc', '/npmpackagejsonlintrc.json', '/.npmpackagejsonlintrc.json'], 'uri': 'https://json.schemastore.org/npmpackagejsonlintrc'}, {'fileMatch': ['/nswag.json'], 'uri': 'https://json.schemastore.org/nswag'}, {'fileMatch': ['/ocelot.json'], 'uri': 'https://json.schemastore.org/ocelot'}, {'fileMatch': ['/omnisharp.json'], 'uri': 'https://json.schemastore.org/omnisharp'}, {'fileMatch': ['/openapi.json'], 'uri': 'https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/schemas/v3.0/schema.json'}, {'fileMatch': ['/kratos.json'], 'uri': 'https://raw.githubusercontent.com/ory/kratos/master/.schema/version.schema.json'}, {'fileMatch': ['/package.json'], 'uri': 'https://json.schemastore.org/package'}, {'fileMatch': ['/package.manifest'], 'uri': 'https://json.schemastore.org/package.manifest'}, {'fileMatch': ['/pattern.json'], 'uri': 'https://json.schemastore.org/pattern'}, {'fileMatch': ['/.prettierrc', '/.prettierrc.json'], 'uri': 'https://json.schemastore.org/prettierrc'}, {'fileMatch': ['/project.json'], 'uri': 'https://json.schemastore.org/project'}, {'fileMatch': ['/*.rules'], 'uri': 'https://json.schemastore.org/prometheus.rules'}, {'fileMatch': ['/proxies.json'], 'uri': 'https://json.schemastore.org/proxies'}, {'fileMatch': ['/pyrseas-0.8.json'], 'uri': 'https://json.schemastore.org/pyrseas-0.8'}, {'fileMatch': ['/*.resjson'], 'uri': 'https://json.schemastore.org/resjson'}, {'fileMatch': ['/resume.json'], 'uri': 'https://json.schemastore.org/resume'}, {'fileMatch': ['/renovate.json', '/renovate.json5', '/.github/renovate.json', '/.github/renovate.json5', '/.renovaterc', '/.renovaterc.json'], 'uri': 'https://docs.renovatebot.com/renovate-schema.json'}, {'fileMatch': ['/settings.job'], 'uri': 'https://json.schemastore.org/settings.job'}, {'fileMatch': ['/skyuxconfig.json', '/skyuxconfig.*.json'], 'uri': 'https://raw.githubusercontent.com/blackbaud/skyux-builder/master/skyuxconfig-schema.json'}, {'fileMatch': ['/.solidarity', '/.solidarity.json'], 'uri': 'https://json.schemastore.org/solidaritySchema'}, {'fileMatch': ['/*.map'], 'uri': 'https://json.schemastore.org/sourcemap-v3'}, {'fileMatch': ['/*.mixins.json'], 'uri': 'https://json.schemastore.org/sponge-mixins'}, {'fileMatch': ['/*.sprite'], 'uri': 'https://json.schemastore.org/sprite'}, {'fileMatch': ['/stryker.conf.json', '/stryker-*.conf.json'], 'uri': 'https://raw.githubusercontent.com/stryker-mutator/stryker/master/packages/api/schema/stryker-core.json'}, {'fileMatch': ['/stylecop.json'], 'uri': 'https://raw.githubusercontent.com/DotNetAnalyzers/StyleCopAnalyzers/master/StyleCop.Analyzers/StyleCop.Analyzers/Settings/stylecop.schema.json'}, {'fileMatch': ['/.stylelintrc', '/stylelintrc.json', '/.stylelintrc.json'], 'uri': 'https://json.schemastore.org/stylelintrc'}, {'fileMatch': ['/swagger.json'], 'uri': 'https://json.schemastore.org/swagger-2.0'}, {'fileMatch': ['/.template.config/template.json'], 'uri': 'https://json.schemastore.org/template'}, {'fileMatch': ['/templatesources.json'], 'uri': 'https://json.schemastore.org/templatesources'}, {'fileMatch': ['/*.tmLanguage.json'], 'uri': 'https://raw.githubusercontent.com/Septh/tmlanguage/master/tmLanguage.schema.json'}, {'fileMatch': ['/tsconfig.json'], 'uri': 'https://json.schemastore.org/tsconfig'}, {'fileMatch': ['/tsd.json'], 'uri': 'https://json.schemastore.org/tsd'}, {'fileMatch': ['/.tsdrc'], 'uri': 'https://json.schemastore.org/tsdrc'}, {'fileMatch': ['/ts-force-config.json'], 'uri': 'https://json.schemastore.org/ts-force-config'}, {'fileMatch': ['/tslint.json'], 'uri': 'https://json.schemastore.org/tslint'}, {'fileMatch': ['/typewiz.json'], 'uri': 'https://json.schemastore.org/typewiz'}, {'fileMatch': ['/typings.json'], 'uri': 'https://json.schemastore.org/typings'}, {'fileMatch': ['/.typingsrc'], 'uri': 'https://json.schemastore.org/typingsrc'}, {'fileMatch': ['/up.json'], 'uri': 'https://json.schemastore.org/up.json'}, {'fileMatch': ['/.manifest'], 'uri': 'https://json.schemastore.org/ui5-manifest'}, {'fileMatch': ['/webapp/manifest.json', '/src/main/webapp/manifest.json'], 'uri': 'https://raw.githubusercontent.com/SAP/ui5-manifest/master/schema.json'}, {'fileMatch': ['/*.vg', '/*.vg.json'], 'uri': 'https://json.schemastore.org/vega'}, {'fileMatch': ['/*.vl', '/*.vl.json'], 'uri': 'https://json.schemastore.org/vega-lite'}, {'fileMatch': ['/version.json'], 'uri': 'https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json'}, {'fileMatch': ['/*vim*/addon-info.json'], 'uri': 'https://json.schemastore.org/vim-addon-info'}, {'fileMatch': ['/.vsls.json'], 'uri': 'https://json.schemastore.org/vsls'}, {'fileMatch': ['/vs-2017.3.host.json'], 'uri': 'https://json.schemastore.org/vs-2017.3.host'}, {'fileMatch': ['/*.filenesting.json', '/.filenesting.json'], 'uri': 'https://json.schemastore.org/vs-nesting'}, {'fileMatch': ['/*.vsconfig'], 'uri': 'https://json.schemastore.org/vsconfig'}, {'fileMatch': ['/*.vsext'], 'uri': 'https://json.schemastore.org/vsext'}, {'fileMatch': ['/vs-publish.json'], 'uri': 'https://json.schemastore.org/vsix-publish'}, {'fileMatch': ['/vss-extension.json'], 'uri': 'https://json.schemastore.org/vss-extension'}, {'fileMatch': ['/manifest.json'], 'uri': 'https://json.schemastore.org/webextension'}, {'fileMatch': ['/manifest.json', '/*.webmanifest'], 'uri': 'https://json.schemastore.org/web-manifest'}, {'fileMatch': ['/webjobs-list.json'], 'uri': 'https://json.schemastore.org/webjobs-list'}, {'fileMatch': ['/webjobpublishsettings.json'], 'uri': 'https://json.schemastore.org/webjob-publish-settings'}, {'fileMatch': ['/web-types.json', '/*.web-types.json'], 'uri': 'https://json.schemastore.org/web-types'}, {'fileMatch': ['/*.version'], 'uri': 'https://raw.githubusercontent.com/linuxgurugamer/KSPAddonVersionChecker/master/KSP-AVC.schema.json'}, {'fileMatch': ['/*.ckan'], 'uri': 'https://raw.githubusercontent.com/KSP-CKAN/CKAN/master/CKAN.schema'}, {'fileMatch': ['/xunit.runner.json'], 'uri': 'https://json.schemastore.org/xunit.runner.schema'}, {'fileMatch': ['/*.servicehub.service.json'], 'uri': 'https://json.schemastore.org/servicehub.service.schema'}, {'fileMatch': ['/servicehub.config.json'], 'uri': 'https://json.schemastore.org/servicehub.config.schema'}, {'fileMatch': ['/*.cryproj'], 'uri': 'https://json.schemastore.org/cryproj.52.schema'}, {'fileMatch': ['/*.cryproj'], 'uri': 'https://json.schemastore.org/cryproj.53.schema'}, {'fileMatch': ['/*.cryproj'], 'uri': 'https://json.schemastore.org/cryproj.54.schema'}, {'fileMatch': ['/*.cryproj'], 'uri': 'https://json.schemastore.org/cryproj.55.schema'}, {'fileMatch': ['/*.cryproj'], 'uri': 'https://json.schemastore.org/cryproj.dev.schema'}, {'fileMatch': ['/*.cryproj'], 'uri': 'https://json.schemastore.org/cryproj'}, {'fileMatch': ['/typedoc.json'], 'uri': 'https://json.schemastore.org/typedoc'}, {'fileMatch': ['/.huskyrc', '/.huskyrc.json'], 'uri': 'https://json.schemastore.org/huskyrc'}, {'fileMatch': ['/.lintstagedrc', '/.lintstagedrc.json'], 'uri': 'https://json.schemastore.org/lintstagedrc.schema'}, {'fileMatch': ['/*.mtaext'], 'uri': 'https://json.schemastore.org/mtaext'}, {'fileMatch': ['/xs-app.json'], 'uri': 'https://json.schemastore.org/xs-app.json'}, {'fileMatch': ['/hemtt.json', '/hemtt.toml'], 'uri': 'https://json.schemastore.org/hemtt-0.6.2'}, {'fileMatch': ['/now.json'], 'uri': 'https://json.schemastore.org/now'}, {'fileMatch': ['/BizTalkServerInventory.json'], 'uri': 'https://json.schemastore.org/BizTalkServerApplicationSchema'}, {'fileMatch': ['/.httpmockrc', '/.httpmock.json'], 'uri': 'https://json.schemastore.org/httpmockrc'}, {'fileMatch': ['/.nl.json', '/.neoload.json'], 'uri': 'https://raw.githubusercontent.com/Neotys-Labs/neoload-cli/master/resources/as-code.latest.schema.json'}, {'fileMatch': ['/*.har'], 'uri': 'https://raw.githubusercontent.com/ahmadnassri/har-schema/master/lib/har.json'}, {'fileMatch': ['/conf.js*', '/jsdoc.js*'], 'uri': 'https://json.schemastore.org/jsdoc-1.0.0'}, {'fileMatch': ['/.commitlintrc', '/.commitlintrc.json'], 'uri': 'https://json.schemastore.org/commitlintrc'}, {'fileMatch': ['/*.tokenlist.json'], 'uri': 'https://uniswap.org/tokenlist.schema.json'}, {'fileMatch': ['/**/*devinit*.json'], 'uri': 'https://json.schemastore.org/devinit.schema-1.0'}, {'fileMatch': ['/LSP-json.sublime-settings'], 'uri': 'sublime://settings/0'}, {'url': 'https://raw.githubusercontent.com/microsoft/pyright/master/client/schemas/pyrightconfig.schema.json', 'fileMatch': ['pyrightconfig.json']}]
lsp-json: C:\Users\Lehdhili\AppData\Local\Sublime Text 3\Cache\LSP-json\language-server\out\jsonServer.js:51
lsp-json: const protocol = uri.substr(0, uri.indexOf(':'));
lsp-json: ^
lsp-json: 
lsp-json: TypeError: Cannot read property 'substr' of undefined
lsp-json: at JSONSchemaService.requestService (C:\Users\Lehdhili\AppData\Local\Sublime Text 3\Cache\LSP-json\language-server\out\jsonServer.js:51:34)
lsp-json: at JSONSchemaService.loadSchema (C:\Users\Lehdhili\AppData\Local\Sublime Text 3\Cache\LSP-json\language-server\node_modules\vscode-json-languageservice\lib\umd\services\jsonSchemaService.js:268:25)
lsp-json: at SchemaHandle.getUnresolvedSchema (C:\Users\Lehdhili\AppData\Local\Sublime Text 3\Cache\LSP-json\language-server\node_modules\vscode-json-languageservice\lib\umd\services\jsonSchemaService.js:71:54)
lsp-json: at SchemaHandle.getResolvedSchema (C:\Users\Lehdhili\AppData\Local\Sublime Text 3\Cache\LSP-json\language-server\node_modules\vscode-json-languageservice\lib\umd\services\jsonSchemaService.js:78:44)
lsp-json: at JSONSchemaService.getSchemaForResource (C:\Users\Lehdhili\AppData\Local\Sublime Text 3\Cache\LSP-json\language-server\node_modules\vscode-json-languageservice\lib\umd\services\jsonSchemaService.js:471:100)
lsp-json: at JSONValidation.doValidation (C:\Users\Lehdhili\AppData\Local\Sublime Text 3\Cache\LSP-json\language-server\node_modules\vscode-json-languageservice\lib\umd\services\jsonValidation.js:102:43)
lsp-json: at validateTextDocument (C:\Users\Lehdhili\AppData\Local\Sublime Text 3\Cache\LSP-json\language-server\out\jsonServer.js:286:25)
lsp-json: at Timeout._onTimeout (C:\Users\Lehdhili\AppData\Local\Sublime Text 3\Cache\LSP-json\language-server\out\jsonServer.js:269:13)
lsp-json: at listOnTimeout (internal/timers.js:551:17)
lsp-json: at processTimers (internal/timers.js:494:7)

ST: 3211

macOS High Sierra: Failed resolving Node.js Runtime

I'm having this issue on macOS High Sierra 10.13.6 and Sublime Text build 4169:

Failed to start LSP-json - disabling for this window for the duration of the current session.
Re-enable by running "LSP: Enable Language Server In Project" from the Command Palette.

--- Error: ---
Failed resolving Node.js Runtime. Please check in the console for more details.
  • No nvm,
  • node 17.9.1 is in /usr/local/bin/, which is in PATH,
  • /usr/local/bin/ is included when I run import os; os.environ["PATH"] from ST console,
  • I use zsh.

I had this exact issue on Linux the other day, but it offered to install a new node instance (which really sucks in its own way, sorry, I had to) and that fixed it. That is not the case now, it just throws the message at me.

This and this didn't help at all. Any ideas?

`"ruler_style"` missing

ST4134 added the "ruler_style" setting.

Also "rulers" may now be an array of [column, ruler_style] arrays.

The plugin works only after the second opening of the json file not from the current workspace folder

Issue

  1. Open any workspace
  2. Open a json file not from the current workspace folder
  3. After lsp-json initialized, there is no LSP functionality and no lsp-json shown at the bottom-left corner. After hover server returns None:
:: --> lsp-json initialize(1): {'processId': 2320, 'initializationOptions': {'customCapabilities': {'rangeFormatting': {'editLimit': 1000}}, 'provideFormatter': True}, 'rootUri': 'file:///F:/Dev/Stayanka_Add-on/src', 'rootPath': 'F:\\Dev\\Stayanka_Add-on\\src', 'workspaceFolders': [{'name': 'src', 'uri': 'file:///F:/Dev/Stayanka_Add-on/src'}], 'capabilities': {'textDocument': {'references': {}, 'implementation': {'linkSupport': True}, 'synchronization': {'willSave': True, 'willSaveWaitUntil': True, 'didSave': True}, 'definition': {'linkSupport': True}, 'hover': {'contentFormat': ['markdown', 'plaintext']}, 'rename': {}, 'formatting': {}, 'completion': {'completionItemKind': {'valueSet': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25]}, 'completionItem': {'snippetSupport': True}}, 'documentSymbol': {'symbolKind': {'valueSet': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26]}}, 'documentHighlight': {}, 'typeDefinition': {'linkSupport': True}, 'signatureHelp': {'signatureInformation': {'documentationFormat': ['markdown', 'plaintext'], 'parameterInformation': {'labelOffsetSupport': True}}}, 'codeAction': {'codeActionLiteralSupport': {'codeActionKind': {'valueSet': []}}}, 'rangeFormatting': {}, 'colorProvider': {}, 'declaration': {'linkSupport': True}, 'publishDiagnostics': {'relatedInformation': True}}, 'workspace': {'executeCommand': {}, 'configuration': True, 'applyEdit': True, 'symbol': {'symbolKind': {'valueSet': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26]}}, 'didChangeConfiguration': {}, 'workspaceFolders': True}}}
:: <<< lsp-json 1: {'capabilities': {'hoverProvider': True, 'foldingRangeProvider': True, 'documentSymbolProvider': True, 'completionProvider': {'triggerCharacters': ['"', ':'], 'resolveProvider': True}, 'textDocumentSync': 2, 'selectionRangeProvider': True, 'documentRangeFormattingProvider': True, 'colorProvider': {}}}
::  -> lsp-json workspace/didChangeConfiguration: {'settings': {'json': {'format': {'enable': True}, 'schemas': [{'fileMatch': ['*.sublime-build'], 'url': 'sublime://schemas/sublime-build'}, {'fileMatch': ['*.sublime-color-scheme', '*.hidden-color-scheme'], 'url': 'sublime://schemas/sublime-color-scheme'}, {'fileMatch': ['*.sublime-commands'], 'url': 'sublime://schemas/sublime-commands'}, {'fileMatch': ['*.sublime-keymap'], 'url': 'sublime://schemas/sublime-keymap'}, {'fileMatch': ['*.sublime-macro'], 'url': 'sublime://schemas/sublime-macro'}, {'fileMatch': ['*.sublime-menu'], 'url': 'sublime://schemas/sublime-menu'}, {'fileMatch': ['*.sublime-mousemap'], 'url': 'sublime://schemas/sublime-mousemap'}, {'fileMatch': ['*.sublime-project'], 'url': 'sublime://schemas/sublime-project'}, {'fileMatch': ['*.sublime-settings'], 'url': 'sublime://schemas/sublime-settings'}, {'fileMatch': ['*.sublime-theme', '*.hidden-theme'], 'url': 'sublime://schemas/sublime-theme'}, {'fileMatch': ['/.vscode/*.json'], 'url': 'sublime://schemas/vscode-base'}, {'fileMatch': ['/package.json'], 'url': 'sublime://schemas/package-json-eslint'}, {'fileMatch': ['tsconfig.json', 'tsconfig.*.json', 'tsconfig-*.json'], 'url': 'sublime://schemas/tsconfig'}, {'fileMatch': ['jsconfig.json', 'jsconfig.*.json'], 'url': 'sublime://schemas/jsconfig'}, {'fileMatch': ['.angular-cli.json', 'angular-cli.json'], 'url': 'https://raw.githubusercontent.com/angular/angular-cli/master/packages/angular/cli/lib/config/schema.json'}, {'fileMatch': ['tasks/*.yml', 'tasks/*.yaml'], 'url': 'http://json.schemastore.org/ansible-stable-2.9'}, {'fileMatch': ['apple-app-site-association'], 'url': 'http://json.schemastore.org/apple-app-site-association'}, {'fileMatch': ['appsscript.json'], 'url': 'http://json.schemastore.org/appsscript'}, {'fileMatch': ['appsettings.json', 'appsettings.*.json'], 'url': 'http://json.schemastore.org/appsettings'}, {'fileMatch': ['appveyor.yml'], 'url': 'http://json.schemastore.org/appveyor'}, {'fileMatch': ['arc.json', 'arc.yml', 'arc.yaml'], 'url': 'https://raw.githubusercontent.com/architect/parser/master/schema.json'}, {'fileMatch': ['.avsc'], 'url': 'http://json.schemastore.org/avro-avsc'}, {'fileMatch': ['deployment.template.json', 'deployment.*.template.json'], 'url': 'http://json.schemastore.org/azure-iot-edge-deployment-template-2.0'}, {'fileMatch': ['manifest.json'], 'url': 'http://json.schemastore.org/foxx-manifest'}, {'fileMatch': ['*.asmdef'], 'url': 'http://json.schemastore.org/asmdef'}, {'fileMatch': ['.babelrc', 'babel.config.json'], 'url': 'http://json.schemastore.org/babelrc'}, {'fileMatch': ['.backportrc.json'], 'url': 'http://json.schemastore.org/backportrc'}, {'fileMatch': ['batect.yml'], 'url': 'https://batect.dev/configSchema.json'}, {'fileMatch': ['.bootstraprc'], 'url': 'http://json.schemastore.org/bootstraprc'}, {'fileMatch': ['bower.json', '.bower.json'], 'url': 'http://json.schemastore.org/bower'}, {'fileMatch': ['.bowerrc'], 'url': 'http://json.schemastore.org/bowerrc'}, {'fileMatch': ['behat.yml', '*.behat.yml'], 'url': 'http://json.schemastore.org/behat'}, {'fileMatch': ['.suite.json', '.xsuite.json'], 'url': 'http://json.schemastore.org/bozr'}, {'fileMatch': ['bsconfig.json'], 'url': 'https://bucklescript.github.io/bucklescript/docson/build-schema.json'}, {'fileMatch': ['plugin.yml'], 'url': 'http://json.schemastore.org/bukkit-plugin'}, {'fileMatch': ['buildkite.yml', 'buildkite.yaml', 'buildkite.json', 'buildkite.*.yml', 'buildkite.*.yaml', 'buildkite.*.json', '.buildkite/pipeline.yml', '.buildkite/pipeline.yaml', '.buildkite/pipeline.json', '.buildkite/pipeline.*.yml', '.buildkite/pipeline.*.yaml', '.buildkite/pipeline.*.json'], 'url': 'https://raw.githubusercontent.com/buildkite/pipeline-schema/master/schema.json'}, {'fileMatch': ['.build.yml'], 'url': 'http://json.schemastore.org/sourcehut-build'}, {'fileMatch': ['bundleconfig.json'], 'url': 'http://json.schemastore.org/bundleconfig'}, {'fileMatch': ['plugin.yml', 'bungee.yml'], 'url': 'http://json.schemastore.org/bungee-plugin'}, {'fileMatch': ['.circleci/config.yml'], 'url': 'http://json.schemastore.org/circleciconfig'}, {'fileMatch': ['.cirrus.yml'], 'url': 'http://json.schemastore.org/cirrus'}, {'fileMatch': ['.clasp.json'], 'url': 'http://json.schemastore.org/clasp'}, {'fileMatch': ['.codecov.yml', 'codecov.yml'], 'url': 'http://json.schemastore.org/codecov'}, {'fileMatch': ['compilerconfig.json'], 'url': 'http://json.schemastore.org/compilerconfig'}, {'fileMatch': ['compile_commands.json'], 'url': 'http://json.schemastore.org/compile-commands'}, {'fileMatch': ['commands.json'], 'url': 'http://json.schemastore.org/commands'}, {'fileMatch': ['cosmos.config.json'], 'url': 'http://json.schemastore.org/cosmos-config'}, {'fileMatch': ['chutzpah.json'], 'url': 'http://json.schemastore.org/chutzpah'}, {'fileMatch': ['contentmanifest.json'], 'url': 'http://json.schemastore.org/vsix-manifestinjection'}, {'fileMatch': ['pipeline_config.yml'], 'url': 'http://json.schemastore.org/cloud-sdk-pipeline-config-schema.json'}, {'fileMatch': ['cloudbuild.json', 'cloudbuild.yaml', 'cloudbuild.yml', '*.cloudbuild.json', '*.cloudbuild.yaml', '*.cloudbuild.yml'], 'url': 'http://json.schemastore.org/cloudbuild'}, {'fileMatch': ['*.cf.json', '*.cf.yml', '*.cf.yaml', 'cloudformation.json', 'cloudformation.yml', 'cloudformation.yaml'], 'url': 'https://raw.githubusercontent.com/awslabs/goformation/master/schema/cloudformation.schema.json'}, {'fileMatch': ['*.sam.json', '*.sam.yml', '*.sam.yaml', 'sam.json', 'sam.yml', 'sam.yaml'], 'url': 'https://raw.githubusercontent.com/awslabs/goformation/master/schema/sam.schema.json'}, {'fileMatch': ['coffeelint.json'], 'url': 'http://json.schemastore.org/coffeelint'}, {'fileMatch': ['composer.json'], 'url': 'http://json.schemastore.org/composer'}, {'fileMatch': ['component.json'], 'url': 'http://json.schemastore.org/component'}, {'fileMatch': ['config.json'], 'url': 'http://json.schemastore.org/config'}, {'fileMatch': ['contribute.json'], 'url': 'http://json.schemastore.org/contribute'}, {'fileMatch': ['cypress.json'], 'url': 'https://raw.githubusercontent.com/cypress-io/cypress/develop/cli/schema/cypress.schema.json'}, {'fileMatch': ['.creatomic'], 'url': 'http://json.schemastore.org/creatomic'}, {'fileMatch': ['.cspell.json', 'cspell.json', 'cSpell.json'], 'url': 'https://raw.githubusercontent.com/streetsidesoftware/cspell/master/cspell.schema.json'}, {'fileMatch': ['.csscomb.json'], 'url': 'http://json.schemastore.org/csscomb'}, {'fileMatch': ['.csslintrc'], 'url': 'http://json.schemastore.org/csslintrc'}, {'fileMatch': ['.dla.json'], 'url': 'http://json.schemastore.org/datalogic-scan2deploy-android'}, {'fileMatch': ['.dlc.json'], 'url': 'http://json.schemastore.org/datalogic-scan2deploy-ce'}, {'fileMatch': ['debugsettings.json'], 'url': 'http://json.schemastore.org/debugsettings'}, {'fileMatch': ['.dependabot/config.yml'], 'url': 'http://json.schemastore.org/dependabot'}, {'fileMatch': ['docfx.json'], 'url': 'http://json.schemastore.org/docfx'}, {'fileMatch': ['.dolittle/artifacts.json'], 'url': 'https://raw.githubusercontent.com/dolittle/DotNET.SDK/master/Schemas/Artifacts.Configuration/artifacts.json'}, {'fileMatch': ['bounded-context.json'], 'url': 'https://raw.githubusercontent.com/dolittle/Runtime/master/Schemas/Applications.Configuration/bounded-context.json'}, {'fileMatch': ['.dolittle/event-horizons.json'], 'url': 'https://raw.githubusercontent.com/dolittle/Runtime/master/Schemas/Events/event-horizons.json'}, {'fileMatch': ['.dolittle/resources.json'], 'url': 'https://raw.githubusercontent.com/dolittle/DotNET.Fundamentals/master/Schemas/ResourceTypes.Configuration/resources.json'}, {'fileMatch': ['.dolittle/server.json'], 'url': 'https://raw.githubusercontent.com/dolittle/Runtime/master/Schemas/Server/server.json'}, {'fileMatch': ['.dolittle/tenants.json'], 'url': 'https://raw.githubusercontent.com/dolittle/Runtime/master/Schemas/Tenancy/tenants.json'}, {'fileMatch': ['.dolittle/tenant-map.json'], 'url': 'https://raw.githubusercontent.com/dolittle/DotNET.Fundamentals/master/Schemas/Tenancy.Configuration/tenant-map.json'}, {'fileMatch': ['.dolittle/topology.json'], 'url': 'https://raw.githubusercontent.com/dolittle/DotNET.SDK/master/Schemas/Applications.Configuration/topology.json'}, {'fileMatch': ['dotnetcli.host.json'], 'url': 'http://json.schemastore.org/dotnetcli.host'}, {'fileMatch': ['.drone.yml'], 'url': 'http://json.schemastore.org/drone'}, {'fileMatch': ['sites/*.site.yml'], 'url': 'http://json.schemastore.org/drush.site.yml'}, {'fileMatch': ['epr-manifest.json'], 'url': 'http://json.schemastore.org/epr-manifest'}, {'fileMatch': ['electron-builder.json'], 'url': 'http://json.schemastore.org/electron-builder'}, {'fileMatch': ['.eslintrc', '.eslintrc.json', '.eslintrc.yml', '.eslintrc.yaml'], 'url': 'http://json.schemastore.org/eslintrc'}, {'fileMatch': ['fabric.mod.json'], 'url': 'http://json.schemastore.org/fabric-mod-json'}, {'fileMatch': ['fantomas-config.json'], 'url': 'http://json.schemastore.org/fantomas'}, {'fileMatch': ['function.json'], 'url': 'http://json.schemastore.org/function'}, {'fileMatch': ['action.yml'], 'url': 'http://json.schemastore.org/github-action'}, {'fileMatch': ['.github/workflows/**.yml', '.github/workflows/**.yaml'], 'url': 'http://json.schemastore.org/github-workflow'}, {'fileMatch': ['.gitlab-ci.yml'], 'url': 'http://json.schemastore.org/gitlab-ci'}, {'fileMatch': ['.gitpod.yml'], 'url': 'https://gitpod.io/schemas/gitpod-schema.json'}, {'fileMatch': ['global.json'], 'url': 'http://json.schemastore.org/global'}, {'fileMatch': ['copy.json'], 'url': 'http://json.schemastore.org/grunt-copy-task'}, {'fileMatch': ['clean.json'], 'url': 'http://json.schemastore.org/grunt-clean-task'}, {'fileMatch': ['cssmin.json'], 'url': 'http://json.schemastore.org/grunt-cssmin-task'}, {'fileMatch': ['jshint.json'], 'url': 'http://json.schemastore.org/grunt-jshint-task'}, {'fileMatch': ['watch.json'], 'url': 'http://json.schemastore.org/grunt-watch-task'}, {'fileMatch': ['grunt/*.json', '*-tasks.json'], 'url': 'http://json.schemastore.org/grunt-task'}, {'fileMatch': ['haxelib.json'], 'url': 'http://json.schemastore.org/haxelib'}, {'fileMatch': ['host.json'], 'url': 'http://json.schemastore.org/host'}, {'fileMatch': ['host-meta.json'], 'url': 'http://json.schemastore.org/host-meta'}, {'fileMatch': ['.htmlhintrc'], 'url': 'http://json.schemastore.org/htmlhint'}, {'fileMatch': ['imageoptimizer.json'], 'url': 'http://json.schemastore.org/imageoptimizer'}, {'fileMatch': ['_config.yml'], 'url': 'http://json.schemastore.org/jekyll'}, {'fileMatch': ['jenkins-x*.yml'], 'url': 'https://jenkins-x.io/schemas/jx-schema.json'}, {'fileMatch': ['jx-requirements.yml'], 'url': 'https://jenkins-x.io/schemas/jx-requirements.json'}, {'fileMatch': ['.jsbeautifyrc'], 'url': 'http://json.schemastore.org/jsbeautifyrc'}, {'fileMatch': ['.jsbeautifyrc'], 'url': 'http://json.schemastore.org/jsbeautifyrc-nested'}, {'fileMatch': ['.jscsrc', 'jscsrc.json'], 'url': 'http://json.schemastore.org/jscsrc'}, {'fileMatch': ['.jshintrc'], 'url': 'http://json.schemastore.org/jshintrc'}, {'fileMatch': ['.jsinspectrc'], 'url': 'http://json.schemastore.org/jsinspectrc'}, {'fileMatch': ['*.schema.json'], 'url': 'http://jsonapi.org/schema'}, {'fileMatch': ['feed.json'], 'url': 'http://json.schemastore.org/feed'}, {'fileMatch': ['*.jsonld'], 'url': 'http://json.schemastore.org/jsonld'}, {'fileMatch': ['*.patch'], 'url': 'http://json.schemastore.org/json-patch'}, {'fileMatch': ['jsconfig.json'], 'url': 'http://json.schemastore.org/jsconfig'}, {'fileMatch': ['kustomization.yaml', 'kustomization.yml'], 'url': 'http://json.schemastore.org/kustomization'}, {'fileMatch': ['launchsettings.json'], 'url': 'http://json.schemastore.org/launchsettings'}, {'fileMatch': ['lerna.json'], 'url': 'http://json.schemastore.org/lerna'}, {'fileMatch': ['libman.json'], 'url': 'http://json.schemastore.org/libman'}, {'fileMatch': ['*.lsdl.yaml', '*.lsdl.json'], 'url': 'http://json.schemastore.org/lsdlschema'}, {'fileMatch': ['mimetypes.json'], 'url': 'http://json.schemastore.org/mimetypes'}, {'fileMatch': ['.modernizrrc'], 'url': 'http://json.schemastore.org/modernizrrc'}, {'fileMatch': ['mycode.json'], 'url': 'http://json.schemastore.org/mycode'}, {'fileMatch': ['.nodehawkrc'], 'url': 'http://json.schemastore.org/nodehawkrc'}, {'fileMatch': ['nodemon.json'], 'url': 'http://json.schemastore.org/nodemon'}, {'fileMatch': ['.npmpackagejsonlintrc', 'npmpackagejsonlintrc.json', '.npmpackagejsonlintrc.json'], 'url': 'http://json.schemastore.org/npmpackagejsonlintrc'}, {'fileMatch': ['nswag.json'], 'url': 'http://json.schemastore.org/nswag'}, {'fileMatch': ['ocelot.json'], 'url': 'http://json.schemastore.org/ocelot'}, {'fileMatch': ['omnisharp.json'], 'url': 'http://json.schemastore.org/omnisharp'}, {'fileMatch': ['openapi.json', 'openapi.yml', 'openapi.yaml'], 'url': 'https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/schemas/v3.0/schema.json'}, {'fileMatch': ['package.json'], 'url': 'http://json.schemastore.org/package'}, {'fileMatch': ['package.manifest'], 'url': 'http://json.schemastore.org/package.manifest'}, {'fileMatch': ['pattern.json'], 'url': 'http://json.schemastore.org/pattern'}, {'fileMatch': ['plugin.yml'], 'url': 'http://json.schemastore.org/pocketmine-plugin'}, {'fileMatch': ['.phraseapp.yml'], 'url': 'http://json.schemastore.org/phraseapp'}, {'fileMatch': ['.prettierrc', '.prettierrc.json'], 'url': 'http://json.schemastore.org/prettierrc'}, {'fileMatch': ['prisma.yml'], 'url': 'http://json.schemastore.org/prisma'}, {'fileMatch': ['project.json'], 'url': 'http://json.schemastore.org/project'}, {'fileMatch': ['prometheus.yml'], 'url': 'http://json.schemastore.org/prometheus'}, {'fileMatch': ['*.rules'], 'url': 'http://json.schemastore.org/prometheus.rules'}, {'fileMatch': ['proxies.json'], 'url': 'http://json.schemastore.org/proxies'}, {'fileMatch': ['pubspec.yaml'], 'url': 'http://json.schemastore.org/pubspec'}, {'fileMatch': ['pyrseas-0.8.json'], 'url': 'http://json.schemastore.org/pyrseas-0.8'}, {'fileMatch': ['*.resjson'], 'url': 'http://json.schemastore.org/resjson'}, {'fileMatch': ['resume.json'], 'url': 'http://json.schemastore.org/resume'}, {'fileMatch': ['renovate.json', 'renovate.json5', '.github/renovate.json', '.github/renovate.json5', '.renovaterc', '.renovaterc.json'], 'url': 'https://docs.renovatebot.com/renovate-schema.json'}, {'fileMatch': ['settings.job'], 'url': 'http://json.schemastore.org/settings.job'}, {'fileMatch': ['skyuxconfig.json', 'skyuxconfig.*.json'], 'url': 'https://raw.githubusercontent.com/blackbaud/skyux-builder/master/skyuxconfig-schema.json'}, {'fileMatch': ['.snapcraft.yaml', 'snapcraft.yaml'], 'url': 'https://raw.githubusercontent.com/snapcore/snapcraft/master/schema/snapcraft.json'}, {'fileMatch': ['.solidarity', '.solidarity.json'], 'url': 'http://json.schemastore.org/solidaritySchema'}, {'fileMatch': ['*.map'], 'url': 'http://json.schemastore.org/sourcemap-v3'}, {'fileMatch': ['*.sprite'], 'url': 'http://json.schemastore.org/sprite'}, {'fileMatch': ['stryker.conf.json', 'stryker-*.conf.json'], 'url': 'https://raw.githubusercontent.com/stryker-mutator/stryker/master/packages/api/schema/stryker-core.json'}, {'fileMatch': ['stylecop.json'], 'url': 'https://raw.githubusercontent.com/DotNetAnalyzers/StyleCopAnalyzers/master/StyleCop.Analyzers/StyleCop.Analyzers/Settings/stylecop.schema.json'}, {'fileMatch': ['.stylelintrc', 'stylelintrc.json', '.stylelintrc.json'], 'url': 'http://json.schemastore.org/stylelintrc'}, {'fileMatch': ['swagger.json'], 'url': 'http://json.schemastore.org/swagger-2.0'}, {'fileMatch': ['.template.config/template.json'], 'url': 'http://json.schemastore.org/template'}, {'fileMatch': ['templatesources.json'], 'url': 'http://json.schemastore.org/templatesources'}, {'fileMatch': ['*.tmLanguage.json'], 'url': 'https://raw.githubusercontent.com/Septh/tmlanguage/master/tmLanguage.schema.json'}, {'fileMatch': ['.travis.yml'], 'url': 'http://json.schemastore.org/travis'}, {'fileMatch': ['tsconfig.json'], 'url': 'http://json.schemastore.org/tsconfig'}, {'fileMatch': ['tsd.json'], 'url': 'http://json.schemastore.org/tsd'}, {'fileMatch': ['.tsdrc'], 'url': 'http://json.schemastore.org/tsdrc'}, {'fileMatch': ['ts-force-config.json'], 'url': 'http://json.schemastore.org/ts-force-config'}, {'fileMatch': ['tslint.json', 'tslint.yaml', 'tslint.yml'], 'url': 'http://json.schemastore.org/tslint'}, {'fileMatch': ['typewiz.json'], 'url': 'http://json.schemastore.org/typewiz'}, {'fileMatch': ['typings.json'], 'url': 'http://json.schemastore.org/typings'}, {'fileMatch': ['.typingsrc'], 'url': 'http://json.schemastore.org/typingsrc'}, {'fileMatch': ['up.json'], 'url': 'http://json.schemastore.org/up.json'}, {'fileMatch': ['.manifest'], 'url': 'http://json.schemastore.org/ui5-manifest'}, {'fileMatch': ['*.vg', '*.vg.json'], 'url': 'http://json.schemastore.org/vega'}, {'fileMatch': ['*.vl', '*.vl.json'], 'url': 'http://json.schemastore.org/vega-lite'}, {'fileMatch': ['version.json'], 'url': 'https://raw.githubusercontent.com/AArnott/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json'}, {'fileMatch': ['.vsls.json'], 'url': 'http://json.schemastore.org/vsls'}, {'fileMatch': ['vs-2017.3.host.json'], 'url': 'http://json.schemastore.org/vs-2017.3.host'}, {'fileMatch': ['*.filenesting.json', '.filenesting.json'], 'url': 'http://json.schemastore.org/vs-nesting'}, {'fileMatch': ['*.vsconfig'], 'url': 'http://json.schemastore.org/vsconfig'}, {'fileMatch': ['*.vsext'], 'url': 'http://json.schemastore.org/vsext'}, {'fileMatch': ['vs-publish.json'], 'url': 'http://json.schemastore.org/vsix-publish'}, {'fileMatch': ['vss-extension.json'], 'url': 'http://json.schemastore.org/vss-extension'}, {'fileMatch': ['manifest.json'], 'url': 'http://json.schemastore.org/webextension'}, {'fileMatch': ['manifest.json', '*.webmanifest'], 'url': 'http://json.schemastore.org/web-manifest'}, {'fileMatch': ['webjobs-list.json'], 'url': 'http://json.schemastore.org/webjobs-list'}, {'fileMatch': ['webjobpublishsettings.json'], 'url': 'http://json.schemastore.org/webjob-publish-settings'}, {'fileMatch': ['web-types.json', '*.web-types.json'], 'url': 'http://json.schemastore.org/web-types'}, {'fileMatch': ['*.ckan'], 'url': 'http://json.schemastore.org/ksp-ckan'}, {'fileMatch': ['xunit.runner.json'], 'url': 'http://json.schemastore.org/xunit.runner.schema'}, {'fileMatch': ['*.cryproj'], 'url': 'http://json.schemastore.org/cryproj.52.schema'}, {'fileMatch': ['*.cryproj'], 'url': 'http://json.schemastore.org/cryproj.53.schema'}, {'fileMatch': ['*.cryproj'], 'url': 'http://json.schemastore.org/cryproj.54.schema'}, {'fileMatch': ['*.cryproj'], 'url': 'http://json.schemastore.org/cryproj.55.schema'}, {'fileMatch': ['*.cryproj'], 'url': 'http://json.schemastore.org/cryproj.dev.schema'}, {'fileMatch': ['*.cryproj'], 'url': 'http://json.schemastore.org/cryproj'}, {'fileMatch': ['typedoc.json'], 'url': 'http://json.schemastore.org/typedoc'}, {'fileMatch': ['.huskyrc', '.huskyrc.json'], 'url': 'http://json.schemastore.org/huskyrc'}, {'fileMatch': ['.lintstagedrc', '.lintstagedrc.json'], 'url': 'http://json.schemastore.org/lintstagedrc.schema'}, {'fileMatch': ['mta.yaml', 'mta.yml'], 'url': 'http://json.schemastore.org/mta'}, {'fileMatch': ['mtad.yaml', 'mtad.yml'], 'url': 'http://json.schemastore.org/mtad'}, {'fileMatch': ['*.mtaext'], 'url': 'http://json.schemastore.org/mtaext'}, {'fileMatch': ['.opspec/*/*.yml', '.opspec/*/*.yaml'], 'url': 'http://json.schemastore.org/opspec-io-0.1.7'}, {'fileMatch': ['hemtt.json', 'hemtt.toml'], 'url': 'http://json.schemastore.org/hemtt-0.6.2'}, {'fileMatch': ['now.json'], 'url': 'http://json.schemastore.org/now'}, {'fileMatch': ['.taskcat.yml'], 'url': 'https://raw.githubusercontent.com/aws-quickstart/taskcat/master/taskcat/cfg/config_schema.json'}, {'fileMatch': ['BizTalkServerInventory.json'], 'url': 'http://json.schemastore.org/BizTalkServerApplicationSchema'}, {'fileMatch': ['.httpmockrc', '.httpmock.json'], 'url': 'http://json.schemastore.org/httpmockrc'}, {'fileMatch': ['.nl.yaml', '.nl.yml', '.nl.json', '.neoload.yaml', '.neoload.yml', '.neoload.json'], 'url': 'https://raw.githubusercontent.com/Neotys-Labs/neoload-cli/master/resources/as-code.latest.schema.json'}, {'fileMatch': ['release-drafter.yml'], 'url': 'https://raw.githubusercontent.com/release-drafter/release-drafter/master/schema.json'}, {'fileMatch': ['*zuul.d/*.yaml', '*/.zuul.yaml'], 'url': 'https://raw.githubusercontent.com/pycontribs/zuul-lint/master/zuul_lint/zuul-schema.json'}, {'fileMatch': ['briefcase.yaml'], 'url': 'https://raw.githubusercontent.com/microsoft/Briefcase/master/mlbriefcase/briefcase-schema.json'}, {'fileMatch': ['*.har'], 'url': 'https://raw.githubusercontent.com/ahmadnassri/har-schema/master/lib/har.json'}], 'resultLimit': 5000}}}
::  -> lsp-json initialized: {}
:: --> lsp-json textDocument/hover(2): {'position': {'character': 15, 'line': 6}, 'textDocument': {'uri': 'file:///C:/Users/Serega/AppData/Local/Packages/Microsoft.WindowsTerminal_8wekyb3d8bbwe/LocalState/profiles.json'}}
:: <<< lsp-json 2: None
  1. Close and reopen that json file. lsp-json appears in the statusbar, and the server finally working. Hover works fine:
::  -> lsp-json textDocument/didClose: {'textDocument': {'uri': 'file:///C:/Users/Serega/AppData/Local/Packages/Microsoft.WindowsTerminal_8wekyb3d8bbwe/LocalState/profiles.json'}}
::  -> lsp-json textDocument/didOpen
:: --> lsp-json textDocument/documentColor(3): {'textDocument': {'uri': 'file:///C:/Users/Serega/AppData/Local/Packages/Microsoft.WindowsTerminal_8wekyb3d8bbwe/LocalState/profiles.json'}}
:: <<< lsp-json 3: [{'color': {'blue': 1, 'green': 1, 'alpha': 1, 'red': 1}, 'range': {'end': {'character': 40, 'line': 28}, 'start': {'character': 31, 'line': 28}}}, {'color': {'blue': 1, 'green': 1, 'alpha': 1, 'red': 1}, 'range': {'end': {'character': 40, 'line': 37}, 'start': {'character': 31, 'line': 37}}}, {'color': {'blue': 0.9019607843137255, 'green': 0.5843137254901961, 'alpha': 1, 'red': 0}, 'range': {'end': {'character': 40, 'line': 46}, 'start': {'character': 31, 'line': 46}}}, {'color': {'blue': 0.9019607843137255, 'green': 0.5843137254901961, 'alpha': 1, 'red': 0}, 'range': {'end': {'character': 40, 'line': 54}, 'start': {'character': 31, 'line': 54}}}, {'color': {'blue': 0, 'green': 0.34509803921568627, 'alpha': 1, 'red': 0.8588235294117647}, 'range': {'end': {'character': 40, 'line': 62}, 'start': {'character': 31, 'line': 62}}}, {'color': {'blue': 0, 'green': 0.6823529411764706, 'alpha': 1, 'red': 0.9098039215686274}, 'range': {'end': {'character': 40, 'line': 70}, 'start': {'character': 31, 'line': 70}}}, {'color': {'blue': 0, 'green': 0.6509803921568628, 'alpha': 1, 'red': 0.21568627450980393}, 'range': {'end': {'character': 40, 'line': 78}, 'start': {'character': 31, 'line': 78}}}, {'color': {'blue': 0.09019607843137255, 'green': 0.09019607843137255, 'alpha': 1, 'red': 0.09019607843137255}, 'range': {'end': {'character': 35, 'line': 102}, 'start': {'character': 26, 'line': 102}}}, {'color': {'blue': 0.09019607843137255, 'green': 0.09019607843137255, 'alpha': 1, 'red': 0.09019607843137255}, 'range': {'end': {'character': 30, 'line': 103}, 'start': {'character': 21, 'line': 103}}}, {'color': {'blue': 0.8549019607843137, 'green': 0.21568627450980393, 'alpha': 1, 'red': 0}, 'range': {'end': {'character': 29, 'line': 104}, 'start': {'character': 20, 'line': 104}}}, {'color': {'blue': 0.4627450980392157, 'green': 0.4627450980392157, 'alpha': 1, 'red': 0.4627450980392157}, 'range': {'end': {'character': 36, 'line': 105}, 'start': {'character': 27, 'line': 105}}}, {'color': {'blue': 1, 'green': 0.47058823529411764, 'alpha': 1, 'red': 0.23137254901960785}, 'range': {'end': {'character': 35, 'line': 106}, 'start': {'character': 26, 'line': 106}}}, {'color': {'blue': 0.8392156862745098, 'green': 0.8392156862745098, 'alpha': 1, 'red': 0.3803921568627451}, 'range': {'end': {'character': 35, 'line': 107}, 'start': {'character': 26, 'line': 107}}}, {'color': {'blue': 0.047058823529411764, 'green': 0.7764705882352941, 'alpha': 1, 'red': 0.08627450980392157}, 'range': {'end': {'character': 36, 'line': 108}, 'start': {'character': 27, 'line': 108}}}, {'color': {'blue': 0.6196078431372549, 'green': 0, 'alpha': 1, 'red': 0.7058823529411765}, 'range': {'end': {'character': 37, 'line': 109}, 'start': {'character': 28, 'line': 109}}}, {'color': {'blue': 0.33725490196078434, 'green': 0.2823529411764706, 'alpha': 1, 'red': 0.9058823529411765}, 'range': {'end': {'character': 34, 'line': 110}, 'start': {'character': 25, 'line': 110}}}, {'color': {'blue': 0.9490196078431372, 'green': 0.9490196078431372, 'alpha': 1, 'red': 0.9490196078431372}, 'range': {'end': {'character': 36, 'line': 111}, 'start': {'character': 27, 'line': 111}}}, {'color': {'blue': 0.6470588235294118, 'green': 0.9450980392156862, 'alpha': 1, 'red': 0.9764705882352941}, 'range': {'end': {'character': 37, 'line': 112}, 'start': {'character': 28, 'line': 112}}}, {'color': {'blue': 0.8666666666666667, 'green': 0.5882352941176471, 'alpha': 1, 'red': 0.22745098039215686}, 'range': {'end': {'character': 29, 'line': 113}, 'start': {'character': 20, 'line': 113}}}, {'color': {'blue': 0.8666666666666667, 'green': 0.8666666666666667, 'alpha': 1, 'red': 0.8666666666666667}, 'range': {'end': {'character': 35, 'line': 114}, 'start': {'character': 26, 'line': 114}}}, {'color': {'blue': 0.054901960784313725, 'green': 0.6313725490196078, 'alpha': 1, 'red': 0.07450980392156863}, 'range': {'end': {'character': 30, 'line': 115}, 'start': {'character': 21, 'line': 115}}}, {'color': {'blue': 0.596078431372549, 'green': 0.09019607843137255, 'alpha': 1, 'red': 0.5333333333333333}, 'range': {'end': {'character': 31, 'line': 116}, 'start': {'character': 22, 'line': 116}}}, {'color': {'blue': 0.12156862745098039, 'green': 0.058823529411764705, 'alpha': 1, 'red': 0.7725490196078432}, 'range': {'end': {'character': 28, 'line': 117}, 'start': {'character': 19, 'line': 117}}}, {'color': {'blue': 0.8666666666666667, 'green': 0.8666666666666667, 'alpha': 1, 'red': 0.8666666666666667}, 'range': {'end': {'character': 30, 'line': 118}, 'start': {'character': 21, 'line': 118}}}, {'color': {'blue': 0, 'green': 0.611764705882353, 'alpha': 1, 'red': 0.7568627450980392}, 'range': {'end': {'character': 31, 'line': 119}, 'start': {'character': 22, 'line': 119}}}, {'color': {'blue': 0, 'green': 0, 'alpha': 1, 'red': 0}, 'range': {'end': {'character': 33, 'line': 123}, 'start': {'character': 24, 'line': 123}}}, {'color': {'blue': 0, 'green': 0, 'alpha': 1, 'red': 0}, 'range': {'end': {'character': 28, 'line': 124}, 'start': {'character': 19, 'line': 124}}}, {'color': {'blue': 0.7254901960784313, 'green': 0.5019607843137255, 'alpha': 1, 'red': 0.1607843137254902}, 'range': {'end': {'character': 27, 'line': 125}, 'start': {'character': 18, 'line': 125}}}, {'color': {'blue': 0.5529411764705883, 'green': 0.5490196078431373, 'alpha': 1, 'red': 0.4980392156862745}, 'range': {'end': {'character': 34, 'line': 126}, 'start': {'character': 25, 'line': 126}}}, {'color': {'blue': 0.8588235294117647, 'green': 0.596078431372549, 'alpha': 1, 'red': 0.20392156862745098}, 'range': {'end': {'character': 33, 'line': 127}, 'start': {'character': 24, 'line': 127}}}, {'color': {'blue': 0.611764705882353, 'green': 0.7372549019607844, 'alpha': 1, 'red': 0.10196078431372549}, 'range': {'end': {'character': 33, 'line': 128}, 'start': {'character': 24, 'line': 128}}}, {'color': {'blue': 0.44313725490196076, 'green': 0.8, 'alpha': 1, 'red': 0.1803921568627451}, 'range': {'end': {'character': 34, 'line': 129}, 'start': {'character': 25, 'line': 129}}}, {'color': {'blue': 0.7137254901960784, 'green': 0.34901960784313724, 'alpha': 1, 'red': 0.6078431372549019}, 'range': {'end': {'character': 35, 'line': 130}, 'start': {'character': 26, 'line': 130}}}, {'color': {'blue': 0.23529411764705882, 'green': 0.2980392156862745, 'alpha': 1, 'red': 0.9058823529411765}, 'range': {'end': {'character': 32, 'line': 131}, 'start': {'character': 23, 'line': 131}}}, {'color': {'blue': 0.9450980392156862, 'green': 0.9411764705882353, 'alpha': 1, 'red': 0.9254901960784314}, 'range': {'end': {'character': 34, 'line': 132}, 'start': {'character': 25, 'line': 132}}}, {'color': {'blue': 0.058823529411764705, 'green': 0.7686274509803922, 'alpha': 1, 'red': 0.9450980392156862}, 'range': {'end': {'character': 35, 'line': 133}, 'start': {'character': 26, 'line': 133}}}, {'color': {'blue': 0.5215686274509804, 'green': 0.6274509803921569, 'alpha': 1, 'red': 0.08627450980392157}, 'range': {'end': {'character': 27, 'line': 134}, 'start': {'character': 18, 'line': 134}}}, {'color': {'blue': 0.9450980392156862, 'green': 0.9411764705882353, 'alpha': 1, 'red': 0.9254901960784314}, 'range': {'end': {'character': 33, 'line': 135}, 'start': {'character': 24, 'line': 135}}}, {'color': {'blue': 0.3764705882352941, 'green': 0.6823529411764706, 'alpha': 1, 'red': 0.15294117647058825}, 'range': {'end': {'character': 28, 'line': 136}, 'start': {'character': 19, 'line': 136}}}, {'color': {'blue': 0.6784313725490196, 'green': 0.26666666666666666, 'alpha': 1, 'red': 0.5568627450980392}, 'range': {'end': {'character': 29, 'line': 137}, 'start': {'character': 20, 'line': 137}}}, {'color': {'blue': 0.16862745098039217, 'green': 0.2235294117647059, 'alpha': 1, 'red': 0.7529411764705882}, 'range': {'end': {'character': 26, 'line': 138}, 'start': {'character': 17, 'line': 138}}}, {'color': {'blue': 0.9450980392156862, 'green': 0.9411764705882353, 'alpha': 1, 'red': 0.9254901960784314}, 'range': {'end': {'character': 28, 'line': 139}, 'start': {'character': 19, 'line': 139}}}, {'color': {'blue': 0.07058823529411765, 'green': 0.611764705882353, 'alpha': 1, 'red': 0.9529411764705882}, 'range': {'end': {'character': 29, 'line': 140}, 'start': {'character': 20, 'line': 140}}}]
:: <-  lsp-json textDocument/publishDiagnostics: {'uri': 'file:///C:/Users/Serega/AppData/Local/Packages/Microsoft.WindowsTerminal_8wekyb3d8bbwe/LocalState/profiles.json', 'diagnostics': [{'severity': 1, 'message': 'Comments are not permitted in JSON.', 'range': {'end': {'character': 43, 'line': 32}, 'start': {'character': 16, 'line': 32}}, 'code': 521}]}
:: --> lsp-json textDocument/hover(4): {'position': {'character': 13, 'line': 6}, 'textDocument': {'uri': 'file:///C:/Users/Serega/AppData/Local/Packages/Microsoft.WindowsTerminal_8wekyb3d8bbwe/LocalState/profiles.json'}}
:: <<< lsp-json 4: {'range': {'end': {'character': 20, 'line': 6}, 'start': {'character': 4, 'line': 6}}, 'contents': ['Sets the theme of the application\\.']}

For files in the workspace the server works from the first opening and server log looks like this:

:: --> lsp-json initialize(1): {'capabilities': {'workspace': {'didChangeConfiguration': {}, 'workspaceFolders': True, 'applyEdit': True, 'symbol': {'symbolKind': {'valueSet': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26]}}, 'executeCommand': {}, 'configuration': True}, 'textDocument': {'completion': {'completionItem': {'snippetSupport': True}, 'completionItemKind': {'valueSet': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25]}}, 'formatting': {}, 'declaration': {'linkSupport': True}, 'rangeFormatting': {}, 'colorProvider': {}, 'references': {}, 'synchronization': {'willSaveWaitUntil': True, 'didSave': True, 'willSave': True}, 'rename': {}, 'documentSymbol': {'symbolKind': {'valueSet': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26]}}, 'implementation': {'linkSupport': True}, 'publishDiagnostics': {'relatedInformation': True}, 'definition': {'linkSupport': True}, 'hover': {'contentFormat': ['markdown', 'plaintext']}, 'documentHighlight': {}, 'typeDefinition': {'linkSupport': True}, 'signatureHelp': {'signatureInformation': {'parameterInformation': {'labelOffsetSupport': True}, 'documentationFormat': ['markdown', 'plaintext']}}, 'codeAction': {'codeActionLiteralSupport': {'codeActionKind': {'valueSet': []}}}}}, 'rootPath': 'F:\\Dev\\Stayanka_Add-on\\src', 'workspaceFolders': [{'name': 'src', 'uri': 'file:///F:/Dev/Stayanka_Add-on/src'}], 'initializationOptions': {'customCapabilities': {'rangeFormatting': {'editLimit': 1000}}, 'provideFormatter': True}, 'processId': 9412, 'rootUri': 'file:///F:/Dev/Stayanka_Add-on/src'}
:: <<< lsp-json 1: {'capabilities': {'colorProvider': {}, 'selectionRangeProvider': True, 'documentRangeFormattingProvider': True, 'textDocumentSync': 2, 'hoverProvider': True, 'foldingRangeProvider': True, 'documentSymbolProvider': True, 'completionProvider': {'resolveProvider': True, 'triggerCharacters': ['"', ':']}}}
::  -> lsp-json workspace/didChangeConfiguration: {'settings': {'json': {'resultLimit': 5000, 'schemas': [{'url': 'sublime://schemas/sublime-build', 'fileMatch': ['*.sublime-build']}, {'url': 'sublime://schemas/sublime-color-scheme', 'fileMatch': ['*.sublime-color-scheme', '*.hidden-color-scheme']}, {'url': 'sublime://schemas/sublime-commands', 'fileMatch': ['*.sublime-commands']}, {'url': 'sublime://schemas/sublime-keymap', 'fileMatch': ['*.sublime-keymap']}, {'url': 'sublime://schemas/sublime-macro', 'fileMatch': ['*.sublime-macro']}, {'url': 'sublime://schemas/sublime-menu', 'fileMatch': ['*.sublime-menu']}, {'url': 'sublime://schemas/sublime-mousemap', 'fileMatch': ['*.sublime-mousemap']}, {'url': 'sublime://schemas/sublime-project', 'fileMatch': ['*.sublime-project']}, {'url': 'sublime://schemas/sublime-settings', 'fileMatch': ['*.sublime-settings']}, {'url': 'sublime://schemas/sublime-theme', 'fileMatch': ['*.sublime-theme', '*.hidden-theme']}, {'url': 'sublime://schemas/vscode-base', 'fileMatch': ['/.vscode/*.json']}, {'url': 'sublime://schemas/package-json-eslint', 'fileMatch': ['/package.json']}, {'url': 'sublime://schemas/tsconfig', 'fileMatch': ['tsconfig.json', 'tsconfig.*.json', 'tsconfig-*.json']}, {'url': 'sublime://schemas/jsconfig', 'fileMatch': ['jsconfig.json', 'jsconfig.*.json']}, {'url': 'https://raw.githubusercontent.com/angular/angular-cli/master/packages/angular/cli/lib/config/schema.json', 'fileMatch': ['.angular-cli.json', 'angular-cli.json']}, {'url': 'http://json.schemastore.org/ansible-stable-2.9', 'fileMatch': ['tasks/*.yml', 'tasks/*.yaml']}, {'url': 'http://json.schemastore.org/apple-app-site-association', 'fileMatch': ['apple-app-site-association']}, {'url': 'http://json.schemastore.org/appsscript', 'fileMatch': ['appsscript.json']}, {'url': 'http://json.schemastore.org/appsettings', 'fileMatch': ['appsettings.json', 'appsettings.*.json']}, {'url': 'http://json.schemastore.org/appveyor', 'fileMatch': ['appveyor.yml']}, {'url': 'https://raw.githubusercontent.com/architect/parser/master/schema.json', 'fileMatch': ['arc.json', 'arc.yml', 'arc.yaml']}, {'url': 'http://json.schemastore.org/avro-avsc', 'fileMatch': ['.avsc']}, {'url': 'http://json.schemastore.org/azure-iot-edge-deployment-template-2.0', 'fileMatch': ['deployment.template.json', 'deployment.*.template.json']}, {'url': 'http://json.schemastore.org/foxx-manifest', 'fileMatch': ['manifest.json']}, {'url': 'http://json.schemastore.org/asmdef', 'fileMatch': ['*.asmdef']}, {'url': 'http://json.schemastore.org/babelrc', 'fileMatch': ['.babelrc', 'babel.config.json']}, {'url': 'http://json.schemastore.org/backportrc', 'fileMatch': ['.backportrc.json']}, {'url': 'https://batect.dev/configSchema.json', 'fileMatch': ['batect.yml']}, {'url': 'http://json.schemastore.org/bootstraprc', 'fileMatch': ['.bootstraprc']}, {'url': 'http://json.schemastore.org/bower', 'fileMatch': ['bower.json', '.bower.json']}, {'url': 'http://json.schemastore.org/bowerrc', 'fileMatch': ['.bowerrc']}, {'url': 'http://json.schemastore.org/behat', 'fileMatch': ['behat.yml', '*.behat.yml']}, {'url': 'http://json.schemastore.org/bozr', 'fileMatch': ['.suite.json', '.xsuite.json']}, {'url': 'https://bucklescript.github.io/bucklescript/docson/build-schema.json', 'fileMatch': ['bsconfig.json']}, {'url': 'http://json.schemastore.org/bukkit-plugin', 'fileMatch': ['plugin.yml']}, {'url': 'https://raw.githubusercontent.com/buildkite/pipeline-schema/master/schema.json', 'fileMatch': ['buildkite.yml', 'buildkite.yaml', 'buildkite.json', 'buildkite.*.yml', 'buildkite.*.yaml', 'buildkite.*.json', '.buildkite/pipeline.yml', '.buildkite/pipeline.yaml', '.buildkite/pipeline.json', '.buildkite/pipeline.*.yml', '.buildkite/pipeline.*.yaml', '.buildkite/pipeline.*.json']}, {'url': 'http://json.schemastore.org/sourcehut-build', 'fileMatch': ['.build.yml']}, {'url': 'http://json.schemastore.org/bundleconfig', 'fileMatch': ['bundleconfig.json']}, {'url': 'http://json.schemastore.org/bungee-plugin', 'fileMatch': ['plugin.yml', 'bungee.yml']}, {'url': 'http://json.schemastore.org/circleciconfig', 'fileMatch': ['.circleci/config.yml']}, {'url': 'http://json.schemastore.org/cirrus', 'fileMatch': ['.cirrus.yml']}, {'url': 'http://json.schemastore.org/clasp', 'fileMatch': ['.clasp.json']}, {'url': 'http://json.schemastore.org/codecov', 'fileMatch': ['.codecov.yml', 'codecov.yml']}, {'url': 'http://json.schemastore.org/compilerconfig', 'fileMatch': ['compilerconfig.json']}, {'url': 'http://json.schemastore.org/compile-commands', 'fileMatch': ['compile_commands.json']}, {'url': 'http://json.schemastore.org/commands', 'fileMatch': ['commands.json']}, {'url': 'http://json.schemastore.org/cosmos-config', 'fileMatch': ['cosmos.config.json']}, {'url': 'http://json.schemastore.org/chutzpah', 'fileMatch': ['chutzpah.json']}, {'url': 'http://json.schemastore.org/vsix-manifestinjection', 'fileMatch': ['contentmanifest.json']}, {'url': 'http://json.schemastore.org/cloud-sdk-pipeline-config-schema.json', 'fileMatch': ['pipeline_config.yml']}, {'url': 'http://json.schemastore.org/cloudbuild', 'fileMatch': ['cloudbuild.json', 'cloudbuild.yaml', 'cloudbuild.yml', '*.cloudbuild.json', '*.cloudbuild.yaml', '*.cloudbuild.yml']}, {'url': 'https://raw.githubusercontent.com/awslabs/goformation/master/schema/cloudformation.schema.json', 'fileMatch': ['*.cf.json', '*.cf.yml', '*.cf.yaml', 'cloudformation.json', 'cloudformation.yml', 'cloudformation.yaml']}, {'url': 'https://raw.githubusercontent.com/awslabs/goformation/master/schema/sam.schema.json', 'fileMatch': ['*.sam.json', '*.sam.yml', '*.sam.yaml', 'sam.json', 'sam.yml', 'sam.yaml']}, {'url': 'http://json.schemastore.org/coffeelint', 'fileMatch': ['coffeelint.json']}, {'url': 'http://json.schemastore.org/composer', 'fileMatch': ['composer.json']}, {'url': 'http://json.schemastore.org/component', 'fileMatch': ['component.json']}, {'url': 'http://json.schemastore.org/config', 'fileMatch': ['config.json']}, {'url': 'http://json.schemastore.org/contribute', 'fileMatch': ['contribute.json']}, {'url': 'https://raw.githubusercontent.com/cypress-io/cypress/develop/cli/schema/cypress.schema.json', 'fileMatch': ['cypress.json']}, {'url': 'http://json.schemastore.org/creatomic', 'fileMatch': ['.creatomic']}, {'url': 'https://raw.githubusercontent.com/streetsidesoftware/cspell/master/cspell.schema.json', 'fileMatch': ['.cspell.json', 'cspell.json', 'cSpell.json']}, {'url': 'http://json.schemastore.org/csscomb', 'fileMatch': ['.csscomb.json']}, {'url': 'http://json.schemastore.org/csslintrc', 'fileMatch': ['.csslintrc']}, {'url': 'http://json.schemastore.org/datalogic-scan2deploy-android', 'fileMatch': ['.dla.json']}, {'url': 'http://json.schemastore.org/datalogic-scan2deploy-ce', 'fileMatch': ['.dlc.json']}, {'url': 'http://json.schemastore.org/debugsettings', 'fileMatch': ['debugsettings.json']}, {'url': 'http://json.schemastore.org/dependabot', 'fileMatch': ['.dependabot/config.yml']}, {'url': 'http://json.schemastore.org/docfx', 'fileMatch': ['docfx.json']}, {'url': 'https://raw.githubusercontent.com/dolittle/DotNET.SDK/master/Schemas/Artifacts.Configuration/artifacts.json', 'fileMatch': ['.dolittle/artifacts.json']}, {'url': 'https://raw.githubusercontent.com/dolittle/Runtime/master/Schemas/Applications.Configuration/bounded-context.json', 'fileMatch': ['bounded-context.json']}, {'url': 'https://raw.githubusercontent.com/dolittle/Runtime/master/Schemas/Events/event-horizons.json', 'fileMatch': ['.dolittle/event-horizons.json']}, {'url': 'https://raw.githubusercontent.com/dolittle/DotNET.Fundamentals/master/Schemas/ResourceTypes.Configuration/resources.json', 'fileMatch': ['.dolittle/resources.json']}, {'url': 'https://raw.githubusercontent.com/dolittle/Runtime/master/Schemas/Server/server.json', 'fileMatch': ['.dolittle/server.json']}, {'url': 'https://raw.githubusercontent.com/dolittle/Runtime/master/Schemas/Tenancy/tenants.json', 'fileMatch': ['.dolittle/tenants.json']}, {'url': 'https://raw.githubusercontent.com/dolittle/DotNET.Fundamentals/master/Schemas/Tenancy.Configuration/tenant-map.json', 'fileMatch': ['.dolittle/tenant-map.json']}, {'url': 'https://raw.githubusercontent.com/dolittle/DotNET.SDK/master/Schemas/Applications.Configuration/topology.json', 'fileMatch': ['.dolittle/topology.json']}, {'url': 'http://json.schemastore.org/dotnetcli.host', 'fileMatch': ['dotnetcli.host.json']}, {'url': 'http://json.schemastore.org/drone', 'fileMatch': ['.drone.yml']}, {'url': 'http://json.schemastore.org/drush.site.yml', 'fileMatch': ['sites/*.site.yml']}, {'url': 'http://json.schemastore.org/epr-manifest', 'fileMatch': ['epr-manifest.json']}, {'url': 'http://json.schemastore.org/electron-builder', 'fileMatch': ['electron-builder.json']}, {'url': 'http://json.schemastore.org/eslintrc', 'fileMatch': ['.eslintrc', '.eslintrc.json', '.eslintrc.yml', '.eslintrc.yaml']}, {'url': 'http://json.schemastore.org/fabric-mod-json', 'fileMatch': ['fabric.mod.json']}, {'url': 'http://json.schemastore.org/fantomas', 'fileMatch': ['fantomas-config.json']}, {'url': 'http://json.schemastore.org/function', 'fileMatch': ['function.json']}, {'url': 'http://json.schemastore.org/github-action', 'fileMatch': ['action.yml']}, {'url': 'http://json.schemastore.org/github-workflow', 'fileMatch': ['.github/workflows/**.yml', '.github/workflows/**.yaml']}, {'url': 'http://json.schemastore.org/gitlab-ci', 'fileMatch': ['.gitlab-ci.yml']}, {'url': 'https://gitpod.io/schemas/gitpod-schema.json', 'fileMatch': ['.gitpod.yml']}, {'url': 'http://json.schemastore.org/global', 'fileMatch': ['global.json']}, {'url': 'http://json.schemastore.org/grunt-copy-task', 'fileMatch': ['copy.json']}, {'url': 'http://json.schemastore.org/grunt-clean-task', 'fileMatch': ['clean.json']}, {'url': 'http://json.schemastore.org/grunt-cssmin-task', 'fileMatch': ['cssmin.json']}, {'url': 'http://json.schemastore.org/grunt-jshint-task', 'fileMatch': ['jshint.json']}, {'url': 'http://json.schemastore.org/grunt-watch-task', 'fileMatch': ['watch.json']}, {'url': 'http://json.schemastore.org/grunt-task', 'fileMatch': ['grunt/*.json', '*-tasks.json']}, {'url': 'http://json.schemastore.org/haxelib', 'fileMatch': ['haxelib.json']}, {'url': 'http://json.schemastore.org/host', 'fileMatch': ['host.json']}, {'url': 'http://json.schemastore.org/host-meta', 'fileMatch': ['host-meta.json']}, {'url': 'http://json.schemastore.org/htmlhint', 'fileMatch': ['.htmlhintrc']}, {'url': 'http://json.schemastore.org/imageoptimizer', 'fileMatch': ['imageoptimizer.json']}, {'url': 'http://json.schemastore.org/jekyll', 'fileMatch': ['_config.yml']}, {'url': 'https://jenkins-x.io/schemas/jx-schema.json', 'fileMatch': ['jenkins-x*.yml']}, {'url': 'https://jenkins-x.io/schemas/jx-requirements.json', 'fileMatch': ['jx-requirements.yml']}, {'url': 'http://json.schemastore.org/jsbeautifyrc', 'fileMatch': ['.jsbeautifyrc']}, {'url': 'http://json.schemastore.org/jsbeautifyrc-nested', 'fileMatch': ['.jsbeautifyrc']}, {'url': 'http://json.schemastore.org/jscsrc', 'fileMatch': ['.jscsrc', 'jscsrc.json']}, {'url': 'http://json.schemastore.org/jshintrc', 'fileMatch': ['.jshintrc']}, {'url': 'http://json.schemastore.org/jsinspectrc', 'fileMatch': ['.jsinspectrc']}, {'url': 'http://jsonapi.org/schema', 'fileMatch': ['*.schema.json']}, {'url': 'http://json.schemastore.org/feed', 'fileMatch': ['feed.json']}, {'url': 'http://json.schemastore.org/jsonld', 'fileMatch': ['*.jsonld']}, {'url': 'http://json.schemastore.org/json-patch', 'fileMatch': ['*.patch']}, {'url': 'http://json.schemastore.org/jsconfig', 'fileMatch': ['jsconfig.json']}, {'url': 'http://json.schemastore.org/kustomization', 'fileMatch': ['kustomization.yaml', 'kustomization.yml']}, {'url': 'http://json.schemastore.org/launchsettings', 'fileMatch': ['launchsettings.json']}, {'url': 'http://json.schemastore.org/lerna', 'fileMatch': ['lerna.json']}, {'url': 'http://json.schemastore.org/libman', 'fileMatch': ['libman.json']}, {'url': 'http://json.schemastore.org/lsdlschema', 'fileMatch': ['*.lsdl.yaml', '*.lsdl.json']}, {'url': 'http://json.schemastore.org/mimetypes', 'fileMatch': ['mimetypes.json']}, {'url': 'http://json.schemastore.org/modernizrrc', 'fileMatch': ['.modernizrrc']}, {'url': 'http://json.schemastore.org/mycode', 'fileMatch': ['mycode.json']}, {'url': 'http://json.schemastore.org/nodehawkrc', 'fileMatch': ['.nodehawkrc']}, {'url': 'http://json.schemastore.org/nodemon', 'fileMatch': ['nodemon.json']}, {'url': 'http://json.schemastore.org/npmpackagejsonlintrc', 'fileMatch': ['.npmpackagejsonlintrc', 'npmpackagejsonlintrc.json', '.npmpackagejsonlintrc.json']}, {'url': 'http://json.schemastore.org/nswag', 'fileMatch': ['nswag.json']}, {'url': 'http://json.schemastore.org/ocelot', 'fileMatch': ['ocelot.json']}, {'url': 'http://json.schemastore.org/omnisharp', 'fileMatch': ['omnisharp.json']}, {'url': 'https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/schemas/v3.0/schema.json', 'fileMatch': ['openapi.json', 'openapi.yml', 'openapi.yaml']}, {'url': 'http://json.schemastore.org/package', 'fileMatch': ['package.json']}, {'url': 'http://json.schemastore.org/package.manifest', 'fileMatch': ['package.manifest']}, {'url': 'http://json.schemastore.org/pattern', 'fileMatch': ['pattern.json']}, {'url': 'http://json.schemastore.org/pocketmine-plugin', 'fileMatch': ['plugin.yml']}, {'url': 'http://json.schemastore.org/phraseapp', 'fileMatch': ['.phraseapp.yml']}, {'url': 'http://json.schemastore.org/prettierrc', 'fileMatch': ['.prettierrc', '.prettierrc.json']}, {'url': 'http://json.schemastore.org/prisma', 'fileMatch': ['prisma.yml']}, {'url': 'http://json.schemastore.org/project', 'fileMatch': ['project.json']}, {'url': 'http://json.schemastore.org/prometheus', 'fileMatch': ['prometheus.yml']}, {'url': 'http://json.schemastore.org/prometheus.rules', 'fileMatch': ['*.rules']}, {'url': 'http://json.schemastore.org/proxies', 'fileMatch': ['proxies.json']}, {'url': 'http://json.schemastore.org/pubspec', 'fileMatch': ['pubspec.yaml']}, {'url': 'http://json.schemastore.org/pyrseas-0.8', 'fileMatch': ['pyrseas-0.8.json']}, {'url': 'http://json.schemastore.org/resjson', 'fileMatch': ['*.resjson']}, {'url': 'http://json.schemastore.org/resume', 'fileMatch': ['resume.json']}, {'url': 'https://docs.renovatebot.com/renovate-schema.json', 'fileMatch': ['renovate.json', 'renovate.json5', '.github/renovate.json', '.github/renovate.json5', '.renovaterc', '.renovaterc.json']}, {'url': 'http://json.schemastore.org/settings.job', 'fileMatch': ['settings.job']}, {'url': 'https://raw.githubusercontent.com/blackbaud/skyux-builder/master/skyuxconfig-schema.json', 'fileMatch': ['skyuxconfig.json', 'skyuxconfig.*.json']}, {'url': 'https://raw.githubusercontent.com/snapcore/snapcraft/master/schema/snapcraft.json', 'fileMatch': ['.snapcraft.yaml', 'snapcraft.yaml']}, {'url': 'http://json.schemastore.org/solidaritySchema', 'fileMatch': ['.solidarity', '.solidarity.json']}, {'url': 'http://json.schemastore.org/sourcemap-v3', 'fileMatch': ['*.map']}, {'url': 'http://json.schemastore.org/sprite', 'fileMatch': ['*.sprite']}, {'url': 'https://raw.githubusercontent.com/stryker-mutator/stryker/master/packages/api/schema/stryker-core.json', 'fileMatch': ['stryker.conf.json', 'stryker-*.conf.json']}, {'url': 'https://raw.githubusercontent.com/DotNetAnalyzers/StyleCopAnalyzers/master/StyleCop.Analyzers/StyleCop.Analyzers/Settings/stylecop.schema.json', 'fileMatch': ['stylecop.json']}, {'url': 'http://json.schemastore.org/stylelintrc', 'fileMatch': ['.stylelintrc', 'stylelintrc.json', '.stylelintrc.json']}, {'url': 'http://json.schemastore.org/swagger-2.0', 'fileMatch': ['swagger.json']}, {'url': 'http://json.schemastore.org/template', 'fileMatch': ['.template.config/template.json']}, {'url': 'http://json.schemastore.org/templatesources', 'fileMatch': ['templatesources.json']}, {'url': 'https://raw.githubusercontent.com/Septh/tmlanguage/master/tmLanguage.schema.json', 'fileMatch': ['*.tmLanguage.json']}, {'url': 'http://json.schemastore.org/travis', 'fileMatch': ['.travis.yml']}, {'url': 'http://json.schemastore.org/tsconfig', 'fileMatch': ['tsconfig.json']}, {'url': 'http://json.schemastore.org/tsd', 'fileMatch': ['tsd.json']}, {'url': 'http://json.schemastore.org/tsdrc', 'fileMatch': ['.tsdrc']}, {'url': 'http://json.schemastore.org/ts-force-config', 'fileMatch': ['ts-force-config.json']}, {'url': 'http://json.schemastore.org/tslint', 'fileMatch': ['tslint.json', 'tslint.yaml', 'tslint.yml']}, {'url': 'http://json.schemastore.org/typewiz', 'fileMatch': ['typewiz.json']}, {'url': 'http://json.schemastore.org/typings', 'fileMatch': ['typings.json']}, {'url': 'http://json.schemastore.org/typingsrc', 'fileMatch': ['.typingsrc']}, {'url': 'http://json.schemastore.org/up.json', 'fileMatch': ['up.json']}, {'url': 'http://json.schemastore.org/ui5-manifest', 'fileMatch': ['.manifest']}, {'url': 'http://json.schemastore.org/vega', 'fileMatch': ['*.vg', '*.vg.json']}, {'url': 'http://json.schemastore.org/vega-lite', 'fileMatch': ['*.vl', '*.vl.json']}, {'url': 'https://raw.githubusercontent.com/AArnott/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json', 'fileMatch': ['version.json']}, {'url': 'http://json.schemastore.org/vsls', 'fileMatch': ['.vsls.json']}, {'url': 'http://json.schemastore.org/vs-2017.3.host', 'fileMatch': ['vs-2017.3.host.json']}, {'url': 'http://json.schemastore.org/vs-nesting', 'fileMatch': ['*.filenesting.json', '.filenesting.json']}, {'url': 'http://json.schemastore.org/vsconfig', 'fileMatch': ['*.vsconfig']}, {'url': 'http://json.schemastore.org/vsext', 'fileMatch': ['*.vsext']}, {'url': 'http://json.schemastore.org/vsix-publish', 'fileMatch': ['vs-publish.json']}, {'url': 'http://json.schemastore.org/vss-extension', 'fileMatch': ['vss-extension.json']}, {'url': 'http://json.schemastore.org/webextension', 'fileMatch': ['manifest.json']}, {'url': 'http://json.schemastore.org/web-manifest', 'fileMatch': ['manifest.json', '*.webmanifest']}, {'url': 'http://json.schemastore.org/webjobs-list', 'fileMatch': ['webjobs-list.json']}, {'url': 'http://json.schemastore.org/webjob-publish-settings', 'fileMatch': ['webjobpublishsettings.json']}, {'url': 'http://json.schemastore.org/web-types', 'fileMatch': ['web-types.json', '*.web-types.json']}, {'url': 'http://json.schemastore.org/ksp-ckan', 'fileMatch': ['*.ckan']}, {'url': 'http://json.schemastore.org/xunit.runner.schema', 'fileMatch': ['xunit.runner.json']}, {'url': 'http://json.schemastore.org/cryproj.52.schema', 'fileMatch': ['*.cryproj']}, {'url': 'http://json.schemastore.org/cryproj.53.schema', 'fileMatch': ['*.cryproj']}, {'url': 'http://json.schemastore.org/cryproj.54.schema', 'fileMatch': ['*.cryproj']}, {'url': 'http://json.schemastore.org/cryproj.55.schema', 'fileMatch': ['*.cryproj']}, {'url': 'http://json.schemastore.org/cryproj.dev.schema', 'fileMatch': ['*.cryproj']}, {'url': 'http://json.schemastore.org/cryproj', 'fileMatch': ['*.cryproj']}, {'url': 'http://json.schemastore.org/typedoc', 'fileMatch': ['typedoc.json']}, {'url': 'http://json.schemastore.org/huskyrc', 'fileMatch': ['.huskyrc', '.huskyrc.json']}, {'url': 'http://json.schemastore.org/lintstagedrc.schema', 'fileMatch': ['.lintstagedrc', '.lintstagedrc.json']}, {'url': 'http://json.schemastore.org/mta', 'fileMatch': ['mta.yaml', 'mta.yml']}, {'url': 'http://json.schemastore.org/mtad', 'fileMatch': ['mtad.yaml', 'mtad.yml']}, {'url': 'http://json.schemastore.org/mtaext', 'fileMatch': ['*.mtaext']}, {'url': 'http://json.schemastore.org/opspec-io-0.1.7', 'fileMatch': ['.opspec/*/*.yml', '.opspec/*/*.yaml']}, {'url': 'http://json.schemastore.org/hemtt-0.6.2', 'fileMatch': ['hemtt.json', 'hemtt.toml']}, {'url': 'http://json.schemastore.org/now', 'fileMatch': ['now.json']}, {'url': 'https://raw.githubusercontent.com/aws-quickstart/taskcat/master/taskcat/cfg/config_schema.json', 'fileMatch': ['.taskcat.yml']}, {'url': 'http://json.schemastore.org/BizTalkServerApplicationSchema', 'fileMatch': ['BizTalkServerInventory.json']}, {'url': 'http://json.schemastore.org/httpmockrc', 'fileMatch': ['.httpmockrc', '.httpmock.json']}, {'url': 'https://raw.githubusercontent.com/Neotys-Labs/neoload-cli/master/resources/as-code.latest.schema.json', 'fileMatch': ['.nl.yaml', '.nl.yml', '.nl.json', '.neoload.yaml', '.neoload.yml', '.neoload.json']}, {'url': 'https://raw.githubusercontent.com/release-drafter/release-drafter/master/schema.json', 'fileMatch': ['release-drafter.yml']}, {'url': 'https://raw.githubusercontent.com/pycontribs/zuul-lint/master/zuul_lint/zuul-schema.json', 'fileMatch': ['*zuul.d/*.yaml', '*/.zuul.yaml']}, {'url': 'https://raw.githubusercontent.com/microsoft/Briefcase/master/mlbriefcase/briefcase-schema.json', 'fileMatch': ['briefcase.yaml']}, {'url': 'https://raw.githubusercontent.com/ahmadnassri/har-schema/master/lib/har.json', 'fileMatch': ['*.har']}], 'format': {'enable': True}}}}
::  -> lsp-json initialized: {}
:: --> lsp-json textDocument/documentColor(2): {'textDocument': {'uri': 'file:///F:/Dev/Stayanka_Add-on/src/appsscript.json'}}
::  -> lsp-json textDocument/didOpen
:: <<< lsp-json 2: []
:: <-  lsp-json textDocument/publishDiagnostics: {'uri': 'file:///F:/Dev/Stayanka_Add-on/src/appsscript.json', 'diagnostics': []}
:: --> lsp-json textDocument/hover(3): {'position': {'character': 12, 'line': 10}, 'textDocument': {'uri': 'file:///F:/Dev/Stayanka_Add-on/src/appsscript.json'}}
:: <<< lsp-json 3: {'contents': ['Version of the server to use when executing this project\\.'], 'range': {'start': {'character': 2, 'line': 10}, 'end': {'character': 18, 'line': 10}}}

Expected behavior

The server should just work from the first opening any json file

Env

sublime: 3211
LSP: 0.9.7
LSP-json: 1.0.0

Capture

gif

13

Add support for user defined json schema definitions

The following line causes all user defined schema definitions contained in a LSP-json.sublime-settings file to be overwritten.

configuration['settings'].setdefault('json', {})['schemas'] = cls._default_schemas

Should we change it to something like ...

configuration['settings'].setdefault('json', {})['schemas'].extend(cls._default_schemas)

Note: Maybe dedupping is needed.

How about supporting json-with-comments?

Many config files that have json schemas allow comments, the vscode json language server has an allowComments option, and vscode recognizes the .jsonc suffix as allowing comments.

This is distinct from other variants like json5 or hjson, because it's about just comments. There's generally wide support for comments in json config, less so for the other modifications of json. And there are some programs out there that implement their own "ignore comments in json config" parsing.

LSP-json server unable to start correctly. Spawns a ton of processes, using 90% of ram.

I just figured out why my laptop's fans suddenly goes overdrive. It's because of this extension. I've had this happen many times from the past few week.

It spawns a ton of node.exe processes and it eats up 90% of my ram. I have to close and reopen sublime text to fix it. Happens almost every day and even multiple times a day. Not quite sure what triggers it.

Screenshot (568)

Syntax-specific settings don't have a correct schema

When you open syntax-specific settings (e.g. Preferences: Settings - Syntax Specific in the command palette), then these should also inherit all of the keys of the global Preferences.sublime-settings. As well as any packages that add more settings to Preferences.sublime-settings via #43

Integration with Sublime Merge preferences.

Currently, LSP-json doesn't provide any helper for preferences when it comes to Sublime Merge.

It would be a nice enhancement if there was a way to apply a specific schema to Preferences.sublime-settings based on the path i.e. if the preferences happens to be in the Sublime Merge directory, apply the schema for that setting (That's just an idea, though)

lsp-json init error

  • sublime version 4152
  • nodejs version 18.17.0
  • npm version 9.6.7
  • Mac M2 13.0

I just opened a JSON file and encountered an error during the initialization process.

image

Failed to start LSP-json - disabling for this window for the duration of the current session.
Re-enable by running "LSP: Enable Language Server In Project" from the Command Palette.


--- Error: ---
Error installing the server:
Failed to run npm command "ci --omit=dev --scripts-prepend-node-path=true --verbose":
npm verb cli /usr/local/bin/node /usr/local/bin/npm
npm info using [email protected]
npm info using [email protected]
npm verb title npm ci
npm verb argv "ci" "--omit" "dev" "--scripts-prepend-node-path" "true" "--loglevel" "verbose"
npm verb logfile logs-max:10 dir:/Users/xxx/.npm/_logs/2023-08-08T17_39_16_335Z-
npm verb logfile /Users/xxx/.npm/_logs/2023-08-08T17_39_16_335Z-debug-0.log
npm http fetch POST 501 https://registry.npmmirror.com/-/npm/v1/security/advisories/bulk 224ms
npm http fetch GET 200 https://cdn.npmmirror.com/packages/%40vscode/l10n/0.0.13/l10n-0.0.13.tgz 260ms (cache miss)
npm http fetch POST 501 https://registry.npmmirror.com/-/npm/v1/security/audits/quick 62ms
npm verb audit error HttpErrorGeneral: 501 Not Implemented - POST https://registry.npmmirror.com/-/npm/v1/security/audits/quick - [NOT_IMPLEMENTED] /-/npm/v1/security/audits/quick not implemented yet
npm verb audit error     at /usr/local/lib/node_modules/npm/node_modules/npm-registry-fetch/lib/check-response.js:95:15
npm verb audit error     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
npm verb audit error     at async [getReport] (/usr/local/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/audit-report.js:335:21)
npm verb audit error     at async AuditReport.run (/usr/local/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/audit-report.js:106:19)
npm verb audit error  HttpErrorGeneral: 501 Not Implemented - POST https://registry.npmmirror.com/-/npm/v1/security/audits/quick - [NOT_IMPLEMENTED] /-/npm/v1/security/audits/quick not implemented yet
npm verb audit error     at /usr/local/lib/node_modules/npm/node_modules/npm-registry-fetch/lib/check-response.js:95:15
npm verb audit error     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
npm verb audit error     at async [getReport] (/usr/local/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/audit-report.js:335:21)
npm verb audit error     at async AuditReport.run (/usr/local/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/audit-report.js:106:19) {
npm verb audit error   headers: [Object: null prototype] {
npm verb audit error     server: [ 'Tengine' ],
npm verb audit error     'content-type': [ 'application/json; charset=utf-8' ],
npm verb audit error     'content-length': [ '81' ],
npm verb audit error     connection: [ 'keep-alive' ],
npm verb audit error     'strict-transport-security': [ 'max-age=5184000' ],
npm verb audit error     date: [ 'Tue, 08 Aug 2023 17:39:16 GMT' ],
npm verb audit error     vary: [ 'Origin' ],
npm verb audit error     'request-id': [ '7f5df7c0-3612-11ee-b97d-076833350901' ],
npm verb audit error     'x-frame-options': [ 'SAMEORIGIN' ],
npm verb audit error     'x-xss-protection': [ '1; mode=block' ],
npm verb audit error     'x-content-type-options': [ 'nosniff' ],
npm verb audit error     'x-download-options': [ 'noopen' ],
npm verb audit error     'x-readtime': [ '0.57' ],
npm verb audit error     'x-alicdn-da-ups-status': [ 'endOs,0,501' ],
npm verb audit error     via: [ 'kunlun20.cn5114[34,0]' ],
npm verb audit error     'timing-allow-origin': [ '*' ],
npm verb audit error     eagleid: [ 'dcb57d1b16915163569088794e' ],
npm verb audit error     'x-fetch-attempts': [ '1' ]
npm verb audit error   },
npm verb audit error   statusCode: 501,
npm verb audit error   code: 'E501',
npm verb audit error   method: 'POST',
npm verb audit error   uri: 'https://registry.npmmirror.com/-/npm/v1/security/audits/quick',
npm verb audit error   body: {
npm verb audit error     error: '[NOT_IMPLEMENTED] /-/npm/v1/security/audits/quick not implemented yet'
npm verb audit error   },
npm verb audit error   pkgid: undefined
npm verb audit error }
npm http fetch GET 200 https://cdn.npmmirror.com/packages/vscode-uri/3.0.7/vscode-uri-3.0.7.tgz 272ms (cache miss)
npm verb stack Error: EACCES: permission denied, mkdir '/Users/xxx/.npm/_cacache/content-v2/sha512/78/ea'
npm verb cwd /Users/xxx/Library/Caches/Sublime Text/Package Storage/LSP-json/18.17.0/language-server
npm verb Darwin 22.1.0
npm verb node v18.17.0
npm verb npm  v9.6.7
npm ERR! code EEXIST
npm ERR! syscall mkdir
npm ERR! path /Users/xxx/.npm/_cacache/content-v2/sha512/78/ea
npm ERR! errno -13
npm ERR! EACCES: permission denied, mkdir '/Users/xxx/.npm/_cacache/content-v2/sha512/78/ea'
npm ERR! File exists: /Users/xxx/.npm/_cacache/content-v2/sha512/78/ea
npm ERR! Remove the existing file and try again, or run npm
npm ERR! with --force to overwrite files recklessly.
npm verb exit -13
npm verb unfinished npm timer reify 1691516356460
npm verb unfinished npm timer reify:unpack 1691516356466
npm verb unfinished npm timer reifyNode:node_modules/vscode-uri 1691516356466
npm verb unfinished npm timer reifyNode:node_modules/vscode-json-languageservice/node_modules/@vscode/l10n 1691516356466
npm verb code -13

npm ERR! A complete log of this run can be found in: /Users/xxx/.npm/_logs/2023-08-08T17_39_16_335Z-debug-0.log

How can I solve it?

Remove support for sublime-settings

I don't think that treating .sublime-settings files as jsonc makes much sence, since:

  1. trailing commas are allowed and somewhat encouraged in .sublime-settings but not in jsonc, which produces errors everywhere.
  2. hover doesn't work since there are no scheme files for .sublime-settings.
  3. document symbols are arguably unneeded, since sublime's goto symbols is good enough.

How do I point to a schema stored locally in the project?

I want a file to be checked with a schema that's stored locally in the project.

I tried this:

"userSchemas": [
	{
		"fileMatch": ["path/to/files/*.json"],
		"uri": "./project_relative/path/to/schema.json"
	}
]

But this gives me an error unable to load schema from '/./project_relative/path/to/schema.json'`.

I also tried this:

"userSchemas": [
	{
		"fileMatch": ["path/to/files/*.json"],
		"uri": "$project_path/project_relative/path/to/schema.json"
	}
]

But it doesn't look like $project_path gets expanded. This gives me an error unable to load schema from '/$project_path/project_relative/path/to/schema.json'`.

Is this possible?

LSP-json cannot seem to find npm

System Info:

  1. Ubuntu 18.04
  2. Sublime Build 4107
  3. node and npm installed at user level (don't have root permission) and visible in ${PATH}

Just after installation, LSP-json showed an error pop-up

Screenshot from 2021-06-07 13-49-36

.. and it is not working. I tried reinstalling and restarting, nothing worked. The sublime's console log shows this:

reloading python 3.3 plugin PackageDev._logging
reloading python 3.3 plugin PackageDev.main
reloading python 3.3 plugin Terminus.main
plugins loaded
Failed to register plugin ""
Traceback (most recent call last):
  File "/user/HS229/ad01424/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/sessions.py", line 661, in _register_plugin_impl
    if client_configs.add_external_config(name, settings, base_file, notify_listener):
  File "/user/HS229/ad01424/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/settings.py", line 37, in add_external_config
    config = ClientConfig.from_sublime_settings(name, s, file)
  File "/user/HS229/ad01424/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/types.py", line 560, in from_sublime_settings
    base = sublime.decode_value(sublime.load_resource(file))
  File "/user/HS229/ad01424/sublime_text/Lib/python33/sublime.py", line 435, in load_resource
    raise IOError('resource "%s" not found' % name)
OSError: resource "Packages//.sublime-settings" not found

Package Control: Skipping automatic upgrade, last run at 2021-06-07 12:50:47, next run at 2021-06-07 13:50:47 or after
Unable to open /user/HS229/ad01424/.config/sublime-text-3/Packages/LSP/LSP.sublime-settings
ignored packages updated to: ["LSP-json", "Vintage"]
reloading settings Packages/User/Package Control.sublime-settings
reloading settings Packages/User/Preferences.sublime-settings
reloading settings Packages/User/Package Control.sublime-settings
ignored packages updated to: ["Vintage"]
reloading python 3.3 plugin LSP-json.plugin
reloading settings Packages/User/Package Control.sublime-settings
reloading settings Packages/User/Preferences.sublime-settings
reloading settings Packages/User/Preferences.sublime-settings
Unable to start subprocess for LSP-json
Traceback (most recent call last):
  File "/user/HS229/ad01424/.config/sublime-text-3/Packages/lsp_utils/st3/lsp_utils/server_npm_resource.py", line 88, in install_or_update
    self._node_runtime.npm_install(self._server_dest)
  File "/user/HS229/ad01424/.config/sublime-text-3/Packages/lsp_utils/st3/lsp_utils/node_runtime.py", line 125, in npm_install
    stdout, error = run_command_sync(args, cwd=package_dir)
  File "/user/HS229/ad01424/.config/sublime-text-3/Packages/lsp_utils/st3/lsp_utils/helpers.py", line 20, in run_command_sync
    output = subprocess.check_output(args, cwd=cwd, shell=sublime.platform() == 'windows', stderr=subprocess.STDOUT)
  File "./python3.3/subprocess.py", line 576, in check_output
  File "./python3.3/subprocess.py", line 819, in __init__
  File "./python3.3/subprocess.py", line 1448, in _execute_child
FileNotFoundError: [Errno 2] No such file or directory: 'npm'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/user/HS229/ad01424/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 310, in start_async
    plugin_class.install_or_update()
  File "/user/HS229/ad01424/.config/sublime-text-3/Packages/lsp_utils/st3/lsp_utils/_client_handler/abstract_plugin.py", line 108, in install_or_update
    server.install_or_update()
  File "/user/HS229/ad01424/.config/sublime-text-3/Packages/lsp_utils/st3/lsp_utils/server_npm_resource.py", line 91, in install_or_update
    raise Exception(error)
Exception: [Errno 2] No such file or directory: 'npm'

Unable to start subprocess for LSP-json
Traceback (most recent call last):
  File "/user/HS229/ad01424/.config/sublime-text-3/Packages/lsp_utils/st3/lsp_utils/server_npm_resource.py", line 88, in install_or_update
    self._node_runtime.npm_install(self._server_dest)
  File "/user/HS229/ad01424/.config/sublime-text-3/Packages/lsp_utils/st3/lsp_utils/node_runtime.py", line 125, in npm_install
    stdout, error = run_command_sync(args, cwd=package_dir)
  File "/user/HS229/ad01424/.config/sublime-text-3/Packages/lsp_utils/st3/lsp_utils/helpers.py", line 20, in run_command_sync
    output = subprocess.check_output(args, cwd=cwd, shell=sublime.platform() == 'windows', stderr=subprocess.STDOUT)
  File "./python3.3/subprocess.py", line 576, in check_output
  File "./python3.3/subprocess.py", line 819, in __init__
  File "./python3.3/subprocess.py", line 1448, in _execute_child
FileNotFoundError: [Errno 2] No such file or directory: 'npm'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/user/HS229/ad01424/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 310, in start_async
    plugin_class.install_or_update()
  File "/user/HS229/ad01424/.config/sublime-text-3/Packages/lsp_utils/st3/lsp_utils/_client_handler/abstract_plugin.py", line 108, in install_or_update
    server.install_or_update()
  File "/user/HS229/ad01424/.config/sublime-text-3/Packages/lsp_utils/st3/lsp_utils/server_npm_resource.py", line 91, in install_or_update
    raise Exception(error)
Exception: [Errno 2] No such file or directory: 'npm'

Kindly help. I an new to sublime and its packages.

schema file patterns with whitespace

Just noticed the file patterns for jsonschema extensions must not contain whitespace. Space needs to be escaped via %20 instead. It's quite logical from the uri perspective, but might not be too obvious.

The question is: Is it intended behavior or may some sort of translation be added, which escapes spaces and possibly other characters?

{
    "contributions": {
        "settings": [
            {
                "file_patterns": [
                    "A%20File%20Icon.sublime-settings"
                ],
                "schema": {

Can't type double quotes in any blank space in ST4

I am using the latest version of Sublime Text 4, LSP Server is up to date, as is this package. I'm on an Intel Mac running Venture 13.5.2. Hopefully I'm not missing something, and I don't believe this is intended behaviour.
I cannot type double quotes unless the cursor is next to a character that is already highlighted as an error for not having valid syntax, or if I highlight something to be surrounded in double quotes. Otherwise, pressing for double quotes does literally nothing.
I have narrowed down the issue to this package, as the behaviour does not happen when it is disabled.

Suggestion: intercept auto-complete request from the server and don't show it

This server suggests to show the auto-complete when it auto-completes to a snippet like "foo": {$1}. Right now we dutifully show the auto-complete in LSP/plugin/execute_command.py. We should instead not show it because it goes against the flow of writing json in Sublime Text.

When I have my cursor in-between { and } I expect that when I press enter, ST runs a macro that should position it like

"foo": {
    |
}

what instead now happens is that the AC is shown. This prevents the macro from running.

LSP-json installes language-server after each startup

I am on current master with ST 4090.

Each time I open a json file, LSP-json seems to install the language server, or tries to.

If a json file is open when starting ST, it happens immediatelly with the following log.

LSP-json: Installing server in path: C:\Apps\Sublime Text\Data\Package Storage\LSP-json\14.3.0\language-server
Package Control: Skipping automatic upgrade, last run at 2020-11-15 17:38:50, next run at 2020-11-15 18:38:50 or after
LSP-json: Server installed. Sublime Text restart might be required.

Directly use the server from its source repo

Currently, we fetch the server code from this NPM package. I propose that we should directly build the server codes from https://github.com/vscode-langservers/vscode-json-languageserver because

  • It gives us the ability to get any specific build of the server.
  • The one on NPM has not been updated for 5 months.
  • The maintainer of https://github.com/vscode-langservers/vscode-json-languageserver is not a collaborator of the NPM package. Asking those collaborators to update is annoying and they may be unresponsive.
  • We have already done that in LSP-css and LSP-html so this should be an easy move.

Dependabot couldn't find a package.json for this project

Dependabot couldn't find a package.json for this project.

Dependabot requires a package.json to evaluate your project's current JavaScript dependencies. It had expected to find one at the path: /vscode-json-languageserver/package.json.

If this isn't a JavaScript project, or if it is a library, you may wish to disable updates for it from within Dependabot.

View the update logs.

Dependabot couldn't find a package.json for this project

Dependabot couldn't find a package.json for this project.

Dependabot requires a package.json to evaluate your project's current JavaScript dependencies. It had expected to find one at the path: /vscode-json-languageserver/package.json.

If this isn't a JavaScript project, or if it is a library, you may wish to disable updates for it from within Dependabot.

View the update logs.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.