@@ -17,6 +17,7 @@ import { TextDocument } from 'vscode-languageserver-textdocument'
17
17
import { Utils , URI } from 'vscode-uri'
18
18
import { getLanguageModelCache } from './languageModelCache'
19
19
import { Stylesheet } from 'vscode-css-languageservice'
20
+ import dlv from 'dlv'
20
21
21
22
let connection = createConnection ( ProposedFeatures . all )
22
23
@@ -45,6 +46,8 @@ let cssLanguageService = getCSSLanguageService()
45
46
46
47
let workspaceFolders : WorkspaceFolder [ ]
47
48
49
+ let foldingRangeLimit = Number . MAX_VALUE
50
+
48
51
const stylesheets = getLanguageModelCache < Stylesheet > ( 10 , 60 , ( document ) =>
49
52
cssLanguageService . parseStylesheet ( document )
50
53
)
@@ -64,6 +67,12 @@ connection.onInitialize((params: InitializeParams) => {
64
67
}
65
68
}
66
69
70
+ foldingRangeLimit = dlv (
71
+ params . capabilities ,
72
+ 'textDocument.foldingRange.rangeLimit' ,
73
+ Number . MAX_VALUE
74
+ )
75
+
67
76
return {
68
77
capabilities : {
69
78
textDocumentSync : TextDocumentSyncKind . Full ,
@@ -152,7 +161,7 @@ connection.onHover(({ textDocument, position }, _token) =>
152
161
153
162
connection . onFoldingRanges ( ( { textDocument } , _token ) =>
154
163
withDocumentAndSettings ( textDocument . uri , ( { document } ) =>
155
- cssLanguageService . getFoldingRanges ( document )
164
+ cssLanguageService . getFoldingRanges ( document , { rangeLimit : foldingRangeLimit } )
156
165
)
157
166
)
158
167
0 commit comments