volar-service-json 0.0.47 → 0.0.49
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.d.ts +7 -7
- package/index.js +22 -7
- package/package.json +3 -3
package/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { LanguageServicePlugin, DocumentSelector,
|
|
1
|
+
import type { LanguageServicePlugin, DocumentSelector, LanguageServiceContext, Disposable, ProviderResult, FormattingOptions } from '@volar/language-service';
|
|
2
2
|
import * as json from 'vscode-json-languageservice';
|
|
3
3
|
import type { TextDocument } from 'vscode-languageserver-textdocument';
|
|
4
4
|
export interface Provide {
|
|
@@ -13,11 +13,11 @@ export interface JSONSchemaSettings {
|
|
|
13
13
|
}
|
|
14
14
|
export declare function create({ documentSelector, getWorkspaceContextService, isFormattingEnabled, getFormattingOptions, getLanguageSettings, getDocumentLanguageSettings, onDidChangeLanguageSettings, }?: {
|
|
15
15
|
documentSelector?: DocumentSelector;
|
|
16
|
-
getWorkspaceContextService?(context:
|
|
17
|
-
isFormattingEnabled?(document: TextDocument, context:
|
|
18
|
-
getFormattingOptions?(document: TextDocument, options: FormattingOptions, context:
|
|
19
|
-
getLanguageSettings?(context:
|
|
20
|
-
getDocumentLanguageSettings?(document: TextDocument, context:
|
|
21
|
-
onDidChangeLanguageSettings?(listener: () => void, context:
|
|
16
|
+
getWorkspaceContextService?(context: LanguageServiceContext): json.WorkspaceContextService;
|
|
17
|
+
isFormattingEnabled?(document: TextDocument, context: LanguageServiceContext): ProviderResult<boolean>;
|
|
18
|
+
getFormattingOptions?(document: TextDocument, options: FormattingOptions, context: LanguageServiceContext): ProviderResult<json.FormattingOptions>;
|
|
19
|
+
getLanguageSettings?(context: LanguageServiceContext): ProviderResult<json.LanguageSettings>;
|
|
20
|
+
getDocumentLanguageSettings?(document: TextDocument, context: LanguageServiceContext): ProviderResult<json.DocumentLanguageSettings | undefined>;
|
|
21
|
+
onDidChangeLanguageSettings?(listener: () => void, context: LanguageServiceContext): Disposable;
|
|
22
22
|
}): LanguageServicePlugin;
|
|
23
23
|
//# sourceMappingURL=index.d.ts.map
|
package/index.js
CHANGED
|
@@ -6,12 +6,13 @@ const vscode_uri_1 = require("vscode-uri");
|
|
|
6
6
|
function create({ documentSelector = ['json', 'jsonc'], getWorkspaceContextService = context => {
|
|
7
7
|
return {
|
|
8
8
|
resolveRelativePath(relativePath, resource) {
|
|
9
|
-
const
|
|
9
|
+
const base = resource.substring(0, resource.lastIndexOf('/') + 1);
|
|
10
|
+
let baseUri = vscode_uri_1.URI.parse(base);
|
|
11
|
+
const decoded = context.decodeEmbeddedDocumentUri(baseUri);
|
|
10
12
|
if (decoded) {
|
|
11
|
-
|
|
13
|
+
baseUri = decoded[0];
|
|
12
14
|
}
|
|
13
|
-
|
|
14
|
-
return vscode_uri_1.Utils.resolvePath(vscode_uri_1.URI.parse(base), relativePath).toString();
|
|
15
|
+
return vscode_uri_1.Utils.resolvePath(baseUri, relativePath).toString();
|
|
15
16
|
},
|
|
16
17
|
};
|
|
17
18
|
}, isFormattingEnabled = async (_document, context) => {
|
|
@@ -51,12 +52,26 @@ function create({ documentSelector = ['json', 'jsonc'], getWorkspaceContextServi
|
|
|
51
52
|
}, } = {}) {
|
|
52
53
|
return {
|
|
53
54
|
name: 'json',
|
|
54
|
-
|
|
55
|
-
|
|
55
|
+
capabilities: {
|
|
56
|
+
completionProvider: {
|
|
57
|
+
// https://github.com/microsoft/vscode/blob/09850876e652688fb142e2e19fd00fd38c0bc4ba/extensions/json-language-features/server/src/jsonServer.ts#L150
|
|
58
|
+
triggerCharacters: ['"', ':'],
|
|
59
|
+
resolveProvider: true,
|
|
60
|
+
},
|
|
61
|
+
definitionProvider: true,
|
|
62
|
+
diagnosticProvider: true,
|
|
63
|
+
hoverProvider: true,
|
|
64
|
+
documentLinkProvider: {},
|
|
65
|
+
documentSymbolProvider: true,
|
|
66
|
+
colorProvider: true,
|
|
67
|
+
foldingRangeProvider: true,
|
|
68
|
+
selectionRangeProvider: true,
|
|
69
|
+
documentFormattingProvider: true,
|
|
70
|
+
},
|
|
56
71
|
create(context) {
|
|
57
72
|
const jsonDocuments = new WeakMap();
|
|
58
73
|
const jsonLs = json.getLanguageService({
|
|
59
|
-
schemaRequestService: async (uri) => await context.env.fs?.readFile(uri) ?? '',
|
|
74
|
+
schemaRequestService: async (uri) => await context.env.fs?.readFile(vscode_uri_1.URI.parse(uri)) ?? '',
|
|
60
75
|
workspaceContext: getWorkspaceContextService(context),
|
|
61
76
|
clientCapabilities: context.env.clientCapabilities,
|
|
62
77
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "volar-service-json",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.49",
|
|
4
4
|
"description": "Integrate vscode-json-languageservice into Volar",
|
|
5
5
|
"homepage": "https://github.com/volarjs/services/tree/master/packages/json",
|
|
6
6
|
"bugs": "https://github.com/volarjs/services/issues",
|
|
@@ -31,12 +31,12 @@
|
|
|
31
31
|
"vscode-languageserver-textdocument": "^1.0.11"
|
|
32
32
|
},
|
|
33
33
|
"peerDependencies": {
|
|
34
|
-
"@volar/language-service": "~2.
|
|
34
|
+
"@volar/language-service": "~2.3.0-alpha.1"
|
|
35
35
|
},
|
|
36
36
|
"peerDependenciesMeta": {
|
|
37
37
|
"@volar/language-service": {
|
|
38
38
|
"optional": true
|
|
39
39
|
}
|
|
40
40
|
},
|
|
41
|
-
"gitHead": "
|
|
41
|
+
"gitHead": "81275d75ab2adc03a643785a551ad31debd72866"
|
|
42
42
|
}
|