vscode-css-languageservice 5.4.2 → 6.0.0

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 (84) hide show
  1. package/CHANGELOG.md +5 -1
  2. package/lib/esm/cssLanguageService.d.ts +37 -37
  3. package/lib/esm/cssLanguageService.js +72 -75
  4. package/lib/esm/cssLanguageTypes.d.ts +238 -238
  5. package/lib/esm/cssLanguageTypes.js +42 -42
  6. package/lib/esm/data/webCustomData.js +21965 -21965
  7. package/lib/esm/languageFacts/builtinData.js +142 -142
  8. package/lib/esm/languageFacts/colors.js +469 -472
  9. package/lib/esm/languageFacts/dataManager.js +88 -92
  10. package/lib/esm/languageFacts/dataProvider.js +73 -79
  11. package/lib/esm/languageFacts/entry.js +137 -138
  12. package/lib/esm/languageFacts/facts.js +8 -8
  13. package/lib/esm/parser/cssErrors.js +48 -50
  14. package/lib/esm/parser/cssNodes.js +1502 -2019
  15. package/lib/esm/parser/cssParser.js +1534 -1563
  16. package/lib/esm/parser/cssScanner.js +592 -599
  17. package/lib/esm/parser/cssSymbolScope.js +311 -341
  18. package/lib/esm/parser/lessParser.js +714 -740
  19. package/lib/esm/parser/lessScanner.js +57 -78
  20. package/lib/esm/parser/scssErrors.js +18 -20
  21. package/lib/esm/parser/scssParser.js +796 -818
  22. package/lib/esm/parser/scssScanner.js +95 -116
  23. package/lib/esm/services/cssCodeActions.js +77 -81
  24. package/lib/esm/services/cssCompletion.js +1054 -1149
  25. package/lib/esm/services/cssFolding.js +190 -193
  26. package/lib/esm/services/cssFormatter.js +136 -136
  27. package/lib/esm/services/cssHover.js +148 -151
  28. package/lib/esm/services/cssNavigation.js +378 -470
  29. package/lib/esm/services/cssSelectionRange.js +47 -47
  30. package/lib/esm/services/cssValidation.js +41 -44
  31. package/lib/esm/services/lessCompletion.js +378 -397
  32. package/lib/esm/services/lint.js +518 -532
  33. package/lib/esm/services/lintRules.js +76 -83
  34. package/lib/esm/services/lintUtil.js +196 -205
  35. package/lib/esm/services/pathCompletion.js +157 -231
  36. package/lib/esm/services/scssCompletion.js +354 -378
  37. package/lib/esm/services/scssNavigation.js +82 -154
  38. package/lib/esm/services/selectorPrinting.js +492 -536
  39. package/lib/esm/utils/arrays.js +40 -46
  40. package/lib/esm/utils/objects.js +11 -11
  41. package/lib/esm/utils/resources.js +11 -24
  42. package/lib/esm/utils/strings.js +102 -104
  43. package/lib/umd/cssLanguageService.d.ts +37 -37
  44. package/lib/umd/cssLanguageService.js +99 -102
  45. package/lib/umd/cssLanguageTypes.d.ts +238 -238
  46. package/lib/umd/cssLanguageTypes.js +89 -88
  47. package/lib/umd/data/webCustomData.js +21978 -21978
  48. package/lib/umd/languageFacts/builtinData.js +154 -154
  49. package/lib/umd/languageFacts/colors.js +492 -495
  50. package/lib/umd/languageFacts/dataManager.js +101 -104
  51. package/lib/umd/languageFacts/dataProvider.js +86 -91
  52. package/lib/umd/languageFacts/entry.js +152 -153
  53. package/lib/umd/languageFacts/facts.js +29 -29
  54. package/lib/umd/parser/cssErrors.js +61 -62
  55. package/lib/umd/parser/cssNodes.js +1587 -2034
  56. package/lib/umd/parser/cssParser.js +1547 -1575
  57. package/lib/umd/parser/cssScanner.js +606 -611
  58. package/lib/umd/parser/cssSymbolScope.js +328 -353
  59. package/lib/umd/parser/lessParser.js +727 -752
  60. package/lib/umd/parser/lessScanner.js +70 -90
  61. package/lib/umd/parser/scssErrors.js +31 -32
  62. package/lib/umd/parser/scssParser.js +809 -830
  63. package/lib/umd/parser/scssScanner.js +108 -128
  64. package/lib/umd/services/cssCodeActions.js +90 -93
  65. package/lib/umd/services/cssCompletion.js +1067 -1161
  66. package/lib/umd/services/cssFolding.js +203 -206
  67. package/lib/umd/services/cssFormatter.js +150 -150
  68. package/lib/umd/services/cssHover.js +161 -163
  69. package/lib/umd/services/cssNavigation.js +391 -482
  70. package/lib/umd/services/cssSelectionRange.js +60 -60
  71. package/lib/umd/services/cssValidation.js +54 -56
  72. package/lib/umd/services/lessCompletion.js +391 -409
  73. package/lib/umd/services/lint.js +531 -544
  74. package/lib/umd/services/lintRules.js +91 -95
  75. package/lib/umd/services/lintUtil.js +210 -218
  76. package/lib/umd/services/pathCompletion.js +171 -244
  77. package/lib/umd/services/scssCompletion.js +367 -390
  78. package/lib/umd/services/scssNavigation.js +95 -166
  79. package/lib/umd/services/selectorPrinting.js +510 -550
  80. package/lib/umd/utils/arrays.js +55 -61
  81. package/lib/umd/utils/objects.js +25 -25
  82. package/lib/umd/utils/resources.js +26 -39
  83. package/lib/umd/utils/strings.js +120 -122
  84. package/package.json +10 -10
