@master/css-tooling 0.0.0-site.1793659883.g69c9aebcf628 → 0.0.0-stage

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 (122) hide show
  1. package/README.md +2 -57
  2. package/package.json +5 -126
  3. package/dist/browser.d.ts +0 -2
  4. package/dist/browser.js +0 -1
  5. package/dist/css-tree-version.d.ts +0 -2
  6. package/dist/css-tree-version.js +0 -4
  7. package/dist/css.d.ts +0 -32
  8. package/dist/css.js +0 -120
  9. package/dist/immutable.d.ts +0 -2
  10. package/dist/immutable.js +0 -7
  11. package/dist/index.d.ts +0 -3
  12. package/dist/index.js +0 -1
  13. package/dist/language/binding-session.d.ts +0 -6
  14. package/dist/language/binding-session.js +0 -8
  15. package/dist/language/browser.d.ts +0 -10
  16. package/dist/language/browser.js +0 -12
  17. package/dist/language/common.d.ts +0 -12
  18. package/dist/language/common.js +0 -55
  19. package/dist/language/contracts.d.ts +0 -197
  20. package/dist/language/contracts.js +0 -1
  21. package/dist/language/index.d.ts +0 -29
  22. package/dist/language/index.js +0 -39
  23. package/dist/language/master-css.d.ts +0 -13
  24. package/dist/language/master-css.js +0 -35
  25. package/dist/language/node.d.ts +0 -21
  26. package/dist/language/node.js +0 -36
  27. package/dist/language/semantic/scopes.d.ts +0 -55
  28. package/dist/language/semantic/scopes.js +0 -73
  29. package/dist/language/semantic/types.d.ts +0 -11
  30. package/dist/language/semantic/types.js +0 -1
  31. package/dist/language/session.d.ts +0 -37
  32. package/dist/language/session.js +0 -87
  33. package/dist/language/settings.d.ts +0 -13
  34. package/dist/language/settings.js +0 -19
  35. package/dist/language/utils/mdn-css-data.d.ts +0 -5
  36. package/dist/language/utils/mdn-css-data.js +0 -63
  37. package/dist/lexer/browser.d.ts +0 -6
  38. package/dist/lexer/browser.js +0 -11
  39. package/dist/lexer/contracts.d.ts +0 -41
  40. package/dist/lexer/contracts.js +0 -1
  41. package/dist/lexer/index.d.ts +0 -8
  42. package/dist/lexer/index.js +0 -11
  43. package/dist/lexer/node.d.ts +0 -7
  44. package/dist/lexer/node.js +0 -11
  45. package/dist/lexer/session.d.ts +0 -17
  46. package/dist/lexer/session.js +0 -25
  47. package/dist/lint/analysis.d.ts +0 -90
  48. package/dist/lint/analysis.js +0 -1
  49. package/dist/lint/binding-session.d.ts +0 -21
  50. package/dist/lint/binding-session.js +0 -97
  51. package/dist/lint/constants.d.ts +0 -7
  52. package/dist/lint/constants.js +0 -18
  53. package/dist/lint/contracts.d.ts +0 -17
  54. package/dist/lint/contracts.js +0 -6
  55. package/dist/lint/diagnostic-format.d.ts +0 -5
  56. package/dist/lint/diagnostic-format.js +0 -15
  57. package/dist/lint/diagnostics.d.ts +0 -42
  58. package/dist/lint/diagnostics.js +0 -1
  59. package/dist/lint/index.d.ts +0 -21
  60. package/dist/lint/index.js +0 -30
  61. package/dist/lint/node.d.ts +0 -6
  62. package/dist/lint/node.js +0 -11
  63. package/dist/lint/rule-signatures.d.ts +0 -23
  64. package/dist/lint/rule-signatures.js +0 -27
  65. package/dist/lint/source.d.ts +0 -70
  66. package/dist/lint/source.js +0 -261
  67. package/dist/math-types.d.ts +0 -11
  68. package/dist/math-types.js +0 -236
  69. package/dist/math-validation.d.ts +0 -7
  70. package/dist/math-validation.js +0 -74
  71. package/dist/node.d.ts +0 -12
  72. package/dist/node.js +0 -32
  73. package/dist/scanner/binding-session.d.ts +0 -29
  74. package/dist/scanner/binding-session.js +0 -37
  75. package/dist/scanner/core.d.ts +0 -130
  76. package/dist/scanner/core.js +0 -480
  77. package/dist/scanner/index.d.ts +0 -3
  78. package/dist/scanner/index.js +0 -3
  79. package/dist/scanner/node.d.ts +0 -5
  80. package/dist/scanner/node.js +0 -4
  81. package/dist/scanner/options/index.d.ts +0 -16
  82. package/dist/scanner/options/index.js +0 -57
  83. package/dist/scanner/source-policy.d.ts +0 -15
  84. package/dist/scanner/source-policy.js +0 -131
  85. package/dist/source/adapters/optional-peer.d.ts +0 -5
  86. package/dist/source/adapters/optional-peer.js +0 -29
  87. package/dist/source/adapters/oxc.d.ts +0 -2
  88. package/dist/source/adapters/oxc.js +0 -6
  89. package/dist/source/adapters/svelte.d.ts +0 -5
  90. package/dist/source/adapters/svelte.js +0 -82
  91. package/dist/source/adapters/types.d.ts +0 -11
  92. package/dist/source/adapters/types.js +0 -9
  93. package/dist/source/adapters/vue.d.ts +0 -5
  94. package/dist/source/adapters/vue.js +0 -50
  95. package/dist/source/browser.d.ts +0 -7
  96. package/dist/source/browser.js +0 -11
  97. package/dist/source/contracts.d.ts +0 -35
  98. package/dist/source/contracts.js +0 -1
  99. package/dist/source/index.d.ts +0 -8
  100. package/dist/source/index.js +0 -11
  101. package/dist/source/native.d.ts +0 -5
  102. package/dist/source/native.js +0 -53
  103. package/dist/source/node.d.ts +0 -7
  104. package/dist/source/node.js +0 -11
  105. package/dist/source/session.d.ts +0 -25
  106. package/dist/source/session.js +0 -37
  107. package/dist/syntax-validation.d.ts +0 -10
  108. package/dist/syntax-validation.js +0 -54
  109. package/dist/tooling-session.d.ts +0 -66
  110. package/dist/tooling-session.js +0 -188
  111. package/dist/validator/binding-session.d.ts +0 -17
  112. package/dist/validator/binding-session.js +0 -29
  113. package/dist/validator/contracts.d.ts +0 -24
  114. package/dist/validator/contracts.js +0 -1
  115. package/dist/validator/index.d.ts +0 -10
  116. package/dist/validator/index.js +0 -13
  117. package/dist/validator/node.d.ts +0 -6
  118. package/dist/validator/node.js +0 -11
  119. package/dist/validator/types/syntax-error.d.ts +0 -22
  120. package/dist/validator/types/syntax-error.js +0 -1
  121. package/dist/value-validation.d.ts +0 -46
  122. package/dist/value-validation.js +0 -162
