Refactor/cline.ts/list files#2067
Conversation
|
| * @param pushToolResult - A function that pushes the result of this tool to the | ||
| * conversation. | ||
| * @param removeClosingTag - A function that removes a closing tag from a string. | ||
| */ |
There was a problem hiding this comment.
Consider adding an explicit return type for the function (e.g. Promise<void>) for extra clarity.
| } | ||
| cline.consecutiveMistakeCount = 0 | ||
| const absolutePath = path.resolve(cline.cwd, relDirPath) | ||
| const [files, didHitLimit] = await listFiles(absolutePath, recursive, 200) |
There was a problem hiding this comment.
The file limit 200 is hardcoded when calling listFiles. Consider extracting this value as a configurable constant or parameter to enhance flexibility and maintainability.
* "Refactor list_files tool to separate module (#2057)" * Await --------- Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
* Parallel tasks * Handle null [x]ModelInfo types, recover from settings schema parse errors (#2064) * Require exactly node v20.18.1 (#2065) * Get rid of runner and all CJS stuff * Add an activation command for other extensions (#2073) Since VS Code provides no actionEvents that trigger when a specific extension activates, extensions can't activate only once Roo is activated and ready. This commit introduces a new roo-cline.activationCompleted command and fires it at the very end of extension activation. Other extensions that use Roo's exported APIs can now activate when they see this event. Co-authored-by: Greg Taylor <gregtaylor@netflix.com> * Update bug_report.yml (#1994) * Update bug_report.yml * Update bug_report.yml --------- Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com> * Fix mention file name is not fully displayed (#2026) Fixed path leading character handling to preserve language characters and remove specific punctuation marks * In-Editor Browser Improvements (#1601) * Browser Automation Improvements * Added multi-tab remote Chrome support * Added support for hover * Properly caching remote browser host in global state * Cleanup functions * Updated for changes after merge * Added www. exception for common tabs * Update src/core/webview/ClineProvider.ts * Revert README changes --------- Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com> * Add missing awaits on refactored tools (#2078) * More progress * Added Gemini 2.5 Pro model to GCP Vertex AI Provider (#2079) * More progress * Display info about partial reads in chat row (#2080) * More progress * Update contributors list (#2023) docs: update contributors list [skip ci] Co-authored-by: mrubens <mrubens@users.noreply.github.com> * More progress * Handle multiple API pages worth of contributors (#2088) * Update contributors list (#2089) docs: update contributors list [skip ci] Co-authored-by: mrubens <mrubens@users.noreply.github.com> * Refactor/cline.ts/list files (#2067) * "Refactor list_files tool to separate module (#2057)" * Await --------- Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com> * Remove switch from tools (#2091) * HandleError returns a promise * Remove unnecessary switch from tools * Fix a type in the listFiles tool (#2092) * Move write_to_file to a tool file (#2093) * Move apply_diff to a tool file (#2094) * Move insert_content to a tool file (#2095) * Move search_and_replace to a tool file (#2096) * Move list_code_definition_names to a tool file (#2097) * Move search_files to a tool file (#2098) * Move browser_action to a tool file (#2099) * Move execute_command to a tool file (#2100) * Move use_mcp_tool and access_mcp_resource to tool files (#2101) * Move new_task, switch_mode, attempt_completion, and ask_followup_question to tool files (#2102) * Do a little code cleanup now that tools are refactored out (#2103) * Clean up the way we compute the current diff strategy (#2049) * Clean up the way we compute the current diff strategy * Add changeset * i18n Add translations for task pinning and unpinning (#2109) Signed-off-by: feifei <liuyansheng1121@gmail.com> * Remove the ask promise error (#2107) * Remove the ask promise error * Send start_time along with checkpoints and use it to position in the messages * Link to the settings page from the auto approve toolbar (#2111) * Link to provider docs from the API options (#2112) * Revert "Remove the ask promise error" (#2117) Revert "Remove the ask promise error (#2107)" This reverts commit 712ca71. * Parse the retry out of the gemini 429 response (#2118) * Fix Gemini command escaping (#2120) * Fix switching profiles to ensure only the selected profile is switche… (#2119) Fix switching profiles to ensure only the selected profile is switched for all modes, and optimize certain i18n keys. Signed-off-by: feifei <liuyansheng1121@gmail.com> * Tweaks to support prompt line number format (#2121) * Remove the ask promise error (#2123) * Stronger typing * Added Gemini 2.5 Pro model to GCP Vertex AI Provider (#2079) * Display info about partial reads in chat row (#2080) * Update contributors list (#2023) docs: update contributors list [skip ci] Co-authored-by: mrubens <mrubens@users.noreply.github.com> * Handle multiple API pages worth of contributors (#2088) * Update contributors list (#2089) docs: update contributors list [skip ci] Co-authored-by: mrubens <mrubens@users.noreply.github.com> * Refactor/cline.ts/list files (#2067) * "Refactor list_files tool to separate module (#2057)" * Await --------- Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com> * Remove switch from tools (#2091) * HandleError returns a promise * Remove unnecessary switch from tools * Fix a type in the listFiles tool (#2092) * Move write_to_file to a tool file (#2093) * Move apply_diff to a tool file (#2094) * Move insert_content to a tool file (#2095) * Move search_and_replace to a tool file (#2096) * Move list_code_definition_names to a tool file (#2097) * Move search_files to a tool file (#2098) * Move browser_action to a tool file (#2099) * Move execute_command to a tool file (#2100) * Move use_mcp_tool and access_mcp_resource to tool files (#2101) * Move new_task, switch_mode, attempt_completion, and ask_followup_question to tool files (#2102) * Do a little code cleanup now that tools are refactored out (#2103) * Clean up the way we compute the current diff strategy (#2049) * Clean up the way we compute the current diff strategy * Add changeset * i18n Add translations for task pinning and unpinning (#2109) Signed-off-by: feifei <liuyansheng1121@gmail.com> * Remove the ask promise error (#2107) * Remove the ask promise error * Send start_time along with checkpoints and use it to position in the messages * Link to the settings page from the auto approve toolbar (#2111) * Link to provider docs from the API options (#2112) * Revert "Remove the ask promise error" (#2117) Revert "Remove the ask promise error (#2107)" This reverts commit 712ca71. * Parse the retry out of the gemini 429 response (#2118) * Fix Gemini command escaping (#2120) * Fix switching profiles to ensure only the selected profile is switche… (#2119) Fix switching profiles to ensure only the selected profile is switched for all modes, and optimize certain i18n keys. Signed-off-by: feifei <liuyansheng1121@gmail.com> * Tweaks to support prompt line number format (#2121) * Remove the ask promise error (#2123) * Pass along pid and ppid * Revert "Remove the ask promise error" (#2126) Revert "Remove the ask promise error (#2123)" This reverts commit b788aa1. --------- Signed-off-by: feifei <liuyansheng1121@gmail.com> Co-authored-by: Greg Taylor <gtaylor@users.noreply.github.com> Co-authored-by: Greg Taylor <gregtaylor@netflix.com> Co-authored-by: Hannes Rudolph <hrudolph@gmail.com> Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com> Co-authored-by: aheizi <aheizi@outlook.com> Co-authored-by: Afshawn Lotfi <6283745+afshawnlotfi@users.noreply.github.com> Co-authored-by: Nico Bihan <nicolas.bihan@wellsky.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Bhavesh Ramburn <nitrogen@gmail.com> Co-authored-by: feifei <46489071+feifei325@users.noreply.github.com>
Context
Refactor and decouple list_files in cline.ts
Implementation
Screenshots
How to Test
Get in Touch
Important
Refactor
list_fileslogic fromCline.tstolistFilesTool.tsfor improved modularity.list_fileslogic fromCline.tstolistFilesTool.ts.listFilesToolfunction handles listing files, approval, and error handling.listFilesToolinlistFilesTool.tsmanages recursive and non-recursive file listing.pathparameter by incrementingconsecutiveMistakeCountand pushing error result.Cline.tsnow callslistFilesToolforlist_filescase.This description was created by
for a3fdc4e. It will automatically update as commits are pushed.