@master/css-language-service 2.0.0-rc.84 → 2.0.0-rc.86

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 CHANGED
@@ -2,59 +2,59 @@
2
2
  <div align="center">
3
3
 
4
4
  <p align="center">
5
- <a href="https://css.master.co">
6
- <picture>
7
- <source media="(prefers-color-scheme: dark)" srcset="https://user-images.githubusercontent.com/33840671/201701649-3bb7d698-abec-4d5f-ac30-ccc4d7bafcd4.svg">
8
- <source media="(prefers-color-scheme: light)" srcset="https://user-images.githubusercontent.com/33840671/201703010-77bf2373-9899-40cc-98f5-30cf9b546941.svg">
9
- <img alt="Master CSS" src="https://user-images.githubusercontent.com/33840671/201703010-77bf2373-9899-40cc-98f5-30cf9b546941.svg" width="100%">
10
- </picture>
11
- </a>
5
+ <a href="https://css.master.co">
6
+ <picture>
7
+ <source media="(prefers-color-scheme: dark)" srcset="https://user-images.githubusercontent.com/33840671/201701649-3bb7d698-abec-4d5f-ac30-ccc4d7bafcd4.svg">
8
+ <source media="(prefers-color-scheme: light)" srcset="https://user-images.githubusercontent.com/33840671/201703010-77bf2373-9899-40cc-98f5-30cf9b546941.svg">
9
+ <img alt="Master CSS" src="https://user-images.githubusercontent.com/33840671/201703010-77bf2373-9899-40cc-98f5-30cf9b546941.svg" width="100%">
10
+ </picture>
11
+ </a>
12
12
  </p>
13
13
  <p align="center">Language Service for Master CSS</p>
14
14
 
15
15
  <p align="center">
