diff --git a/core/core.ts b/core/core.ts index 4fabefed35..fdcf9ee584 100644 --- a/core/core.ts +++ b/core/core.ts @@ -708,6 +708,7 @@ export class Core { tool, toolCallId: toolCall.id, onPartialOutput, + codeBaseIndexer: this.codeBaseIndexer, }); }); diff --git a/core/index.d.ts b/core/index.d.ts index ad778d3d8b..c24487a551 100644 --- a/core/index.d.ts +++ b/core/index.d.ts @@ -4,6 +4,7 @@ import { PromptTemplates, } from "@continuedev/config-yaml"; import Parser from "web-tree-sitter"; +import { CodebaseIndexer } from "./indexing/CodebaseIndexer"; import { LLMConfigurationStatuses } from "./llm/constants"; declare global { @@ -969,6 +970,7 @@ export interface ToolExtras { contextItems: ContextItem[]; }) => void; config: ContinueConfig; + codeBaseIndexer?: CodebaseIndexer; } export interface Tool { diff --git a/core/indexing/CodebaseIndexer.test.ts b/core/indexing/CodebaseIndexer.test.ts index 7ba08594de..b697520aaa 100644 --- a/core/indexing/CodebaseIndexer.test.ts +++ b/core/indexing/CodebaseIndexer.test.ts @@ -278,7 +278,7 @@ describe("CodebaseIndexer", () => { expect.anything(), ); expect(mockMessenger.send).toHaveBeenCalledWith("refreshSubmenuItems", { - providers: "dependsOnIndexing", + providers: "all", }); }); diff --git a/core/indexing/CodebaseIndexer.ts b/core/indexing/CodebaseIndexer.ts index 719c95aec3..db4bdd9cac 100644 --- a/core/indexing/CodebaseIndexer.ts +++ b/core/indexing/CodebaseIndexer.ts @@ -596,7 +596,7 @@ export class CodebaseIndexer { // Directly refresh submenu items if (this.messenger) { this.messenger.send("refreshSubmenuItems", { - providers: "dependsOnIndexing", + providers: "all", }); } this.indexingCancellationController = undefined; @@ -626,7 +626,9 @@ export class CodebaseIndexer { // Directly refresh submenu items if (this.messenger) { - this.messenger.send("refreshSubmenuItems", { providers: "all" }); + this.messenger.send("refreshSubmenuItems", { + providers: "all", + }); } this.indexingCancellationController = undefined; } diff --git a/core/tools/implementations/createNewFile.ts b/core/tools/implementations/createNewFile.ts index 5a89141eb3..2818dc4b22 100644 --- a/core/tools/implementations/createNewFile.ts +++ b/core/tools/implementations/createNewFile.ts @@ -17,6 +17,10 @@ export const createNewFileImpl: ToolImpl = async (args, extras) => { } await extras.ide.writeFile(resolvedFileUri, args.contents); await extras.ide.openFile(resolvedFileUri); + await extras.ide.saveFile(resolvedFileUri); + if (extras.codeBaseIndexer) { + await extras.codeBaseIndexer?.refreshCodebaseIndexFiles([resolvedFileUri]); + } return [ { name: getUriPathBasename(resolvedFileUri),