@@ -1,197 +0,0 @@
1
- import { CSS_VALUE_CHECK, DeclarationValidation } from "../value-validation.js";
2
- import { CSS_SYNTAX_CHECK } from "../syntax-validation.js";
3
- import { SemanticTokenItem } from "./semantic/types.js";
4
- import { MasterCSSLanguageInspection as MasterCSSLanguageInspection$1, MasterCSSLanguageTokenFamilies, MasterCSSTokenFamily } from "@master/css-binding/tooling";
5
- import { MasterCSSScopedThemeValue } from "@master/css-schema/manifest";
6
- import { MasterCSSHydrationRule } from "@master/css-schema/hydration-manifest";
7
- type MasterCSSLanguageClassKind = 'unknown' | 'component' | 'semantic' | 'utility' | 'declaration' | 'token';
8
- interface MasterCSSLanguageClassListContext {
9
- readonly start: number;
10
- readonly end: number;
11
- readonly unescape?: readonly string[];
12
- }
13
- interface MasterCSSLanguageClassPosition {
14
- readonly range: Readonly<{
15
- start: number;
16
- end: number;
17
- }>;
18
- readonly contextRange: Readonly<{
19
- start: number;
20
- end: number;
21
- }>;
22
- readonly raw: string;
23
- readonly token: string;
24
- }
25
- interface MasterCSSDocumentAnalysisRequest {
26
- readonly source: string;
27
- readonly languageId: string;
28
- readonly hostRanges?: readonly MasterCSSLanguageClassListContext[];
29
- readonly settings?: Readonly<{
30
- classAttributes?: readonly string[];
31
- classFunctions?: readonly string[];
32
- classDeclarations?: readonly string[];
33
- }>;
34
- }
35
- interface MasterCSSDocumentAnalysis {
36
- readonly version: 6;
37
- readonly classPositions: readonly MasterCSSLanguageClassPosition[];
38
- readonly keyframePositions: readonly MasterCSSLanguageClassPosition[];
39
- readonly diagnostics: readonly import('@master/css-binding/tooling').MasterCSSDiagnostic[];
40
- readonly semanticTokens: readonly SemanticTokenItem[];
41
- readonly semanticTokenData: readonly number[];
42
- }
43
- interface MasterCSSNativeDeclarationCompletionRequest extends MasterCSSDocumentAnalysisRequest {
44
- /** The UTF-16 cursor offset in the source. */
45
- readonly offset: number;
46
- }
47
- /** The completion context of a cursor inside a `(property:value)` class head. */
48
- interface MasterCSSNativeDeclarationCompletion {
49
- readonly version: number;
50
- /** `none` is a string, comment, URL or nested function or block, where nothing completes. */
51
- readonly kind: 'property' | 'value' | 'none';
52
- /** The property of a value context. */
53
- readonly property?: string;
54
- /** The class text of the component before the cursor. */
55
- readonly prefix: string;
56
- /** The source range a completion replaces, including the component's rest after the cursor. */
57
- readonly range?: Readonly<{
58
- start: number;
59
- end: number;
60
- }>;
61
- /** Text a completion must end with, such as the `)` an unclosed head lacks. */
62
- readonly suffix?: string;
63
- }
64
- interface MasterCSSFormatDirectivesRequest {
65
- readonly source: string;
66
- readonly range?: Readonly<{
67
- start: number;
68
- end: number;
69
- }>;
70
- readonly styleRanges?: readonly Readonly<{
71
- start: number;
72
- end: number;
73
- }>[];
74
- }
75
- interface MasterCSSFormatDirectivesResult {
76
- readonly version: 6;
77
- readonly edits: readonly Readonly<{
78
- range: Readonly<{
79
- start: number;
80
- end: number;
81
- }>;
82
- text: string;
83
- }>[];
84
- }
85
- interface MasterCSSLanguageClass {
86
- readonly className: string;
87
- readonly kind: MasterCSSLanguageClassKind;
88
- readonly matcherTypes: readonly ('static' | 'key' | 'token' | 'function')[];
89
- readonly keyToken?: string;
90
- readonly valueToken?: string;
91
- readonly stateToken?: string;
92
- readonly important: boolean;
93
- }
94
- interface MasterCSSLanguageClassifications {
95
- readonly version: 6;
96
- readonly variableNames: readonly string[];
97
- readonly classes: readonly MasterCSSLanguageClass[];
98
- }
99
- interface MasterCSSLanguageVariable {
100
- readonly namespace?: string;
101
- readonly name: string;
102
- readonly key: string;
103
- readonly type: string;
104
- readonly values: readonly MasterCSSScopedThemeValue[];
105
- readonly dependencies?: readonly string[];
106
- }
107
- interface MasterCSSLanguageClassVariable {
108
- readonly key: string;
109
- readonly variable: MasterCSSLanguageVariable;
110
- }
111
- interface MasterCSSLanguageInspection {
112
- readonly version: 6;
113
- readonly className: string;
114
- readonly definitionSource?: MasterCSSLanguageInspection$1['definitionSource'];
115
- readonly matchStatus: MasterCSSLanguageInspection$1['matchStatus'];
116
- readonly declarations: readonly DeclarationValidation[];
117
- readonly checks: readonly (typeof CSS_VALUE_CHECK | typeof CSS_SYNTAX_CHECK)[];
118
- readonly cssSyntaxStatus: MasterCSSLanguageInspection$1['cssSyntaxStatus'];
119
- readonly cssValueStatus: MasterCSSLanguageInspection$1['cssValueStatus'];
120
- readonly browserSupport: MasterCSSLanguageInspection$1['browserSupport'];
121
- readonly kind: MasterCSSLanguageClassKind;
122
- readonly base: string;
123
- readonly suffix: string;
124
- readonly key?: string;
125
- readonly value?: string;
126
- readonly keyToken?: string;
127
- readonly valueToken?: string;
128
- readonly stateToken?: string;
129
- readonly important: boolean;
130
- readonly matcherTypes: readonly ('static' | 'key' | 'token' | 'function')[];
131
- readonly variables: readonly MasterCSSLanguageClassVariable[];
132
- readonly rules: readonly MasterCSSHydrationRule[];
133
- readonly diagnostics?: MasterCSSLanguageInspection$1['diagnostics'];
134
- readonly text: string;
135
- }
136
- type MasterCSSLanguageCompletionKind = 'property' | 'value' | 'function';
137
- interface MasterCSSLanguageCompletionEntry {
138
- readonly label: string;
139
- readonly kind: MasterCSSLanguageCompletionKind;
140
- readonly detail?: string;
141
- readonly documentationText?: string;
142
- readonly sortText?: string;
143
- readonly insertText?: string;
144
- readonly triggerSuggest: boolean;
145
- }
146
- interface MasterCSSLanguageCompletionIndex {
147
- readonly version: 6;
148
- readonly classEntries: readonly MasterCSSLanguageCompletionEntry[];
149
- readonly keyframes: readonly Readonly<{
150
- name: string;
151
- insertText: string;
152
- text: string;
153
- sources: readonly NonNullable<MasterCSSLanguageInspection$1['definitionSource']>[];
154
- }>[];
155
- }
156
- interface MasterCSSLanguageColorPresentation {
157
- readonly version: 6;
158
- readonly editable: boolean;
159
- readonly replacementPrefix?: string;
160
- /** Text after the color, such as the `)` closing a `(property:` replacement prefix. */
161
- readonly replacementSuffix?: string;
162
- readonly colorToken: string;
163
- readonly sourceFormat?: MasterCSSLanguageColorFormat;
164
- }
165
- interface MasterCSSLanguageColorFormat {
166
- readonly syntax: string;
167
- readonly space?: string;
168
- }
169
- interface MasterCSSLanguageColorCandidate {
170
- readonly className: string;
171
- readonly start: number;
172
- }
173
- interface MasterCSSLanguageColorToken {
174
- readonly range: Readonly<{
175
- start: number;
176
- end: number;
177
- }>;
178
- readonly expression: MasterCSSLanguageColorExpression;
179
- }
180
- type MasterCSSLanguageColorExpression = Readonly<{
181
- kind: 'literal';
182
- value: string;
183
- alpha?: number;
184
- }> | Readonly<{
185
- kind: 'mix';
186
- space: string;
187
- hue?: string;
188
- left: MasterCSSLanguageColorExpression;
189
- right: MasterCSSLanguageColorExpression;
190
- progress: number;
191
- alphaMultiplier: number;
192
- }>;
193
- interface MasterCSSLanguageColorTokens {
194
- readonly version: 6;
195
- readonly tokens: readonly MasterCSSLanguageColorToken[];
196
- }
197
- export { MasterCSSDocumentAnalysis, MasterCSSDocumentAnalysisRequest, MasterCSSFormatDirectivesRequest, MasterCSSFormatDirectivesResult, MasterCSSLanguageClass, MasterCSSLanguageClassKind, MasterCSSLanguageClassListContext, MasterCSSLanguageClassPosition, MasterCSSLanguageClassVariable, MasterCSSLanguageClassifications, MasterCSSLanguageColorCandidate, MasterCSSLanguageColorExpression, MasterCSSLanguageColorFormat, MasterCSSLanguageColorPresentation, MasterCSSLanguageColorToken, MasterCSSLanguageColorTokens, MasterCSSLanguageCompletionEntry, MasterCSSLanguageCompletionIndex, MasterCSSLanguageCompletionKind, MasterCSSLanguageInspection, type MasterCSSLanguageTokenFamilies, MasterCSSLanguageVariable, MasterCSSNativeDeclarationCompletion, MasterCSSNativeDeclarationCompletionRequest, type MasterCSSTokenFamily };
@@ -1 +0,0 @@
1
- export {};
@@ -1,29 +0,0 @@
1
- import { AT_TRIGGER_CHARACTER, INVOKED_TRIGGER_CHARACTERS, QUERY_TRIGGER_CHARACTERS, SELECTOR_TRIGGER_CHARACTERS, SEMANTIC_TOKENS_LEGEND, SEMANTIC_TOKEN_MODIFIERS, SEMANTIC_TOKEN_TYPES, VALUE_TRIGGER_CHARACTERS } from "./common.js";
2
- import { HighlightTokenRole, SemanticTokenItem, SemanticTokenModifier, SemanticTokenType } from "./semantic/types.js";
3
- import { MasterCSSDocumentAnalysis, MasterCSSDocumentAnalysisRequest, MasterCSSFormatDirectivesRequest, MasterCSSFormatDirectivesResult, MasterCSSLanguageClass, MasterCSSLanguageClassKind, MasterCSSLanguageClassListContext, MasterCSSLanguageClassPosition, MasterCSSLanguageClassVariable, MasterCSSLanguageClassifications, MasterCSSLanguageColorCandidate, MasterCSSLanguageColorExpression, MasterCSSLanguageColorFormat, MasterCSSLanguageColorPresentation, MasterCSSLanguageColorToken, MasterCSSLanguageColorTokens, MasterCSSLanguageCompletionEntry, MasterCSSLanguageCompletionIndex, MasterCSSLanguageCompletionKind, MasterCSSLanguageInspection, MasterCSSLanguageTokenFamilies, MasterCSSLanguageVariable, MasterCSSNativeDeclarationCompletion, MasterCSSNativeDeclarationCompletionRequest, MasterCSSTokenFamily } from "./contracts.js";
4
- import { LanguageSession } from "./session.js";
5
- import { AT_SIGN, CLASS_ATTRIBUTES, CLASS_DECLARATIONS, CLASS_FUNCTIONS, DELIMITER_SIGN, QUERY_COMPARISON_OPERATORS, QUERY_LOGICAL_OPERATORS, SELECTOR_SIGNS, SEPARATOR_SIGN, matchesLanguageServiceNativeDeclaration } from "./master-css.js";
6
- import { MASTER_CSS_SEMANTIC_TOKEN_SCOPE_MAP, getMasterCSSSemanticTokenScopeKeys } from "./semantic/scopes.js";
7
- import { MasterCSSBinding } from "@master/css-binding";
8
- import { MasterCSSManifest } from "@master/css-schema/manifest";
9
- /**
10
- * Create a reusable language-only session using a native or Wasm binding.
11
- * Results are immutable snapshots. Dispose the session when its owner is finished.
12
- */
13
- declare function createLanguageSession(options: {
14
- readonly manifest: MasterCSSManifest;
15
- readonly binding?: MasterCSSBinding;
16
- }): Promise<LanguageSession>;
17
- declare function analyzeDocument(request: MasterCSSDocumentAnalysisRequest, options: {
18
- readonly manifest: MasterCSSManifest;
19
- readonly binding?: MasterCSSBinding;
20
- }): Promise<MasterCSSDocumentAnalysis>;
21
- declare function inspectClassName(className: string, options: {
22
- readonly manifest: MasterCSSManifest;
23
- readonly binding?: MasterCSSBinding;
24
- }): Promise<MasterCSSLanguageInspection>;
25
- declare function formatDirectives(request: MasterCSSFormatDirectivesRequest, options: {
26
- readonly manifest: MasterCSSManifest;
27
- readonly binding?: MasterCSSBinding;
28
- }): Promise<MasterCSSFormatDirectivesResult>;
29
- export { AT_SIGN, AT_TRIGGER_CHARACTER, CLASS_ATTRIBUTES, CLASS_DECLARATIONS, CLASS_FUNCTIONS, DELIMITER_SIGN, type HighlightTokenRole, INVOKED_TRIGGER_CHARACTERS, MASTER_CSS_SEMANTIC_TOKEN_SCOPE_MAP, type MasterCSSDocumentAnalysis, type MasterCSSDocumentAnalysisRequest, type MasterCSSFormatDirectivesRequest, type MasterCSSFormatDirectivesResult, type MasterCSSLanguageClass, type MasterCSSLanguageClassKind, type MasterCSSLanguageClassListContext, type MasterCSSLanguageClassPosition, type MasterCSSLanguageClassVariable, type MasterCSSLanguageClassifications, type MasterCSSLanguageColorCandidate, type MasterCSSLanguageColorExpression, type MasterCSSLanguageColorFormat, type MasterCSSLanguageColorPresentation, type MasterCSSLanguageColorToken, type MasterCSSLanguageColorTokens, type MasterCSSLanguageCompletionEntry, type MasterCSSLanguageCompletionIndex, type MasterCSSLanguageCompletionKind, type MasterCSSLanguageInspection, type LanguageSession as MasterCSSLanguageSession, type MasterCSSLanguageTokenFamilies, type MasterCSSLanguageVariable, type MasterCSSNativeDeclarationCompletion, type MasterCSSNativeDeclarationCompletionRequest, type MasterCSSTokenFamily, QUERY_COMPARISON_OPERATORS, QUERY_LOGICAL_OPERATORS, QUERY_TRIGGER_CHARACTERS, SELECTOR_SIGNS, SELECTOR_TRIGGER_CHARACTERS, SEMANTIC_TOKENS_LEGEND, SEMANTIC_TOKEN_MODIFIERS, SEMANTIC_TOKEN_TYPES, SEPARATOR_SIGN, type SemanticTokenItem, type SemanticTokenModifier, type SemanticTokenType, VALUE_TRIGGER_CHARACTERS, analyzeDocument, createLanguageSession, formatDirectives, getMasterCSSSemanticTokenScopeKeys, inspectClassName, matchesLanguageServiceNativeDeclaration };
@@ -1,39 +0,0 @@
1
- import { bindLanguageSession } from "./session.js";
2
- import { AT_SIGN, CLASS_ATTRIBUTES, CLASS_DECLARATIONS, CLASS_FUNCTIONS, DELIMITER_SIGN, QUERY_COMPARISON_OPERATORS, QUERY_LOGICAL_OPERATORS, SELECTOR_SIGNS, SEPARATOR_SIGN, matchesLanguageServiceNativeDeclaration } from "./master-css.js";
3
- import { AT_TRIGGER_CHARACTER, INVOKED_TRIGGER_CHARACTERS, QUERY_TRIGGER_CHARACTERS, SELECTOR_TRIGGER_CHARACTERS, SEMANTIC_TOKENS_LEGEND, SEMANTIC_TOKEN_MODIFIERS, SEMANTIC_TOKEN_TYPES, VALUE_TRIGGER_CHARACTERS } from "./common.js";
4
- import { MASTER_CSS_SEMANTIC_TOKEN_SCOPE_MAP, getMasterCSSSemanticTokenScopeKeys } from "./semantic/scopes.js";
5
- import { createToolingBinding } from "@master/css-binding/tooling";
6
- // src/language/index.ts
7
- /**
8
- * Create a reusable language-only session using a native or Wasm binding.
9
- * Results are immutable snapshots. Dispose the session when its owner is finished.
10
- */
11
- async function createLanguageSession(options) {
12
- const binding = await createToolingBinding({ binding: options.binding });
13
- return bindLanguageSession(binding.binding, await binding.createLanguageSession(options.manifest));
14
- }
15
- async function analyzeDocument(request, options) {
16
- const session = await createLanguageSession(options);
17
- try {
18
- return session.analyzeDocument(request);
19
- } finally {
20
- session.dispose();
21
- }
22
- }
23
- async function inspectClassName(className, options) {
24
- const session = await createLanguageSession(options);
25
- try {
26
- return session.inspectClassName(className);
27
- } finally {
28
- session.dispose();
29
- }
30
- }
31
- async function formatDirectives(request, options) {
32
- const session = await createLanguageSession(options);
33
- try {
34
- return session.formatDirectives(request);
35
- } finally {
36
- session.dispose();
37
- }
38
- }
39
- export { AT_SIGN, AT_TRIGGER_CHARACTER, CLASS_ATTRIBUTES, CLASS_DECLARATIONS, CLASS_FUNCTIONS, DELIMITER_SIGN, INVOKED_TRIGGER_CHARACTERS, MASTER_CSS_SEMANTIC_TOKEN_SCOPE_MAP, QUERY_COMPARISON_OPERATORS, QUERY_LOGICAL_OPERATORS, QUERY_TRIGGER_CHARACTERS, SELECTOR_SIGNS, SELECTOR_TRIGGER_CHARACTERS, SEMANTIC_TOKENS_LEGEND, SEMANTIC_TOKEN_MODIFIERS, SEMANTIC_TOKEN_TYPES, SEPARATOR_SIGN, VALUE_TRIGGER_CHARACTERS, analyzeDocument, createLanguageSession, formatDirectives, getMasterCSSSemanticTokenScopeKeys, inspectClassName, matchesLanguageServiceNativeDeclaration };
@@ -1,13 +0,0 @@
1
- declare function matchesLanguageServiceNativeDeclaration({ property }: {
2
- property: string;
3
- }): boolean;
4
- declare const SELECTOR_SIGNS: string[];
5
- declare const QUERY_COMPARISON_OPERATORS: string[];
6
- declare const QUERY_LOGICAL_OPERATORS: string[];
7
- declare const DELIMITER_SIGN = "|";
8
- declare const SEPARATOR_SIGN = ",";
9
- declare const AT_SIGN = "@";
10
- declare const CLASS_ATTRIBUTES: string[];
11
- declare const CLASS_DECLARATIONS: string[];
12
- declare const CLASS_FUNCTIONS: string[];
13
- export { AT_SIGN, CLASS_ATTRIBUTES, CLASS_DECLARATIONS, CLASS_FUNCTIONS, DELIMITER_SIGN, QUERY_COMPARISON_OPERATORS, QUERY_LOGICAL_OPERATORS, SELECTOR_SIGNS, SEPARATOR_SIGN, matchesLanguageServiceNativeDeclaration };
@@ -1,35 +0,0 @@
1
- import { getMdnPropertySyntax } from "./utils/mdn-css-data.js";
2
- // src/language/master-css.ts
3
- function matchesLanguageServiceNativeDeclaration({ property }) {
4
- return property.startsWith("--") || Boolean(getMdnPropertySyntax(property));
5
- }
6
- const SELECTOR_SIGNS = [
7
- ":",
8
- "_",
9
- ">",
10
- "+",
11
- "~"
12
- ];
13
- const QUERY_COMPARISON_OPERATORS = [
14
- ">",
15
- "<",
16
- "="
17
- ];
18
- const QUERY_LOGICAL_OPERATORS = ["&"];
19
- const DELIMITER_SIGN = "|";
20
- const SEPARATOR_SIGN = ",";
21
- const AT_SIGN = "@";
22
- const CLASS_ATTRIBUTES = ["class", "className"];
23
- const CLASS_DECLARATIONS = [];
24
- const CLASS_FUNCTIONS = [
25
- "clsx",
26
- "cva",
27
- "ctl",
28
- "cv",
29
- "class",
30
- "classnames",
31
- "classVariant",
32
- "styled(?:\\s+)?(?:\\.\\w+)?",
33
- "classList(?:\\s+)?\\.(?:add|remove|toggle|replace)"
34
- ];
35
- export { AT_SIGN, CLASS_ATTRIBUTES, CLASS_DECLARATIONS, CLASS_FUNCTIONS, DELIMITER_SIGN, QUERY_COMPARISON_OPERATORS, QUERY_LOGICAL_OPERATORS, SELECTOR_SIGNS, SEPARATOR_SIGN, matchesLanguageServiceNativeDeclaration };
@@ -1,21 +0,0 @@
1
- import { MasterCSSDocumentAnalysis, MasterCSSDocumentAnalysisRequest, MasterCSSFormatDirectivesRequest, MasterCSSFormatDirectivesResult, MasterCSSLanguageInspection } from "./contracts.js";
2
- import { LanguageSession } from "./session.js";
3
- import "./index.js";
4
- import { MasterCSSManifest } from "@master/css-schema/manifest";
5
- /**
6
- * Create a reusable native language-only session synchronously.
7
- * Results are immutable snapshots. Dispose the session when its owner is finished.
8
- */
9
- declare function createLanguageSessionSync(options: {
10
- readonly manifest: MasterCSSManifest;
11
- }): LanguageSession;
12
- declare function analyzeDocumentSync(request: MasterCSSDocumentAnalysisRequest, options: {
13
- readonly manifest: MasterCSSManifest;
14
- }): MasterCSSDocumentAnalysis;
15
- declare function inspectClassNameSync(className: string, options: {
16
- readonly manifest: MasterCSSManifest;
17
- }): MasterCSSLanguageInspection;
18
- declare function formatDirectivesSync(request: MasterCSSFormatDirectivesRequest, options: {
19
- readonly manifest: MasterCSSManifest;
20
- }): MasterCSSFormatDirectivesResult;
21
- export { type LanguageSession as MasterCSSLanguageSession, analyzeDocumentSync, createLanguageSessionSync, formatDirectivesSync, inspectClassNameSync };
@@ -1,36 +0,0 @@
1
- import { bindLanguageSession } from "./session.js";
2
- import { createToolingBindingSync } from "@master/css-binding/tooling/node";
3
- // src/language/node.ts
4
- /**
5
- * Create a reusable native language-only session synchronously.
6
- * Results are immutable snapshots. Dispose the session when its owner is finished.
7
- */
8
- function createLanguageSessionSync(options) {
9
- const binding = createToolingBindingSync();
10
- return bindLanguageSession(binding.binding, binding.createLanguageSession(options.manifest));
11
- }
12
- function analyzeDocumentSync(request, options) {
13
- const session = createLanguageSessionSync(options);
14
- try {
15
- return session.analyzeDocument(request);
16
- } finally {
17
- session.dispose();
18
- }
19
- }
20
- function inspectClassNameSync(className, options) {
21
- const session = createLanguageSessionSync(options);
22
- try {
23
- return session.inspectClassName(className);
24
- } finally {
25
- session.dispose();
26
- }
27
- }
28
- function formatDirectivesSync(request, options) {
29
- const session = createLanguageSessionSync(options);
30
- try {
31
- return session.formatDirectives(request);
32
- } finally {
33
- session.dispose();
34
- }
35
- }
36
- export { analyzeDocumentSync, createLanguageSessionSync, formatDirectivesSync, inspectClassNameSync };
@@ -1,55 +0,0 @@
1
- import { SemanticTokenModifier, SemanticTokenType } from "./types.js";
2
- declare const MASTER_CSS_SEMANTIC_TOKEN_SCOPE_MAP: {
3
- readonly class: ["entity.other.attribute-name.class.css"];
4
- readonly 'class.component': ["entity.other.attribute-name.class.css"];
5
- readonly 'class.declaration': ["entity.other.attribute-name.class.css"];
6
- readonly 'class.selector': ["entity.other.attribute-name.class.css"];
7
- readonly enumMember: ["support.constant.property-value.css"];
8
- readonly 'enumMember.directive': ["support.constant.property-value.css"];
9
- readonly 'enumMember.query': ["support.constant.property-value.css"];
10
- readonly 'enumMember.unit': ["keyword.other.unit"];
11
- readonly property: ["support.type.property-name.css"];
12
- readonly 'property.directive': ["support.type.property-name.css"];
13
- readonly 'property.query': ["support.type.property-name.css"];
14
- readonly variable: ["variable.other.master-css.css", "variable.css"];
15
- readonly 'variable.directive': ["variable.parameter.master-css.css"];
16
- readonly 'variable.selector': ["entity.other.attribute-name.id.css"];
17
- readonly function: ["support.function.misc.css"];
18
- readonly number: ["constant.numeric.css"];
19
- readonly 'number.query': ["constant.numeric.css"];
20
- readonly string: ["string.quoted.css", "string.quoted.html"];
21
- readonly 'string.quoted': ["string.quoted.css", "string.quoted.html"];
22
- readonly keyword: ["keyword.control.at-rule"];
23
- readonly 'keyword.directive': ["keyword.control.at-rule.master-css.css"];
24
- readonly 'keyword.query': ["keyword.control.at-rule"];
25
- readonly modifier: ["entity.other.attribute-name.pseudo-class.css"];
26
- readonly 'modifier.directive': ["storage.modifier.master-css.css"];
27
- readonly 'modifier.pseudoClass': ["entity.other.attribute-name.pseudo-class.css"];
28
- readonly 'modifier.pseudoElement': ["entity.other.attribute-name.pseudo-element.css"];
29
- readonly operator: ["keyword.operator.css"];
30
- readonly 'operator.directive': ["punctuation.section.property-list.begin.bracket.curly.css"];
31
- readonly 'operator.blockBrace': ["punctuation.section.property-list.begin.bracket.curly.css", "punctuation.section.property-list.end.bracket.curly.css"];
32
- readonly 'operator.declarationSeparator': ["punctuation.separator.key-value.css"];
33
- readonly 'operator.declarationTerminator': ["punctuation.terminator.rule.css"];
34
- readonly 'operator.directiveTerminator': ["punctuation.terminator.rule.css"];
35
- readonly 'operator.functionPunctuation': ["punctuation.section.function.begin.bracket.round.css", "punctuation.section.function.end.bracket.round.css"];
36
- readonly 'operator.important': ["keyword.other.important.css", "keyword.operator.important.css"];
37
- readonly 'operator.pseudoClass': ["entity.other.attribute-name.pseudo-class.css"];
38
- readonly 'operator.pseudoClassDelimiter': ["punctuation.definition.entity.css"];
39
- readonly 'operator.pseudoElement': ["entity.other.attribute-name.pseudo-element.css"];
40
- readonly 'operator.pseudoElementDelimiter': ["punctuation.definition.entity.css"];
41
- readonly 'operator.query': ["keyword.operator.css"];
42
- readonly 'operator.queryOperator': ["keyword.operator.comparison.css", "keyword.operator.css"];
43
- readonly 'operator.queryPunctuation': ["punctuation.separator.list.comma.css", "punctuation.separator.key-value.css", "punctuation.definition.parameters.begin.bracket.round.css", "punctuation.definition.parameters.end.bracket.round.css", "punctuation.section.function.begin.bracket.round.css", "punctuation.section.function.end.bracket.round.css"];
44
- readonly 'operator.selector': ["keyword.operator.combinator.css"];
45
- readonly 'operator.selectorCombinator': ["keyword.operator.combinator.css"];
46
- readonly 'operator.selectorPunctuation': ["punctuation.separator.list.comma.css", "punctuation.definition.entity.css", "punctuation.section.function.begin.bracket.round.css", "punctuation.section.function.end.bracket.round.css", "punctuation.definition.entity.begin.bracket.square.css", "punctuation.definition.entity.end.bracket.square.css"];
47
- readonly 'operator.unit': ["keyword.operator.css"];
48
- readonly 'operator.valueOperator': ["keyword.operator.css"];
49
- readonly 'operator.valueSeparator': ["punctuation.separator.list.comma.css"];
50
- readonly type: ["entity.name.tag.css"];
51
- readonly 'type.selector': ["entity.name.tag.css"];
52
- };
53
- type MasterCSSSemanticTokenScopeKey = keyof typeof MASTER_CSS_SEMANTIC_TOKEN_SCOPE_MAP;
54
- declare function getMasterCSSSemanticTokenScopeKeys(type: SemanticTokenType, modifiers?: SemanticTokenModifier[]): ("class" | "class.component" | "class.declaration" | "class.selector" | "enumMember" | "enumMember.directive" | "enumMember.query" | "enumMember.unit" | "function" | "keyword" | "keyword.directive" | "keyword.query" | "modifier" | "modifier.directive" | "modifier.pseudoClass" | "modifier.pseudoElement" | "number" | "number.query" | "operator" | "operator.blockBrace" | "operator.declarationSeparator" | "operator.declarationTerminator" | "operator.directive" | "operator.directiveTerminator" | "operator.functionPunctuation" | "operator.important" | "operator.pseudoClass" | "operator.pseudoClassDelimiter" | "operator.pseudoElement" | "operator.pseudoElementDelimiter" | "operator.query" | "operator.queryOperator" | "operator.queryPunctuation" | "operator.selector" | "operator.selectorCombinator" | "operator.selectorPunctuation" | "operator.unit" | "operator.valueOperator" | "operator.valueSeparator" | "property" | "property.directive" | "property.query" | "string" | "string.quoted" | "type" | "type.selector" | "variable" | "variable.directive" | "variable.selector")[];
55
- export { MASTER_CSS_SEMANTIC_TOKEN_SCOPE_MAP, MasterCSSSemanticTokenScopeKey, getMasterCSSSemanticTokenScopeKeys };
@@ -1,73 +0,0 @@
1
- // src/language/semantic/scopes.ts
2
- const MASTER_CSS_SEMANTIC_TOKEN_SCOPE_MAP = {
3
- class: ["entity.other.attribute-name.class.css"],
4
- "class.component": ["entity.other.attribute-name.class.css"],
5
- "class.declaration": ["entity.other.attribute-name.class.css"],
6
- "class.selector": ["entity.other.attribute-name.class.css"],
7
- enumMember: ["support.constant.property-value.css"],
8
- "enumMember.directive": ["support.constant.property-value.css"],
9
- "enumMember.query": ["support.constant.property-value.css"],
10
- "enumMember.unit": ["keyword.other.unit"],
11
- property: ["support.type.property-name.css"],
12
- "property.directive": ["support.type.property-name.css"],
13
- "property.query": ["support.type.property-name.css"],
14
- variable: ["variable.other.master-css.css", "variable.css"],
15
- "variable.directive": ["variable.parameter.master-css.css"],
16
- "variable.selector": ["entity.other.attribute-name.id.css"],
17
- function: ["support.function.misc.css"],
18
- number: ["constant.numeric.css"],
19
- "number.query": ["constant.numeric.css"],
20
- string: ["string.quoted.css", "string.quoted.html"],
21
- "string.quoted": ["string.quoted.css", "string.quoted.html"],
22
- keyword: ["keyword.control.at-rule"],
23
- "keyword.directive": ["keyword.control.at-rule.master-css.css"],
24
- "keyword.query": ["keyword.control.at-rule"],
25
- modifier: ["entity.other.attribute-name.pseudo-class.css"],
26
- "modifier.directive": ["storage.modifier.master-css.css"],
27
- "modifier.pseudoClass": ["entity.other.attribute-name.pseudo-class.css"],
28
- "modifier.pseudoElement": ["entity.other.attribute-name.pseudo-element.css"],
29
- operator: ["keyword.operator.css"],
30
- "operator.directive": ["punctuation.section.property-list.begin.bracket.curly.css"],
31
- "operator.blockBrace": ["punctuation.section.property-list.begin.bracket.curly.css", "punctuation.section.property-list.end.bracket.curly.css"],
32
- "operator.declarationSeparator": ["punctuation.separator.key-value.css"],
33
- "operator.declarationTerminator": ["punctuation.terminator.rule.css"],
34
- "operator.directiveTerminator": ["punctuation.terminator.rule.css"],
35
- "operator.functionPunctuation": ["punctuation.section.function.begin.bracket.round.css", "punctuation.section.function.end.bracket.round.css"],
36
- "operator.important": ["keyword.other.important.css", "keyword.operator.important.css"],
37
- "operator.pseudoClass": ["entity.other.attribute-name.pseudo-class.css"],
38
- "operator.pseudoClassDelimiter": ["punctuation.definition.entity.css"],
39
- "operator.pseudoElement": ["entity.other.attribute-name.pseudo-element.css"],
40
- "operator.pseudoElementDelimiter": ["punctuation.definition.entity.css"],
41
- "operator.query": ["keyword.operator.css"],
42
- "operator.queryOperator": ["keyword.operator.comparison.css", "keyword.operator.css"],
43
- "operator.queryPunctuation": [
44
- "punctuation.separator.list.comma.css",
45
- "punctuation.separator.key-value.css",
46
- "punctuation.definition.parameters.begin.bracket.round.css",
47
- "punctuation.definition.parameters.end.bracket.round.css",
48
- "punctuation.section.function.begin.bracket.round.css",
49
- "punctuation.section.function.end.bracket.round.css"
50
- ],
51
- "operator.selector": ["keyword.operator.combinator.css"],
52
- "operator.selectorCombinator": ["keyword.operator.combinator.css"],
53
- "operator.selectorPunctuation": [
54
- "punctuation.separator.list.comma.css",
55
- "punctuation.definition.entity.css",
56
- "punctuation.section.function.begin.bracket.round.css",
57
- "punctuation.section.function.end.bracket.round.css",
58
- "punctuation.definition.entity.begin.bracket.square.css",
59
- "punctuation.definition.entity.end.bracket.square.css"
60
- ],
61
- "operator.unit": ["keyword.operator.css"],
62
- "operator.valueOperator": ["keyword.operator.css"],
63
- "operator.valueSeparator": ["punctuation.separator.list.comma.css"],
64
- type: ["entity.name.tag.css"],
65
- "type.selector": ["entity.name.tag.css"]
66
- };
67
- function getMasterCSSSemanticTokenScopeKeys(type, modifiers = []) {
68
- const keys = [];
69
- for (const modifier of [...modifiers].reverse()) keys.push(`${type}.${modifier}`);
70
- keys.push(type);
71
- return keys.filter((key) => key in MASTER_CSS_SEMANTIC_TOKEN_SCOPE_MAP);
72
- }
73
- export { MASTER_CSS_SEMANTIC_TOKEN_SCOPE_MAP, getMasterCSSSemanticTokenScopeKeys };
@@ -1,11 +0,0 @@
1
- import { SEMANTIC_TOKEN_MODIFIERS, SEMANTIC_TOKEN_TYPES } from "../common.js";
2
- type SemanticTokenType = typeof SEMANTIC_TOKEN_TYPES[number];
3
- type SemanticTokenModifier = typeof SEMANTIC_TOKEN_MODIFIERS[number];
4
- type HighlightTokenRole = 'block.brace' | 'declaration.property' | 'declaration.separator' | 'declaration.terminator' | 'query.keyword' | 'selector.combinator' | 'selector.pseudoClass.delimiter' | 'selector.pseudoClass.name' | 'selector.pseudoElement.delimiter' | 'selector.pseudoElement.name' | 'selector.punctuation' | 'selector.type' | 'utility.component' | 'utility.semantic' | 'value.important' | 'value.function' | 'value.function.punctuation' | 'value.keyword' | 'value.number' | 'value.operator' | 'value.separator' | 'value.string' | 'value.unit' | 'value.variable';
5
- interface SemanticTokenItem {
6
- start: number;
7
- end: number;
8
- type: SemanticTokenType;
9
- modifiers?: SemanticTokenModifier[];
10
- }
11
- export { HighlightTokenRole, SemanticTokenItem, SemanticTokenModifier, SemanticTokenType };
@@ -1 +0,0 @@
1
- export {};
@@ -1,37 +0,0 @@
1
- import { MasterCSSDocumentAnalysis, MasterCSSDocumentAnalysisRequest, MasterCSSFormatDirectivesRequest, MasterCSSFormatDirectivesResult, MasterCSSLanguageClassifications, MasterCSSLanguageColorCandidate, MasterCSSLanguageColorPresentation, MasterCSSLanguageColorTokens, MasterCSSLanguageCompletionIndex, MasterCSSLanguageInspection as MasterCSSLanguageInspection$1, MasterCSSLanguageTokenFamilies, MasterCSSNativeDeclarationCompletion, MasterCSSNativeDeclarationCompletionRequest } from "./contracts.js";
2
- import { MasterCSSNativeDeclarationCandidate } from "@master/css-binding/tooling";
3
- interface BindingLanguageSession {
4
- prepareDocument(request: unknown): {
5
- readonly id: number;
6
- readonly nativeCandidates: readonly MasterCSSNativeDeclarationCandidate[];
7
- };
8
- finishDocument(id: number, nativeSupport: boolean[]): unknown;
9
- cancelDocument(id: number): void;
10
- analyzeDocument(request: unknown): unknown;
11
- formatDirectives(request: unknown): unknown;
12
- nativeDeclarationCompletion(request: unknown): unknown;
13
- nativeDeclarationCandidates(classNames: string[]): unknown;
14
- classifyClassNames(classNames: string[], nativeSupport?: boolean[]): unknown;
15
- inspectClassName(className: string, nativeSupport?: boolean[]): unknown;
16
- tokenFamilies(): unknown;
17
- completionIndex(): unknown;
18
- colorPresentation(colorToken: string): unknown;
19
- colorTokens(candidates: unknown): unknown;
20
- dispose(): void;
21
- }
22
- interface LanguageSession extends Disposable {
23
- readonly binding: 'native' | 'wasm';
24
- analyzeDocument(request: MasterCSSDocumentAnalysisRequest): MasterCSSDocumentAnalysis;
25
- formatDirectives(request: MasterCSSFormatDirectivesRequest): MasterCSSFormatDirectivesResult;
26
- /** The completion context at a cursor inside a `(property:value)` head; undefined elsewhere. */
27
- nativeDeclarationCompletion(request: MasterCSSNativeDeclarationCompletionRequest): MasterCSSNativeDeclarationCompletion | undefined;
28
- classifyClassNames(classNames: readonly string[]): MasterCSSLanguageClassifications;
29
- inspectClassName(className: string): MasterCSSLanguageInspection$1;
30
- tokenFamilies(): MasterCSSLanguageTokenFamilies;
31
- completionIndex(): MasterCSSLanguageCompletionIndex;
32
- colorPresentation(colorToken: string): MasterCSSLanguageColorPresentation;
33
- colorTokens(candidates: readonly MasterCSSLanguageColorCandidate[]): MasterCSSLanguageColorTokens;
34
- dispose(): void;
35
- }
36
- declare function bindLanguageSession(binding: LanguageSession['binding'], session: BindingLanguageSession, nativeClassNames?: readonly string[]): LanguageSession;
37
- export { LanguageSession, bindLanguageSession };