16
- <a aria-label="GitHub release (latest by date including pre-releases)" href="https://github.com/master-co/css/releases">
17
- <picture>
18
- <source media="(prefers-color-scheme: dark)" srcset="https://img.shields.io/github/v/release/master-co/css?include_prereleases&color=212022&label=&style=for-the-badge&logo=github&logoColor=fff">
19
- <source media="(prefers-color-scheme: light)" srcset="https://img.shields.io/github/v/release/master-co/css?include_prereleases&color=f6f7f8&label=&style=for-the-badge&logo=github&logoColor=%23000">
20
- <img alt="NPM Version" src="https://img.shields.io/github/v/release/master-co/css?include_prereleases&color=f6f7f8&label=&style=for-the-badge&logo=github">
21
- </picture>
22
- </a>
23
- <a aria-label="NPM Package" href="https://www.npmjs.com/package/@master/css-language-service">
24
- <picture>
25
- <source media="(prefers-color-scheme: dark)" srcset="https://img.shields.io/npm/dm/@master/css-language-service?color=212022&label=%20&logo=npm&style=for-the-badge">
26
- <source media="(prefers-color-scheme: light)" srcset="https://img.shields.io/npm/dm/@master/css-language-service?color=f6f7f8&label=%20&logo=npm&style=for-the-badge">
27
- <img alt="NPM package ( download / month )" src="https://img.shields.io/npm/dm/@master/css-language-service?color=f6f7f8&label=%20&logo=npm&style=for-the-badge">
28
- </picture>
29
- </a>
30
- <a aria-label="JSDelivr" href="https://www.jsdelivr.com/package/npm/@master/css-language-service">
31
- <picture>
32
- <source media="(prefers-color-scheme: dark)" srcset="https://img.shields.io/jsdelivr/npm/hm/@master/css-language-service?color=212022&label=%20&logo=jsdelivr&style=for-the-badge">
33
- <source media="(prefers-color-scheme: light)" srcset="https://img.shields.io/jsdelivr/npm/hm/@master/css-language-service?color=f6f7f8&label=%20&logo=jsdelivr&style=for-the-badge">
34
- <img alt="JSDelivr hits (npm scoped)" src="https://img.shields.io/jsdelivr/npm/hm/@master/css-language-service?color=f6f7f8&label=%20&logo=jsdelivr&style=for-the-badge">
35
- </picture>
36
- </a>
37
- <a aria-label="Discord Community" href="https://discord.gg/sZNKpAAAw6">
38
- <picture>
39
- <source media="(prefers-color-scheme: dark)" srcset="https://img.shields.io/discord/917780624314613760?color=212022&label=%20&logo=discord&style=for-the-badge">
40
- <source media="(prefers-color-scheme: light)" srcset="https://img.shields.io/discord/917780624314613760?color=f6f7f8&label=%20&logo=discord&style=for-the-badge">
41
- <img alt="Discord online" src="https://img.shields.io/discord/917780624314613760?color=f6f7f8&label=%20&logo=discord&style=for-the-badge">
42
- </picture>
43
- </a>
44
- <a aria-label="Follow @mastercorg" href="https://twitter.com/mastercorg">
45
- <picture>
46
- <source media="(prefers-color-scheme: dark)" srcset="https://img.shields.io/static/v1?label=%20&message=twitter&color=212022&logo=twitter&style=for-the-badge">
47
- <source media="(prefers-color-scheme: light)" srcset="https://img.shields.io/static/v1?label=%20&message=twitter&color=f6f7f8&logo=twitter&style=for-the-badge">
48
- <img alt="Follow @mastercorg" src="https://img.shields.io/static/v1?label=%20&message=twitter&color=f6f7f8&logo=twitter&style=for-the-badge">
49
- </picture>
50
- </a>
51
- <a aria-label="Github Actions" href="https://github.com/master-co/css/actions/workflows/ci-release.yml">
52
- <picture>
53
- <source media="(prefers-color-scheme: dark)" srcset="https://img.shields.io/github/actions/workflow/status/master-co/css/ci-release.yml?branch=rc&label=%20&message=twitter&color=212022&logo=githubactions&style=for-the-badge">
54
- <source media="(prefers-color-scheme: light)" srcset="https://img.shields.io/github/actions/workflow/status/master-co/css/ci-release.yml?branch=rc&label=%20&message=twitter&color=f6f7f8&logo=githubactions&style=for-the-badge&logoColor=%23000">
55
- <img alt="Github release actions" src="https://img.shields.io/github/actions/workflow/status/master-co/css/ci-release.yml?branch=rc&label=%20&message=twitter&color=f6f7f8&logo=githubactions&style=for-the-badge&logoColor=%23000">
56
- </picture>
57
- </a>
16
+ <a aria-label="GitHub release (latest by date including pre-releases)" href="https://github.com/master-co/css/releases">
17
+ <picture>
18
+ <source media="(prefers-color-scheme: dark)" srcset="https://img.shields.io/github/v/release/master-co/css?include_prereleases&color=212022&label=&style=for-the-badge&logo=github&logoColor=fff">
19
+ <source media="(prefers-color-scheme: light)" srcset="https://img.shields.io/github/v/release/master-co/css?include_prereleases&color=f6f7f8&label=&style=for-the-badge&logo=github&logoColor=%23000">
20
+ <img alt="NPM Version" src="https://img.shields.io/github/v/release/master-co/css?include_prereleases&color=f6f7f8&label=&style=for-the-badge&logo=github">
21
+ </picture>
22
+ </a>
23
+ <a aria-label="NPM Package" href="https://www.npmjs.com/package/@master/css-language-service">
24
+ <picture>
25
+ <source media="(prefers-color-scheme: dark)" srcset="https://img.shields.io/npm/dm/@master/css-language-service?color=212022&label=%20&logo=npm&style=for-the-badge">
26
+ <source media="(prefers-color-scheme: light)" srcset="https://img.shields.io/npm/dm/@master/css-language-service?color=f6f7f8&label=%20&logo=npm&style=for-the-badge">
27
+ <img alt="NPM package ( download / month )" src="https://img.shields.io/npm/dm/@master/css-language-service?color=f6f7f8&label=%20&logo=npm&style=for-the-badge">
28
+ </picture>
29
+ </a>
30
+ <a aria-label="JSDelivr" href="https://www.jsdelivr.com/package/npm/@master/css-language-service">
31
+ <picture>
32
+ <source media="(prefers-color-scheme: dark)" srcset="https://img.shields.io/jsdelivr/npm/hm/@master/css-language-service?color=212022&label=%20&logo=jsdelivr&style=for-the-badge">
33
+ <source media="(prefers-color-scheme: light)" srcset="https://img.shields.io/jsdelivr/npm/hm/@master/css-language-service?color=f6f7f8&label=%20&logo=jsdelivr&style=for-the-badge">
34
+ <img alt="JSDelivr hits (npm scoped)" src="https://img.shields.io/jsdelivr/npm/hm/@master/css-language-service?color=f6f7f8&label=%20&logo=jsdelivr&style=for-the-badge">
35
+ </picture>
36
+ </a>
37
+ <a aria-label="Discord Community" href="https://discord.gg/sZNKpAAAw6">
38
+ <picture>
39
+ <source media="(prefers-color-scheme: dark)" srcset="https://img.shields.io/discord/917780624314613760?color=212022&label=%20&logo=discord&style=for-the-badge">
40
+ <source media="(prefers-color-scheme: light)" srcset="https://img.shields.io/discord/917780624314613760?color=f6f7f8&label=%20&logo=discord&style=for-the-badge">
41
+ <img alt="Discord online" src="https://img.shields.io/discord/917780624314613760?color=f6f7f8&label=%20&logo=discord&style=for-the-badge">
42
+ </picture>
43
+ </a>
44
+ <a aria-label="Follow @mastercorg" href="https://twitter.com/mastercorg">
45
+ <picture>
46
+ <source media="(prefers-color-scheme: dark)" srcset="https://img.shields.io/static/v1?label=%20&message=twitter&color=212022&logo=twitter&style=for-the-badge">
47
+ <source media="(prefers-color-scheme: light)" srcset="https://img.shields.io/static/v1?label=%20&message=twitter&color=f6f7f8&logo=twitter&style=for-the-badge">
48
+ <img alt="Follow @mastercorg" src="https://img.shields.io/static/v1?label=%20&message=twitter&color=f6f7f8&logo=twitter&style=for-the-badge">
49
+ </picture>
50
+ </a>
51
+ <a aria-label="Github Actions" href="https://github.com/master-co/css/actions/workflows/ci-release.yml">
52
+ <picture>
53
+ <source media="(prefers-color-scheme: dark)" srcset="https://img.shields.io/github/actions/workflow/status/master-co/css/ci-release.yml?branch=rc&label=%20&message=twitter&color=212022&logo=githubactions&style=for-the-badge">
54
+ <source media="(prefers-color-scheme: light)" srcset="https://img.shields.io/github/actions/workflow/status/master-co/css/ci-release.yml?branch=rc&label=%20&message=twitter&color=f6f7f8&logo=githubactions&style=for-the-badge&logoColor=%23000">
55
+ <img alt="Github release actions" src="https://img.shields.io/github/actions/workflow/status/master-co/css/ci-release.yml?branch=rc&label=%20&message=twitter&color=f6f7f8&logo=githubactions&style=for-the-badge&logoColor=%23000">
56
+ </picture>
57
+ </a>
58
58
  </p>
