diff --git a/src/interfaces/ClientCommands.ts b/src/interfaces/ClientCommands.ts index 3e73e65..281cf10 100644 --- a/src/interfaces/ClientCommands.ts +++ b/src/interfaces/ClientCommands.ts @@ -19,6 +19,10 @@ export const ClientCommands = { * Move the cursor focus to the provided location. */ GotoLocation: "metals-goto-location", + /** + * Notify the client that the library filesystem is ready for navigation + */ + LibraryFilesystemReady: "metals-library-filesystem-ready", /** Open a specific folder either in the same or new window */ OpenFolder: "metals-open-folder", /** diff --git a/src/interfaces/MetalsInitializationOptions.ts b/src/interfaces/MetalsInitializationOptions.ts index ac7ec1e..4c3b723 100644 --- a/src/interfaces/MetalsInitializationOptions.ts +++ b/src/interfaces/MetalsInitializationOptions.ts @@ -22,6 +22,7 @@ export interface MetalsInitializationOptions { icons?: "vscode" | "octicons" | "atom" | "unicode"; inputBoxProvider?: boolean; isVirtualDocumentSupported?: boolean; + isLibraryFileSystemSupported?: boolean; isExitOnShutdown?: boolean; isHttpEnabled?: boolean; openFilesOnRenameProvider?: boolean; diff --git a/src/interfaces/ServerCommands.ts b/src/interfaces/ServerCommands.ts index 7347578..f61a618 100644 --- a/src/interfaces/ServerCommands.ts +++ b/src/interfaces/ServerCommands.ts @@ -68,6 +68,12 @@ export const ServerCommands = { DecodeFile: "file-decode", /** Retrieve a list of all build targets */ ListBuildTargets: "list-build-targets", + /** Retrieve file system information on the uri passed e.g. isFile, isDirectory */ + FileSystemStat: "filesystem-stat", + /** Retrieve file directory contents */ + FileSystemReadDirectory: "filesystem-read-directory", + /** Retrieve file contents */ + FileSystemReadFile: "filesystem-read-file", /** * Detect the build tool for a workspace and generate the bsp config for the * build tool. If there are multiple build tools for a workspace ,the user