vscode-gem-languageservice 0.0.5 → 0.0.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vscode-gem-languageservice",
3
- "version": "0.0.5",
3
+ "version": "0.0.7",
4
4
  "description": "Language service for Gem",
5
5
  "keywords": [
6
6
  "gem",
@@ -13,7 +13,7 @@
13
13
  "/dist/"
14
14
  ],
15
15
  "scripts": {
16
- "build": "esbuild ./src/index.ts --outdir=./dist --platform=node --sourcemap --bundle --packages=external --external:tree-sitter*",
16
+ "build": "esbuild ./src/index.ts --outdir=./dist --platform=node --sourcemap --bundle --packages=external",
17
17
  "prepublishOnly": "pnpm run build",
18
18
  "start": "pnpm run build --watch"
19
19
  },
@@ -21,14 +21,14 @@
21
21
  "@mantou/vscode-css-languageservice": "^6.3.6",
22
22
  "@mantou/vscode-html-languageservice": "^5.3.6",
23
23
  "css-color-keywords": "^1.0.0",
24
- "duoyun-ui": "^2.2.0",
24
+ "duoyun-ui": "^2.2.3",
25
25
  "tree-sitter": "^0.22.4",
26
26
  "tree-sitter-typescript": "^0.23.2",
27
27
  "vscode-languageserver": "^9.0.1",
28
28
  "vscode-languageserver-textdocument": "^1.0.12"
29
29
  },
30
30
  "devDependencies": {
31
- "@gemjs/config": "^2.1.0"
31
+ "@gemjs/config": "^2.1.3"
32
32
  },
33
33
  "author": "mantou132",
34
34
  "license": "MIT",
