* support project-level mcp config
* switch the toasts to English
fix test
(cherry picked from commit 26941dcaae)
* add i18n for project mcp
(cherry picked from commit 792a8225c1)
* optimize McpHub.ts
* fix merge main into head
* fix project mcp
* partial update mcp config
* fix toggleToolAlwaysAllow
* Modify mcp to support project and global of the same name
* fix ut
* remove unused mcp log
* i18n for mcp
* Revert README changes
---------
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
* #906 Add watchPaths option to McpHub for file change detection
* #906 Refactor file watcher management in McpHub
add support multiple watchers per server.
modified the setupFileWatcher method to properly handle asynchronous operations and prevent unhandled promise rejections.
error handling now includes specific error messages that identify exactly where the error occurred.
---------
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
Use compact line number format matching read_file/search_files to:
- Reduce token usage in AI responses
- Simplify output parsing
Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>
Co-authored-by: Eric Wheeler <roo-code@z.ewheeler.org>
* Replace hardcoded custom modes filename with GlobalFileNames constant
* Remove 'cline' prefix from mcpSettings filename
* Use GlobalFileNames.customModes in modes.ts
* replace two more `cline_mcp_settings` with `mcp_settings` in tests.
* feat: add settings file migration for new file naming convention
- Implement migrateSettings function to rename legacy settings files to new format
- Migrate cline_custom_modes.json to new custom modes filename
- Migrate cline_mcp_settings.json to new MCP settings filename
- Add TODO to remove migration code in September 2025 (6 months after implementation)
- Make activate function async to support migration on startup
* Add associated changeset
* removed unused import
* refactor: move migrateSettings to dedicated utility file
- Extract migrateSettings function from extension.ts to src/utils/migrateSettings.ts
- Update extension.ts to import and use the extracted function
- Update tests to use the real implementation
- Improve dependency injection by passing outputChannel as parameter
- Enhance maintainability by isolating temporary migration code (to be removed Sept 2025)
* Update src/extension.ts
---------
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
Problem:
- Previous implementation incorrectly grouped context lines with matches
- Context lines were split into beforeContext/afterContext arrays, making it difficult to maintain proper line order
- Output format was inconsistent with read_file output
- Non-contiguous search results were sometimes broken or incorrectly grouped
- Example of incorrect output:
# bench/bundle-test/rollup.config.mjs
16 | file: 'dist/index-wasm.min.mjs',
17 | format: 'es',
24 | output: {
----
25 | file: 'dist/index-lite.min.mjs',
26 | format: 'es',
----
# packages/rehype/package.json
----
10 | it('run', async () => {
27 | "files": [
28 | "dist"
----
Solution:
- Replace separate context arrays with a single 'lines' array containing both matches and context
- Add isMatch flag to distinguish between match and context lines
- Improve contiguity detection by checking if line numbers are sequential
- Standardize output format to match read_file output
- Properly handle non-contiguous search results by creating new result groups
- Example of correct output:
# bench/bundle-test/rollup.config.mjs
16 | file: 'dist/index-wasm.min.mjs',
17 | format: 'es',
----
24 | output: {
25 | file: 'dist/index-lite.min.mjs',
26 | format: 'es',
----
This change ensures search results are properly grouped and displayed with the correct context.
Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>
Co-authored-by: Eric Wheeler <roo-code@z.ewheeler.org>
* feat read file range
feat: add file truncation with code structure preview
Add configurable line limit for large file handling with source code structure preview. This improves performance and memory usage while maintaining code readability.
Key changes:
Add maxReadFileLine setting (default: 4500) with UI controls
Create efficient line counter utility using streams
Add parseSourceCodeDefinitionsForFile for single file parsing
Show truncation notice with code structure for large files
Add comprehensive tests for new functionality
Move file extensions to shared constant
add line number
pr comment
Return definition ranges from tree-sitter
make treesitter always add line
add line number to rg search
enhance tree siter output & fix test
update snapshot
fix test
* Add translations, tweak range
---------
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>