Просмотр исходного кода

Merge pull request #219 from RooVetGit/update_workspace_tracker

Updated workspace tracker from Cline
Matt Rubens 1 год назад
Родитель
Сommit
6126cdf254

+ 3 - 14
src/integrations/workspace/WorkspaceTracker.ts

@@ -27,10 +27,8 @@ class WorkspaceTracker {
 	}
 
 	private registerListeners() {
-		// Create a file system watcher for all files
-		const watcher = vscode.workspace.createFileSystemWatcher('**')
+		const watcher = vscode.workspace.createFileSystemWatcher("**")
 
-		// Listen for file creation
 		this.disposables.push(
 			watcher.onDidCreate(async (uri) => {
 				await this.addFilePath(uri.fsPath)
@@ -38,7 +36,7 @@ class WorkspaceTracker {
 			})
 		)
 
-		// Listen for file deletion
+		// Renaming files triggers a delete and create event
 		this.disposables.push(
 			watcher.onDidDelete(async (uri) => {
 				if (await this.removeFilePath(uri.fsPath)) {
@@ -47,15 +45,6 @@ class WorkspaceTracker {
 			})
 		)
 
-		// Listen for file changes (which could include renames)
-		this.disposables.push(
-			watcher.onDidChange(async (uri) => {
-				await this.addFilePath(uri.fsPath)
-				this.workspaceDidUpdate()
-			})
-		)
-
-		// Add the watcher itself to disposables
 		this.disposables.push(watcher)
 	}
 
@@ -68,7 +57,7 @@ class WorkspaceTracker {
 			filePaths: Array.from(this.filePaths).map((file) => {
 				const relativePath = path.relative(cwd, file).toPosix()
 				return file.endsWith("/") ? relativePath + "/" : relativePath
-			}),
+			})
 		})
 	}
 

+ 0 - 11
src/integrations/workspace/__tests__/WorkspaceTracker.test.ts

@@ -12,7 +12,6 @@ const mockDispose = jest.fn()
 const mockWatcher = {
     onDidCreate: mockOnDidCreate.mockReturnValue({ dispose: mockDispose }),
     onDidDelete: mockOnDidDelete.mockReturnValue({ dispose: mockDispose }),
-    onDidChange: mockOnDidChange.mockReturnValue({ dispose: mockDispose }),
     dispose: mockDispose
 }
 
@@ -86,16 +85,6 @@ describe("WorkspaceTracker", () => {
         })
     })
 
-    it("should handle file change events", async () => {
-        const [[callback]] = mockOnDidChange.mock.calls
-        await callback({ fsPath: "/test/workspace/changed.ts" })
-
-        expect(mockProvider.postMessageToWebview).toHaveBeenCalledWith({
-            type: "workspaceUpdated",
-            filePaths: ["changed.ts"]
-        })
-    })
-
     it("should handle directory paths correctly", async () => {
         // Mock stat to return directory type
         ;(vscode.workspace.fs.stat as jest.Mock).mockResolvedValueOnce({ type: 2 }) // FileType.Directory = 2