tree-sitter-analyzer 1.9.0__tar.gz → 1.9.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of tree-sitter-analyzer might be problematic. Click here for more details.

Files changed (266) hide show
  1. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/CHANGELOG.md +36 -0
  2. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/PKG-INFO +23 -6
  3. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/README.md +22 -5
  4. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/README_ja.md +22 -5
  5. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/README_zh.md +22 -5
  6. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/pyproject.toml +2 -2
  7. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/__init__.py +1 -1
  8. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/formatters/html_formatter.py +2 -12
  9. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/mcp/tools/fd_rg_utils.py +10 -1
  10. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/mcp/tools/search_content_tool.py +34 -14
  11. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/uv.lock +1 -1
  12. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.gitattributes +0 -0
  13. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.gitignore +0 -0
  14. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.kiro/steering/product.md +0 -0
  15. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.kiro/steering/structure.md +0 -0
  16. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.kiro/steering/tech.md +0 -0
  17. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.pre-commit-config.yaml +0 -0
  18. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.pre-commit-hooks.yaml +0 -0
  19. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.roo/AGENTS.md +0 -0
  20. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.roo/commands/release.md +0 -0
  21. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.roo/commands/speckit.analyze.md +0 -0
  22. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.roo/commands/speckit.checklist.md +0 -0
  23. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.roo/commands/speckit.clarify.md +0 -0
  24. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.roo/commands/speckit.constitution.md +0 -0
  25. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.roo/commands/speckit.implement.md +0 -0
  26. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.roo/commands/speckit.plan.md +0 -0
  27. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.roo/commands/speckit.specify.md +0 -0
  28. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.roo/commands/speckit.tasks.md +0 -0
  29. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.roo/docs/release.md +0 -0
  30. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.roo/docs/speckit.analyze.md +0 -0
  31. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.roo/docs/speckit.checklist.md +0 -0
  32. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.roo/docs/speckit.clarify.md +0 -0
  33. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.roo/docs/speckit.constitution.md +0 -0
  34. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.roo/docs/speckit.implement.md +0 -0
  35. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.roo/docs/speckit.plan.md +0 -0
  36. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.roo/docs/speckit.specify.md +0 -0
  37. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.roo/docs/speckit.tasks.md +0 -0
  38. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.roo/rules/specify-rules.md +0 -0
  39. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.specify/async-query-service-fix/checklists/requirements.md +0 -0
  40. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.specify/async-query-service-fix/completion-report-template.md +0 -0
  41. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.specify/async-query-service-fix/completion-report.md +0 -0
  42. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.specify/async-query-service-fix/contracts/query-service-api.md +0 -0
  43. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.specify/async-query-service-fix/data-model.md +0 -0
  44. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.specify/async-query-service-fix/implementation-guidelines-part2.md +0 -0
  45. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.specify/async-query-service-fix/implementation-guidelines.md +0 -0
  46. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.specify/async-query-service-fix/plan.md +0 -0
  47. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.specify/async-query-service-fix/progress-management-final.md +0 -0
  48. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.specify/async-query-service-fix/progress-management.md +0 -0
  49. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.specify/async-query-service-fix/project-overview.md +0 -0
  50. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.specify/async-query-service-fix/quickstart.md +0 -0
  51. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.specify/async-query-service-fix/research.md +0 -0
  52. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.specify/async-query-service-fix/spec.md +0 -0
  53. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.specify/async-query-service-fix/tasks.md +0 -0
  54. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.specify/memory/constitution.md +0 -0
  55. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.specify/scripts/powershell/check-prerequisites.ps1 +0 -0
  56. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.specify/scripts/powershell/common.ps1 +0 -0
  57. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.specify/scripts/powershell/create-new-feature.ps1 +0 -0
  58. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.specify/scripts/powershell/setup-plan.ps1 +0 -0
  59. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.specify/scripts/powershell/update-agent-context.ps1 +0 -0
  60. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.specify/templates/agent-file-template.md +0 -0
  61. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.specify/templates/checklist-template.md +0 -0
  62. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.specify/templates/plan-template.md +0 -0
  63. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.specify/templates/spec-template.md +0 -0
  64. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/.specify/templates/tasks-template.md +0 -0
  65. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/ASYNC_ARCHITECTURE_DESIGN.md +0 -0
  66. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/CLI_ARCHITECTURE_REDESIGN.md +0 -0
  67. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/CLI_COMMAND_BUG_FIX_SPECIFICATION.md +0 -0
  68. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/GITFLOW.md +0 -0
  69. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/GITFLOW_ja.md +0 -0
  70. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/GITFLOW_zh.md +0 -0
  71. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/IMPLEMENTATION_GUIDELINES.md +0 -0
  72. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/build_standalone.py +0 -0
  73. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/check_quality.py +0 -0
  74. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/collect_project_metrics.py +0 -0
  75. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/coverage.json +0 -0
  76. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/debug_async_test.py +0 -0
  77. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/docs/CONTRIBUTING.md +0 -0
  78. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/docs/analysis/README.md +0 -0
  79. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/docs/analysis/project_metrics_2025-10-16.md +0 -0
  80. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/docs/analysis/speckit_analysis_2025-10-16.md +0 -0
  81. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/docs/analysis/technical_debt_analysis_2025-10-16.md +0 -0
  82. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/docs/api/data_models.md +0 -0
  83. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/docs/api/formatter_registry.md +0 -0
  84. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/docs/api/mcp_tools_specification.md +0 -0
  85. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/docs/debugging_guide.md +0 -0
  86. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/docs/developer_guide.md +0 -0
  87. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/docs/file_output_manager_factory_implementation.md +0 -0
  88. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/docs/test_fixes/suppress_output_mock_fix_2025-10-16.md +0 -0
  89. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/docs/troubleshooting_guide.md +0 -0
  90. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/examples/BigService.java +0 -0
  91. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/examples/BigService.json +0 -0
  92. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/examples/BigService.summary.json +0 -0
  93. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/examples/ComprehensiveTypeScript.ts +0 -0
  94. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/examples/JavaDocTest.java +0 -0
  95. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/examples/ModernJavaScript.js +0 -0
  96. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/examples/MultiClass.java +0 -0
  97. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/examples/ReactComponent.jsx +0 -0
  98. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/examples/ReactTypeScriptComponent.tsx +0 -0
  99. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/examples/Sample.java +0 -0
  100. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/examples/TypeScriptDeclarations.d.ts +0 -0
  101. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/examples/cache_demo.py +0 -0
  102. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/examples/calculate_token_comparison.py +0 -0
  103. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/examples/comprehensive_sample.css +0 -0
  104. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/examples/comprehensive_sample.html +0 -0
  105. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/examples/css_analysis_demo.py +0 -0
  106. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/examples/file_output_demo.py +0 -0
  107. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/examples/file_output_factory_demo.py +0 -0
  108. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/examples/html_analysis_demo.py +0 -0
  109. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/examples/javascript_analysis_demo.py +0 -0
  110. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/examples/project_root_demo.py +0 -0
  111. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/examples/sample.py +0 -0
  112. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/examples/security_demo.py +0 -0
  113. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/examples/security_integration_demo.py +0 -0
  114. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/examples/smart_cache_demo.py +0 -0
  115. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/examples/suppress_output_demo.py +0 -0
  116. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/examples/test_markdown.md +0 -0
  117. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/examples/total_only_optimization_demo.py +0 -0
  118. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/llm_code_checker.py +0 -0
  119. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/project_scale_evaluation_report.md +0 -0
  120. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/pypirc_example.txt +0 -0
  121. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/pytest.ini +0 -0
  122. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/run_regression_tests.py +0 -0
  123. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/scripts/README.md +0 -0
  124. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/scripts/gitflow_helper.py +0 -0
  125. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/scripts/gitflow_release_automation.py +0 -0
  126. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/scripts/run_phase7_integration_tests.py +0 -0
  127. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/scripts/sync_version.py +0 -0
  128. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/scripts/sync_version_minimal.py +0 -0
  129. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/scripts/update_readme_stats.py +0 -0
  130. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/specs/001-mcp-tree-sitter/DEPLOYMENT_GUIDE.md +0 -0
  131. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/specs/001-mcp-tree-sitter/DOCUMENTATION_INDEX.md +0 -0
  132. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/specs/001-mcp-tree-sitter/ERROR_HANDLING_SPECIFICATION.md +0 -0
  133. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/specs/001-mcp-tree-sitter/GLOSSARY.md +0 -0
  134. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/specs/001-mcp-tree-sitter/PERFORMANCE_BENCHMARKS.md +0 -0
  135. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/specs/001-mcp-tree-sitter/README.md +0 -0
  136. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/specs/001-mcp-tree-sitter/checklists/requirements.md +0 -0
  137. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/specs/001-mcp-tree-sitter/contracts/mcp-resources-api.json +0 -0
  138. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/specs/001-mcp-tree-sitter/contracts/mcp-tools-api.json +0 -0
  139. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/specs/001-mcp-tree-sitter/data-model.md +0 -0
  140. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/specs/001-mcp-tree-sitter/implementation_status.md +0 -0
  141. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/specs/001-mcp-tree-sitter/plan.md +0 -0
  142. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/specs/001-mcp-tree-sitter/quickstart.md +0 -0
  143. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/specs/001-mcp-tree-sitter/research.md +0 -0
  144. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/specs/001-mcp-tree-sitter/resources/mcp_resources_specification.md +0 -0
  145. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/specs/001-mcp-tree-sitter/spec.md +0 -0
  146. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/specs/001-mcp-tree-sitter/tasks.md +0 -0
  147. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/specs/001-mcp-tree-sitter/test_environment_status.md +0 -0
  148. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/specs/001-mcp-tree-sitter/tools/analyze_code_structure_specification.md +0 -0
  149. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/specs/001-mcp-tree-sitter/tools/check_code_scale_specification.md +0 -0
  150. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/specs/001-mcp-tree-sitter/tools/extract_code_section_specification.md +0 -0
  151. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/specs/001-mcp-tree-sitter/tools/find_and_grep_specification.md +0 -0
  152. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/specs/001-mcp-tree-sitter/tools/list_files_specification.md +0 -0
  153. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/specs/001-mcp-tree-sitter/tools/query_code_specification.md +0 -0
  154. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/specs/001-mcp-tree-sitter/tools/search_content_specification.md +0 -0
  155. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/specs/001-mcp-tree-sitter/tools/set_project_path_specification.md +0 -0
  156. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/specs/002-language-abstraction-spec.md +0 -0
  157. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/specs/003-html-css-support-spec.md +0 -0
  158. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/specs/004-formatter-extension-spec.md +0 -0
  159. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/specs/005-implementation-plan.md +0 -0
  160. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/start_mcp_server.py +0 -0
  161. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/test_emergency_fix.py +0 -0
  162. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/test_fixes.py +0 -0
  163. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/test_output.txt +0 -0
  164. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/__main__.py +0 -0
  165. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/api.py +0 -0
  166. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/cli/__init__.py +0 -0
  167. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/cli/__main__.py +0 -0
  168. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/cli/argument_validator.py +0 -0
  169. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/cli/commands/__init__.py +0 -0
  170. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/cli/commands/advanced_command.py +0 -0
  171. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/cli/commands/base_command.py +0 -0
  172. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/cli/commands/default_command.py +0 -0
  173. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/cli/commands/find_and_grep_cli.py +0 -0
  174. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/cli/commands/list_files_cli.py +0 -0
  175. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/cli/commands/partial_read_command.py +0 -0
  176. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/cli/commands/query_command.py +0 -0
  177. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/cli/commands/search_content_cli.py +0 -0
  178. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/cli/commands/structure_command.py +0 -0
  179. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/cli/commands/summary_command.py +0 -0
  180. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/cli/commands/table_command.py +0 -0
  181. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/cli/info_commands.py +0 -0
  182. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/cli_main.py +0 -0
  183. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/constants.py +0 -0
  184. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/core/__init__.py +0 -0
  185. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/core/analysis_engine.py +0 -0
  186. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/core/cache_service.py +0 -0
  187. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/core/engine.py +0 -0
  188. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/core/parser.py +0 -0
  189. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/core/query.py +0 -0
  190. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/core/query_filter.py +0 -0
  191. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/core/query_service.py +0 -0
  192. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/encoding_utils.py +0 -0
  193. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/exceptions.py +0 -0
  194. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/file_handler.py +0 -0
  195. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/formatters/__init__.py +0 -0
  196. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/formatters/base_formatter.py +0 -0
  197. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/formatters/formatter_factory.py +0 -0
  198. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/formatters/formatter_registry.py +0 -0
  199. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/formatters/java_formatter.py +0 -0
  200. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/formatters/javascript_formatter.py +0 -0
  201. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/formatters/language_formatter_factory.py +0 -0
  202. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/formatters/markdown_formatter.py +0 -0
  203. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/formatters/python_formatter.py +0 -0
  204. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/formatters/typescript_formatter.py +0 -0
  205. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/interfaces/__init__.py +0 -0
  206. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/interfaces/cli.py +0 -0
  207. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/interfaces/cli_adapter.py +0 -0
  208. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/interfaces/mcp_adapter.py +0 -0
  209. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/interfaces/mcp_server.py +0 -0
  210. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/language_detector.py +0 -0
  211. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/language_loader.py +0 -0
  212. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/languages/__init__.py +0 -0
  213. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/languages/css_plugin.py +0 -0
  214. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/languages/html_plugin.py +0 -0
  215. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/languages/java_plugin.py +0 -0
  216. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/languages/javascript_plugin.py +0 -0
  217. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/languages/markdown_plugin.py +0 -0
  218. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/languages/python_plugin.py +0 -0
  219. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/languages/typescript_plugin.py +0 -0
  220. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/mcp/__init__.py +0 -0
  221. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/mcp/resources/__init__.py +0 -0
  222. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/mcp/resources/code_file_resource.py +0 -0
  223. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/mcp/resources/project_stats_resource.py +0 -0
  224. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/mcp/server.py +0 -0
  225. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/mcp/tools/__init__.py +0 -0
  226. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/mcp/tools/analyze_scale_tool.py +0 -0
  227. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/mcp/tools/analyze_scale_tool_cli_compatible.py +0 -0
  228. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/mcp/tools/base_tool.py +0 -0
  229. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/mcp/tools/find_and_grep_tool.py +0 -0
  230. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/mcp/tools/list_files_tool.py +0 -0
  231. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/mcp/tools/query_tool.py +0 -0
  232. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/mcp/tools/read_partial_tool.py +0 -0
  233. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/mcp/tools/table_format_tool.py +0 -0
  234. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/mcp/tools/universal_analyze_tool.py +0 -0
  235. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/mcp/utils/__init__.py +0 -0
  236. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/mcp/utils/error_handler.py +0 -0
  237. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/mcp/utils/file_output_factory.py +0 -0
  238. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/mcp/utils/file_output_manager.py +0 -0
  239. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/mcp/utils/gitignore_detector.py +0 -0
  240. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/mcp/utils/path_resolver.py +0 -0
  241. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/mcp/utils/search_cache.py +0 -0
  242. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/models.py +0 -0
  243. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/output_manager.py +0 -0
  244. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/plugins/__init__.py +0 -0
  245. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/plugins/base.py +0 -0
  246. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/plugins/manager.py +0 -0
  247. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/project_detector.py +0 -0
  248. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/queries/__init__.py +0 -0
  249. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/queries/css.py +0 -0
  250. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/queries/html.py +0 -0
  251. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/queries/java.py +0 -0
  252. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/queries/javascript.py +0 -0
  253. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/queries/markdown.py +0 -0
  254. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/queries/python.py +0 -0
  255. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/queries/typescript.py +0 -0
  256. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/query_loader.py +0 -0
  257. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/security/__init__.py +0 -0
  258. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/security/boundary_manager.py +0 -0
  259. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/security/regex_checker.py +0 -0
  260. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/security/validator.py +0 -0
  261. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/table_formatter.py +0 -0
  262. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/utils/__init__.py +0 -0
  263. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/utils/tree_sitter_compat.py +0 -0
  264. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/tree_sitter_analyzer/utils.py +0 -0
  265. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/upload_interactive.py +0 -0
  266. {tree_sitter_analyzer-1.9.0 → tree_sitter_analyzer-1.9.2}/upload_to_pypi.py +0 -0
