@@ -122,14 +122,23 @@ export class TW {
122
122
await this . initPromise
123
123
}
124
124
125
+ private validateFolderUri ( uri : URI ) : boolean {
126
+ if ( uri . scheme !== 'file' ) {
127
+ console . warn (
128
+ `The workspace folder [${ uri . toString ( ) } ] will be ignored: it does not use the file scheme.` ,
129
+ )
130
+ return false
131
+ }
132
+
133
+ return true
134
+ }
135
+
125
136
private getWorkspaceFolders ( ) : WorkspaceFolder [ ] {
126
137
if ( this . initializeParams . workspaceFolders ?. length ) {
127
138
return this . initializeParams . workspaceFolders . flatMap ( ( folder ) => {
128
139
let uri = URI . parse ( folder . uri )
129
- if ( uri . scheme !== 'file' ) {
130
- console . warn ( `Non-file workspace folder will be ignored: ${ folder . uri } ` )
131
- return [ ]
132
- }
140
+
141
+ if ( ! this . validateFolderUri ( uri ) ) return [ ]
133
142
134
143
return [
135
144
{
@@ -143,10 +152,7 @@ export class TW {
143
152
if ( this . initializeParams . rootUri ) {
144
153
let uri = URI . parse ( this . initializeParams . rootUri )
145
154
146
- if ( uri . scheme !== 'file' ) {
147
- console . warn ( `Non-file workspace folder will be ignored: ${ uri . toString ( ) } ` )
148
- return [ ]
149
- }
155
+ if ( ! this . validateFolderUri ( uri ) ) return [ ]
150
156
151
157
return [
152
158
{
@@ -157,9 +163,13 @@ export class TW {
157
163
}
158
164
159
165
if ( this . initializeParams . rootPath ) {
166
+ let uri = URI . file ( this . initializeParams . rootPath )
167
+
168
+ if ( ! this . validateFolderUri ( uri ) ) return [ ]
169
+
160
170
return [
161
171
{
162
- uri : URI . file ( this . initializeParams . rootPath ) . fsPath ,
172
+ uri : uri . fsPath ,
163
173
name : 'Root' ,
164
174
} ,
165
175
]
0 commit comments