59
59
 
60
60
  </div>
package/dist/core.d.ts CHANGED
@@ -9,7 +9,6 @@ import editSyntaxColors from "./features/edit-syntax-colors.js";
9
9
  import formatDirectives from "./features/format-directives.js";
10
10
  import renderSemanticTokens$1, { renderSemanticTokensAtPosition as renderSemanticTokensAtPosition$1 } from "./features/render-semantic-tokens.js";
11
11
  import suggestSyntax from "./features/suggest-syntax.js";
12
-
13
12
  //#region src/core.d.ts
14
13
  interface CSSLanguageServiceOptions {
15
14
  runtime?: CSSLanguageRuntime;
@@ -1,7 +1,6 @@
1
1
  import { ColorPresentation, ColorPresentationParams } from "vscode-languageserver-protocol";
2
2
  import { TextDocument } from "vscode-languageserver-textdocument";
3
3
  import CSSLanguageService from "../core.js";
4
-
5
4
  //#region src/features/edit-syntax-colors.d.ts
6
5
  declare function editSyntaxColors(this: CSSLanguageService, document: TextDocument, color: ColorPresentationParams['color'], range: ColorPresentationParams['range']): ColorPresentation[];
7
6
  //#endregion
@@ -1,6 +1,5 @@
1
1
  import { Range, TextEdit } from "vscode-languageserver-protocol";
2
2
  import { TextDocument } from "vscode-languageserver-textdocument";
3
-
4
3
  //#region src/features/format-directives.d.ts
5
4
  declare function formatDirectives(document: TextDocument, range?: Range): TextEdit[] | undefined;
6
5
  //#endregion
@@ -1,7 +1,6 @@
1
1
  import { Hover, HoverParams } from "vscode-languageserver-protocol";
2
2
  import { TextDocument } from "vscode-languageserver-textdocument";
3
3
  import CSSLanguageService from "../core.js";
4
-
5
4
  //#region src/features/inspect-syntax.d.ts
6
5
  declare function inspectSyntax(this: CSSLanguageService, document: TextDocument, position: HoverParams['position']): Hover | undefined;
7
6
  //#endregion
@@ -1,7 +1,6 @@
1
1
  import { SemanticTokens } from "vscode-languageserver-protocol";
2
2
  import { TextDocument } from "vscode-languageserver-textdocument";
3
3
  import CSSLanguageService from "../core.js";
4
-
5
4
  //#region src/features/render-semantic-tokens.d.ts
6
5
  declare function renderSemanticTokensAtPosition(this: CSSLanguageService, document: TextDocument, position: Parameters<CSSLanguageService['getClassPosition']>[1]): SemanticTokens | undefined;
7
6
  declare function renderSemanticTokens(this: CSSLanguageService, document: TextDocument): SemanticTokens | undefined;
@@ -1,7 +1,6 @@
1
1
  import { ColorInformation } from "vscode-languageserver-protocol";
2
2
  import { TextDocument } from "vscode-languageserver-textdocument";
3
3
  import CSSLanguageService from "../core.js";
4
-
5
4
  //#region src/features/render-syntax-colors.d.ts
6
5
  declare function renderSyntaxColors(this: CSSLanguageService, document: TextDocument): Promise<ColorInformation[] | undefined>;
7
6
  //#endregion
@@ -2,7 +2,6 @@ import { CompletionItem, CompletionParams } from "vscode-languageserver-protocol
2
2
  import { TextDocument } from "vscode-languageserver-textdocument";
3
3
  import CSSLanguageService from "../core.js";
4
4
  import { CompletionIndex } from "../utils/completion-index.js";
5
-
6
5
  //#region src/features/suggest-syntax.d.ts
7
6
  declare function suggestSyntax(this: CSSLanguageService, document: TextDocument, position: CompletionParams['position'], context: CompletionParams['context'], completionIndex?: CompletionIndex): CompletionItem[] | undefined;
8
7
  //#endregion
@@ -1,6 +1,5 @@
1
1
  import { LanguageSettings } from "@master/css-language";
2
2
  import { MasterCSSManifest } from "@master/css";
3
-
4
3
  //#region src/settings.d.ts
5
4
  /**
6
5
  * @example styles https://regex101.com/r/HLPdsw/1
@@ -1,6 +1,5 @@
1
- import { AtRule, CSSLanguageRuntime, MasterCSS, Variable } from "@master/css-language";
1
+ import { CSSLanguageRuntime, Condition, MasterCSS, Variable } from "@master/css-language";
2
2
  import { CompletionItem } from "vscode-languageserver-protocol";
3
-
4
3
  //#region src/utils/completion-index.d.ts
5
4
  interface ClassCompletionEntry extends CompletionItem {
6
5
  documentationClassName?: string;
@@ -35,7 +34,7 @@ interface CompletionIndex {
35
34
  pseudoClassSelectors: SelectorVariantCandidate[];
36
35
  pseudoElementNames: string[];
37
36
  pseudoElementSelectors: SelectorVariantCandidate[];
38
- atRules: [string, AtRule][];
37
+ conditions: [string, Condition][];
39
38
  }
40
39
  declare function createCompletionIndex(css?: MasterCSS, runtime?: CSSLanguageRuntime): CompletionIndex;
41
40
  declare function matchesIndexedName(field: string, name: string): boolean;
@@ -2,6 +2,7 @@ import sortCompletionItems from "./sort-completion-items.js";
2
2
  import getUtilityInfo from "./get-utility-info.js";
3
3
  import { createDefaultCSS, defaultCSSLanguageRuntime, getMdnPseudoClassNames, getMdnPseudoElementNames } from "@master/css-language";
4
4
  import { CompletionItemKind } from "vscode-languageserver-protocol";
5
+ import { generateSelector } from "@master/css-engine/compiler";
5
6
  //#region src/utils/completion-index.ts
6
7
  const ANIMATION_REFERENCE_PROPERTIES = /* @__PURE__ */ new Set(["animation", "animation-name"]);
7
8
  function utilityMayReferenceAnimations(utility) {
@@ -92,10 +93,7 @@ function collectClassEntries(css, runtime) {
92
93
  }
93
94
  function createPseudoClassSelectors(css) {
94
95
  const selectors = /* @__PURE__ */ new Map([[":of", ":of"]]);
95
- for (const [token, branches] of css.variants) {
96
- const selector = branches.find((branch) => branch.selector)?.selector;
97
- if (selector && token.startsWith(":") && !token.startsWith("::")) selectors.set(token, selector);
98
- }
96
+ for (const [token, nodes] of css.selectors) if (token.startsWith(":") && !token.startsWith("::")) selectors.set(token, generateSelector(nodes, "&"));
99
97
  return Array.from(selectors, ([token, selector]) => ({
100
98
  token,
101
99
  selector
@@ -103,13 +101,10 @@ function createPseudoClassSelectors(css) {
103
101
  }
104
102
  function createPseudoElementSelectors(css) {
105
103
  const selectors = [];
106
- for (const [token, branches] of css.variants) {
107
- const selector = branches.find((branch) => branch.selector)?.selector;
108
- if (selector && token.startsWith("::")) selectors.push({
109
- token,
110
- selector
111
- });
112
- }
104
+ for (const [token, nodes] of css.selectors) if (token.startsWith("::")) selectors.push({
105
+ token,
106
+ selector: generateSelector(nodes, "&")
107
+ });
113
108
  return selectors;
114
109
  }
115
110
  function createNativeVariableNamespacesByProperty(runtime) {
@@ -182,7 +177,7 @@ function createCompletionIndex(css = createDefaultCSS(), runtime = defaultCSSLan
182
177
  pseudoClassSelectors: createPseudoClassSelectors(css),
183
178
  pseudoElementNames: getMdnPseudoElementNames(),
184
179
  pseudoElementSelectors: createPseudoElementSelectors(css),
185
- atRules: Array.from(css.atRules.entries())
180
+ conditions: Array.from(css.conditions.entries())
186
181
  };
187
182
  }
188
183
  function matchesIndexedName(field, name) {
@@ -1,6 +1,5 @@
1
1
  import { MasterCSS } from "@master/css-language";
2
2
  import { ColorPresentationParams } from "vscode-languageserver-protocol";
3
-
4
3
  //#region src/utils/convert-color-token.d.ts
5
4
  declare function convertColorByToken(color: ColorPresentationParams['color'], colorToken: string, css: MasterCSS): string | undefined;
6
5
  declare function normalizeCSSColorFunctionName(fn: string): string;
@@ -1,5 +1,4 @@
1
1
  import { TextDocument } from "vscode-languageserver-textdocument";
2
-
3
2
  //#region src/utils/create-doc.d.ts
4
3
  declare const languageIdOfExt: {
5
4
  ts: string;
@@ -1,7 +1,6 @@
1
1
  import { MasterCSS } from "@master/css-language";
2
2
  import { CompletionItem } from "vscode-languageserver-protocol";
3
3
  import { CompletionIndex } from "./completion-index.js";
4
-
5
4
  //#region src/utils/get-class-completion-items.d.ts
6
5
  declare function getClassCompletionItems(css?: MasterCSS, completionIndex?: CompletionIndex): CompletionItem[];
7
6
  //#endregion
@@ -1,6 +1,5 @@
1
1
  import { MasterCSS } from "@master/css-language";
2
2
  import { CompletionItem } from "vscode-languageserver-protocol";
3
-
4
3
  //#region src/utils/get-color-completion-items.d.ts
5
4
  declare function getColorCompletionItems(css?: MasterCSS): CompletionItem[];
6
5
  //#endregion
@@ -1,7 +1,6 @@
1
1
  import { MasterCSS } from "@master/css-language";
2
2
  import { CompletionItem } from "vscode-languageserver-protocol";
3
3
  import { CompletionIndex } from "./completion-index.js";
4
-
5
4
  //#region src/utils/get-pseudo-class-completion-items.d.ts
6
5
  declare function getPseudoClassCompletionItems(css: MasterCSS | undefined, syntax: string, completionIndex?: CompletionIndex): CompletionItem[];
7
6
  //#endregion
@@ -16,10 +16,8 @@ const functionalPseudoClassNames = /* @__PURE__ */ new Set([
16
16
  ":lang",
17
17
  ":local-link",
18
18
  ":not",
19
- ":nth",
20
19
  ":nth-child",
21
20
  ":nth-col",
22
- ":nth-last",
23
21
  ":nth-last-child",
24
22
  ":nth-last-col",
25
23
  ":nth-last-of-type",
@@ -1,7 +1,6 @@
1
1
  import { MasterCSS } from "@master/css-language";
2
2
  import { CompletionItem } from "vscode-languageserver-protocol";
3
3
  import { CompletionIndex } from "./completion-index.js";
4
-
5
4
  //#region src/utils/get-pseudo-element-completion-items.d.ts
6
5
  declare function getPseudoElementCompletionItems(css: MasterCSS | undefined, syntax: string, completionIndex?: CompletionIndex): CompletionItem[];
7
6
  //#endregion
@@ -1,7 +1,6 @@
1
1
  import { MasterCSS } from "@master/css-language";
2
2
  import { CompletionItem } from "vscode-languageserver-protocol";
3
3
  import { CompletionIndex } from "./completion-index.js";
4
-
5
4
  //#region src/utils/get-query-completion-items.d.ts
6
5
  declare function getQueryCompletionItems(css: MasterCSS | undefined, triggerCharacter: string | undefined, syntax: string, completionIndex?: CompletionIndex): CompletionItem[];
7
6
  //#endregion
@@ -1,7 +1,7 @@
1
1
  import createCSSMarkdownDocumentation from "./create-css-markdown-documentation.js";
2
2
  import sortCompletionItems from "./sort-completion-items.js";
3
3
  import { createCompletionIndex } from "./completion-index.js";
4
- import { AT_SIGN, QUERY_COMPARISON_OPERATORS, QUERY_LOGICAL_OPERATORS, createDefaultCSS, generateAt, generateCSS, getSingleAtNumberRuleNode, parseAt } from "@master/css-language";
4
+ import { AT_SIGN, QUERY_COMPARISON_OPERATORS, QUERY_LOGICAL_OPERATORS, createDefaultCSS, generateCSS, generateCondition, getSingleConditionNumberNode, parseCondition } from "@master/css-language";
5
5
  import { CompletionItemKind } from "vscode-languageserver-protocol";
6
6
  //#region src/utils/get-query-completion-items.ts
7
7
  function getQueryCompletionItems(css = createDefaultCSS(), triggerCharacter = AT_SIGN, syntax, completionIndex = createCompletionIndex(css)) {
@@ -19,12 +19,12 @@ function getQueryCompletionItems(css = createDefaultCSS(), triggerCharacter = AT
19
19
  documentation: createCSSMarkdownDocumentation(generateCSS([syntax + name + "()"], css, completionIndex.runtime))
20
20
  });
21
21
  });
22
- const handleNumberNodes = (atRule, token) => {
23
- const numberNode = getSingleAtNumberRuleNode(atRule.nodes);
22
+ const handleNumberNodes = (condition, token) => {
23
+ const numberNode = getSingleConditionNumberNode(condition.nodes);
24
24
  if (numberNode) {
25
25
  const prevComparisonCharacter = syntax.charAt(syntax.length - 2);
26
26
  const comparisonCharacter = prevComparisonCharacter === ">" || prevComparisonCharacter === "<" ? prevComparisonCharacter + triggerCharacter : triggerCharacter;
27
- const text = generateAt(parseAt(comparisonCharacter + token, css));
27
+ const text = generateCondition(parseCondition(comparisonCharacter + token, css));
28
28
  completionItems.push({
29
29
  label: comparisonCharacter + token,
30
30
  sortText: CompletionItemKind.Keyword + comparisonCharacter + String(Math.round(numberNode.value)).padStart(12, "0"),
@@ -37,15 +37,15 @@ function getQueryCompletionItems(css = createDefaultCSS(), triggerCharacter = AT
37
37
  return true;
38
38
  }
39
39
  };
40
- for (const [token, atRule] of completionIndex.atRules) {
40
+ for (const [token, condition] of completionIndex.conditions) {
41
41
  const completionItem = {
42
42
  filterText: token,
43
43
  insertText: token,
44
44
  documentation: createCSSMarkdownDocumentation(generateCSS([syntax + token], css, completionIndex.runtime))
45
45
  };
46
46
  if ([AT_SIGN, ...QUERY_LOGICAL_OPERATORS].includes(triggerCharacter)) {
47
- if (handleNumberNodes(atRule, token)) continue;
48
- const text = generateAt(parseAt(triggerCharacter + token, css));
47
+ if (handleNumberNodes(condition, token)) continue;
48
+ const text = generateCondition(parseCondition(triggerCharacter + token, css));
49
49
  completionItems.push({
50
50
  ...completionItem,
51
51
  label: triggerCharacter + token,
@@ -54,7 +54,7 @@ function getQueryCompletionItems(css = createDefaultCSS(), triggerCharacter = AT
54
54
  kind: CompletionItemKind.Keyword,
55
55
  documentation: createCSSMarkdownDocumentation(generateCSS([syntax + token], css, completionIndex.runtime))
56
56
  });
57
- } else if (QUERY_COMPARISON_OPERATORS.includes(triggerCharacter)) handleNumberNodes(atRule, token);
57
+ } else if (QUERY_COMPARISON_OPERATORS.includes(triggerCharacter)) handleNumberNodes(condition, token);
58
58
  }
59
59
  return sortCompletionItems(completionItems);
60
60
  }
@@ -1,5 +1,4 @@
1
1
  import { Range, TextDocument } from "vscode-languageserver-textdocument";
2
-
3
2
  //#region src/utils/get-range.d.ts
4
3
  declare function getRange(searchString: string, doc: TextDocument): Range;
5
4
  //#endregion
@@ -1,5 +1,4 @@
1
1
  import { CompiledUtility } from "@master/css-language";
2
-
3
2
  //#region src/utils/get-utility-info.d.ts
4
3
  declare function getUtilityInfo(utility: CompiledUtility): {
5
4
  detail: string | undefined;
@@ -1,7 +1,6 @@
1
1
  import { MasterCSS } from "@master/css-language";
2
2
  import { CompletionItem } from "vscode-languageserver-protocol";
3
3
  import { CompletionIndex } from "./completion-index.js";
4
-
5
4
  //#region src/utils/get-value-completion-items.d.ts
6
5
  declare function getValueCompletionItems(css: MasterCSS | undefined, ruleKey: string, valuePrefix?: string, completionIndex?: CompletionIndex): CompletionItem[];
7
6
  //#endregion
@@ -1,7 +1,6 @@
1
1
  import { MasterCSS } from "@master/css-language";
2
2
  import { CompletionItem } from "vscode-languageserver-protocol";
3
3
  import { CompletionIndex } from "./completion-index.js";
4
-
5
4
  //#region src/utils/query-syntax-completions.d.ts
6
5
  declare function querySyntaxCompletions(q?: string, css?: MasterCSS, completionIndex?: CompletionIndex): CompletionItem[] | undefined;
7
6
  //#endregion
@@ -1,5 +1,4 @@
1
1
  import { CompletionItem } from "vscode-languageserver-protocol";
2
-
3
2
  //#region src/utils/sort-completion-items.d.ts
4
3
  declare function sortCompletionItems(items: CompletionItem[]): CompletionItem[];
5
4
  //#endregion
package/package.json CHANGED
@@ -16,14 +16,14 @@
16
16
  "minimatch": "^10.2.5",
17
17
  "vscode-languageserver-protocol": "^3.18.0",
18
18
  "vscode-languageserver-textdocument": "^1.0.12",
19
- "@master/css-engine": "^2.0.0-rc.84",
20
- "@master/css-language": "^2.0.0-rc.84",
21
- "@master/css": "^2.0.0-rc.84"
19
+ "@master/css": "^2.0.0-rc.86",
20
+ "@master/css-engine": "^2.0.0-rc.86",
21
+ "@master/css-language": "^2.0.0-rc.86"
22
22
  },
23
23
  "devDependencies": {
24
24
  "@types/vscode": "^1.125.0",
25
25
  "vscode-languageserver": "^10.0.0",
26
- "@master/css-schema": "^2.0.0-rc.84"
26
+ "@master/css-schema": "^2.0.0-rc.86"
27
27
  },
28
28
  "sideEffects": false,
29
29
  "main": "./dist/index.js",
@@ -50,7 +50,7 @@
50
50
  "access": "public",
51
51
  "provenance": true
52
52
  },
53
- "version": "2.0.0-rc.84",
53
+ "version": "2.0.0-rc.86",
54
54
  "scripts": {
55
55
  "build": "tsdown --config ../../shared/tsdown-package.config.ts",
56
56
  "dev": "tsdown --config ../../shared/tsdown-package.config.ts --watch",