@@ -1,5 +1,41 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.9.2] - 2025-10-16
4
+
5
+ ### 🐛 修正
6
+ - **search_content ツールのバグ修正とトークン最適化**: 重要なバグ修正とパフォーマンス改善
7
+ - total_only モードでのキャッシュ処理を修正し、常に整数を返すように改善
8
+ - group_by_file 結果に不足していた match_count フィールドを追加
9
+ - summarize_search_results での sample_lines 生成を改善
10
+ - 適切なトークン最適化によりコンテキスト爆発問題を解決
11
+
12
+ ### 🔧 技術改善
13
+ - search_content_tool.py でのキャッシュハンドリングの安定化
14
+ - group_by_file モードでの結果構造の一貫性向上
15
+ - トークン使用量の最適化とメモリ効率の改善
16
+
17
+ ### 🧪 品質保証
18
+ - 3,370個のテスト - 100%合格率を維持
19
+ - 高コードカバレッジの継続
20
+ - クロスプラットフォーム互換性の確保
21
+
22
+ ## [1.9.1] - 2025-10-16
23
+
24
+ ### 🐛 修正
25
+ - **HTMLフォーマッター警告解消**: 重複登録による警告メッセージを完全解消
26
+ - **パッケージインストール**: クリーンな出力を実現
27
+ - **フォーマッター登録**: 一元管理による安定化
28
+
29
+ ### 🔧 技術改善
30
+ - html_formatter.pyの自動登録機能を削除
31
+ - formatter_registry.pyでの一元管理に統一
32
+ - 重複登録の根本的防止
33
+
34
+ ### 修正された警告
35
+ - `WARNING: Overriding existing formatter for format: html`
36
+ - `WARNING: Overriding existing formatter for format: html_json`
37
+ - `WARNING: Overriding existing formatter for format: html_compact`
38
+
3
39
  ## [1.9.0] - 2025-10-16
