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.
Files changed (3) hide show
  1. package/index.d.ts +7 -7
  2. package/index.js +22 -7
  3. package/package.json +3 -3
package/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { LanguageServicePlugin, DocumentSelector, ServiceContext, Disposable, ProviderResult, FormattingOptions } from '@volar/language-service';
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: ServiceContext): json.WorkspaceContextService;
17
- isFormattingEnabled?(document: TextDocument, context: ServiceContext): ProviderResult<boolean>;
18
- getFormattingOptions?(document: TextDocument, options: FormattingOptions, context: ServiceContext): ProviderResult<json.FormattingOptions>;
19
- getLanguageSettings?(context: ServiceContext): ProviderResult<json.LanguageSettings>;
20
- getDocumentLanguageSettings?(document: TextDocument, context: ServiceContext): ProviderResult<json.DocumentLanguageSettings | undefined>;
21
- onDidChangeLanguageSettings?(listener: () => void, context: ServiceContext): Disposable;
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 decoded = context.decodeEmbeddedDocumentUri(resource);
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
- resource = decoded[0];
13
+ baseUri = decoded[0];
12
14
  }
13
- const base = resource.substring(0, resource.lastIndexOf('/') + 1);
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
- // https://github.com/microsoft/vscode/blob/09850876e652688fb142e2e19fd00fd38c0bc4ba/extensions/json-language-features/server/src/jsonServer.ts#L150
55
- triggerCharacters: ['"', ':'],
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.47",
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.2.3"
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": "d53f4dfa7007e77409af3ef28cc165e9940e7313"
41
+ "gitHead": "81275d75ab2adc03a643785a551ad31debd72866"
42
42
  }