@@ -1,46 +1,40 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Licensed under the MIT License. See License.txt in the project root for license information.
4
- *--------------------------------------------------------------------------------------------*/
5
- 'use strict';
6
- /**
7
- * Takes a sorted array and a function p. The array is sorted in such a way that all elements where p(x) is false
8
- * are located before all elements where p(x) is true.
9
- * @returns the least x for which p(x) is true or array.length if no element fullfills the given function.
10
- */
11
- export function findFirst(array, p) {
12
- var low = 0, high = array.length;
13
- if (high === 0) {
14
- return 0; // no children
15
- }
16
- while (low < high) {
17
- var mid = Math.floor((low + high) / 2);
18
- if (p(array[mid])) {
19
- high = mid;
20
- }
21
- else {
22
- low = mid + 1;
23
- }
24
- }
25
- return low;
26
- }
27
- export function includes(array, item) {
28
- return array.indexOf(item) !== -1;
29
- }
30
- export function union() {
31
- var arrays = [];
32
- for (var _i = 0; _i < arguments.length; _i++) {
33
- arrays[_i] = arguments[_i];
34
- }
35
- var result = [];
36
- for (var _a = 0, arrays_1 = arrays; _a < arrays_1.length; _a++) {
37
- var array = arrays_1[_a];
38
- for (var _b = 0, array_1 = array; _b < array_1.length; _b++) {
39
- var item = array_1[_b];
40
- if (!includes(result, item)) {
41
- result.push(item);
42
- }
43
- }
44
- }
45
- return result;
46
- }
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License. See License.txt in the project root for license information.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ 'use strict';
6
+ /**
7
+ * Takes a sorted array and a function p. The array is sorted in such a way that all elements where p(x) is false
8
+ * are located before all elements where p(x) is true.
9
+ * @returns the least x for which p(x) is true or array.length if no element fullfills the given function.
10
+ */
11
+ export function findFirst(array, p) {
12
+ let low = 0, high = array.length;
13
+ if (high === 0) {
14
+ return 0; // no children
15
+ }
16
+ while (low < high) {
17
+ let mid = Math.floor((low + high) / 2);
18
+ if (p(array[mid])) {
19
+ high = mid;
20
+ }
21
+ else {
22
+ low = mid + 1;
23
+ }
24
+ }
25
+ return low;
26
+ }
27
+ export function includes(array, item) {
28
+ return array.indexOf(item) !== -1;
29
+ }
30
+ export function union(...arrays) {
31
+ const result = [];
32
+ for (const array of arrays) {
33
+ for (const item of array) {
34
+ if (!includes(result, item)) {
35
+ result.push(item);
36
+ }
37
+ }
38
+ }
39
+ return result;
40
+ }
@@ -1,11 +1,11 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Licensed under the MIT License. See License.txt in the project root for license information.
4
- *--------------------------------------------------------------------------------------------*/
5
- 'use strict';
6
- export function values(obj) {
7
- return Object.keys(obj).map(function (key) { return obj[key]; });
8
- }
9
- export function isDefined(obj) {
10
- return typeof obj !== 'undefined';
11
- }
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License. See License.txt in the project root for license information.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ 'use strict';
6
+ export function values(obj) {
7
+ return Object.keys(obj).map(key => obj[key]);
8
+ }
9
+ export function isDefined(obj) {
10
+ return typeof obj !== 'undefined';
11
+ }
@@ -1,24 +1,11 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Licensed under the MIT License. See License.txt in the project root for license information.
4
- *--------------------------------------------------------------------------------------------*/
5
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
6
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
7
- if (ar || !(i in from)) {
8
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
9
- ar[i] = from[i];
10
- }
11
- }
12
- return to.concat(ar || Array.prototype.slice.call(from));
13
- };
14
- import { URI, Utils } from 'vscode-uri';
15
- export function dirname(uriString) {
16
- return Utils.dirname(URI.parse(uriString)).toString();
17
- }
18
- export function joinPath(uriString) {
19
- var paths = [];
20
- for (var _i = 1; _i < arguments.length; _i++) {
21
- paths[_i - 1] = arguments[_i];
22
- }
23
- return Utils.joinPath.apply(Utils, __spreadArray([URI.parse(uriString)], paths, false)).toString();
24
- }
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License. See License.txt in the project root for license information.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ import { URI, Utils } from 'vscode-uri';
6
+ export function dirname(uriString) {
7
+ return Utils.dirname(URI.parse(uriString)).toString();
8
+ }
9
+ export function joinPath(uriString, ...paths) {
10
+ return Utils.joinPath(URI.parse(uriString), ...paths).toString();
11
+ }
@@ -1,104 +1,102 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Licensed under the MIT License. See License.txt in the project root for license information.
4
- *--------------------------------------------------------------------------------------------*/
5
- 'use strict';
6
- export function startsWith(haystack, needle) {
7
- if (haystack.length < needle.length) {
8
- return false;
9
- }
10
- for (var i = 0; i < needle.length; i++) {
11
- if (haystack[i] !== needle[i]) {
12
- return false;
13
- }
14
- }
15
- return true;
16
- }
17
- /**
18
- * Determines if haystack ends with needle.
19
- */
20
- export function endsWith(haystack, needle) {
21
- var diff = haystack.length - needle.length;
22
- if (diff > 0) {
23
- return haystack.lastIndexOf(needle) === diff;
24
- }
25
- else if (diff === 0) {
26
- return haystack === needle;
27
- }
28
- else {
29
- return false;
30
- }
31
- }
32
- /**
33
- * Computes the difference score for two strings. More similar strings have a higher score.
34
- * We use largest common subsequence dynamic programming approach but penalize in the end for length differences.
35
- * Strings that have a large length difference will get a bad default score 0.
36
- * Complexity - both time and space O(first.length * second.length)
37
- * Dynamic programming LCS computation http://en.wikipedia.org/wiki/Longest_common_subsequence_problem
38
- *
39
- * @param first a string
40
- * @param second a string
41
- */
42
- export function difference(first, second, maxLenDelta) {
43
- if (maxLenDelta === void 0) { maxLenDelta = 4; }
44
- var lengthDifference = Math.abs(first.length - second.length);
45
- // We only compute score if length of the currentWord and length of entry.name are similar.
46
- if (lengthDifference > maxLenDelta) {
47
- return 0;
48
- }
49
- // Initialize LCS (largest common subsequence) matrix.
50
- var LCS = [];
51
- var zeroArray = [];
52
- var i, j;
53
- for (i = 0; i < second.length + 1; ++i) {
54
- zeroArray.push(0);
55
- }
56
- for (i = 0; i < first.length + 1; ++i) {
57
- LCS.push(zeroArray);
58
- }
59
- for (i = 1; i < first.length + 1; ++i) {
60
- for (j = 1; j < second.length + 1; ++j) {
61
- if (first[i - 1] === second[j - 1]) {
62
- LCS[i][j] = LCS[i - 1][j - 1] + 1;
63
- }
64
- else {
65
- LCS[i][j] = Math.max(LCS[i - 1][j], LCS[i][j - 1]);
66
- }
67
- }
68
- }
69
- return LCS[first.length][second.length] - Math.sqrt(lengthDifference);
70
- }
71
- /**
72
- * Limit of string length.
73
- */
74
- export function getLimitedString(str, ellipsis) {
75
- if (ellipsis === void 0) { ellipsis = true; }
76
- if (!str) {
77
- return '';
78
- }
79
- if (str.length < 140) {
80
- return str;
81
- }
82
- return str.slice(0, 140) + (ellipsis ? '\u2026' : '');
83
- }
84
- /**
85
- * Limit of string length.
86
- */
87
- export function trim(str, regexp) {
88
- var m = regexp.exec(str);
89
- if (m && m[0].length) {
90
- return str.substr(0, str.length - m[0].length);
91
- }
92
- return str;
93
- }
94
- export function repeat(value, count) {
95
- var s = '';
96
- while (count > 0) {
97
- if ((count & 1) === 1) {
98
- s += value;
99
- }
100
- value += value;
101
- count = count >>> 1;
102
- }
103
- return s;
104
- }
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License. See License.txt in the project root for license information.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ 'use strict';
6
+ export function startsWith(haystack, needle) {
7
+ if (haystack.length < needle.length) {
8
+ return false;
9
+ }
10
+ for (let i = 0; i < needle.length; i++) {
11
+ if (haystack[i] !== needle[i]) {
12
+ return false;
13
+ }
14
+ }
15
+ return true;
16
+ }
17
+ /**
18
+ * Determines if haystack ends with needle.
19
+ */
20
+ export function endsWith(haystack, needle) {
21
+ let diff = haystack.length - needle.length;
22
+ if (diff > 0) {
23
+ return haystack.lastIndexOf(needle) === diff;
24
+ }
25
+ else if (diff === 0) {
26
+ return haystack === needle;
27
+ }
28
+ else {
29
+ return false;
30
+ }
31
+ }
32
+ /**
33
+ * Computes the difference score for two strings. More similar strings have a higher score.
34
+ * We use largest common subsequence dynamic programming approach but penalize in the end for length differences.
35
+ * Strings that have a large length difference will get a bad default score 0.
36
+ * Complexity - both time and space O(first.length * second.length)
37
+ * Dynamic programming LCS computation http://en.wikipedia.org/wiki/Longest_common_subsequence_problem
38
+ *
39
+ * @param first a string
40
+ * @param second a string
41
+ */
42
+ export function difference(first, second, maxLenDelta = 4) {
43
+ let lengthDifference = Math.abs(first.length - second.length);
44
+ // We only compute score if length of the currentWord and length of entry.name are similar.
45
+ if (lengthDifference > maxLenDelta) {
46
+ return 0;
47
+ }
48
+ // Initialize LCS (largest common subsequence) matrix.
49
+ let LCS = [];
50
+ let zeroArray = [];
51
+ let i, j;
52
+ for (i = 0; i < second.length + 1; ++i) {
53
+ zeroArray.push(0);
54
+ }
55
+ for (i = 0; i < first.length + 1; ++i) {
56
+ LCS.push(zeroArray);
57
+ }
58
+ for (i = 1; i < first.length + 1; ++i) {
59
+ for (j = 1; j < second.length + 1; ++j) {
60
+ if (first[i - 1] === second[j - 1]) {
61
+ LCS[i][j] = LCS[i - 1][j - 1] + 1;
62
+ }
63
+ else {
64
+ LCS[i][j] = Math.max(LCS[i - 1][j], LCS[i][j - 1]);
65
+ }
66
+ }
67
+ }
68
+ return LCS[first.length][second.length] - Math.sqrt(lengthDifference);
69
+ }
70
+ /**
71
+ * Limit of string length.
72
+ */
73
+ export function getLimitedString(str, ellipsis = true) {
74
+ if (!str) {
75
+ return '';
76
+ }
77
+ if (str.length < 140) {
78
+ return str;
79
+ }
80
+ return str.slice(0, 140) + (ellipsis ? '\u2026' : '');
81
+ }
82
+ /**
83
+ * Limit of string length.
84
+ */
85
+ export function trim(str, regexp) {
86
+ const m = regexp.exec(str);
87
+ if (m && m[0].length) {
88
+ return str.substr(0, str.length - m[0].length);
89
+ }
90
+ return str;
91
+ }
92
+ export function repeat(value, count) {
93
+ let s = '';
94
+ while (count > 0) {
95
+ if ((count & 1) === 1) {
96
+ s += value;
97
+ }
98
+ value += value;
99
+ count = count >>> 1;
100
+ }
101
+ return s;
102
+ }
@@ -1,37 +1,37 @@
1
- import { LanguageSettings, ICompletionParticipant, DocumentContext, LanguageServiceOptions, Diagnostic, Position, CompletionList, Hover, Location, DocumentHighlight, DocumentLink, SymbolInformation, Range, CodeActionContext, Command, CodeAction, ColorInformation, Color, ColorPresentation, WorkspaceEdit, FoldingRange, SelectionRange, TextDocument, ICSSDataProvider, CSSDataV1, HoverSettings, CompletionSettings, TextEdit, CSSFormatConfiguration } from './cssLanguageTypes';
2
- export declare type Stylesheet = {};
3
- export * from './cssLanguageTypes';
4
- export interface LanguageService {
5
- configure(raw?: LanguageSettings): void;
6
- setDataProviders(useDefaultDataProvider: boolean, customDataProviders: ICSSDataProvider[]): void;
7
- doValidation(document: TextDocument, stylesheet: Stylesheet, documentSettings?: LanguageSettings): Diagnostic[];
8
- parseStylesheet(document: TextDocument): Stylesheet;
9
- doComplete(document: TextDocument, position: Position, stylesheet: Stylesheet, settings?: CompletionSettings): CompletionList;
10
- doComplete2(document: TextDocument, position: Position, stylesheet: Stylesheet, documentContext: DocumentContext, settings?: CompletionSettings): Promise<CompletionList>;
11
- setCompletionParticipants(registeredCompletionParticipants: ICompletionParticipant[]): void;
12
- doHover(document: TextDocument, position: Position, stylesheet: Stylesheet, settings?: HoverSettings): Hover | null;
13
- findDefinition(document: TextDocument, position: Position, stylesheet: Stylesheet): Location | null;
14
- findReferences(document: TextDocument, position: Position, stylesheet: Stylesheet): Location[];
15
- findDocumentHighlights(document: TextDocument, position: Position, stylesheet: Stylesheet): DocumentHighlight[];
16
- findDocumentLinks(document: TextDocument, stylesheet: Stylesheet, documentContext: DocumentContext): DocumentLink[];
17
- /**
18
- * Return statically resolved links, and dynamically resolved links if `fsProvider` is proved.
19
- */
20
- findDocumentLinks2(document: TextDocument, stylesheet: Stylesheet, documentContext: DocumentContext): Promise<DocumentLink[]>;
21
- findDocumentSymbols(document: TextDocument, stylesheet: Stylesheet): SymbolInformation[];
22
- doCodeActions(document: TextDocument, range: Range, context: CodeActionContext, stylesheet: Stylesheet): Command[];
23
- doCodeActions2(document: TextDocument, range: Range, context: CodeActionContext, stylesheet: Stylesheet): CodeAction[];
24
- findDocumentColors(document: TextDocument, stylesheet: Stylesheet): ColorInformation[];
25
- getColorPresentations(document: TextDocument, stylesheet: Stylesheet, color: Color, range: Range): ColorPresentation[];
26
- doRename(document: TextDocument, position: Position, newName: string, stylesheet: Stylesheet): WorkspaceEdit;
27
- getFoldingRanges(document: TextDocument, context?: {
28
- rangeLimit?: number;
29
- }): FoldingRange[];
30
- getSelectionRanges(document: TextDocument, positions: Position[], stylesheet: Stylesheet): SelectionRange[];
31
- format(document: TextDocument, range: Range | undefined, options: CSSFormatConfiguration): TextEdit[];
32
- }
33
- export declare function getDefaultCSSDataProvider(): ICSSDataProvider;
34
- export declare function newCSSDataProvider(data: CSSDataV1): ICSSDataProvider;
35
- export declare function getCSSLanguageService(options?: LanguageServiceOptions): LanguageService;
36
- export declare function getSCSSLanguageService(options?: LanguageServiceOptions): LanguageService;
37
- export declare function getLESSLanguageService(options?: LanguageServiceOptions): LanguageService;
1
+ import { LanguageSettings, ICompletionParticipant, DocumentContext, LanguageServiceOptions, Diagnostic, Position, CompletionList, Hover, Location, DocumentHighlight, DocumentLink, SymbolInformation, Range, CodeActionContext, Command, CodeAction, ColorInformation, Color, ColorPresentation, WorkspaceEdit, FoldingRange, SelectionRange, TextDocument, ICSSDataProvider, CSSDataV1, HoverSettings, CompletionSettings, TextEdit, CSSFormatConfiguration } from './cssLanguageTypes';
2
+ export declare type Stylesheet = {};
3
+ export * from './cssLanguageTypes';
4
+ export interface LanguageService {
5
+ configure(raw?: LanguageSettings): void;
6
+ setDataProviders(useDefaultDataProvider: boolean, customDataProviders: ICSSDataProvider[]): void;
7
+ doValidation(document: TextDocument, stylesheet: Stylesheet, documentSettings?: LanguageSettings): Diagnostic[];
8
+ parseStylesheet(document: TextDocument): Stylesheet;
9
+ doComplete(document: TextDocument, position: Position, stylesheet: Stylesheet, settings?: CompletionSettings): CompletionList;
10
+ doComplete2(document: TextDocument, position: Position, stylesheet: Stylesheet, documentContext: DocumentContext, settings?: CompletionSettings): Promise<CompletionList>;
11
+ setCompletionParticipants(registeredCompletionParticipants: ICompletionParticipant[]): void;
12
+ doHover(document: TextDocument, position: Position, stylesheet: Stylesheet, settings?: HoverSettings): Hover | null;
13
+ findDefinition(document: TextDocument, position: Position, stylesheet: Stylesheet): Location | null;
14
+ findReferences(document: TextDocument, position: Position, stylesheet: Stylesheet): Location[];
15
+ findDocumentHighlights(document: TextDocument, position: Position, stylesheet: Stylesheet): DocumentHighlight[];
16
+ findDocumentLinks(document: TextDocument, stylesheet: Stylesheet, documentContext: DocumentContext): DocumentLink[];
17
+ /**
18
+ * Return statically resolved links, and dynamically resolved links if `fsProvider` is proved.
19
+ */
20
+ findDocumentLinks2(document: TextDocument, stylesheet: Stylesheet, documentContext: DocumentContext): Promise<DocumentLink[]>;
21
+ findDocumentSymbols(document: TextDocument, stylesheet: Stylesheet): SymbolInformation[];
22
+ doCodeActions(document: TextDocument, range: Range, context: CodeActionContext, stylesheet: Stylesheet): Command[];
23
+ doCodeActions2(document: TextDocument, range: Range, context: CodeActionContext, stylesheet: Stylesheet): CodeAction[];
24
+ findDocumentColors(document: TextDocument, stylesheet: Stylesheet): ColorInformation[];
25
+ getColorPresentations(document: TextDocument, stylesheet: Stylesheet, color: Color, range: Range): ColorPresentation[];
26
+ doRename(document: TextDocument, position: Position, newName: string, stylesheet: Stylesheet): WorkspaceEdit;
27
+ getFoldingRanges(document: TextDocument, context?: {
28
+ rangeLimit?: number;
29
+ }): FoldingRange[];
30
+ getSelectionRanges(document: TextDocument, positions: Position[], stylesheet: Stylesheet): SelectionRange[];
31
+ format(document: TextDocument, range: Range | undefined, options: CSSFormatConfiguration): TextEdit[];
32
+ }
33
+ export declare function getDefaultCSSDataProvider(): ICSSDataProvider;
34
+ export declare function newCSSDataProvider(data: CSSDataV1): ICSSDataProvider;
35
+ export declare function getCSSLanguageService(options?: LanguageServiceOptions): LanguageService;
36
+ export declare function getSCSSLanguageService(options?: LanguageServiceOptions): LanguageService;
37
+ export declare function getLESSLanguageService(options?: LanguageServiceOptions): LanguageService;