@gi-tcg/gts-language-server 0.3.4 → 0.3.6

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/dist/browser.js CHANGED
@@ -84,16 +84,27 @@ const createCompletionPlugin = () => {
84
84
  name: "gts-completion",
85
85
  capabilities: { completionProvider: { triggerCharacters: [":"] } },
86
86
  create: (context) => {
87
- let originalProvideCompletionItems;
88
- for (const [plugin, instance] of context.plugins) if (plugin.name === "typescript-semantic") originalProvideCompletionItems = instance.provideCompletionItems;
89
- if (!originalProvideCompletionItems) {
87
+ let tsProvideCompletionItems;
88
+ for (const [plugin, instance] of context.plugins) if (plugin.name === "typescript-semantic" && instance.provideCompletionItems) {
89
+ let originalProvideCompletionItems = instance.provideCompletionItems;
90
+ tsProvideCompletionItems = instance.provideCompletionItems = async (...args) => {
91
+ const response = await originalProvideCompletionItems.apply(instance, args);
92
+ if (!response) return response;
93
+ const items = response.items.filter((item) => !item.label.startsWith("__gts_"));
94
+ return {
95
+ ...response,
96
+ items
97
+ };
98
+ };
99
+ }
100
+ if (!tsProvideCompletionItems) {
90
101
  console.warn(`TS's original provideCompletionItems not found`);
91
102
  return {};
92
103
  }
93
104
  return { provideCompletionItems: async (document, position, context, token) => {
94
105
  if (context.triggerCharacter === ":") {
95
106
  context.triggerCharacter = ".";
96
- return await originalProvideCompletionItems(document, position, context, token);
107
+ return await tsProvideCompletionItems(document, position, context, token);
97
108
  }
98
109
  return null;
99
110
  } };
package/dist/node.js CHANGED
@@ -81,16 +81,27 @@ const createCompletionPlugin = () => {
81
81
  name: "gts-completion",
82
82
  capabilities: { completionProvider: { triggerCharacters: [":"] } },
83
83
  create: (context) => {
84
- let originalProvideCompletionItems;
85
- for (const [plugin, instance] of context.plugins) if (plugin.name === "typescript-semantic") originalProvideCompletionItems = instance.provideCompletionItems;
86
- if (!originalProvideCompletionItems) {
84
+ let tsProvideCompletionItems;
85
+ for (const [plugin, instance] of context.plugins) if (plugin.name === "typescript-semantic" && instance.provideCompletionItems) {
86
+ let originalProvideCompletionItems = instance.provideCompletionItems;
87
+ tsProvideCompletionItems = instance.provideCompletionItems = async (...args) => {
88
+ const response = await originalProvideCompletionItems.apply(instance, args);
89
+ if (!response) return response;
90
+ const items = response.items.filter((item) => !item.label.startsWith("__gts_"));
91
+ return {
92
+ ...response,
93
+ items
94
+ };
95
+ };
96
+ }
97
+ if (!tsProvideCompletionItems) {
87
98
  console.warn(`TS's original provideCompletionItems not found`);
88
99
  return {};
89
100
  }
90
101
  return { provideCompletionItems: async (document, position, context, token) => {
91
102
  if (context.triggerCharacter === ":") {
92
103
  context.triggerCharacter = ".";
93
- return await originalProvideCompletionItems(document, position, context, token);
104
+ return await tsProvideCompletionItems(document, position, context, token);
94
105
  }
95
106
  return null;
96
107
  } };
package/package.json CHANGED
@@ -1,7 +1,10 @@
1
1
  {
2
2
  "name": "@gi-tcg/gts-language-server",
3
- "version": "0.3.4",
4
- "repository": "https://github.com/piovium/gts.git",
3
+ "version": "0.3.6",
4
+ "repository": {
5
+ "type": "git",
6
+ "url": "https://github.com/piovium/gts.git"
7
+ },
5
8
  "license": "Apache-2.0",
6
9
  "type": "module",
7
10
  "exports": {
@@ -28,8 +31,8 @@
28
31
  "path-browserify-esm": "^1.0.6",
29
32
  "volar-service-typescript": "volar-2.4",
30
33
  "vscode-uri": "^3.0.8",
31
- "@gi-tcg/gts-language-plugin": "0.3.4",
32
- "@gi-tcg/gts-transpiler": "0.3.4"
34
+ "@gi-tcg/gts-language-plugin": "0.3.6",
35
+ "@gi-tcg/gts-transpiler": "0.3.6"
33
36
  },
34
37
  "devDependencies": {
35
38
  "vscode-languageserver-textdocument": "^1.0.12"
package/src/completion.ts CHANGED
@@ -14,15 +14,33 @@ export const createCompletionPlugin = (): LanguageServicePlugin => {
14
14
  },
15
15
  },
16
16
  create: (context) => {
17
- let originalProvideCompletionItems: LanguageServicePluginInstance["provideCompletionItems"];
17
+ let tsProvideCompletionItems: LanguageServicePluginInstance["provideCompletionItems"];
18
18
 
19
19
  for (const [plugin, instance] of context.plugins) {
20
- if (plugin.name === "typescript-semantic") {
21
- originalProvideCompletionItems = instance.provideCompletionItems;
20
+ if (
21
+ plugin.name === "typescript-semantic" &&
22
+ instance.provideCompletionItems
23
+ ) {
24
+ let originalProvideCompletionItems = instance.provideCompletionItems;
25
+ tsProvideCompletionItems = instance.provideCompletionItems = async (
26
+ ...args
27
+ ) => {
28
+ const response = await originalProvideCompletionItems.apply(
29
+ instance,
30
+ args,
31
+ );
32
+ if (!response) {
33
+ return response;
34
+ }
35
+ const items = response.items.filter(
36
+ (item) => !item.label.startsWith("__gts_"),
37
+ );
38
+ return { ...response, items };
39
+ };
22
40
  }
23
41
  }
24
42
 
25
- if (!originalProvideCompletionItems) {
43
+ if (!tsProvideCompletionItems) {
26
44
  console.warn(`TS's original provideCompletionItems not found`);
27
45
  return {};
28
46
  }
@@ -30,13 +48,12 @@ export const createCompletionPlugin = (): LanguageServicePlugin => {
30
48
  provideCompletionItems: async (document, position, context, token) => {
31
49
  if (context.triggerCharacter === ":") {
32
50
  context.triggerCharacter = ".";
33
- const response = await originalProvideCompletionItems(
51
+ return await tsProvideCompletionItems(
34
52
  document,
35
53
  position,
36
54
  context,
37
55
  token,
38
56
  );
39
- return response;
40
57
  }
41
58
  return null;
42
59
  },
@@ -2,7 +2,7 @@ import type {
2
2
  LanguageServicePluginInstance,
3
3
  LanguageServicePlugin,
4
4
  } from "@volar/language-server";
5
- import { getVirtualCode, getWordFromPosition } from "./utils";
5
+ import { getVirtualCode, getWordFromPosition } from "./utils.ts";
6
6
 
7
7
  export function createDocumentHighlightService(): LanguageServicePlugin {
8
8
  return {