package/dist/index.js DELETED
@@ -1,220 +0,0 @@
1
- #!/usr/bin/env node
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __copyProps = (to, from, except, desc) => {
9
- if (from && typeof from === "object" || typeof from === "function") {
10
- for (let key of __getOwnPropNames(from))
11
- if (!__hasOwnProp.call(to, key) && key !== except)
12
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
- }
14
- return to;
15
- };
16
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
17
- // If the importer is in node compatibility mode or this is not an ESM
18
- // file that has been converted to a CommonJS file using a Babel-
19
- // compatible transform (i.e. "__esModule" has not been set), then set
20
- // "default" to the CommonJS "module.exports" for node compatibility.
21
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
- mod
23
- ));
24
-
25
- // src/index.ts
26
- var import_vscode_languageserver_textdocument2 = require("vscode-languageserver-textdocument");
27
- var import_node2 = require("vscode-languageserver/node");
28
-
29
- // src/provider.ts
30
- var import_css_color_keywords = __toESM(require("css-color-keywords"));
31
- var import_color = require("duoyun-ui/lib/color");
32
- var import_types = require("duoyun-ui/lib/types");
33
- var import_node = require("vscode-languageserver/node");
34
-
35
- // src/global.ts
36
- var import_vscode_css_languageservice = require("@mantou/vscode-css-languageservice");
37
- var import_vscode_html_languageservice = require("@mantou/vscode-html-languageservice");
38
- var import_cache2 = require("duoyun-ui/lib/cache");
39
-
40
- // src/documents.ts
41
- var import_cache = require("duoyun-ui/lib/cache");
42
- var import_tree_sitter = __toESM(require("tree-sitter"));
43
- var import_tree_sitter_typescript = __toESM(require("tree-sitter-typescript"));
44
- var import_vscode_languageserver_textdocument = require("vscode-languageserver-textdocument");
45
- var language = import_tree_sitter_typescript.default.typescript;
46
- function processTemplate({ children }) {
47
- return {
48
- startIndex: children[1].startIndex,
49
- text: children.slice(1, -1).reduce((p, c) => p + (c.type === "template_substitution" ? c.text.replaceAll(/./g, "_") : c.text), "")
50
- };
51
- }
52
- var CSTDocs = class extends WeakMap {
53
- #cssCache = new import_cache.Cache({ max: 1e3 });
54
- #htmlCache = new import_cache.Cache({ max: 1e3 });
55
- getTypeScriptCST(textDocument) {
56
- const parser = new import_tree_sitter.default();
57
- parser.setLanguage(language);
58
- const oldTree = this.get(textDocument);
59
- if (oldTree?.getText(oldTree.rootNode) === textDocument.getText()) return oldTree;
60
- const newTree = parser.parse(textDocument.getText());
61
- this.set(textDocument, newTree);
62
- return newTree;
63
- }
64
- getAllTemplate(textDocument, tag) {
65
- const tree = this.getTypeScriptCST(textDocument);
66
- const query = new import_tree_sitter.default.Query(
67
- language,
68
- `
69
- (call_expression
70
- function: (identifier) @tag (#eq? @tag "${tag}")
71
- arguments: (template_string) @injection.content
72
- )
73
- `
74
- );
75
- const matches = query.matches(tree.rootNode);
76
- const templateStrings = matches.map(({ captures }) => captures.pop().node);
77
- return templateStrings.map(processTemplate);
78
- }
79
- getStyles(textDocument) {
80
- const tree = this.getTypeScriptCST(textDocument);
81
- const query = new import_tree_sitter.default.Query(
82
- language,
83
- `
84
- (call_expression
85
- function: (identifier) @_name (#eq? @_name "css")
86
- arguments: (arguments (object (pair
87
- value: (template_string) @injection.content
88
- )))
89
- )
90
- `
91
- );
92
- const matches = query.matches(tree.rootNode);
93
- const templateStrings = matches.map(({ captures }) => captures.pop().node);
94
- return templateStrings.map(processTemplate);
95
- }
96
- getAllStyleValue(textDocument) {
97
- const tree = this.getTypeScriptCST(textDocument);
98
- const query = new import_tree_sitter.default.Query(
99
- language,
100
- `
101
- (call_expression
102
- function: (identifier) @_name (#eq? @_name "styleMap")
103
- arguments: (arguments (object (pair
104
- value: (string (string_fragment) @injection.content)
105
- )))
106
- )
107
- `
108
- );
109
- const matches = query.matches(tree.rootNode);
110
- return matches.map(({ captures }) => captures.pop().node);
111
- }
112
- getAllCSS(textDocument) {
113
- return this.getAllTemplate(textDocument, "css").map((e) => {
114
- const doc = import_vscode_languageserver_textdocument.TextDocument.create(``, "css", 1, e.text);
115
- const cssDoc = this.#cssCache.get(e.text, () => cssLanguageService.parseStylesheet(doc));
116
- return { ...e, doc, cssDoc };
117
- });
118
- }
119
- getAllCSSFragment(textDocument) {
120
- return [...this.getAllTemplate(textDocument, "styled"), ...this.getStyles(textDocument)].map((e) => {
121
- const doc = import_vscode_languageserver_textdocument.TextDocument.create(``, "css", 1, `.parent {${e.text}}`);
122
- const cssDoc = this.#cssCache.get(e.text, () => cssLanguageService.parseStylesheet(doc));
123
- return { ...e, startIndex: e.startIndex - 9, doc, cssDoc };
124
- });
125
- }
126
- getAllHTML(textDocument) {
127
- return this.getAllTemplate(textDocument, "html").map((e) => {
128
- const doc = import_vscode_languageserver_textdocument.TextDocument.create(``, "html", 1, e.text);
129
- const htmlDoc = this.#htmlCache.get(e.text, () => htmlLanguageService.parseHTMLDocument(doc));
130
- return { ...e, doc, htmlDoc };
131
- });
132
- }
133
- };
134
-
135
- // src/global.ts
136
- var cssLanguageService = (0, import_vscode_css_languageservice.getCSSLanguageService)();
137
- var htmlLanguageService = (0, import_vscode_html_languageservice.getLanguageService)();
138
- var documents = new CSTDocs();
139
- var cssCache = new import_cache2.Cache({ max: 1e3 });
140
- var htmlCache = new import_cache2.Cache({ max: 1e3 });
141
-
142
- // src/provider.ts
143
- var Provider = class {
144
- provideDocumentColors(document) {
145
- return [
146
- // NOTE: ignore `<style>`
147
- ...[...documents.getAllCSS(document), ...documents.getAllCSSFragment(document)].flatMap(
148
- ({ doc, startIndex, cssDoc }) => {
149
- const colors = cssLanguageService.findDocumentColors(doc, cssDoc);
150
- return colors.map((e) => ({
151
- ...e,
152
- range: {
153
- start: document.positionAt(startIndex + doc.offsetAt(e.range.start)),
154
- end: document.positionAt(startIndex + doc.offsetAt(e.range.end))
155
- }
156
- }));
157
- }
158
- ),
159
- ...documents.getAllStyleValue(document).map(({ text, startIndex }) => {
160
- const hex = import_css_color_keywords.default[text] || text;
161
- if (!hex.startsWith("#")) return;
162
- const [red, green, blue, alpha] = (0, import_color.parseHexColor)(hex);
163
- const range = import_node.Range.create(document.positionAt(startIndex), document.positionAt(startIndex + hex.length));
164
- const color = import_node.Color.create(red / 255, green / 255, blue / 255, alpha);
165
- return { range, color };
166
- }).filter(import_types.isNotNullish)
167
- ];
168
- }
169
- provideColorPresentations({ red, green, blue, alpha }) {
170
- return [{ label: (0, import_color.rgbToHexColor)([red * 255, green * 255, blue * 255, alpha]) }];
171
- }
172
- provideDocumentSymbols(document) {
173
- return [
174
- ...documents.getAllCSS(document).map((e) => {
175
- const symbols = cssLanguageService.findDocumentSymbols(e.doc, e.cssDoc);
176
- return { ...e, symbols };
177
- }),
178
- ...documents.getAllHTML(document).map((e) => {
179
- const symbols = htmlLanguageService.findDocumentSymbols(e.doc, e.htmlDoc);
180
- return { ...e, symbols };
181
- })
182
- ].flatMap(
183
- ({ startIndex, symbols, doc }) => symbols.map((symbol) => ({
184
- ...symbol,
185
- location: {
186
- uri: document.uri,
187
- range: {
188
- start: document.positionAt(startIndex + doc.offsetAt(symbol.location.range.start)),
189
- end: document.positionAt(startIndex + doc.offsetAt(symbol.location.range.end))
190
- }
191
- }
192
- }))
193
- );
194
- }
195
- };
196
-
197
- // src/index.ts
198
- var connection = (0, import_node2.createConnection)(import_node2.ProposedFeatures.all);
199
- var documents2 = new import_node2.TextDocuments(import_vscode_languageserver_textdocument2.TextDocument);
200
- connection.onInitialize(() => {
201
- return {
202
- capabilities: {
203
- colorProvider: true,
204
- documentSymbolProvider: true
205
- }
206
- };
207
- });
208
- var provider = new Provider();
209
- connection.onColorPresentation(({ color }) => {
210
- return provider.provideColorPresentations(color);
211
- });
212
- connection.onDocumentColor(({ textDocument }) => {
213
- return provider.provideDocumentColors(documents2.get(textDocument.uri));
214
- });
215
- connection.onDocumentSymbol(({ textDocument }) => {
216
- return provider.provideDocumentSymbols(documents2.get(textDocument.uri));
217
- });
218
- documents2.listen(connection);
219
- connection.listen();
220
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/index.ts", "../src/provider.ts", "../src/global.ts", "../src/documents.ts"],
4
- "sourcesContent": ["#!/usr/bin/env node\n\n// biome-ignore assist/source/organizeImports: export/path\nimport { TextDocument } from 'vscode-languageserver-textdocument';\nimport { createConnection, ProposedFeatures, TextDocuments } from 'vscode-languageserver/node';\n\nimport { Provider } from './provider';\n\nconst connection = createConnection(ProposedFeatures.all);\nconst documents = new TextDocuments(TextDocument);\n\nconnection.onInitialize(() => {\n return {\n capabilities: {\n colorProvider: true,\n documentSymbolProvider: true,\n },\n };\n});\n\nconst provider = new Provider();\n\nconnection.onColorPresentation(({ color }) => {\n return provider.provideColorPresentations(color);\n});\n\nconnection.onDocumentColor(({ textDocument }) => {\n return provider.provideDocumentColors(documents.get(textDocument.uri)!);\n});\n\nconnection.onDocumentSymbol(({ textDocument }) => {\n return provider.provideDocumentSymbols(documents.get(textDocument.uri)!);\n});\n\ndocuments.listen(connection);\nconnection.listen();\n", "// biome-ignore assist/source/organizeImports: export/path\nimport cssColors from 'css-color-keywords';\nimport type { HexColor } from 'duoyun-ui/lib/color';\nimport { parseHexColor, rgbToHexColor } from 'duoyun-ui/lib/color';\nimport { isNotNullish } from 'duoyun-ui/lib/types';\nimport type { TextDocument } from 'vscode-languageserver-textdocument';\nimport type { ColorInformation, ColorPresentation, SymbolInformation } from 'vscode-languageserver/node';\nimport { Color, Range } from 'vscode-languageserver/node';\nimport { cssLanguageService, documents, htmlLanguageService } from './global';\n\nexport class Provider {\n provideDocumentColors(document: TextDocument): ColorInformation[] {\n return [\n // NOTE: ignore `<style>`\n ...[...documents.getAllCSS(document), ...documents.getAllCSSFragment(document)].flatMap(\n ({ doc, startIndex, cssDoc }) => {\n const colors = cssLanguageService.findDocumentColors(doc, cssDoc);\n return colors.map((e) => ({\n ...e,\n range: {\n start: document.positionAt(startIndex + doc.offsetAt(e.range.start)),\n end: document.positionAt(startIndex + doc.offsetAt(e.range.end)),\n },\n }));\n },\n ),\n ...documents\n .getAllStyleValue(document)\n .map(({ text, startIndex }) => {\n const hex = (cssColors[text] || text) as HexColor;\n if (!hex.startsWith('#')) return;\n const [red, green, blue, alpha] = parseHexColor(hex);\n const range = Range.create(document.positionAt(startIndex), document.positionAt(startIndex + hex.length));\n const color = Color.create(red / 255, green / 255, blue / 255, alpha);\n return { range, color };\n })\n .filter(isNotNullish),\n ];\n }\n\n provideColorPresentations({ red, green, blue, alpha }: Color): ColorPresentation[] {\n return [{ label: rgbToHexColor([red * 255, green * 255, blue * 255, alpha]) }];\n }\n\n provideDocumentSymbols(document: TextDocument): SymbolInformation[] {\n return [\n ...documents.getAllCSS(document).map((e) => {\n const symbols = cssLanguageService.findDocumentSymbols(e.doc, e.cssDoc);\n return { ...e, symbols };\n }),\n ...documents.getAllHTML(document).map((e) => {\n const symbols = htmlLanguageService.findDocumentSymbols(e.doc, e.htmlDoc);\n return { ...e, symbols };\n }),\n ].flatMap(({ startIndex, symbols, doc }) =>\n symbols.map((symbol) => ({\n ...symbol,\n location: {\n uri: document.uri,\n range: {\n start: document.positionAt(startIndex + doc.offsetAt(symbol.location.range.start)),\n end: document.positionAt(startIndex + doc.offsetAt(symbol.location.range.end)),\n },\n },\n })),\n );\n }\n}\n", "import { getCSSLanguageService, type Stylesheet } from '@mantou/vscode-css-languageservice';\nimport { getLanguageService as getHTMLanguageService, type HTMLDocument } from '@mantou/vscode-html-languageservice';\nimport { Cache } from 'duoyun-ui/lib/cache';\n\nimport { CSTDocs } from './documents';\n\nexport const cssLanguageService = getCSSLanguageService();\nexport const htmlLanguageService = getHTMLanguageService();\nexport const documents = new CSTDocs();\nexport const cssCache = new Cache<Stylesheet>({ max: 1000 });\nexport const htmlCache = new Cache<HTMLDocument>({ max: 1000 });\n", "import type { Stylesheet } from '@mantou/vscode-css-languageservice';\nimport type { HTMLDocument } from '@mantou/vscode-html-languageservice';\nimport { Cache } from 'duoyun-ui/lib/cache';\nimport Parser from 'tree-sitter';\nimport tsTypescript from 'tree-sitter-typescript';\nimport { TextDocument } from 'vscode-languageserver-textdocument';\n\nimport { cssLanguageService, htmlLanguageService } from './global';\n\nconst language = tsTypescript.typescript as Parser.Language;\n\nfunction processTemplate({ children }: Parser.SyntaxNode) {\n return {\n startIndex: children[1].startIndex,\n text: children\n .slice(1, -1)\n .reduce((p, c) => p + (c.type === 'template_substitution' ? c.text.replaceAll(/./g, '_') : c.text), ''),\n };\n}\n\nexport class CSTDocs extends WeakMap<TextDocument, Parser.Tree> {\n #cssCache = new Cache<Stylesheet>({ max: 1000 });\n #htmlCache = new Cache<HTMLDocument>({ max: 1000 });\n\n getTypeScriptCST(textDocument: TextDocument) {\n const parser = new Parser();\n parser.setLanguage(language);\n\n const oldTree = this.get(textDocument);\n if (oldTree?.getText(oldTree.rootNode) === textDocument.getText()) return oldTree;\n\n const newTree = parser.parse(textDocument.getText());\n this.set(textDocument, newTree);\n\n return newTree;\n }\n\n getAllTemplate(textDocument: TextDocument, tag: string) {\n const tree = this.getTypeScriptCST(textDocument);\n const query = new Parser.Query(\n language,\n `\n (call_expression\n function: (identifier) @tag (#eq? @tag \"${tag}\")\n arguments: (template_string) @injection.content\n )\n `,\n );\n const matches = query.matches(tree.rootNode);\n const templateStrings = matches.map(({ captures }) => captures.pop()!.node);\n return templateStrings.map(processTemplate);\n }\n\n getStyles(textDocument: TextDocument) {\n const tree = this.getTypeScriptCST(textDocument);\n const query = new Parser.Query(\n language,\n `\n (call_expression\n function: (identifier) @_name (#eq? @_name \"css\")\n arguments: (arguments (object (pair\n value: (template_string) @injection.content\n )))\n )\n `,\n );\n const matches = query.matches(tree.rootNode);\n const templateStrings = matches.map(({ captures }) => captures.pop()!.node);\n return templateStrings.map(processTemplate);\n }\n\n getAllStyleValue(textDocument: TextDocument) {\n const tree = this.getTypeScriptCST(textDocument);\n const query = new Parser.Query(\n language,\n `\n (call_expression\n function: (identifier) @_name (#eq? @_name \"styleMap\")\n arguments: (arguments (object (pair\n value: (string (string_fragment) @injection.content)\n )))\n )\n `,\n );\n const matches = query.matches(tree.rootNode);\n return matches.map(({ captures }) => captures.pop()!.node);\n }\n\n getAllCSS(textDocument: TextDocument) {\n return this.getAllTemplate(textDocument, 'css').map((e) => {\n const doc = TextDocument.create(``, 'css', 1, e.text);\n const cssDoc = this.#cssCache.get(e.text, () => cssLanguageService.parseStylesheet(doc));\n return { ...e, doc, cssDoc };\n });\n }\n\n getAllCSSFragment(textDocument: TextDocument) {\n return [...this.getAllTemplate(textDocument, 'styled'), ...this.getStyles(textDocument)].map((e) => {\n const doc = TextDocument.create(``, 'css', 1, `.parent {${e.text}}`);\n const cssDoc = this.#cssCache.get(e.text, () => cssLanguageService.parseStylesheet(doc));\n return { ...e, startIndex: e.startIndex - 9, doc, cssDoc };\n });\n }\n\n getAllHTML(textDocument: TextDocument) {\n return this.getAllTemplate(textDocument, 'html').map((e) => {\n const doc = TextDocument.create(``, 'html', 1, e.text);\n const htmlDoc = this.#htmlCache.get(e.text, () => htmlLanguageService.parseHTMLDocument(doc));\n return { ...e, doc, htmlDoc };\n });\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["import_vscode_languageserver_textdocument", "import_node", "import_cache", "tsTypescript", "Parser", "getHTMLanguageService", "cssColors", "documents"]
7
- }