@marko/language-server 0.11.0 → 0.12.2

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 (48) hide show
  1. package/LICENSE +1 -1
  2. package/bin.js +2 -0
  3. package/dist/index.js +744 -139
  4. package/dist/index.js.map +7 -1
  5. package/dist/index.mjs +822 -0
  6. package/dist/index.mjs.map +7 -0
  7. package/dist/utils/compiler.d.ts +5 -61
  8. package/dist/utils/completions/types/attributeModifier.d.ts +5 -5
  9. package/dist/utils/completions/types/attributeName.d.ts +5 -5
  10. package/dist/utils/completions/types/closeTag.d.ts +5 -5
  11. package/dist/utils/completions/types/openTag.d.ts +5 -5
  12. package/dist/utils/completions/types/openTagName.d.ts +5 -5
  13. package/dist/utils/completions/types/styleContent.d.ts +4 -4
  14. package/dist/utils/definitions/types/attributeName.d.ts +5 -5
  15. package/dist/utils/definitions/types/openTagName.d.ts +5 -5
  16. package/dist/utils/htmljs-parser.d.ts +2 -2
  17. package/dist/utils/utils.d.ts +2 -2
  18. package/package.json +30 -16
  19. package/dist/bin.js +0 -5
  20. package/dist/bin.js.map +0 -1
  21. package/dist/utils/compiler.js +0 -54
  22. package/dist/utils/compiler.js.map +0 -1
  23. package/dist/utils/completions/index.js +0 -10
  24. package/dist/utils/completions/index.js.map +0 -1
  25. package/dist/utils/completions/types/attributeModifier.js +0 -20
  26. package/dist/utils/completions/types/attributeModifier.js.map +0 -1
  27. package/dist/utils/completions/types/attributeName.js +0 -84
  28. package/dist/utils/completions/types/attributeName.js.map +0 -1
  29. package/dist/utils/completions/types/closeTag.js +0 -21
  30. package/dist/utils/completions/types/closeTag.js.map +0 -1
  31. package/dist/utils/completions/types/openTag.js +0 -21
  32. package/dist/utils/completions/types/openTag.js.map +0 -1
  33. package/dist/utils/completions/types/openTagName.js +0 -75
  34. package/dist/utils/completions/types/openTagName.js.map +0 -1
  35. package/dist/utils/completions/types/styleContent.js +0 -22
  36. package/dist/utils/completions/types/styleContent.js.map +0 -1
  37. package/dist/utils/definitions/index.js +0 -6
  38. package/dist/utils/definitions/index.js.map +0 -1
  39. package/dist/utils/definitions/types/attributeName.js +0 -31
  40. package/dist/utils/definitions/types/attributeName.js.map +0 -1
  41. package/dist/utils/definitions/types/openTagName.js +0 -38
  42. package/dist/utils/definitions/types/openTagName.js.map +0 -1
  43. package/dist/utils/htmljs-parser.js +0 -179
  44. package/dist/utils/htmljs-parser.js.map +0 -1
  45. package/dist/utils/regexp-builder.js +0 -27
  46. package/dist/utils/regexp-builder.js.map +0 -1
  47. package/dist/utils/utils.js +0 -68
  48. package/dist/utils/utils.js.map +0 -1
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.closeTag = void 0;
4
- const vscode_languageserver_1 = require("vscode-languageserver");
5
- const utils_1 = require("../../utils");
6
- function closeTag(taglib, document, params, event) {
7
- if (event.tagName[0] === "$") {
8
- return;
9
- }
10
- const closingTagStr = `</${event.tagName}>`;
11
- return vscode_languageserver_1.CompletionList.create([
12
- {
13
- label: closingTagStr,
14
- kind: vscode_languageserver_1.CompletionItemKind.Class,
15
- insertTextFormat: vscode_languageserver_1.InsertTextFormat.Snippet,
16
- textEdit: vscode_languageserver_1.TextEdit.replace((0, utils_1.rangeFromEvent)(document, event), closingTagStr),
17
- },
18
- ], true);
19
- }
20
- exports.closeTag = closeTag;
21
- //# sourceMappingURL=closeTag.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"closeTag.js","sourceRoot":"","sources":["../../../../src/utils/completions/types/closeTag.ts"],"names":[],"mappings":";;;AAAA,iEAM+B;AAI/B,uCAA6C;AAE7C,SAAgB,QAAQ,CACtB,MAAoB,EACpB,QAAsB,EACtB,MAAwB,EACxB,KAA4B;IAE5B,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;QAC5B,OAAO;KACR;IAED,MAAM,aAAa,GAAG,KAAK,KAAK,CAAC,OAAO,GAAG,CAAC;IAE5C,OAAO,sCAAc,CAAC,MAAM,CAC1B;QACE;YACE,KAAK,EAAE,aAAa;YACpB,IAAI,EAAE,0CAAkB,CAAC,KAAK;YAC9B,gBAAgB,EAAE,wCAAgB,CAAC,OAAO;YAC1C,QAAQ,EAAE,gCAAQ,CAAC,OAAO,CACxB,IAAA,sBAAc,EAAC,QAAQ,EAAE,KAAK,CAAC,EAC/B,aAAa,CACd;SACF;KACF,EACD,IAAI,CACL,CAAC;AACJ,CAAC;AA1BD,4BA0BC"}
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.openTag = void 0;
4
- const vscode_languageserver_1 = require("vscode-languageserver");
5
- function openTag(taglib, document, params, event) {
6
- const triggerCharacter = params.context && params.context.triggerCharacter;
7
- if (triggerCharacter !== ">" || event.openTagOnly || event.selfClosed) {
8
- return;
9
- }
10
- const closingTagStr = `</${event.tagName[0] === "$" ? "" : event.tagName}>`;
11
- return vscode_languageserver_1.CompletionList.create([
12
- {
13
- label: closingTagStr,
14
- kind: vscode_languageserver_1.CompletionItemKind.Class,
15
- insertTextFormat: vscode_languageserver_1.InsertTextFormat.Snippet,
16
- insertText: `\n\t$0\n${closingTagStr}`,
17
- },
18
- ], true);
19
- }
20
- exports.openTag = openTag;
21
- //# sourceMappingURL=openTag.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openTag.js","sourceRoot":"","sources":["../../../../src/utils/completions/types/openTag.ts"],"names":[],"mappings":";;;AAAA,iEAK+B;AAK/B,SAAgB,OAAO,CACrB,MAAoB,EACpB,QAAsB,EACtB,MAAwB,EACxB,KAA2B;IAE3B,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC;IAC3E,IAAI,gBAAgB,KAAK,GAAG,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,UAAU,EAAE;QACrE,OAAO;KACR;IAED,MAAM,aAAa,GAAG,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC;IAE5E,OAAO,sCAAc,CAAC,MAAM,CAC1B;QACE;YACE,KAAK,EAAE,aAAa;YACpB,IAAI,EAAE,0CAAkB,CAAC,KAAK;YAC9B,gBAAgB,EAAE,wCAAgB,CAAC,OAAO;YAC1C,UAAU,EAAE,WAAW,aAAa,EAAE;SACvC;KACF,EACD,IAAI,CACL,CAAC;AACJ,CAAC;AAxBD,0BAwBC"}
@@ -1,75 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.openTagName = void 0;
4
- const tslib_1 = require("tslib");
5
- const path_1 = (0, tslib_1.__importDefault)(require("path"));
6
- const vscode_uri_1 = require("vscode-uri");
7
- const vscode_languageserver_1 = require("vscode-languageserver");
8
- const utils_1 = require("../../utils");
9
- function openTagName(taglib, document, params, event) {
10
- const { fsPath: currentTemplateFilePath } = vscode_uri_1.URI.parse(document.uri);
11
- let tags;
12
- const triggerCharacter = (params.context && params.context.triggerCharacter) || event.tagName[0];
13
- const isAttributeTag = triggerCharacter === "@";
14
- const tagNameRange = (0, utils_1.rangeFromEvent)(document, event);
15
- if (isAttributeTag) {
16
- const parentTag = (0, utils_1.findNonControlFlowParent)(event);
17
- const parentTagDef = parentTag &&
18
- !parentTag.tagNameExpression &&
19
- taglib.getTag(parentTag.tagName);
20
- tags =
21
- (parentTagDef &&
22
- parentTagDef.nestedTags &&
23
- Object.values(parentTagDef.nestedTags)) ||
24
- [];
25
- }
26
- else {
27
- tags = taglib.getTagsSorted().filter((it) => !it.isNestedTag);
28
- }
29
- return vscode_languageserver_1.CompletionList.create(tags
30
- .filter((it) => !it.deprecated)
31
- .filter((it) => it.name !== "*")
32
- .filter((it) => /^[^_]/.test(it.name) || !/\/node_modules\//.test(it.filePath))
33
- .map((it) => {
34
- let label = it.isNestedTag ? `@${it.name}` : it.name;
35
- const fileForTag = it.template || it.renderer || it.filePath;
36
- const fileURIForTag = vscode_uri_1.URI.file(fileForTag).toString();
37
- const nodeModuleMatch = /\/node_modules\/((?:\@[^/]+\/)?[^/]+)/.exec(fileForTag);
38
- const nodeModuleName = nodeModuleMatch && nodeModuleMatch[1];
39
- const isCoreTag = nodeModuleName === "marko";
40
- const documentation = {
41
- kind: vscode_languageserver_1.MarkupKind.Markdown,
42
- value: it.html
43
- ? `Built in [<${it.name}>](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/${it.name}) HTML tag.`
44
- : nodeModuleName
45
- ? isCoreTag
46
- ? `Core Marko [<${it.name}>](${fileURIForTag}) tag.`
47
- : `Custom Marko tag discovered from the ["${nodeModuleName}"](${fileURIForTag}) npm package.`
48
- : `Custom Marko tag discovered from:\n\n[${path_1.default.relative(currentTemplateFilePath, fileForTag)}](${fileURIForTag})`,
49
- };
50
- if (it.description) {
51
- documentation.value += `\n\n${it.description}`;
52
- }
53
- const autocomplete = it.autocomplete && it.autocomplete[0];
54
- if (autocomplete) {
55
- if (autocomplete.displayText) {
56
- label = autocomplete.displayText;
57
- }
58
- if (autocomplete.description) {
59
- documentation.value += `\n\n${autocomplete.description}`;
60
- }
61
- if (autocomplete.descriptionMoreURL) {
62
- documentation.value += `\n\n[More Info](${autocomplete.descriptionMoreURL})`;
63
- }
64
- }
65
- return {
66
- label,
67
- documentation,
68
- kind: vscode_languageserver_1.CompletionItemKind.Class,
69
- insertTextFormat: vscode_languageserver_1.InsertTextFormat.Snippet,
70
- textEdit: vscode_languageserver_1.TextEdit.replace(tagNameRange, (autocomplete && autocomplete.snippet) || label),
71
- };
72
- }), true);
73
- }
74
- exports.openTagName = openTagName;
75
- //# sourceMappingURL=openTagName.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openTagName.js","sourceRoot":"","sources":["../../../../src/utils/completions/types/openTagName.ts"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.styleContent = void 0;
4
- const vscode_languageserver_1 = require("vscode-languageserver");
5
- const vscode_languageserver_textdocument_1 = require("vscode-languageserver-textdocument");
6
- const vscode_css_languageservice_1 = require("vscode-css-languageservice");
7
- const utils_1 = require("../../utils");
8
- const services = {
9
- css: vscode_css_languageservice_1.getCSSLanguageService,
10
- scss: vscode_css_languageservice_1.getSCSSLanguageService,
11
- less: vscode_css_languageservice_1.getLESSLanguageService,
12
- };
13
- function styleContent(taglib, document, params, event) {
14
- const service = services[event.language]();
15
- const startPos = document.positionAt(event.pos);
16
- const relativePos = (0, utils_1.shiftPosition)(params.position, vscode_languageserver_1.Position.create(startPos.line * -1, startPos.character * -1));
17
- const contentDocument = vscode_languageserver_textdocument_1.TextDocument.create(document.uri, event.language, document.version, event.content);
18
- const completions = service.doComplete(contentDocument, relativePos, service.parseStylesheet(contentDocument));
19
- return (0, utils_1.shiftCompletionRanges)(completions, startPos);
20
- }
21
- exports.styleContent = styleContent;
22
- //# sourceMappingURL=styleContent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"styleContent.js","sourceRoot":"","sources":["../../../../src/utils/completions/types/styleContent.ts"],"names":[],"mappings":";;;AAAA,iEAAmE;AACnE,2FAAkE;AAClE,2EAIoC;AAIpC,uCAAmE;AAEnE,MAAM,QAAQ,GAAG;IACf,GAAG,EAAE,kDAAqB;IAC1B,IAAI,EAAE,mDAAsB;IAC5B,IAAI,EAAE,mDAAsB;CAC7B,CAAC;AAEF,SAAgB,YAAY,CAC1B,MAAoB,EACpB,QAAsB,EACtB,MAAwB,EACxB,KAAgC;IAEhC,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC3C,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,IAAA,qBAAa,EAC/B,MAAM,CAAC,QAAQ,EACf,gCAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAC7D,CAAC;IACF,MAAM,eAAe,GAAG,iDAAY,CAAC,MAAM,CACzC,QAAQ,CAAC,GAAG,EACZ,KAAK,CAAC,QAAQ,EACd,QAAQ,CAAC,OAAO,EAChB,KAAK,CAAC,OAAO,CACd,CAAC;IAEF,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CACpC,eAAe,EACf,WAAW,EACX,OAAO,CAAC,eAAe,CAAC,eAAe,CAAC,CACzC,CAAC;IAEF,OAAO,IAAA,6BAAqB,EAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AACtD,CAAC;AA1BD,oCA0BC"}
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- (0, tslib_1.__exportStar)(require("./types/attributeName"), exports);
5
- (0, tslib_1.__exportStar)(require("./types/openTagName"), exports);
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/definitions/index.ts"],"names":[],"mappings":";;;AAAA,qEAAsC;AACtC,mEAAoC"}
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.attributeName = void 0;
4
- const tslib_1 = require("tslib");
5
- const vscode_uri_1 = require("vscode-uri");
6
- const vscode_languageserver_1 = require("vscode-languageserver");
7
- const regexp_builder_1 = (0, tslib_1.__importDefault)(require("../../regexp-builder"));
8
- const utils_1 = require("../../utils");
9
- function attributeName(taglib, document, params, event) {
10
- const tagName = event.tag.tagNameExpression ? undefined : event.tag.tagName;
11
- const tagDef = tagName && taglib.getTag(tagName);
12
- const attrDef = taglib.getAttribute(tagName || "*", event.name);
13
- let range = utils_1.START_OF_FILE;
14
- if (!attrDef) {
15
- return;
16
- }
17
- const attrEntryFile = attrDef.filePath || (tagDef && tagDef.filePath);
18
- if (!attrEntryFile) {
19
- return;
20
- }
21
- if (/\/marko(?:-tag)?\.json$/.test(attrEntryFile)) {
22
- const tagDefDoc = (0, utils_1.createTextDocument)(attrEntryFile);
23
- const match = (0, regexp_builder_1.default) `/"@${event.name}"\s*:\s*[^\r\n,]+/g`.exec(tagDefDoc.getText());
24
- if (match && match.index) {
25
- range = vscode_languageserver_1.Range.create(tagDefDoc.positionAt(match.index), tagDefDoc.positionAt(match.index + match[0].length));
26
- }
27
- }
28
- return vscode_languageserver_1.LocationLink.create(vscode_uri_1.URI.file(attrEntryFile).toString(), range, range, (0, utils_1.rangeFromEvent)(document, event));
29
- }
30
- exports.attributeName = attributeName;
31
- //# sourceMappingURL=attributeName.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"attributeName.js","sourceRoot":"","sources":["../../../../src/utils/definitions/types/attributeName.ts"],"names":[],"mappings":";;;;AAAA,2CAAiC;AACjC,iEAI+B;AAI/B,uFAAiD;AACjD,uCAAgF;AAEhF,SAAgB,aAAa,CAC3B,MAAoB,EACpB,QAAsB,EACtB,MAAkC,EAClC,KAAiC;IAEjC,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;IAC5E,MAAM,MAAM,GAAG,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,IAAI,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAChE,IAAI,KAAK,GAAG,qBAAa,CAAC;IAE1B,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO;KACR;IAED,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC;IAEtE,IAAI,CAAC,aAAa,EAAE;QAClB,OAAO;KACR;IAED,IAAI,yBAAyB,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;QACjD,MAAM,SAAS,GAAG,IAAA,0BAAkB,EAAC,aAAa,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,IAAA,wBAAa,EAAA,MAAM,KAAK,CAAC,IAAI,qBAAqB,CAAC,IAAI,CACnE,SAAS,CAAC,OAAO,EAAE,CACpB,CAAC;QAEF,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE;YACxB,KAAK,GAAG,6BAAK,CAAC,MAAM,CAClB,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,EACjC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CACpD,CAAC;SACH;KACF;IAED,OAAO,oCAAY,CAAC,MAAM,CACxB,gBAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,EAClC,KAAK,EACL,KAAK,EACL,IAAA,sBAAc,EAAC,QAAQ,EAAE,KAAK,CAAC,CAChC,CAAC;AACJ,CAAC;AAzCD,sCAyCC"}
@@ -1,38 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.openTagName = void 0;
4
- const tslib_1 = require("tslib");
5
- const vscode_uri_1 = require("vscode-uri");
6
- const vscode_languageserver_1 = require("vscode-languageserver");
7
- const regexp_builder_1 = (0, tslib_1.__importDefault)(require("../../regexp-builder"));
8
- const utils_1 = require("../../utils");
9
- function openTagName(taglib, document, params, event) {
10
- let tagDef;
11
- let range = utils_1.START_OF_FILE;
12
- const isAttributeTag = event.tagName[0] === "@";
13
- if (isAttributeTag) {
14
- const parentTag = (0, utils_1.findNonControlFlowParent)(event);
15
- tagDef =
16
- parentTag &&
17
- (parentTag.tagNameExpression
18
- ? undefined
19
- : taglib.getTag(parentTag.tagName));
20
- }
21
- else {
22
- tagDef = taglib.getTag(event.tagName);
23
- }
24
- if (!tagDef) {
25
- return;
26
- }
27
- const tagEntryFile = tagDef.template || tagDef.renderer || tagDef.filePath;
28
- if (/\/marko(?:-tag)?\.json$/.test(tagEntryFile)) {
29
- const tagDefDoc = (0, utils_1.createTextDocument)(tagEntryFile);
30
- const match = (0, regexp_builder_1.default) `/"<${event.tagName}>"\s*:\s*[^\r\n,]+/g`.exec(tagDefDoc.getText());
31
- if (match && match.index) {
32
- range = vscode_languageserver_1.Range.create(tagDefDoc.positionAt(match.index), tagDefDoc.positionAt(match.index + match[0].length));
33
- }
34
- }
35
- return vscode_languageserver_1.LocationLink.create(vscode_uri_1.URI.file(tagEntryFile).toString(), range, range, (0, utils_1.rangeFromEvent)(document, event));
36
- }
37
- exports.openTagName = openTagName;
38
- //# sourceMappingURL=openTagName.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openTagName.js","sourceRoot":"","sources":["../../../../src/utils/definitions/types/openTagName.ts"],"names":[],"mappings":";;;;AAAA,2CAAiC;AACjC,iEAI+B;AAI/B,uFAAiD;AACjD,uCAKqB;AAErB,SAAgB,WAAW,CACzB,MAAoB,EACpB,QAAsB,EACtB,MAAkC,EAClC,KAA+B;IAE/B,IAAI,MAAwC,CAAC;IAC7C,IAAI,KAAK,GAAG,qBAAa,CAAC;IAC1B,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;IAEhD,IAAI,cAAc,EAAE;QAClB,MAAM,SAAS,GAAG,IAAA,gCAAwB,EAAC,KAAK,CAAC,CAAC;QAClD,MAAM;YACJ,SAAS;gBACT,CAAC,SAAS,CAAC,iBAAiB;oBAC1B,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;KACzC;SAAM;QACL,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;KACvC;IAED,IAAI,CAAC,MAAM,EAAE;QACX,OAAO;KACR;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC;IAE3E,IAAI,yBAAyB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;QAChD,MAAM,SAAS,GAAG,IAAA,0BAAkB,EAAC,YAAY,CAAC,CAAC;QACnD,MAAM,KAAK,GAAG,IAAA,wBAAa,EAAA,MAAM,KAAK,CAAC,OAAO,sBAAsB,CAAC,IAAI,CACvE,SAAS,CAAC,OAAO,EAAE,CACpB,CAAC;QAEF,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE;YACxB,KAAK,GAAG,6BAAK,CAAC,MAAM,CAClB,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,EACjC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CACpD,CAAC;SACH;KACF;IAED,OAAO,oCAAY,CAAC,MAAM,CACxB,gBAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,EACjC,KAAK,EACL,KAAK,EACL,IAAA,sBAAc,EAAC,QAAQ,EAAE,KAAK,CAAC,CAChC,CAAC;AACJ,CAAC;AA/CD,kCA+CC"}
@@ -1,179 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseUntilOffset = void 0;
4
- const htmljs_parser_1 = require("htmljs-parser");
5
- const SUPPORTED_STYLE_LANGS = {
6
- css: true,
7
- scss: true,
8
- less: true,
9
- };
10
- function parseUntilOffset(options) {
11
- const { offset, text, taglib, includeErrors } = options;
12
- let result = null;
13
- let parentTag = null;
14
- const parser = (0, htmljs_parser_1.createParser)({
15
- onError: includeErrors && finish,
16
- onScriptlet: finish,
17
- onPlaceholder: finish,
18
- onOpenTagName(ev) {
19
- if (parentTag) {
20
- ev.parent = parentTag;
21
- }
22
- // Currently the parser has the wrong end position here with tag params :\
23
- if (!ev.concise) {
24
- ev.pos += 1;
25
- }
26
- ev.endPos = ev.pos + ev.tagName.length;
27
- parentTag = ev;
28
- finish(ev);
29
- },
30
- onOpenTag(ev) {
31
- ev.parent = parentTag.parent;
32
- parentTag = ev;
33
- if (ev.tagName === "style") {
34
- const firstAttr = ev.attributes[0];
35
- const isBlock = firstAttr && firstAttr.name.startsWith("{");
36
- if (isBlock) {
37
- const content = firstAttr.name.slice(1, -1);
38
- const pos = text.indexOf(content, ev.tagNameEndPos);
39
- const endPos = pos + content.length;
40
- const requestedLanguage = ev.shorthandClassNames &&
41
- ev.shorthandClassNames[0].rawParts[0] &&
42
- ev.shorthandClassNames[0].rawParts[0].text;
43
- const language = requestedLanguage && SUPPORTED_STYLE_LANGS[requestedLanguage]
44
- ? requestedLanguage
45
- : "css";
46
- finish({
47
- type: "styleContent",
48
- language,
49
- block: true,
50
- content: text.slice(pos, endPos),
51
- pos,
52
- endPos,
53
- });
54
- return;
55
- }
56
- }
57
- let attrEndPos = ev.tagNameEndPos;
58
- for (const attr of ev.attributes) {
59
- if (!attr.name) {
60
- // Legacy dynamic attrs.
61
- if (attr.value !== undefined) {
62
- attrEndPos += attr.value.length;
63
- }
64
- continue;
65
- }
66
- if (attr.name.slice(0, 3) === "...") {
67
- attrEndPos = attr.argument ? attr.argument.endPos + 1 : attr.endPos;
68
- continue;
69
- }
70
- const attrStartPos = text.indexOf(attr.name, attrEndPos);
71
- const match = /:(.*)$/.exec(attr.name);
72
- const modifier = match && match[1];
73
- let name = attr.name;
74
- if (modifier) {
75
- name = name.slice(0, name.length - modifier.length - 1);
76
- const modifierStartPos = attrStartPos + name.length;
77
- const modifierEndPos = modifierStartPos + modifier.length + 1;
78
- if (finish({
79
- type: "attributeModifier",
80
- tag: ev,
81
- name,
82
- modifier,
83
- pos: modifierStartPos,
84
- endPos: modifierEndPos,
85
- })) {
86
- return;
87
- }
88
- }
89
- const attrNameEndPos = attrStartPos + name.length;
90
- if (finish({
91
- type: "attributeName",
92
- tag: ev,
93
- name,
94
- pos: attrStartPos,
95
- endPos: attrNameEndPos,
96
- })) {
97
- return;
98
- }
99
- if (attr.value) {
100
- attrEndPos = attr.endPos;
101
- const valueStartPos = attr.pos + 1; // Add one to account for "=".
102
- if (finish({
103
- type: "attributeValue",
104
- tag: ev,
105
- name,
106
- value: text.slice(valueStartPos, attrEndPos),
107
- pos: valueStartPos,
108
- endPos: attr.endPos,
109
- })) {
110
- break;
111
- }
112
- }
113
- else {
114
- attrEndPos = attr.argument ? attr.argument.endPos + 1 : attr.endPos;
115
- }
116
- }
117
- finish(ev);
118
- },
119
- onText(ev) {
120
- ev.endPos = parser.pos;
121
- ev.pos = ev.endPos - ev.value.length;
122
- if (parentTag) {
123
- ev.parent = parentTag;
124
- if (parentTag.tagName === "style") {
125
- finish({
126
- type: "styleContent",
127
- language: "css",
128
- block: false,
129
- content: ev.value,
130
- pos: ev.pos,
131
- endPos: ev.endPos,
132
- });
133
- return;
134
- }
135
- }
136
- finish(ev);
137
- },
138
- onCloseTag(ev) {
139
- parentTag = parentTag && parentTag.parent;
140
- finish(ev);
141
- },
142
- }, {
143
- isOpenTagOnly(ev) {
144
- const tagDef = taglib.getTag(ev);
145
- return tagDef && tagDef.openTagOnly;
146
- },
147
- });
148
- try {
149
- // We only parse up to the end of the line the user is currently looking for.
150
- const nextLine = text.indexOf("\n", offset);
151
- const parseText = nextLine === -1 ? `${text}\n` : text.slice(0, nextLine + 1);
152
- parser.parse(parseText);
153
- }
154
- catch (err) {
155
- return includeErrors
156
- ? {
157
- type: "error",
158
- code: "UNEXPECTED_TOKEN",
159
- message: err.message,
160
- pos: parser.pos,
161
- endPos: parser.pos,
162
- }
163
- : null;
164
- }
165
- return result;
166
- function finish(event) {
167
- const { type, pos, endPos } = event;
168
- if (!result &&
169
- (type === "error" ||
170
- (pos != null && pos <= offset && endPos != null && endPos >= offset))) {
171
- result = event;
172
- parser.end();
173
- return true;
174
- }
175
- return false;
176
- }
177
- }
178
- exports.parseUntilOffset = parseUntilOffset;
179
- //# sourceMappingURL=htmljs-parser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"htmljs-parser.js","sourceRoot":"","sources":["../../src/utils/htmljs-parser.ts"],"names":[],"mappings":"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"}
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- function RegExpBuilder(strings, ...expressions) {
4
- let i = 0;
5
- let src = strings[0].slice(strings[0].indexOf("/") + 1);
6
- const secondLastExprIndex = strings.length - 2;
7
- for (; i < secondLastExprIndex; i++) {
8
- src += escape(expressions[i]) + strings[i + 1];
9
- }
10
- src += escape(expressions[i]);
11
- const lastStr = strings[i + 1];
12
- const lastSlashIndex = lastStr.lastIndexOf("/");
13
- let flags = "";
14
- if (lastSlashIndex === -1) {
15
- src += lastStr;
16
- }
17
- else {
18
- flags = lastStr.slice(lastSlashIndex + 1);
19
- src += lastStr.slice(0, lastSlashIndex);
20
- }
21
- return new RegExp(src, flags);
22
- }
23
- exports.default = RegExpBuilder;
24
- function escape(val) {
25
- return String(val).replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&");
26
- }
27
- //# sourceMappingURL=regexp-builder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"regexp-builder.js","sourceRoot":"","sources":["../../src/utils/regexp-builder.ts"],"names":[],"mappings":";;AAAA,SAAwB,aAAa,CACnC,OAA6B,EAC7B,GAAG,WAAoC;IAEvC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACxD,MAAM,mBAAmB,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IAE/C,OAAO,CAAC,GAAG,mBAAmB,EAAE,CAAC,EAAE,EAAE;QACnC,GAAG,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;KAChD;IAED,GAAG,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9B,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B,MAAM,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAChD,IAAI,KAAK,GAAG,EAAE,CAAC;IAEf,IAAI,cAAc,KAAK,CAAC,CAAC,EAAE;QACzB,GAAG,IAAI,OAAO,CAAC;KAChB;SAAM;QACL,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;QAC1C,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;KACzC;IAED,OAAO,IAAI,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AAChC,CAAC;AA1BD,gCA0BC;AAED,SAAS,MAAM,CAAC,GAAY;IAC1B,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC;AAC/D,CAAC"}
@@ -1,68 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.shiftPosition = exports.shiftRange = exports.shiftEdit = exports.shiftCompletionRanges = exports.createTextDocument = exports.rangeFromEvent = exports.findNonControlFlowParent = exports.START_OF_FILE = void 0;
4
- const tslib_1 = require("tslib");
5
- const fs_1 = (0, tslib_1.__importDefault)(require("fs"));
6
- const vscode_uri_1 = require("vscode-uri");
7
- const vscode_languageserver_1 = require("vscode-languageserver");
8
- const vscode_languageserver_textdocument_1 = require("vscode-languageserver-textdocument");
9
- exports.START_OF_FILE = vscode_languageserver_1.Range.create(vscode_languageserver_1.Position.create(0, 0), vscode_languageserver_1.Position.create(0, 0));
10
- function findNonControlFlowParent(tag) {
11
- let parent = tag.parent;
12
- while (parent) {
13
- if (!/^(?:else-)?if|else|for|while$/.test(parent.tagName)) {
14
- return parent;
15
- }
16
- parent = parent.parent;
17
- }
18
- return null;
19
- }
20
- exports.findNonControlFlowParent = findNonControlFlowParent;
21
- function rangeFromEvent(document, event) {
22
- return vscode_languageserver_1.Range.create(document.positionAt(event.pos), document.positionAt(event.endPos));
23
- }
24
- exports.rangeFromEvent = rangeFromEvent;
25
- function createTextDocument(filename) {
26
- const uri = vscode_uri_1.URI.file(filename).toString();
27
- const content = fs_1.default.readFileSync(filename, "utf-8");
28
- return vscode_languageserver_textdocument_1.TextDocument.create(uri, "plaintext", 0, content);
29
- }
30
- exports.createTextDocument = createTextDocument;
31
- function shiftCompletionRanges(list, offset) {
32
- list.items.forEach((item) => {
33
- if (item.additionalTextEdits) {
34
- item.additionalTextEdits.forEach((edit) => shiftRange(edit.range, offset));
35
- }
36
- if (item.textEdit) {
37
- shiftEdit(item.textEdit, offset);
38
- }
39
- });
40
- return list;
41
- }
42
- exports.shiftCompletionRanges = shiftCompletionRanges;
43
- function shiftEdit(edit, offset) {
44
- if (vscode_languageserver_1.TextEdit.is(edit)) {
45
- shiftRange(edit.range, offset);
46
- }
47
- else {
48
- shiftRange(edit.insert, offset);
49
- shiftRange(edit.replace, offset);
50
- }
51
- }
52
- exports.shiftEdit = shiftEdit;
53
- function shiftRange(range, offset) {
54
- if (range) {
55
- shiftPosition(range.start, offset);
56
- shiftPosition(range.end, offset);
57
- }
58
- }
59
- exports.shiftRange = shiftRange;
60
- function shiftPosition(pos, offset) {
61
- if (pos.line === 0) {
62
- pos.character += offset.character;
63
- }
64
- pos.line += offset.line;
65
- return pos;
66
- }
67
- exports.shiftPosition = shiftPosition;
68
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":";;;;AAAA,yDAAoB;AACpB,2CAAiC;AACjC,iEAM+B;AAC/B,2FAAkE;AAGrD,QAAA,aAAa,GAAG,6BAAK,CAAC,MAAM,CACvC,gCAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EACrB,gCAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CACtB,CAAC;AAEF,SAAgB,wBAAwB,CAAC,GAA6B;IACpE,IAAI,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IAExB,OAAO,MAAM,EAAE;QACb,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;YACzD,OAAO,MAAM,CAAC;SACf;QAED,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;KACxB;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAZD,4DAYC;AAED,SAAgB,cAAc,CAC5B,QAAsB,EACtB,KAAuB;IAEvB,OAAO,6BAAK,CAAC,MAAM,CACjB,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,EAC9B,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAClC,CAAC;AACJ,CAAC;AARD,wCAQC;AAED,SAAgB,kBAAkB,CAAC,QAAgB;IACjD,MAAM,GAAG,GAAG,gBAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,YAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACnD,OAAO,iDAAY,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;AAC3D,CAAC;AAJD,gDAIC;AAED,SAAgB,qBAAqB,CAAC,IAAoB,EAAE,MAAgB;IAC1E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC1B,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5B,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CACxC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAC/B,CAAC;SACH;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;SAClC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACd,CAAC;AAdD,sDAcC;AAED,SAAgB,SAAS,CACvB,IAAkC,EAClC,MAAgB;IAEhB,IAAI,gCAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;QACrB,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;KAChC;SAAM;QACL,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;KAClC;AACH,CAAC;AAVD,8BAUC;AAED,SAAgB,UAAU,CAAC,KAAwB,EAAE,MAAgB;IACnE,IAAI,KAAK,EAAE;QACT,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACnC,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;KAClC;AACH,CAAC;AALD,gCAKC;AAED,SAAgB,aAAa,CAAC,GAAa,EAAE,MAAgB;IAC3D,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE;QAClB,GAAG,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC;KACnC;IAED,GAAG,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC;IACxB,OAAO,GAAG,CAAC;AACb,CAAC;AAPD,sCAOC"}