4
40
 
5
41
  ### 🚀 新機能
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tree-sitter-analyzer
3
- Version: 1.9.0
3
+ Version: 1.9.2
4
4
  Summary: AI-era enterprise-grade code analysis tool with comprehensive HTML/CSS support, dynamic plugin architecture, and MCP integration
5
5
  Project-URL: Homepage, https://github.com/aimasteracc/tree-sitter-analyzer
6
6
  Project-URL: Documentation, https://github.com/aimasteracc/tree-sitter-analyzer#readme
@@ -198,11 +198,11 @@ Description-Content-Type: text/markdown
198
198
 
199
199
  [![Python Version](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://python.org)
200
200
  [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
201
- [![Tests](https://img.shields.io/badge/tests-3380%20passed-brightgreen.svg)](#quality-assurance)
201
+ [![Tests](https://img.shields.io/badge/tests-3370%20passed-brightgreen.svg)](#quality-assurance)
202
202
  [![Coverage](https://codecov.io/gh/aimasteracc/tree-sitter-analyzer/branch/main/graph/badge.svg)](https://codecov.io/gh/aimasteracc/tree-sitter-analyzer)
203
203
  [![Quality](https://img.shields.io/badge/quality-enterprise%20grade-blue.svg)](#quality-assurance)
204
204
  [![PyPI](https://img.shields.io/pypi/v/tree-sitter-analyzer.svg)](https://pypi.org/project/tree-sitter-analyzer/)
205
- [![Version](https://img.shields.io/badge/version-1.8.4-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
205
+ [![Version](https://img.shields.io/badge/version-1.9.2-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
206
206
  [![zread](https://img.shields.io/badge/Ask_Zread-_.svg?style=flat&color=00b0aa&labelColor=000000&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTQuOTYxNTYgMS42MDAxSDIuMjQxNTZDMS44ODgxIDEuNjAwMSAxLjYwMTU2IDEuODg2NjQgMS42MDE1NiAyLjI0MDFWNC45NjAxQzEuNjAxNTYgNS4zMTM1NiAxLjg4ODEgNS42MDAxIDIuMjQxNTYgNS42MDAxSDQuOTYxNTZDNS4zMTUwMiA1LjYwMDEgNS42MDE1NiA1LjMxMzU2IDUuNjAxNTYgNC45NjAxVjIuMjQwMUM1LjYwMTU2IDEuODg2NjQgNS4zMTUwMiAxLjYwMDEgNC45NjE1NiAxLjYwMDFaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik00Ljk2MTU2IDEwLjM5OTlIMi4yNDE1NkMxLjg4ODEgMTAuMzk5OSAxLjYwMTU2IDEwLjY4NjQgMS42MDE1NiAxMS4wMzk5VjEzLjc1OTlDMS42MDE1NiAxNC4xMTM0IDEuODg4MSAxNC4zOTk5IDIuMjQxNTYgMTQuMzk5OUg0Ljk2MTU2QzUuMzE1MDIgMTQuMzk5OSA1LjYwMTU2IDE0LjExMzQgNS42MDE1NiAxMy43NTk5VjExLjAzOTlDNS42MDE1NiAxMC42ODY0IDUuMzE1MDIgMTAuMzk5OSA0Ljk2MTU2IDEwLjM5OTlaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik0xMy43NTg0IDEuNjAwMUgxMS4wMzg0QzEwLjY4NSAxLjYwMDEgMTAuMzk4NCAxLjg4NjY0IDEwLjM5ODQgMi4yNDAxVjQuOTYwMUMxMC4zOTg0IDUuMzEzNTYgMTAuNjg1IDUuNjAwMSAxMS4wMzg0IDUuNjAwMUgxMy43NTg0QzE0LjExMTkgNS42MDAxIDE0LjM5ODQgNS4zMTM1NiAxNC4zOTg0IDQuOTYwMVYyLjI0MDFDMTQuMzk4NCAxLjg4NjY0IDE0LjExMTkgMS42MDAxIDEzLjc1ODQgMS42MDAxWiIgZmlsbD0iI2ZmZiIvPgo8cGF0aCBkPSJNNCAxMkwxMiA0TDQgMTJaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik00IDEyTDEyIDQiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K&logoColor=ffffff)](https://zread.ai/aimasteracc/tree-sitter-analyzer)
207
207
  [![GitHub Stars](https://img.shields.io/github/stars/aimasteracc/tree-sitter-analyzer.svg?style=social)](https://github.com/aimasteracc/tree-sitter-analyzer)
208
208
 
@@ -255,7 +255,7 @@ Tree-sitter Analyzer is an enterprise-grade code analysis tool designed for the
255
255
  | **Go** | Basic Support | Basic syntax parsing |
256
256
 
257
257
  ### 🏆 Production Ready
258
- - **3,380 Tests** - 100% pass rate, enterprise-grade quality assurance
258
+ - **3,370 Tests** - 100% pass rate, enterprise-grade quality assurance
259
259
  - **High Coverage** - Comprehensive test coverage
260
260
  - **Cross-platform Support** - Compatible with Windows, macOS, Linux
261
261
  - **Continuous Maintenance** - Active development and community support
@@ -634,13 +634,30 @@ Tree-sitter Analyzer provides a rich set of MCP tools designed for AI assistants
634
634
  | | `analyze_code_structure` | Code structure analysis and table generation | 🆕 suppress_output parameter, multiple formats (full/compact/csv/json/html), automatic language detection |
635
635
  | | `extract_code_section` | Precise code section extraction | Specified line range extraction, large file efficient processing, original format preservation |
636
636
  | **🔍 Intelligent Search** | `list_files` | High-performance file discovery | fd-based, glob patterns, file type filters, time range control |
637
- | | `search_content` | Regex content search | ripgrep-based, multiple output formats, context control, encoding handling, 🆕 unified `set_project_path` support |
637
+ | | `search_content` | Regex content search | ripgrep-based, multiple output formats, context control, encoding handling, 🆕 parallel processing engine, unified `set_project_path` support |
638
638
  | | `find_and_grep` | Two-stage search | File discovery → content search, fd+ripgrep combination, intelligent cache optimization, 🆕 unified `set_project_path` support |
639
639
  | **🔧 Advanced Queries** | `query_code` | tree-sitter queries | Predefined query keys, custom query strings, filter expression support |
640
640
  | **⚙️ System Management** | `set_project_path` | Project root path setting | Security boundary control, automatic path validation, 🆕 unified across all MCP tools |
641
641
  | **📁 Resource Access** | Code file resources | URI code file access | File content access via URI identification |
642
642
  | | Project statistics resources | Project statistics data access | Project analysis data and statistical information |
643
643
 
644
+ ### 🆕 v1.9.0 New Feature: Parallel Processing Engine
645
+
646
+ Revolutionary parallel processing capabilities for enhanced search performance:
647
+
648
+ - **🔄 Parallel Processing Engine**: search_content MCP tool now supports parallel processing for multiple directories
649
+ - **⚡ Performance Boost**: Up to 4x faster search speeds for large codebases
650
+ - **🛡️ Type Safety Improvements**: 7% reduction in mypy errors (341→318)
651
+ - **✨ Code Style Unification**: Significant reduction in ruff violations
652
+ - **🏗️ Technical Debt Resolution**: Comprehensive code quality improvements
653
+ - **🚀 Test Execution Time**: Maintained 83% reduction (215s→37s)
654
+
655
+ #### 🔄 Parallel Processing Details
656
+ - **Automatic Parallel Execution**: Multiple roots directories are automatically processed in parallel
657
+ - **Configurable Control**: `enable_parallel` option for control (default: True)
658
+ - **Scalable Performance**: Performance improvements scale with directory count
659
+ - **Memory Efficient**: Semaphore-controlled concurrent execution limits
660
+
644
661
  ### 🆕 v1.8.4 New Feature: Configurable File Logging
645
662
 
646
663
  Revolutionary environment variable-controlled file logging system:
@@ -873,7 +890,7 @@ uv run python -m tree_sitter_analyzer --show-query-languages
873
890
  ## 8. 🏆 Quality Assurance
874
891
 
875
892
  ### 📊 Quality Metrics
876
- - **3,380 tests** - 100% pass rate ✅
893
+ - **3,370 tests** - 100% pass rate ✅
877
894
  - **High code coverage** - Comprehensive test suite
878
895
  - **Zero test failures** - Production ready
879
896
  - **Cross-platform support** - Windows, macOS, Linux
@@ -4,11 +4,11 @@
4
4
 
5
5
  [![Python Version](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://python.org)
6
6
  [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
7
- [![Tests](https://img.shields.io/badge/tests-3380%20passed-brightgreen.svg)](#quality-assurance)
7
+ [![Tests](https://img.shields.io/badge/tests-3370%20passed-brightgreen.svg)](#quality-assurance)
8
8
  [![Coverage](https://codecov.io/gh/aimasteracc/tree-sitter-analyzer/branch/main/graph/badge.svg)](https://codecov.io/gh/aimasteracc/tree-sitter-analyzer)
9
9
  [![Quality](https://img.shields.io/badge/quality-enterprise%20grade-blue.svg)](#quality-assurance)
10
10
  [![PyPI](https://img.shields.io/pypi/v/tree-sitter-analyzer.svg)](https://pypi.org/project/tree-sitter-analyzer/)
11
- [![Version](https://img.shields.io/badge/version-1.8.4-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
11
+ [![Version](https://img.shields.io/badge/version-1.9.2-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
12
12
  [![zread](https://img.shields.io/badge/Ask_Zread-_.svg?style=flat&color=00b0aa&labelColor=000000&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTQuOTYxNTYgMS42MDAxSDIuMjQxNTZDMS44ODgxIDEuNjAwMSAxLjYwMTU2IDEuODg2NjQgMS42MDE1NiAyLjI0MDFWNC45NjAxQzEuNjAxNTYgNS4zMTM1NiAxLjg4ODEgNS42MDAxIDIuMjQxNTYgNS42MDAxSDQuOTYxNTZDNS4zMTUwMiA1LjYwMDEgNS42MDE1NiA1LjMxMzU2IDUuNjAxNTYgNC45NjAxVjIuMjQwMUM1LjYwMTU2IDEuODg2NjQgNS4zMTUwMiAxLjYwMDEgNC45NjE1NiAxLjYwMDFaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik00Ljk2MTU2IDEwLjM5OTlIMi4yNDE1NkMxLjg4ODEgMTAuMzk5OSAxLjYwMTU2IDEwLjY4NjQgMS42MDE1NiAxMS4wMzk5VjEzLjc1OTlDMS42MDE1NiAxNC4xMTM0IDEuODg4MSAxNC4zOTk5IDIuMjQxNTYgMTQuMzk5OUg0Ljk2MTU2QzUuMzE1MDIgMTQuMzk5OSA1LjYwMTU2IDE0LjExMzQgNS42MDE1NiAxMy43NTk5VjExLjAzOTlDNS42MDE1NiAxMC42ODY0IDUuMzE1MDIgMTAuMzk5OSA0Ljk2MTU2IDEwLjM5OTlaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik0xMy43NTg0IDEuNjAwMUgxMS4wMzg0QzEwLjY4NSAxLjYwMDEgMTAuMzk4NCAxLjg4NjY0IDEwLjM5ODQgMi4yNDAxVjQuOTYwMUMxMC4zOTg0IDUuMzEzNTYgMTAuNjg1IDUuNjAwMSAxMS4wMzg0IDUuNjAwMUgxMy43NTg0QzE0LjExMTkgNS42MDAxIDE0LjM5ODQgNS4zMTM1NiAxNC4zOTg0IDQuOTYwMVYyLjI0MDFDMTQuMzk4NCAxLjg4NjY0IDE0LjExMTkgMS42MDAxIDEzLjc1ODQgMS42MDAxWiIgZmlsbD0iI2ZmZiIvPgo8cGF0aCBkPSJNNCAxMkwxMiA0TDQgMTJaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik00IDEyTDEyIDQiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K&logoColor=ffffff)](https://zread.ai/aimasteracc/tree-sitter-analyzer)
13
13
  [![GitHub Stars](https://img.shields.io/github/stars/aimasteracc/tree-sitter-analyzer.svg?style=social)](https://github.com/aimasteracc/tree-sitter-analyzer)
14
14
 
@@ -61,7 +61,7 @@ Tree-sitter Analyzer is an enterprise-grade code analysis tool designed for the
61
61
  | **Go** | Basic Support | Basic syntax parsing |
62
62
 
63
63
  ### 🏆 Production Ready
64
- - **3,380 Tests** - 100% pass rate, enterprise-grade quality assurance
64
+ - **3,370 Tests** - 100% pass rate, enterprise-grade quality assurance
65
65
  - **High Coverage** - Comprehensive test coverage
66
66
  - **Cross-platform Support** - Compatible with Windows, macOS, Linux
67
67
  - **Continuous Maintenance** - Active development and community support
@@ -440,13 +440,30 @@ Tree-sitter Analyzer provides a rich set of MCP tools designed for AI assistants
440
440
  | | `analyze_code_structure` | Code structure analysis and table generation | 🆕 suppress_output parameter, multiple formats (full/compact/csv/json/html), automatic language detection |
441
441
  | | `extract_code_section` | Precise code section extraction | Specified line range extraction, large file efficient processing, original format preservation |
442
442
  | **🔍 Intelligent Search** | `list_files` | High-performance file discovery | fd-based, glob patterns, file type filters, time range control |
443
- | | `search_content` | Regex content search | ripgrep-based, multiple output formats, context control, encoding handling, 🆕 unified `set_project_path` support |
443
+ | | `search_content` | Regex content search | ripgrep-based, multiple output formats, context control, encoding handling, 🆕 parallel processing engine, unified `set_project_path` support |
444
444
  | | `find_and_grep` | Two-stage search | File discovery → content search, fd+ripgrep combination, intelligent cache optimization, 🆕 unified `set_project_path` support |
445
445
  | **🔧 Advanced Queries** | `query_code` | tree-sitter queries | Predefined query keys, custom query strings, filter expression support |
446
446
  | **⚙️ System Management** | `set_project_path` | Project root path setting | Security boundary control, automatic path validation, 🆕 unified across all MCP tools |
447
447
  | **📁 Resource Access** | Code file resources | URI code file access | File content access via URI identification |
448
448
  | | Project statistics resources | Project statistics data access | Project analysis data and statistical information |
449
449
 
450
+ ### 🆕 v1.9.0 New Feature: Parallel Processing Engine
451
+
452
+ Revolutionary parallel processing capabilities for enhanced search performance:
453
+
454
+ - **🔄 Parallel Processing Engine**: search_content MCP tool now supports parallel processing for multiple directories
455
+ - **⚡ Performance Boost**: Up to 4x faster search speeds for large codebases
456
+ - **🛡️ Type Safety Improvements**: 7% reduction in mypy errors (341→318)
457
+ - **✨ Code Style Unification**: Significant reduction in ruff violations
458
+ - **🏗️ Technical Debt Resolution**: Comprehensive code quality improvements
459
+ - **🚀 Test Execution Time**: Maintained 83% reduction (215s→37s)
460
+
461
+ #### 🔄 Parallel Processing Details
462
+ - **Automatic Parallel Execution**: Multiple roots directories are automatically processed in parallel
463
+ - **Configurable Control**: `enable_parallel` option for control (default: True)
464
+ - **Scalable Performance**: Performance improvements scale with directory count
465
+ - **Memory Efficient**: Semaphore-controlled concurrent execution limits
466
+
450
467
  ### 🆕 v1.8.4 New Feature: Configurable File Logging
451
468
 
452
469
  Revolutionary environment variable-controlled file logging system:
@@ -679,7 +696,7 @@ uv run python -m tree_sitter_analyzer --show-query-languages
679
696
  ## 8. 🏆 Quality Assurance
680
697
 
681
698
  ### 📊 Quality Metrics
682
- - **3,380 tests** - 100% pass rate ✅
699
+ - **3,370 tests** - 100% pass rate ✅
683
700
  - **High code coverage** - Comprehensive test suite
684
701
  - **Zero test failures** - Production ready
685
702
  - **Cross-platform support** - Windows, macOS, Linux
@@ -4,11 +4,11 @@
4
4
 
5
5
  [![Pythonバージョン](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://python.org)
6
6
  [![ライセンス](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
7
- [![テスト](https://img.shields.io/badge/tests-3380%20passed-brightgreen.svg)](#8--品質保証)
7
+ [![テスト](https://img.shields.io/badge/tests-3370%20passed-brightgreen.svg)](#8--品質保証)
8
8
  [![カバレッジ](https://codecov.io/gh/aimasteracc/tree-sitter-analyzer/branch/main/graph/badge.svg)](https://codecov.io/gh/aimasteracc/tree-sitter-analyzer)
9
9
  [![品質](https://img.shields.io/badge/quality-enterprise%20grade-blue.svg)](#8--品質保証)
10
10
  [![PyPI](https://img.shields.io/pypi/v/tree-sitter-analyzer.svg)](https://pypi.org/project/tree-sitter-analyzer/)
11
- [![バージョン](https://img.shields.io/badge/version-1.8.4-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
11
+ [![バージョン](https://img.shields.io/badge/version-1.9.2-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
12
12
  [![zread](https://img.shields.io/badge/Ask_Zread-_.svg?style=flat&color=00b0aa&labelColor=000000&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTQuOTYxNTYgMS42MDAxSDIuMjQxNTZDMS44ODgxIDEuNjAwMSAxLjYwMTU2IDEuODg2NjQgMS42MDE1NiAyLjI0MDFWNC45NjAxQzEuNjAxNTYgNS4zMTM1NiAxLjg4ODEgNS42MDAxIDIuMjQxNTYgNS42MDAxSDQuOTYxNTZDNS4zMTUwMiA1LjYwMDEgNS42MDE1NiA1LjMxMzU2IDUuNjAxNTYgNC45NjAxVjIuMjQwMUM1LjYwMTU2IDEuODg2NjQgNS4zMTUwMiAxLjYwMDEgNC45NjE1NiAxLjYwMDFaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik00Ljk2MTU2IDEwLjM5OTlIMi4yNDE1NkMxLjg4ODEgMTAuMzk5OSAxLjYwMTU2IDEwLjY4NjQgMS42MDE1NiAxMS4wMzk5VjEzLjc1OTlDMS42MDE1NiAxNC4xMTM0IDEuODg4MSAxNC4zOTk5IDIuMjQxNTYgMTQuMzk5OUg0Ljk2MTU2QzUuMzE1MDIgMTQuMzk5OSA1LjYwMTU2IDE0LjExMzQgNS42MDE1NiAxMy43NTk5VjExLjAzOTlDNS42MDE1NiAxMC42ODY0IDUuMzE1MDIgMTAuMzk5OSA0Ljk2MTU2IDEwLjM5OTlaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik0xMy43NTg0IDEuNjAwMUgxMS4wMzg0QzEwLjY4NSAxLjYwMDEgMTAuMzk4NCAxLjg4NjY0IDEwLjM5ODQgMi4yNDAxVjQuOTYwMUMxMC4zOTg0IDUuMzEzNTYgMTAuNjg1IDUuNjAwMSAxMS4wMzg0IDUuNjAwMUgxMy43NTg0QzE0LjExMTkgNS42MDAxIDE0LjM5ODQgNS4zMTM1NiAxNC4zOTg0IDQuOTYwMVYyLjI0MDFDMTQuMzk4NCAxLjg4NjY0IDE0LjExMTkgMS42MDAxIDEzLjc1ODQgMS42MDAxWiIgZmlsbD0iI2ZmZiIvPgo8cGF0aCBkPSJNNCAxMkwxMiA0TDQgMTJaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik00IDEyTDEyIDQiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K&logoColor=ffffff)](https://zread.ai/aimasteracc/tree-sitter-analyzer)
13
13
  [![GitHub Stars](https://img.shields.io/github/stars/aimasteracc/tree-sitter-analyzer.svg?style=social)](https://github.com/aimasteracc/tree-sitter-analyzer)
14
14
 
@@ -61,7 +61,7 @@ Tree-sitter Analyzerは、AI時代のために設計されたエンタープラ
61
61
  | **Go** | 基本サポート | 基本構文解析 |
62
62
 
63
63
  ### 🏆 本番環境対応
64
- - **3,380のテスト** - 100%合格率、エンタープライズグレードの品質保証
64
+ - **3,370のテスト** - 100%合格率、エンタープライズグレードの品質保証
65
65
  - **高カバレッジ** - 包括的なテストスイート
66
66
  - **クロスプラットフォームサポート** - Windows、macOS、Linuxとの完全な互換性
67
67
  - **継続的なメンテナンス** - アクティブな開発とコミュニティサポート
@@ -439,13 +439,30 @@ Tree-sitter AnalyzerはAIアシスタント向けに設計された豊富なMCP
439
439
  | | `analyze_code_structure` | コード構造解析とテーブル生成 | 🆕 suppress_outputパラメータ、複数フォーマット(full/compact/csv/json)、自動言語検出 |
440
440
  | | `extract_code_section` | 正確なコードセクション抽出 | 指定行範囲抽出、大ファイル効率処理、元フォーマット保持 |
441
441
  | **🔍 インテリジェント検索** | `list_files` | 高性能ファイル発見 | fdベース、globパターン、ファイルタイプフィルタ、時間範囲制御 |
442
- | | `search_content` | 正規表現コンテンツ検索 | ripgrepベース、複数出力フォーマット、コンテキスト制御、エンコーディング処理、🆕 統一`set_project_path`サポート |
442
+ | | `search_content` | 正規表現コンテンツ検索 | ripgrepベース、複数出力フォーマット、コンテキスト制御、エンコーディング処理、🆕 並行処理エンジン、統一`set_project_path`サポート |
443
443
  | | `find_and_grep` | 2段階検索 | ファイル発見→コンテンツ検索、fd+ripgrep組み合わせ、インテリジェントキャッシュ最適化、🆕 統一`set_project_path`サポート |
444
444
  | **🔧 高度なクエリ** | `query_code` | tree-sitterクエリ | 事前定義クエリキー、カスタムクエリ文字列、フィルタ式サポート |
445
445
  | **⚙️ システム管理** | `set_project_path` | プロジェクトルートパス設定 | セキュリティ境界制御、自動パス検証、🆕 全MCPツールで統一 |
446
446
  | **📁 リソースアクセス** | コードファイルリソース | URIコードファイルアクセス | URI識別によるファイルコンテンツアクセス |
447
447
  | | プロジェクト統計リソース | プロジェクト統計データアクセス | プロジェクト解析データと統計情報 |
448
448
 
449
+ ### 🆕 v1.9.0新機能:並行処理エンジン
450
+
451
+ 革命的な並行処理機能による検索パフォーマンスの向上:
452
+
453
+ - **🔄 並行処理エンジン**: search_content MCPツールで複数ディレクトリの並行検索対応
454
+ - **⚡ パフォーマンス向上**: 大規模コードベースで最大4倍の検索速度向上
455
+ - **🛡️ 型安全性改善**: mypyエラー7%削減(341個→318個)
456
+ - **✨ コードスタイル統一**: ruff違反の大幅削減
457
+ - **🏗️ 技術的負債解消**: 包括的なコード品質改善
458
+ - **🚀 テスト実行時間**: 83%短縮の維持(215秒→37秒)
459
+
460
+ #### 🔄 並行処理機能の詳細
461
+ - **自動並行処理**: 複数のrootsディレクトリを自動的に並行実行
462
+ - **設定可能**: `enable_parallel`オプションで制御可能(デフォルト: True)
463
+ - **スケーラブル**: ディレクトリ数に応じた性能向上
464
+ - **メモリ効率**: セマフォによる同時実行数制御
465
+
449
466
  ### 🆕 v1.8.4新機能:設定可能ファイルログ
450
467
 
451
468
  環境変数による柔軟なファイルログ制御システム:
@@ -675,7 +692,7 @@ uv run python -m tree_sitter_analyzer --show-query-languages
675
692
  ## 8. 🏆 品質保証
676
693
 
677
694
  ### 📊 品質メトリクス
678
- - **3,380のテスト** - 100%合格率 ✅
695
+ - **3,370のテスト** - 100%合格率 ✅
679
696
  - **高コードカバレッジ** - 包括的なテストスイート
680
697
  - **ゼロテスト失敗** - 本番環境対応
681
698
  - **クロスプラットフォームサポート** - Windows、macOS、Linux
@@ -4,11 +4,11 @@
4
4
 
5
5
  [![Python版本](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://python.org)
6
6
  [![许可证](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
7
- [![测试](https://img.shields.io/badge/tests-3380%20passed-brightgreen.svg)](#质量保证)
7
+ [![测试](https://img.shields.io/badge/tests-3370%20passed-brightgreen.svg)](#质量保证)
8
8
  [![覆盖率](https://codecov.io/gh/aimasteracc/tree-sitter-analyzer/branch/main/graph/badge.svg)](https://codecov.io/gh/aimasteracc/tree-sitter-analyzer)
9
9
  [![质量](https://img.shields.io/badge/quality-enterprise%20grade-blue.svg)](#质量保证)
10
10
  [![PyPI](https://img.shields.io/pypi/v/tree-sitter-analyzer.svg)](https://pypi.org/project/tree-sitter-analyzer/)
11
- [![版本](https://img.shields.io/badge/version-1.8.4-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
11
+ [![版本](https://img.shields.io/badge/version-1.9.2-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
12
12
  [![zread](https://img.shields.io/badge/Ask_Zread-_.svg?style=flat&color=00b0aa&labelColor=000000&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTQuOTYxNTYgMS42MDAxSDIuMjQxNTZDMS44ODgxIDEuNjAwMSAxLjYwMTU2IDEuODg2NjQgMS42MDE1NiAyLjI0MDFWNC45NjAxQzEuNjAxNTYgNS4zMTM1NiAxLjg4ODEgNS42MDAxIDIuMjQxNTYgNS42MDAxSDQuOTYxNTZDNS4zMTUwMiA1LjYwMDEgNS42MDE1NiA1LjMxMzU2IDUuNjAxNTYgNC45NjAxVjIuMjQwMUM1LjYwMTU2IDEuODg2NjQgNS4zMTUwMiAxLjYwMDEgNC45NjE1NiAxLjYwMDFaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik00Ljk2MTU2IDEwLjM5OTlIMi4yNDE1NkMxLjg4ODEgMTAuMzk5OSAxLjYwMTU2IDEwLjY4NjQgMS42MDE1NiAxMS4wMzk5VjEzLjc1OTlDMS42MDE1NiAxNC4xMTM0IDEuODg4MSAxNC4zOTk5IDIuMjQxNTYgMTQuMzk5OUg0Ljk2MTU2QzUuMzE1MDIgMTQuMzk5OSA1LjYwMTU2IDE0LjExMzQgNS42MDE1NiAxMy43NTk5VjExLjAzOTlDNS42MDE1NiAxMC42ODY0IDUuMzE1MDIgMTAuMzk5OSA0Ljk2MTU2IDEwLjM5OTlaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik0xMy43NTg0IDEuNjAwMUgxMS4wMzg0QzEwLjY4NSAxLjYwMDEgMTAuMzk4NCAxLjg4NjY0IDEwLjM5ODQgMi4yNDAxVjQuOTYwMUMxMC4zOTg0IDUuMzEzNTYgMTAuNjg1IDUuNjAwMSAxMS4wMzg0IDUuNjAwMUgxMy43NTg0QzE0LjExMTkgNS42MDAxIDE0LjM5ODQgNS4zMTM1NiAxNC4zOTg0IDQuOTYwMVYyLjI0MDFDMTQuMzk4NCAxLjg4NjY0IDE0LjExMTkgMS42MDAxIDEzLjc1ODQgMS42MDAxWiIgZmlsbD0iI2ZmZiIvPgo8cGF0aCBkPSJNNCAxMkwxMiA0TDQgMTJaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik00IDEyTDEyIDQiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K&logoColor=ffffff)](https://zread.ai/aimasteracc/tree-sitter-analyzer)
13
13
  [![GitHub Stars](https://img.shields.io/github/stars/aimasteracc/tree-sitter-analyzer.svg?style=social)](https://github.com/aimasteracc/tree-sitter-analyzer)
14
14
 
@@ -62,7 +62,7 @@ Tree-sitter Analyzer 是一个为AI时代设计的企业级代码分析工具,
62
62
  | **Go** | 基础支持 | 基本语法解析 |
63
63
 
64
64
  ### 🏆 生产就绪
65
- - **3,380个测试** - 100%通过率,企业级质量保证
65
+ - **3,370个测试** - 100%通过率,企业级质量保证
66
66
  - **高覆盖率** - 全面的测试覆盖
67
67
  - **跨平台支持** - Windows、macOS、Linux全平台兼容
68
68
  - **持续维护** - 活跃的开发和社区支持
@@ -440,13 +440,30 @@ Tree-sitter Analyzer提供了丰富的MCP工具集,专为AI助手设计:
440
440
  | | `analyze_code_structure` | 分析代码结构和生成表格 | 🆕 suppress_output参数、多种格式(full/compact/csv/json/html)、自动语言检测 |
441
441
  | | `extract_code_section` | 精确提取代码片段 | 指定行范围提取、大文件高效处理、保持原始格式 |
442
442
  | **🔍 智能搜索** | `list_files` | 高性能文件发现 | 基于fd、glob模式、文件类型过滤、时间范围控制 |
443
- | | `search_content` | 正则表达式内容搜索 | 基于ripgrep、多种输出格式、上下文控制、编码处理、🆕 统一`set_project_path`支持 |
443
+ | | `search_content` | 正则表达式内容搜索 | 基于ripgrep、多种输出格式、上下文控制、编码处理、🆕 并行处理引擎、统一`set_project_path`支持 |
444
444
  | | `find_and_grep` | 两阶段搜索 | 先找文件再搜内容、组合fd+ripgrep、智能缓存优化、🆕 统一`set_project_path`支持 |
445
445
  | **🔧 高级查询** | `query_code` | tree-sitter查询 | 预定义查询键、自定义查询字符串、过滤表达式支持 |
446
446
  | **⚙️ 系统管理** | `set_project_path` | 设置项目根路径 | 安全边界控制、自动路径验证、🆕 全MCP工具统一 |
447
447
  | **📁 资源访问** | 代码文件资源 | URI访问代码文件 | 通过URI标识访问文件内容 |
448
448
  | | 项目统计资源 | 访问项目统计数据 | 项目分析数据和统计信息 |
449
449
 
450
+ ### 🆕 v1.9.0新特性:并行处理引擎
451
+
452
+ 革命性的并行处理功能,显著提升搜索性能:
453
+
454
+ - **🔄 并行处理引擎**: search_content MCP工具现在支持多目录并行搜索
455
+ - **⚡ 性能提升**: 大型代码库搜索速度提升最高4倍
456
+ - **🛡️ 类型安全改进**: mypy错误减少7%(341个→318个)
457
+ - **✨ 代码风格统一**: ruff违规大幅减少
458
+ - **🏗️ 技术债务解决**: 全面的代码质量改进
459
+ - **🚀 测试执行时间**: 保持83%缩短(215秒→37秒)
460
+
461
+ #### 🔄 并行处理功能详情
462
+ - **自动并行执行**: 多个roots目录自动并行处理
463
+ - **可配置控制**: `enable_parallel`选项控制(默认: True)
464
+ - **可扩展性能**: 性能提升随目录数量扩展
465
+ - **内存高效**: 信号量控制并发执行限制
466
+
450
467
  ### 🆕 v1.8.4新特性:可配置文件日志功能
451
468
 
452
469
  革命性的环境变量控制文件日志系统:
@@ -680,7 +697,7 @@ uv run python -m tree_sitter_analyzer --show-query-languages
680
697
  ## 8. 🏆 质量保证
681
698
 
682
699
  ### 📊 质量指标
683
- - **3,380个测试** - 100%通过率 ✅
700
+ - **3,370个测试** - 100%通过率 ✅
684
701
  - **高代码覆盖率** - 全面测试套件
685
702
  - **零测试失败** - 生产就绪
686
703
  - **跨平台支持** - Windows、macOS、Linux
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "tree-sitter-analyzer"
7
- version = "1.9.0"
7
+ version = "1.9.2"
8
8
  description = "AI-era enterprise-grade code analysis tool with comprehensive HTML/CSS support, dynamic plugin architecture, and MCP integration"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -414,7 +414,7 @@ directory = "htmlcov"
414
414
  # MCP server configuration
415
415
  [tool.mcp]
416
416
  server_name = "tree-sitter-analyzer"
417
- server_version = "1.9.0"
417
+ server_version = "1.9.2"
418
418
  description = "AI-era enterprise-grade code analysis MCP server with comprehensive HTML/CSS support and multi-language capabilities"
419
419
  capabilities = [
420
420
  "check_code_scale",
@@ -11,7 +11,7 @@ Architecture:
11
11
  - Data Models: Generic and language-specific code element representations
12
12
  """
13
13
 
14
- __version__ = "1.9.0"
14
+ __version__ = "1.9.2"
15
15
  __author__ = "aisheng.yu"
16
16
  __email__ = "aimasteracc@gmail.com"
17
17
 
@@ -484,15 +484,5 @@ class HtmlCompactFormatter(IFormatter):
484
484
  return "\n".join(lines)
485
485
 
486
486
 
487
- # Register HTML formatters
488
- def register_html_formatters() -> None:
489
- """Register HTML-specific formatters"""
490
- from .formatter_registry import FormatterRegistry
491
-
492
- FormatterRegistry.register_formatter(HtmlFormatter)
493
- FormatterRegistry.register_formatter(HtmlJsonFormatter)
494
- FormatterRegistry.register_formatter(HtmlCompactFormatter)
495
-
496
-
497
- # Auto-register when module is imported
498
- register_html_formatters()
487
+ # HTML formatters are registered via formatter_registry.py
488
+ # to avoid duplicate registration warnings
@@ -397,7 +397,11 @@ def group_matches_by_file(matches: list[dict[str, Any]]) -> dict[str, Any]:
397
397
  # Convert to grouped structure
398
398
  files = []
399
399
  for file_path, file_matches in file_groups.items():
400
- files.append({"file": file_path, "matches": file_matches})
400
+ files.append({
401
+ "file": file_path,
402
+ "matches": file_matches,
403
+ "match_count": len(file_matches)
404
+ })
401
405
 
402
406
  return {"success": True, "count": total_matches, "files": files}
403
407
 
@@ -515,6 +519,11 @@ def summarize_search_results(
515
519
  truncated_line += "..."
516
520
  sample_lines.append(f"L{line_num}: {truncated_line}")
517
521
  remaining_lines -= 1
522
+
523
+ # Ensure we have at least some sample lines if matches exist
524
+ if not sample_lines and file_matches:
525
+ # Fallback: create a simple summary line
526
+ sample_lines.append(f"Found {len(file_matches)} matches")
518
527
 
519
528
  # Optimize file path for token efficiency
520
529
  optimized_path = _optimize_file_path(file_path, common_prefix)
@@ -341,21 +341,41 @@ class SearchContentTool(BaseMCPTool):
341
341
  # Simple cache lookup without complex cross-format logic for performance
342
342
  cached_result = self.cache.get(cache_key)
343
343
  if cached_result is not None:
344
- # Add cache hit indicator to result
345
- if isinstance(cached_result, dict):
346
- cached_result = cached_result.copy()
347
- cached_result["cache_hit"] = True
348
- return cached_result
349
- elif isinstance(cached_result, int):
350
- # For integer results (like total_only mode), return as-is
351
- return cached_result
344
+ # Check if this is a total_only request
345
+ total_only_requested = arguments.get("total_only", False)
346
+
347
+ if total_only_requested:
348
+ # For total_only mode, always return integer if possible
349
+ if isinstance(cached_result, int):
350
+ return cached_result
351
+ elif isinstance(cached_result, dict) and "total_matches" in cached_result:
352
+ return cached_result["total_matches"]
353
+ elif isinstance(cached_result, dict) and "count" in cached_result:
354
+ return cached_result["count"]
355
+ else:
356
+ # Fallback: extract count from dict or return 0
357
+ return 0
352
358
  else:
353
- # For other types, convert to dict format
354
- return {
355
- "success": True,
356
- "cached_result": cached_result,
357
- "cache_hit": True,
358
- }
359
+ # For non-total_only modes, return dict format
360
+ if isinstance(cached_result, dict):
361
+ cached_result = cached_result.copy()
362
+ cached_result["cache_hit"] = True
363
+ return cached_result
364
+ elif isinstance(cached_result, int):
365
+ # Convert integer to dict format for non-total_only modes
366
+ return {
367
+ "success": True,
368
+ "count": cached_result,
369
+ "total_matches": cached_result,
370
+ "cache_hit": True,
371
+ }
372
+ else:
373
+ # For other types, convert to dict format
374
+ return {
375
+ "success": True,
376
+ "cached_result": cached_result,
377
+ "cache_hit": True,
378
+ }
359
379
 
360
380
  # Handle max_count parameter properly
361
381
  # If user specifies max_count, use it directly (with reasonable upper limit)
@@ -2002,7 +2002,7 @@ wheels = [
2002
2002
 
2003
2003
  [[package]]
2004
2004
  name = "tree-sitter-analyzer"
2005
- version = "1.9.0"
2005
+ version = "1.9.2"
2006
2006
  source = { editable = "." }
2007
2007
  dependencies = [
2008
2008
  { name = "cachetools" },