vscode-gem-languageservice 0.0.7 → 0.0.8

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