@astrojs/language-server 2.0.0-next.0 → 2.0.0-next.7

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.
@@ -96,7 +96,7 @@ function getHTMLVirtualFile(fileName, preprocessedHTML) {
96
96
  {
97
97
  sourceRange: [0, preprocessedHTML.length],
98
98
  generatedRange: [0, preprocessedHTML.length],
99
- data: { ...language_core_1.FileRangeCapabilities.full, completion: { additional: true } },
99
+ data: language_core_1.FileRangeCapabilities.full,
100
100
  },
101
101
  ],
102
102
  capabilities: {
@@ -1,3 +1,3 @@
1
- import type { Service } from '@volar/language-service';
1
+ import type { Service } from '@volar/language-server';
2
2
  declare const _default: () => Service;
3
3
  export default _default;
@@ -7,12 +7,16 @@ const volar_service_html_1 = __importDefault(require("volar-service-html"));
7
7
  const index_js_1 = require("../core/index.js");
8
8
  const utils_js_1 = require("../utils.js");
9
9
  const html_data_js_1 = require("./html-data.js");
10
- exports.default = () => (context) => {
11
- const htmlPlugin = (0, volar_service_html_1.default)()(context);
10
+ exports.default = () => (context, modules) => {
11
+ const htmlPlugin = (0, volar_service_html_1.default)()(context, modules);
12
12
  if (!context) {
13
13
  return { triggerCharacters: htmlPlugin.triggerCharacters };
14
14
  }
15
- htmlPlugin.updateCustomData([html_data_js_1.astroAttributes, html_data_js_1.astroElements, html_data_js_1.classListAttribute]);
15
+ htmlPlugin.provide['html/updateCustomData']?.([
16
+ html_data_js_1.astroAttributes,
17
+ html_data_js_1.astroElements,
18
+ html_data_js_1.classListAttribute,
19
+ ]);
16
20
  return {
17
21
  ...htmlPlugin,
18
22
  provideCompletionItems(document, position, completionContext, token) {
@@ -1,4 +1,4 @@
1
- import { CodeAction } from '@volar/language-service';
1
+ import { CodeAction } from '@volar/language-server';
2
2
  import type { TextDocument } from 'vscode-html-languageservice';
3
3
  import type { AstroFile } from '../../core/index.js';
4
4
  export declare function enhancedProvideCodeActions(codeActions: CodeAction[], file: AstroFile, document: TextDocument, newLine: string): CodeAction[];
@@ -1,14 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.enhancedProvideCodeActions = void 0;
4
- const language_service_1 = require("@volar/language-service");
4
+ const language_server_1 = require("@volar/language-server");
5
5
  const utils_js_1 = require("../../utils.js");
6
6
  function enhancedProvideCodeActions(codeActions, file, document, newLine) {
7
7
  codeActions = codeActions.map((codeAction) => {
8
8
  if (!codeAction.edit)
9
9
  return codeAction;
10
10
  codeAction.edit.documentChanges = codeAction.edit.documentChanges?.map((change) => {
11
- if (language_service_1.TextDocumentEdit.is(change)) {
11
+ if (language_server_1.TextDocumentEdit.is(change)) {
12
12
  change.edits = change.edits.map((edit) => {
13
13
  // Move code actions adding new imports to the frontmatter, as by default they'll be outside of it
14
14
  // TODO: This is a bit brittle, but we're unfortunately too late into the process to be able to tell the `fixName`
@@ -30,7 +30,7 @@ function enhancedProvideCodeActions(codeActions, file, document, newLine) {
30
30
  return (0, utils_js_1.getOpenFrontmatterEdit)(edit, newLine);
31
31
  case 'closed':
32
32
  const position = (0, utils_js_1.PointToPosition)(file.astroMeta.frontmatter.position.end);
33
- edit.range = language_service_1.Range.create(position, position);
33
+ edit.range = language_server_1.Range.create(position, position);
34
34
  return edit;
35
35
  case 'doesnt-exist':
36
36
  return (0, utils_js_1.getNewFrontmatterEdit)(edit, newLine);
@@ -1,3 +1,3 @@
1
- import { CompletionItem, CompletionList, ServiceContext } from '@volar/language-service';
1
+ import { CompletionItem, CompletionList, ServiceContext } from '@volar/language-server';
2
2
  export declare function enhancedProvideCompletionItems(completions: CompletionList): CompletionList;
3
3
  export declare function enhancedResolveCompletionItem(resolvedCompletion: CompletionItem, originalItem: CompletionItem, context: ServiceContext): CompletionItem;
@@ -1,20 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.enhancedResolveCompletionItem = exports.enhancedProvideCompletionItems = void 0;
4
- const language_service_1 = require("@volar/language-service");
5
- const vscode_html_languageservice_1 = require("vscode-html-languageservice");
4
+ const language_server_1 = require("@volar/language-server");
6
5
  const index_js_1 = require("../../core/index.js");
7
6
  const utils_js_1 = require("../../utils.js");
8
- const defaultHTMLProvider = (0, vscode_html_languageservice_1.getDefaultHTMLDataProvider)();
9
- const defaultTags = new Set(defaultHTMLProvider.provideTags().map((tag) => tag.name));
10
- const defaultAttributes = new Set(defaultHTMLProvider.provideTags().flatMap((tag) => tag.attributes.map((attr) => attr.name)));
11
7
  function enhancedProvideCompletionItems(completions) {
12
8
  completions.items = completions.items.filter(isValidCompletion).map((completion) => {
13
9
  const source = completion?.data?.originalItem?.source;
14
10
  if (source) {
15
11
  // For components import, use the file kind and sort them higher, as they're often what the user want over something else
16
12
  if (['.astro', '.svelte', '.vue'].some((ext) => source.endsWith(ext))) {
17
- completion.kind = language_service_1.CompletionItemKind.File;
13
+ completion.kind = language_server_1.CompletionItemKind.File;
18
14
  completion.detail = completion.detail + '\n\n' + source;
19
15
  completion.sortText = '\0';
20
16
  completion.data.isComponent = true;
@@ -72,8 +68,6 @@ const svelte2tsxTypes = new Set([
72
68
  ]);
73
69
  function isValidCompletion(completion) {
74
70
  const isSvelte2tsxCompletion = completion.label.startsWith('__sveltets_') || svelte2tsxTypes.has(completion.label);
75
- if (defaultTags.has(completion.label) || defaultAttributes.has(completion.label))
76
- return false;
77
71
  if (isSvelte2tsxCompletion)
78
72
  return false;
79
73
  return true;
@@ -1,4 +1,4 @@
1
- import type { Diagnostic } from '@volar/language-service';
1
+ import type { Diagnostic } from '@volar/language-server';
2
2
  export declare enum DiagnosticCodes {
3
3
  IS_NOT_A_MODULE = 2306,
4
4
  CANNOT_FIND_MODULE = 2307,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@astrojs/language-server",
3
- "version": "2.0.0-next.0",
3
+ "version": "2.0.0-next.7",
4
4
  "author": "withastro",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -20,30 +20,33 @@
20
20
  "astro-ls": "./bin/nodeServer.js"
21
21
  },
22
22
  "dependencies": {
23
- "@astrojs/compiler": "^1.4.1",
23
+ "@astrojs/compiler": "^1.4.2",
24
24
  "@jridgewell/sourcemap-codec": "^1.4.15",
25
- "@volar/language-core": "^1.6.2",
26
- "@volar/language-server": "^1.6.2",
27
- "@volar/language-service": "^1.6.2",
28
- "@volar/source-map": "^1.6.2",
25
+ "@volar/language-core": "^1.6.9",
26
+ "@volar/language-server": "^1.6.9",
27
+ "@volar/language-service": "^1.6.9",
28
+ "@volar/source-map": "^1.6.9",
29
+ "fast-glob": "^3.2.12",
29
30
  "muggle-string": "^0.3.1",
30
- "volar-service-css": "^0.0.2",
31
- "volar-service-emmet": "^0.0.2",
32
- "volar-service-html": "^0.0.2",
33
- "volar-service-prettier": "^0.0.1",
34
- "volar-service-typescript": "^0.0.2",
35
- "volar-service-typescript-twoslash-queries": "^0.0.2",
31
+ "prettier": "^2.8.8",
32
+ "prettier-plugin-astro": "^0.9.0",
33
+ "volar-service-css": "^0.0.4",
34
+ "volar-service-emmet": "^0.0.4",
35
+ "volar-service-html": "^0.0.4",
36
+ "volar-service-prettier": "^0.0.4",
37
+ "volar-service-typescript": "^0.0.4",
38
+ "volar-service-typescript-twoslash-queries": "^0.0.4",
36
39
  "vscode-html-languageservice": "^5.0.5",
37
- "vscode-uri": "^3.0.7",
38
- "fast-glob": "^3.2.12"
40
+ "vscode-uri": "^3.0.7"
39
41
  },
40
42
  "devDependencies": {
41
- "@astrojs/svelte": "^2.1.1",
42
- "@astrojs/vue": "^2.1.1",
43
+ "@astrojs/svelte": "^2.2.0",
44
+ "@astrojs/vue": "^2.2.0",
43
45
  "@types/chai": "^4.3.5",
44
46
  "@types/mocha": "^10.0.1",
45
47
  "@types/node": "^16.18.26",
46
- "astro": "^2.4.4",
48
+ "@types/prettier": "^2.7.2",
49
+ "astro": "^2.5.4",
47
50
  "chai": "^4.3.7",
48
51
  "mocha": "^10.2.0",
49
52
  "tsx": "^3.12.7",