@@ -61,7 +61,7 @@ export interface ConnectionTarget {
6161 * @param workspace The workspace the file is in.
6262 */
6363function getServerDocName ( localPath : string , workspace : string ) : string {
64- const workspacePath = workspaceFolderUri ( workspace ) . fsPath ;
64+ const workspacePath = uriOfWorkspaceFolder ( workspace ) . fsPath ;
6565 const filePathNoWorkspaceArr = localPath . replace ( workspacePath + path . sep , "" ) . split ( path . sep ) ;
6666 return filePathNoWorkspaceArr . slice ( filePathNoWorkspaceArr . indexOf ( "csp" ) ) . join ( "/" ) ;
6767}
@@ -73,7 +73,7 @@ function getServerDocName(localPath: string, workspace: string): string {
7373 */
7474export function isImportableLocalFile ( file : vscode . TextDocument ) : boolean {
7575 const workspace = currentWorkspaceFolder ( file ) ;
76- const workspacePath = workspaceFolderUri ( workspace ) . fsPath ;
76+ const workspacePath = uriOfWorkspaceFolder ( workspace ) . fsPath ;
7777 const filePathNoWorkspaceArr = file . fileName . replace ( workspacePath + path . sep , "" ) . split ( path . sep ) ;
7878 return filePathNoWorkspaceArr . includes ( "csp" ) ;
7979}
@@ -259,18 +259,7 @@ export function isCSP(uri: vscode.Uri): boolean {
259259export function currentWorkspaceFolder ( document ?: vscode . TextDocument ) : string {
260260 document = document ? document : vscode . window . activeTextEditor && vscode . window . activeTextEditor . document ;
261261 if ( document ) {
262- const uri = document . uri ;
263- if ( uri . scheme === "file" ) {
264- if ( vscode . workspace . getWorkspaceFolder ( uri ) ) {
265- return vscode . workspace . getWorkspaceFolder ( uri ) . name ;
266- }
267- } else if ( schemas . includes ( uri . scheme ) ) {
268- const rootUri = uri . with ( { path : "/" } ) . toString ( ) ;
269- const foundFolder = vscode . workspace . workspaceFolders . find (
270- ( workspaceFolder ) => workspaceFolder . uri . toString ( ) == rootUri
271- ) ;
272- return foundFolder ? foundFolder . name : uri . authority ;
273- }
262+ return workspaceFolderOfUri ( document . uri ) ;
274263 }
275264 const firstFolder =
276265 vscode . workspace . workspaceFolders && vscode . workspace . workspaceFolders . length
@@ -283,7 +272,21 @@ export function currentWorkspaceFolder(document?: vscode.TextDocument): string {
283272 }
284273}
285274
286- export function workspaceFolderUri ( workspaceFolder : string = currentWorkspaceFolder ( ) ) : vscode . Uri {
275+ export function workspaceFolderOfUri ( uri : vscode . Uri ) : string {
276+ if ( uri . scheme === "file" ) {
277+ if ( vscode . workspace . getWorkspaceFolder ( uri ) ) {
278+ return vscode . workspace . getWorkspaceFolder ( uri ) . name ;
279+ }
280+ } else if ( schemas . includes ( uri . scheme ) ) {
281+ const rootUri = uri . with ( { path : "/" } ) . toString ( ) ;
282+ const foundFolder = vscode . workspace . workspaceFolders . find (
283+ ( workspaceFolder ) => workspaceFolder . uri . toString ( ) == rootUri
284+ ) ;
285+ return foundFolder ? foundFolder . name : uri . authority ;
286+ }
287+ }
288+
289+ export function uriOfWorkspaceFolder ( workspaceFolder : string = currentWorkspaceFolder ( ) ) : vscode . Uri {
287290 return (
288291 vscode . workspace . workspaceFolders . find ( ( el ) : boolean => el . name . toLowerCase ( ) === workspaceFolder . toLowerCase ( ) ) ||
289292 vscode . workspace . workspaceFolders . find ( ( el ) : boolean => el . uri . authority == workspaceFolder )
@@ -309,7 +312,7 @@ export async function portFromDockerCompose(): Promise<{ port: number; docker: b
309312 return { docker : false , port : null } ;
310313 }
311314 const result = { port : null , docker : true , service } ;
312- const workspaceFolderPath = workspaceFolderUri ( ) . fsPath ;
315+ const workspaceFolderPath = uriOfWorkspaceFolder ( ) . fsPath ;
313316 const workspaceRootPath = vscode . workspace . workspaceFolders [ 0 ] . uri . fsPath ;
314317
315318 const cwd : string = await new Promise ( ( resolve , reject ) => {
0 commit comments