tree-sitter-analyzer 1.7.5__py3-none-any.whl → 1.8.2__py3-none-any.whl

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 (47) hide show
  1. tree_sitter_analyzer/__init__.py +1 -1
  2. tree_sitter_analyzer/api.py +26 -32
  3. tree_sitter_analyzer/cli/argument_validator.py +77 -0
  4. tree_sitter_analyzer/cli/commands/table_command.py +7 -2
  5. tree_sitter_analyzer/cli_main.py +17 -3
  6. tree_sitter_analyzer/core/cache_service.py +15 -5
  7. tree_sitter_analyzer/core/query.py +33 -22
  8. tree_sitter_analyzer/core/query_service.py +179 -154
  9. tree_sitter_analyzer/exceptions.py +334 -0
  10. tree_sitter_analyzer/file_handler.py +16 -1
  11. tree_sitter_analyzer/formatters/formatter_registry.py +355 -0
  12. tree_sitter_analyzer/formatters/html_formatter.py +462 -0
  13. tree_sitter_analyzer/formatters/language_formatter_factory.py +3 -0
  14. tree_sitter_analyzer/formatters/markdown_formatter.py +1 -1
  15. tree_sitter_analyzer/interfaces/mcp_server.py +3 -1
  16. tree_sitter_analyzer/language_detector.py +91 -7
  17. tree_sitter_analyzer/languages/css_plugin.py +390 -0
  18. tree_sitter_analyzer/languages/html_plugin.py +395 -0
  19. tree_sitter_analyzer/languages/java_plugin.py +116 -0
  20. tree_sitter_analyzer/languages/javascript_plugin.py +113 -0
  21. tree_sitter_analyzer/languages/markdown_plugin.py +266 -46
  22. tree_sitter_analyzer/languages/python_plugin.py +176 -33
  23. tree_sitter_analyzer/languages/typescript_plugin.py +130 -1
  24. tree_sitter_analyzer/mcp/tools/analyze_scale_tool.py +68 -3
  25. tree_sitter_analyzer/mcp/tools/fd_rg_utils.py +32 -7
  26. tree_sitter_analyzer/mcp/tools/find_and_grep_tool.py +10 -0
  27. tree_sitter_analyzer/mcp/tools/list_files_tool.py +9 -0
  28. tree_sitter_analyzer/mcp/tools/query_tool.py +100 -52
  29. tree_sitter_analyzer/mcp/tools/read_partial_tool.py +98 -14
  30. tree_sitter_analyzer/mcp/tools/search_content_tool.py +9 -0
  31. tree_sitter_analyzer/mcp/tools/table_format_tool.py +37 -13
  32. tree_sitter_analyzer/models.py +53 -0
  33. tree_sitter_analyzer/output_manager.py +1 -1
  34. tree_sitter_analyzer/plugins/base.py +50 -0
  35. tree_sitter_analyzer/plugins/manager.py +5 -1
  36. tree_sitter_analyzer/queries/css.py +634 -0
  37. tree_sitter_analyzer/queries/html.py +556 -0
  38. tree_sitter_analyzer/queries/markdown.py +54 -164
  39. tree_sitter_analyzer/query_loader.py +16 -3
  40. tree_sitter_analyzer/security/validator.py +343 -46
  41. tree_sitter_analyzer/utils/__init__.py +113 -0
  42. tree_sitter_analyzer/utils/tree_sitter_compat.py +282 -0
  43. tree_sitter_analyzer/utils.py +62 -24
  44. {tree_sitter_analyzer-1.7.5.dist-info → tree_sitter_analyzer-1.8.2.dist-info}/METADATA +136 -14
  45. {tree_sitter_analyzer-1.7.5.dist-info → tree_sitter_analyzer-1.8.2.dist-info}/RECORD +47 -38
  46. {tree_sitter_analyzer-1.7.5.dist-info → tree_sitter_analyzer-1.8.2.dist-info}/entry_points.txt +2 -0
  47. {tree_sitter_analyzer-1.7.5.dist-info → tree_sitter_analyzer-1.8.2.dist-info}/WHEEL +0 -0
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tree-sitter-analyzer
3
- Version: 1.7.5
4
- Summary: Extensible multi-language code analyzer framework using Tree-sitter with dynamic plugin architecture
3
+ Version: 1.8.2
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
7
7
  Project-URL: Repository, https://github.com/aimasteracc/tree-sitter-analyzer.git
@@ -12,7 +12,7 @@ Project-URL: Source Code, https://github.com/aimasteracc/tree-sitter-analyzer
12
12
  Author-email: "aisheng.yu" <aimasteracc@gmail.com>
13
13
  Maintainer-email: "aisheng.yu" <aimasteracc@gmail.com>
14
14
  License: MIT
15
- Keywords: ai-tools,ast,code-analysis,mcp,mcp-server,model-context-protocol,multi-language,parsing,static-analysis,tree-sitter
15
+ Keywords: ai-tools,ast,code-analysis,css,html,mcp,mcp-server,model-context-protocol,multi-language,parsing,static-analysis,tree-sitter,web-development
16
16
  Classifier: Development Status :: 4 - Beta
17
17
  Classifier: Framework :: AsyncIO
18
18
  Classifier: Intended Audience :: Developers
@@ -34,11 +34,15 @@ Requires-Python: >=3.10
34
34
  Requires-Dist: cachetools>=5.0.0
35
35
  Requires-Dist: chardet>=5.0.0
36
36
  Requires-Dist: mcp>=1.12.3
37
+ Requires-Dist: psutil>=5.9.8
37
38
  Requires-Dist: tree-sitter-cpp<0.25.0,>=0.23.4
39
+ Requires-Dist: tree-sitter-css<0.25.0,>=0.23.0
40
+ Requires-Dist: tree-sitter-html<0.25.0,>=0.23.0
38
41
  Requires-Dist: tree-sitter-java<0.25.0,>=0.23.5
39
42
  Requires-Dist: tree-sitter-javascript<0.25.0,>=0.23.1
40
43
  Requires-Dist: tree-sitter-markdown>=0.3.1
41
44
  Requires-Dist: tree-sitter-python<0.25.0,>=0.23.6
45
+ Requires-Dist: tree-sitter-typescript>=0.23.2
42
46
  Requires-Dist: tree-sitter>=0.25.0
43
47
  Provides-Extra: all
44
48
  Requires-Dist: anyio>=4.0.0; extra == 'all'
@@ -70,7 +74,9 @@ Requires-Dist: types-psutil>=5.9.0; extra == 'all'
70
74
  Provides-Extra: all-languages
71
75
  Requires-Dist: tree-sitter-c<0.25.0,>=0.20.0; extra == 'all-languages'
72
76
  Requires-Dist: tree-sitter-cpp<0.25.0,>=0.23.4; extra == 'all-languages'
77
+ Requires-Dist: tree-sitter-css<0.25.0,>=0.23.0; extra == 'all-languages'
73
78
  Requires-Dist: tree-sitter-go<0.25.0,>=0.20.0; extra == 'all-languages'
79
+ Requires-Dist: tree-sitter-html<0.25.0,>=0.23.0; extra == 'all-languages'
74
80
  Requires-Dist: tree-sitter-java<0.25.0,>=0.23.5; extra == 'all-languages'
75
81
  Requires-Dist: tree-sitter-javascript<0.25.0,>=0.23.1; extra == 'all-languages'
76
82
  Requires-Dist: tree-sitter-markdown>=0.3.1; extra == 'all-languages'
@@ -81,6 +87,8 @@ Provides-Extra: c
81
87
  Requires-Dist: tree-sitter-c<0.25.0,>=0.20.0; extra == 'c'
82
88
  Provides-Extra: cpp
83
89
  Requires-Dist: tree-sitter-cpp<0.25.0,>=0.23.4; extra == 'cpp'
90
+ Provides-Extra: css
91
+ Requires-Dist: tree-sitter-css<0.25.0,>=0.23.0; extra == 'css'
84
92
  Provides-Extra: dev
85
93
  Requires-Dist: black>=24.0.0; extra == 'dev'
86
94
  Requires-Dist: isort>=5.13.0; extra == 'dev'
@@ -123,6 +131,23 @@ Requires-Dist: tree-sitter-typescript<0.25.0,>=0.20.0; extra == 'full'
123
131
  Requires-Dist: types-psutil>=5.9.0; extra == 'full'
124
132
  Provides-Extra: go
125
133
  Requires-Dist: tree-sitter-go<0.25.0,>=0.20.0; extra == 'go'
134
+ Provides-Extra: html
135
+ Requires-Dist: tree-sitter-html<0.25.0,>=0.23.0; extra == 'html'
136
+ Provides-Extra: integration
137
+ Requires-Dist: anyio>=4.0.0; extra == 'integration'
138
+ Requires-Dist: mcp>=1.12.2; extra == 'integration'
139
+ Requires-Dist: memory-profiler>=0.61.0; extra == 'integration'
140
+ Requires-Dist: psutil>=5.9.8; extra == 'integration'
141
+ Requires-Dist: pytest-asyncio>=0.21.0; extra == 'integration'
142
+ Requires-Dist: pytest-benchmark>=4.0.0; extra == 'integration'
143
+ Requires-Dist: pytest-cov>=4.0.0; extra == 'integration'
144
+ Requires-Dist: pytest-mock>=3.14.1; extra == 'integration'
145
+ Requires-Dist: pytest>=8.4.1; extra == 'integration'
146
+ Requires-Dist: tree-sitter-java>=0.23.5; extra == 'integration'
147
+ Requires-Dist: tree-sitter-javascript>=0.23.1; extra == 'integration'
148
+ Requires-Dist: tree-sitter-markdown>=0.3.1; extra == 'integration'
149
+ Requires-Dist: tree-sitter-python>=0.23.0; extra == 'integration'
150
+ Requires-Dist: tree-sitter-typescript>=0.20.0; extra == 'integration'
126
151
  Provides-Extra: java
127
152
  Requires-Dist: tree-sitter-java<0.25.0,>=0.23.5; extra == 'java'
128
153
  Provides-Extra: javascript
@@ -161,6 +186,8 @@ Requires-Dist: tree-sitter-python>=0.23.0; extra == 'test'
161
186
  Provides-Extra: typescript
162
187
  Requires-Dist: tree-sitter-typescript<0.25.0,>=0.20.0; extra == 'typescript'
163
188
  Provides-Extra: web
189
+ Requires-Dist: tree-sitter-css<0.25.0,>=0.23.0; extra == 'web'
190
+ Requires-Dist: tree-sitter-html<0.25.0,>=0.23.0; extra == 'web'
164
191
  Requires-Dist: tree-sitter-javascript<0.25.0,>=0.23.1; extra == 'web'
165
192
  Requires-Dist: tree-sitter-typescript<0.25.0,>=0.20.0; extra == 'web'
166
193
  Description-Content-Type: text/markdown
@@ -171,11 +198,11 @@ Description-Content-Type: text/markdown
171
198
 
172
199
  [![Python Version](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://python.org)
173
200
  [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
174
- [![Tests](https://img.shields.io/badge/tests-2934%20passed-brightgreen.svg)](#quality-assurance)
201
+ [![Tests](https://img.shields.io/badge/tests-3342%20passed-brightgreen.svg)](#quality-assurance)
175
202
  [![Coverage](https://codecov.io/gh/aimasteracc/tree-sitter-analyzer/branch/main/graph/badge.svg)](https://codecov.io/gh/aimasteracc/tree-sitter-analyzer)
176
203
  [![Quality](https://img.shields.io/badge/quality-enterprise%20grade-blue.svg)](#quality-assurance)
177
204
  [![PyPI](https://img.shields.io/pypi/v/tree-sitter-analyzer.svg)](https://pypi.org/project/tree-sitter-analyzer/)
178
- [![Version](https://img.shields.io/badge/version-1.7.5-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
205
+ [![Version](https://img.shields.io/badge/version-1.8.2-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
179
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)
180
207
  [![GitHub Stars](https://img.shields.io/github/stars/aimasteracc/tree-sitter-analyzer.svg?style=social)](https://github.com/aimasteracc/tree-sitter-analyzer)
181
208
 
@@ -220,13 +247,15 @@ Tree-sitter Analyzer is an enterprise-grade code analysis tool designed for the
220
247
  | **Python** | Complete Support | Type annotations, decorators, modern Python features |
221
248
  | **JavaScript** | Complete Support | ES6+, React/Vue/Angular, JSX |
222
249
  | **TypeScript** | Complete Support | Interfaces, types, decorators, TSX/JSX, framework detection |
223
- | **Markdown** | 🆕 Complete Support | Headers, code blocks, links, images, tables, task lists, blockquotes |
250
+ | **HTML** | 🆕 Complete Support | DOM structure analysis, element classification, attribute extraction, hierarchical relationships |
251
+ | **CSS** | 🆕 Complete Support | Selector analysis, property classification, style rule extraction, intelligent categorization |
252
+ | **Markdown** | Complete Support | Headers, code blocks, links, images, tables, task lists, blockquotes |
224
253
  | **C/C++** | Basic Support | Basic syntax parsing |
225
254
  | **Rust** | Basic Support | Basic syntax parsing |
226
255
  | **Go** | Basic Support | Basic syntax parsing |
227
256
 
228
257
  ### 🏆 Production Ready
229
- - **2,934 Tests** - 100% pass rate, enterprise-grade quality assurance
258
+ - **3,342 Tests** - 100% pass rate, enterprise-grade quality assurance
230
259
  - **High Coverage** - Comprehensive test coverage
231
260
  - **Cross-platform Support** - Compatible with Windows, macOS, Linux
232
261
  - **Continuous Maintenance** - Active development and community support
@@ -375,6 +404,11 @@ uv run python -m tree_sitter_analyzer examples/BigService.java --advanced --outp
375
404
  # Generate detailed structure table for code files
376
405
  uv run python -m tree_sitter_analyzer examples/BigService.java --table=full
377
406
 
407
+ # 🆕 HTML/CSS analysis with new architecture
408
+ uv run python -m tree_sitter_analyzer examples/comprehensive_sample.html --table=html --output-format=text
409
+ uv run python -m tree_sitter_analyzer examples/comprehensive_sample.css --advanced --output-format=text
410
+ uv run python -m tree_sitter_analyzer examples/comprehensive_sample.html --structure --language html
411
+
378
412
  # Precise code extraction
379
413
  uv run python -m tree_sitter_analyzer examples/BigService.java --partial-read --start-line 93 --end-line 106
380
414
  ```
@@ -574,6 +608,19 @@ AI will automatically:
574
608
  2. Locate and extract the `authenticateUser` method (lines 141-172)
575
609
  3. Generate list of public methods (19 public methods)
576
610
 
611
+ **HTML/CSS Analysis Example:**
612
+ ```
613
+ I want to analyze the HTML structure of index.html:
614
+ 1. What HTML elements are present and how are they organized?
615
+ 2. What CSS rules are defined and what properties do they set?
616
+ 3. How are the elements classified (structure, media, form)?
617
+ ```
618
+
619
+ AI will automatically:
620
+ 1. Extract HTML elements with tag names, attributes, and classification
621
+ 2. Analyze CSS selectors and properties with intelligent categorization
622
+ 3. Generate structured tables showing DOM hierarchy and style rules
623
+
577
624
  ---
578
625
 
579
626
  ## 5. 🤖 Complete MCP Tool List
@@ -583,7 +630,7 @@ Tree-sitter Analyzer provides a rich set of MCP tools designed for AI assistants
583
630
  | Tool Category | Tool Name | Main Function | Core Features |
584
631
  |-------------|---------|---------|---------|
585
632
  | **📊 Code Analysis** | `check_code_scale` | Fast code file scale analysis | File size statistics, line count statistics, complexity analysis, performance metrics |
586
- | | `analyze_code_structure` | Code structure analysis and table generation | 🆕 suppress_output parameter, multiple formats (full/compact/csv/json), automatic language detection |
633
+ | | `analyze_code_structure` | Code structure analysis and table generation | 🆕 suppress_output parameter, multiple formats (full/compact/csv/json/html), automatic language detection |
587
634
  | | `extract_code_section` | Precise code section extraction | Specified line range extraction, large file efficient processing, original format preservation |
588
635
  | **🔍 Intelligent Search** | `list_files` | High-performance file discovery | fd-based, glob patterns, file type filters, time range control |
589
636
  | | `search_content` | Regex content search | ripgrep-based, multiple output formats, context control, encoding handling |
@@ -593,7 +640,31 @@ Tree-sitter Analyzer provides a rich set of MCP tools designed for AI assistants
593
640
  | **📁 Resource Access** | Code file resources | URI code file access | File content access via URI identification |
594
641
  | | Project statistics resources | Project statistics data access | Project analysis data and statistical information |
595
642
 
596
- ### 🆕 v1.7.3 New Feature: Complete Markdown Support
643
+ ### 🆕 v1.8.2 New Feature: CLI Security and Argument Validation Enhancement
644
+
645
+ Comprehensive CLI security improvements and argument validation optimization:
646
+
647
+ - **🔒 CLI Security Boundary Fix**: Fixed CLI mode security boundary errors, ensuring file access security
648
+ - **✅ Proper CLI Argument Validation**: Implemented complete CLI argument validation system, preventing invalid parameter combinations
649
+ - **🚫 Exclusive Parameter Control**: `--table` and `--query-key` parameters now properly implement exclusive control
650
+ - **🔍 Enhanced Filter Support**: `--query-key` with `--filter` combination usage is fully supported
651
+ - **⚠️ Clear Error Messages**: Provides detailed error information to help users use commands correctly
652
+ - **🛡️ Enhanced Security Features**: Temporary directory access permission in test environments and project boundary protection
653
+ - **📋 Improved User Experience**: More intuitive command-line interface and error handling
654
+
655
+ ### 🆕 v1.8.0 New Feature: HTML/CSS Language Support
656
+
657
+ Revolutionary HTML and CSS analysis capabilities with specialized data models and formatting:
658
+
659
+ - **🏗️ HTML DOM Analysis**: Complete HTML element extraction with tag names, attributes, and hierarchical structure
660
+ - **🎨 CSS Rule Analysis**: Comprehensive CSS selector and property analysis with intelligent classification
661
+ - **📊 Element Classification System**: Smart categorization of HTML elements (structure, heading, text, list, media, form, table, metadata) and CSS properties (layout, box_model, typography, background, transition, interactivity)
662
+ - **🔧 Specialized Data Models**: New `MarkupElement` and `StyleElement` classes for precise web technology analysis
663
+ - **📋 Enhanced Formatters**: New HTML formatter with structured table output for web development workflows
664
+ - **🔄 Extensible Architecture**: Plugin-based system with `FormatterRegistry` for dynamic format management
665
+ - **🆕 Dependencies**: Added `tree-sitter-html>=0.23.0,<0.25.0` and `tree-sitter-css>=0.23.0,<0.25.0` for native parsing support
666
+
667
+ ### 🆕 v1.7.3 Feature: Complete Markdown Support
597
668
 
598
669
  Brand new Markdown language support provides powerful capabilities for document analysis and AI assistants:
599
670
 
@@ -642,6 +713,12 @@ uv run python -m tree_sitter_analyzer examples/BigService.java --advanced
642
713
  # Generate complete structure table
643
714
  uv run python -m tree_sitter_analyzer examples/BigService.java --table=full
644
715
 
716
+ # 🆕 HTML/CSS analysis with new architecture
717
+ uv run python -m tree_sitter_analyzer examples/comprehensive_sample.html --table=full --output-format=text
718
+ uv run python -m tree_sitter_analyzer examples/comprehensive_sample.css --table=full --output-format=text
719
+ uv run python -m tree_sitter_analyzer examples/comprehensive_sample.html --advanced --output-format=text
720
+ uv run python -m tree_sitter_analyzer examples/comprehensive_sample.css --advanced --output-format=text
721
+
645
722
  # Specify output format
646
723
  uv run python -m tree_sitter_analyzer examples/BigService.java --advanced --output-format=json
647
724
  uv run python -m tree_sitter_analyzer examples/BigService.java --advanced --output-format=text
@@ -660,6 +737,18 @@ uv run python -m tree_sitter_analyzer script.py --language python --table=full
660
737
  uv run python -m tree_sitter_analyzer examples/BigService.java --query-key methods
661
738
  uv run python -m tree_sitter_analyzer examples/BigService.java --query-key classes
662
739
 
740
+ # 🆕 v1.8.2 Correct Usage Examples
741
+ # Correct: Use --query-key with --filter combination
742
+ uv run python -m tree_sitter_analyzer examples/BigService.java --query-key methods --filter "name=main"
743
+
744
+ # Correct: Generate complete structure table
745
+ uv run python -m tree_sitter_analyzer examples/BigService.java --table full
746
+
747
+ # 🚫 v1.8.2 Incorrect Usage Examples (will show error)
748
+ # Incorrect: Using --table and --query-key together (exclusive parameters)
749
+ # uv run python -m tree_sitter_analyzer examples/BigService.java --table full --query-key methods
750
+ # Error message: "--table and --query-key cannot be used together. Use --query-key with --filter instead."
751
+
663
752
  # Filter query results
664
753
  # Find specific methods
665
754
  uv run python -m tree_sitter_analyzer examples/BigService.java --query-key methods --filter "name=main"
@@ -677,6 +766,28 @@ uv run python -m tree_sitter_analyzer examples/BigService.java --query-key metho
677
766
  uv run python -m tree_sitter_analyzer --filter-help
678
767
  ```
679
768
 
769
+ #### 🔒 Security Features
770
+
771
+ v1.8.2 enhanced security features ensure file access safety:
772
+
773
+ ```bash
774
+ # ✅ Secure project boundary protection
775
+ # Tools automatically detect and respect project boundaries, preventing access to sensitive files outside the project
776
+
777
+ # ✅ Test environment temporary directory access
778
+ # In test environments, allows access to temporary directories to support test cases
779
+
780
+ # ✅ Proper CLI argument validation
781
+ # System validates parameter combination validity, preventing invalid command execution
782
+
783
+ # Example: Secure file analysis
784
+ uv run python -m tree_sitter_analyzer examples/BigService.java --advanced
785
+ # ✅ Allowed: File is within project directory
786
+
787
+ # uv run python -m tree_sitter_analyzer /etc/passwd --advanced
788
+ # ❌ Denied: File is outside project boundary (security protection)
789
+ ```
790
+
680
791
  #### 📁 File System Operation Commands
681
792
 
682
793
  ```bash
@@ -728,7 +839,7 @@ uv run python -m tree_sitter_analyzer --show-query-languages
728
839
  | **✂️ Intelligent Code Extraction** | Precision Extraction Tool | Precise extraction by line range<br>Preserves original formatting and indentation<br>Includes position metadata<br>Efficient processing of large files | Zero-loss format preservation<br>Memory-optimized algorithms<br>Streaming processing support |
729
840
  | **🔍 Advanced Query Filtering** | Multi-dimensional Filters | **Exact match**: `--filter "name=main"`<br>**Pattern match**: `--filter "name=~auth*"`<br>**Parameter filter**: `--filter "params=2"`<br>**Modifier filter**: `--filter "static=true,public=true"`<br>**Compound conditions**: Combine multiple conditions for precise queries | Flexible query syntax<br>High-performance indexing<br>Intelligent caching mechanisms |
730
841
  | **🔗 AI Assistant Integration** | MCP Protocol Support | **Claude Desktop** - Full MCP support<br>**Cursor IDE** - Built-in MCP integration<br>**Roo Code** - MCP protocol support<br>**Other MCP-compatible tools** - Universal MCP server | Standard MCP protocol<br>Plug-and-play design<br>Cross-platform compatibility |
731
- | **🌍 Multi-language Support** | Enterprise Language Engine | **Java** - Complete support, including Spring, JPA frameworks<br>**Python** - Complete support, including type annotations, decorators<br>**JavaScript** - Enterprise-grade support, including ES6+, React/Vue/Angular, JSX<br>**TypeScript** - **Complete support**, including interfaces, types, decorators, TSX/JSX, framework detection<br>**Markdown** - **🆕 Complete support**, including headers, code blocks, links, images, tables, task lists, blockquotes<br>**C/C++, Rust, Go** - Basic support | Framework-aware parsing<br>Syntax extension support<br>Continuous language updates |
842
+ | **🌍 Multi-language Support** | Enterprise Language Engine | **Java** - Complete support, including Spring, JPA frameworks<br>**Python** - Complete support, including type annotations, decorators<br>**JavaScript** - Enterprise-grade support, including ES6+, React/Vue/Angular, JSX<br>**TypeScript** - **Complete support**, including interfaces, types, decorators, TSX/JSX, framework detection<br>**HTML** - **🆕 Complete support**, including DOM structure, element classification, attribute extraction<br>**CSS** - **🆕 Complete support**, including selector analysis, property classification, style rules<br>**Markdown** - **Complete support**, including headers, code blocks, links, images, tables, task lists, blockquotes<br>**C/C++, Rust, Go** - Basic support | Framework-aware parsing<br>Syntax extension support<br>Continuous language updates |
732
843
  | **📁 Advanced File Search** | fd+ripgrep Integration | **ListFilesTool** - Intelligent file discovery with multiple filtering conditions<br>**SearchContentTool** - Intelligent content search using regular expressions<br>**FindAndGrepTool** - Combined discovery and search, two-stage workflow | Rust-based high-performance tools<br>Parallel processing capabilities<br>Intelligent cache optimization |
733
844
  | **🏗️ Unified Element System** | Revolutionary Architecture Design | **Single element list** - Unified management of all code elements (classes, methods, fields, imports, packages)<br>**Consistent element types** - Each element has an `element_type` attribute<br>**Simplified API** - Clearer interfaces and reduced complexity<br>**Better maintainability** - Single source of truth for all code elements | Unified data model<br>Type safety guarantees<br>Extensible design |
734
845
 
@@ -737,13 +848,23 @@ uv run python -m tree_sitter_analyzer --show-query-languages
737
848
  ## 8. 🏆 Quality Assurance
738
849
 
739
850
  ### 📊 Quality Metrics
740
- - **2,934 tests** - 100% pass rate ✅
851
+ - **3,342 tests** - 100% pass rate ✅
741
852
  - **High code coverage** - Comprehensive test suite
742
853
  - **Zero test failures** - Production ready
743
854
  - **Cross-platform support** - Windows, macOS, Linux
744
855
 
745
- ### ⚡ Latest Quality Achievements (v1.7.5)
746
- - ✅ **📊 Enhanced Quality Metrics** - Test count increased to 2,934, coverage maintained at high levels
856
+ ### ⚡ Latest Quality Achievements (v1.8.2)
857
+ - ✅ **🔒 CLI Security Enhancement** - Fixed CLI mode security boundary errors, ensuring file access security
858
+ - ✅ **✅ Argument Validation Improvement** - Implemented complete CLI argument validation system, preventing invalid parameter combinations
859
+ - ✅ **🚫 Exclusive Parameter Control** - `--table` and `--query-key` parameters properly implement exclusive control
860
+ - ✅ **🔍 Enhanced Filter Functionality** - `--query-key` with `--filter` combination usage fully supported
861
+ - ✅ **⚠️ Error Message Optimization** - Provides clear and detailed error information, improving user experience
862
+ - ✅ **🛡️ Project Boundary Protection** - Automatically detects and respects project boundaries, preventing access to sensitive files
863
+ - ✅ **🧪 Test Environment Support** - Temporary directory access permission in test environments
864
+ - ✅ **📋 User Experience Improvement** - More intuitive command-line interface and error handling mechanisms
865
+
866
+ ### ⚡ v1.7.5 Quality Achievements
867
+ - ✅ **📊 Enhanced Quality Metrics** - Test count increased to 3,342 coverage maintained at high levels
747
868
  - ✅ **🔧 System Stability** - All tests passing with enhanced system stability and reliability
748
869
  - ✅ **🆕 Complete Markdown Support** - Added new complete Markdown language plugin supporting all major Markdown elements
749
870
  - ✅ **📝 Enhanced Document Analysis** - Support for intelligent extraction of headers, code blocks, links, images, tables, task lists
@@ -794,8 +915,9 @@ The project maintains high-quality test coverage. For detailed module coverage i
794
915
  **Verification environment:**
795
916
  - Operating systems: Windows 10, macOS, Linux
796
917
  - Python version: 3.10+
797
- - Project version: tree-sitter-analyzer v1.7.5
918
+ - Project version: tree-sitter-analyzer v1.8.2
798
919
  - Test files: BigService.java (1419 lines), sample.py (256 lines), MultiClass.java (54 lines)
920
+ - New verification: CLI argument validation, security boundary protection, exclusive parameter control
799
921
 
800
922
  ---
801
923
 
@@ -1,21 +1,22 @@
1
- tree_sitter_analyzer/__init__.py,sha256=pwmo3OAgET_ifX0qH_OG7f8YXyg4Xp2DLDEIGR3rs3k,3067
1
+ tree_sitter_analyzer/__init__.py,sha256=h6zUP8Chm-_bNNKaCIY25G3h_JKBLIed582ErUTq0Zc,3067
2
2
  tree_sitter_analyzer/__main__.py,sha256=Zl79tpe4UaMu-7yeztc06tgP0CVMRnvGgas4ZQP5SCs,228
3
- tree_sitter_analyzer/api.py,sha256=jzwID6fJNdhQkJP3D0lzBVPhOnGIN4tyyMtmRYdK9zI,22753
4
- tree_sitter_analyzer/cli_main.py,sha256=BuaM-L-Jx3G49qvAUOQVsw0wEM-X0UzPaRszRZBist4,10374
3
+ tree_sitter_analyzer/api.py,sha256=gqHatRpVm8k0jEfFm45iokHRPYJjEcud6MtrCSg1V0A,22169
4
+ tree_sitter_analyzer/cli_main.py,sha256=RAPn4VGHVOfC2vrU1Sef7PEPcypMwuI5GgWiwoYL1PE,11100
5
5
  tree_sitter_analyzer/constants.py,sha256=7w3sLFt_6vPaKsxzrc21K1rOKpLGMyyA1203nu3pDOQ,1889
6
6
  tree_sitter_analyzer/encoding_utils.py,sha256=BgdBKnW20EueEFJT-aLrQI38bTOcR5rWQ3Dpa-ALszA,14805
7
- tree_sitter_analyzer/exceptions.py,sha256=AZryCQyKXekAg8lQZd3zqULnjhCKovBNNpnUlNGDhcI,11615
8
- tree_sitter_analyzer/file_handler.py,sha256=mtWz-DE4yfmak347s0e20xFNy3qddcek58Enom5GlZQ,6689
9
- tree_sitter_analyzer/language_detector.py,sha256=MoGDGqKREBd3GMPJ7QoQCdBmTloWskC5plnjNfDuEO0,12957
7
+ tree_sitter_analyzer/exceptions.py,sha256=XvuUYsB80JYcpfU3Lq0XXpmeV3aWK2tJ_nKNGJtILe4,23116
8
+ tree_sitter_analyzer/file_handler.py,sha256=pyNro47kYoRuQBPkyEo9ileqlQ1A7w890deQltnzMas,7115
9
+ tree_sitter_analyzer/language_detector.py,sha256=PRWTTIzXwW2BDqCgilJdQVnPr1wixuLsl3_3P90tegw,16168
10
10
  tree_sitter_analyzer/language_loader.py,sha256=sIICLkht_PeVoYV1KTs5bSgOJej9xK9wbyRB2-0Agws,8966
11
- tree_sitter_analyzer/models.py,sha256=eZSVTl4s0rnqG21nyCTaJhyhDw1HZkkpMRKCi2QRkL0,20404
12
- tree_sitter_analyzer/output_manager.py,sha256=tMEyjGeczqphcLoHdqxgyW8KaG8w6JF-fhsIibNQiCU,8260
11
+ tree_sitter_analyzer/models.py,sha256=G51jdE8xGOAPD6vDOpg_mwGF4DNjXqdlkxyuKI8hkJ0,22165
12
+ tree_sitter_analyzer/output_manager.py,sha256=hRAp6Aa9k05UVvZkOyRCEz2Lf7blx05fWnculHd86RA,8264
13
13
  tree_sitter_analyzer/project_detector.py,sha256=-zmtm12EvVD_6TDxS_6KpzuswP2Bpppnxq50kAEDyMA,9430
14
- tree_sitter_analyzer/query_loader.py,sha256=fqLdjifjz2n471PkjyQSu-8tYizM47gLV_DtRYvsrQU,9887
14
+ tree_sitter_analyzer/query_loader.py,sha256=rtUZ_ZBhacb2uvM8aPrf0XiigUDtxflfjbenfKcatEI,10407
15
15
  tree_sitter_analyzer/table_formatter.py,sha256=tPKw77LLlQ7k5MMs9_Ez7qsSroNaSzZPoplyPtKHLhA,28577
16
- tree_sitter_analyzer/utils.py,sha256=AwQ6Xv1IGUTf5ich-nNoY5oEyIGROoB802ZNF3gyqto,11871
16
+ tree_sitter_analyzer/utils.py,sha256=hezEhJ4TGAFTRa-Ii_i42jPLkspAme-GRsZR5e38OBQ,13650
17
17
  tree_sitter_analyzer/cli/__init__.py,sha256=O_3URpbdu5Ilb2-r48LjbZuWtOWQu_BhL3pa6C0G3Bk,871
18
18
  tree_sitter_analyzer/cli/__main__.py,sha256=Xq8o8-0dPnMDU9WZqmqhzr98rx8rvoffTUHAkAwl-L8,218
19
+ tree_sitter_analyzer/cli/argument_validator.py,sha256=n336uNVWE9FFWc5s1ADKNQq53_BSnqdTtqEFk90UDBI,2574
19
20
  tree_sitter_analyzer/cli/info_commands.py,sha256=thWCLZ4iGVmqxuQfUz3t-uNRv9X3lgtWnsUJm6mbJ7o,4432
20
21
  tree_sitter_analyzer/cli/commands/__init__.py,sha256=jpcpM1ptLuxLMBDUv1y_a87k8RAw1otFzeYpWtXvz3Y,671
21
22
  tree_sitter_analyzer/cli/commands/advanced_command.py,sha256=gEO6Bc9zBHoGNZMpKr3BXQFJK57WAf2-fDJPTAaD_Lo,11434
@@ -28,51 +29,55 @@ tree_sitter_analyzer/cli/commands/query_command.py,sha256=VFuCFJxffjSUrMa7NB_KJm
28
29
  tree_sitter_analyzer/cli/commands/search_content_cli.py,sha256=A30806cWaBfqfchhIZ0qK23cfoIQTTYk33Y119TGx34,5093
29
30
  tree_sitter_analyzer/cli/commands/structure_command.py,sha256=CFlem2raHX8DEC2FJlmYVYnjlrnKpt2fz5OvIk2VCo8,7984
30
31
  tree_sitter_analyzer/cli/commands/summary_command.py,sha256=SieBVJfyO9dMpExKnHhFowS3nXMzJMbGNhoWh5PEN6o,6323
31
- tree_sitter_analyzer/cli/commands/table_command.py,sha256=iBA4mMmL_S9grwVJcAB0S0-z_8Q_DmbMcFPZ8FTcJ5k,12127
32
+ tree_sitter_analyzer/cli/commands/table_command.py,sha256=2gqvy2opdH3NRxHi9sIAyKo0bmgOoe_bPs2xqdrOjMk,12256
32
33
  tree_sitter_analyzer/core/__init__.py,sha256=VlYOy1epW16vjaVd__knESewnU0sfXF9a4hjrFxiSEE,440
33
34
  tree_sitter_analyzer/core/analysis_engine.py,sha256=IHE4ZQDGI4uu2Eh0QYX1bPsDBhtEu7JkImHEVnC7gog,18781
34
- tree_sitter_analyzer/core/cache_service.py,sha256=0oZGuTpeHBKYNdnqAOVi6VlQukYMIHncz2pbVfNpSqE,9762
35
+ tree_sitter_analyzer/core/cache_service.py,sha256=5TGc0Tf4Hi_LSjiI_DUbk5c10u-5J9GHxSyPPULjd08,10262
35
36
  tree_sitter_analyzer/core/engine.py,sha256=5CheLzsxrApY6o2uM8sdYdzK4HkQypxlsYEFpUdai28,18357
36
37
  tree_sitter_analyzer/core/parser.py,sha256=qT3yIlTRdod4tf_2o1hU_B-GYGukyM2BtaFxzSoxois,9293
37
- tree_sitter_analyzer/core/query.py,sha256=UhQxUmQitFobe2YM7Ifhi3X2WdHVb02KzeBunueYJ4I,16397
38
+ tree_sitter_analyzer/core/query.py,sha256=2nrOve1YEA6MLBOJPTWQkQTF7yFMUnZ_wwUp__-RqsU,17107
38
39
  tree_sitter_analyzer/core/query_filter.py,sha256=PvGztAZFooFNZe6iHNmbg6RUNtMvq6f6hBZFzllig6Y,6591
39
- tree_sitter_analyzer/core/query_service.py,sha256=sMdI81_YAt0YcNzPsj2QA4q1KACf2g9LsJw3UP5qxwo,14687
40
+ tree_sitter_analyzer/core/query_service.py,sha256=Uhz3FnumyDh6ecJ_mE8rG69I5dMorgKEy8BahFNs_-0,12785
40
41
  tree_sitter_analyzer/formatters/__init__.py,sha256=yVb4HF_4EEPRwTf3y3-vM2NllrhykG3zlvQhN-6dB4c,31
41
42
  tree_sitter_analyzer/formatters/base_formatter.py,sha256=q515mnhpXV7jd0ysJ7R3VFOCm9e4x7ADVKSkVEYd8lA,6656
42
43
  tree_sitter_analyzer/formatters/formatter_factory.py,sha256=4fsSMxhBmGWFmPjcuwkTvgiIWWFireaOaChYi1UNnSM,2381
44
+ tree_sitter_analyzer/formatters/formatter_registry.py,sha256=BTeEWt0-ru-ZhXikncH3qs0EA0JZFJ6q9f0E2AOBt4A,11569
45
+ tree_sitter_analyzer/formatters/html_formatter.py,sha256=aDNMcalAzTI-Nf9w1MYltgR6M4PihUWP3DgNTFEdb2U,18559
43
46
  tree_sitter_analyzer/formatters/java_formatter.py,sha256=0jxKfrWtsr_K2VG1zW0LH2E6w6nfpIhcXTfIyWw3Jmc,11163
44
47
  tree_sitter_analyzer/formatters/javascript_formatter.py,sha256=rIvMs-btsTV0KpGvF67qS7bXANN1I_1M4mVg3KXJ3-I,21345
45
- tree_sitter_analyzer/formatters/language_formatter_factory.py,sha256=y6OJ2jtW42HBs_d5EhMxWCoLR92nDeNyD6jhh3VYw_w,2168
46
- tree_sitter_analyzer/formatters/markdown_formatter.py,sha256=HiRue5rm4Dq5vbTPUyHMaYL0m0QekF0c7XKf-cMjQTw,26049
48
+ tree_sitter_analyzer/formatters/language_formatter_factory.py,sha256=D5cZrFKeSfLZ0BtnAE6SmP7efWrty2uuaAK7KpF8rXM,2309
49
+ tree_sitter_analyzer/formatters/markdown_formatter.py,sha256=OD_mBcec0BlSPpmYthwQbN5RoyzM0MskcBnkquPg1V4,26095
47
50
  tree_sitter_analyzer/formatters/python_formatter.py,sha256=qE4C6Q5b_Mzr_PptqWZIJuxS945Ws_pmjPGpfqJ_GcY,17224
48
51
  tree_sitter_analyzer/formatters/typescript_formatter.py,sha256=mMl6dWSa2EQny_k_gozzyMYnyZq85WJQuJ61kbOSd2o,19402
49
52
  tree_sitter_analyzer/interfaces/__init__.py,sha256=OcT7eNIU0ZXvAeAXbhDqRG3puxn93HeSLqplwj6npTM,271
50
53
  tree_sitter_analyzer/interfaces/cli.py,sha256=c6CGfF6cgOwgpBimHV1myZ5JfNqil5tCVBOfG5-zijU,17100
51
54
  tree_sitter_analyzer/interfaces/cli_adapter.py,sha256=8j3xL3k6wWrGQCq0KCntqbvSxKy931sT5M96pYhkn9c,11402
52
55
  tree_sitter_analyzer/interfaces/mcp_adapter.py,sha256=iSWcm-bn8_pL6YBu1Rrzherv72-5WUiavColu3uhSAY,7707
53
- tree_sitter_analyzer/interfaces/mcp_server.py,sha256=dUFn1CyO2jLa_y5gGOGE-f0sLGAbjgp738uy5-aAphI,16510
56
+ tree_sitter_analyzer/interfaces/mcp_server.py,sha256=SP0_X4pltjFTH5Mq0NouJbazkYijqjcsNvPegM3WtQE,16542
54
57
  tree_sitter_analyzer/languages/__init__.py,sha256=VTXxJgVjHJAciLhX0zzXOS4EygZMtebeYUbi_0z6fGw,340
55
- tree_sitter_analyzer/languages/java_plugin.py,sha256=SEGS-54gF2-kIv8ftYGqq_KNnwPXGw9XnSONlzowHWk,53191
56
- tree_sitter_analyzer/languages/javascript_plugin.py,sha256=2O6X5M1ZKQNdWoMmMJXHw5CEk2FxkPjR6wy3iHCyeak,57090
57
- tree_sitter_analyzer/languages/markdown_plugin.py,sha256=dcoN8rmPSGW275TsHlAMRXMoGUelfJuHUdc-zLOEWH8,73120
58
- tree_sitter_analyzer/languages/python_plugin.py,sha256=faDvcUW_yJxrD4Lry0NaljD6EMYuWBE2D1UVCTBmEtE,54267
59
- tree_sitter_analyzer/languages/typescript_plugin.py,sha256=rPgSMkIZzYty23sitWv2NjqePLitTdH_17BdPtNCNl0,67885
58
+ tree_sitter_analyzer/languages/css_plugin.py,sha256=dxxN8iE33AFtSf4IXBRNNxd2F1IfYKj62yIxYl1c-ek,15608
59
+ tree_sitter_analyzer/languages/html_plugin.py,sha256=9EyfnxYgNN5DRYA8u-UW2KpQAP3NarL9XtQgbaBuBxY,16198
60
+ tree_sitter_analyzer/languages/java_plugin.py,sha256=wTKHGM7DwAfndKw1KBLBi85NKuHex9q_FIoAMja6Jp4,57856
61
+ tree_sitter_analyzer/languages/javascript_plugin.py,sha256=9kPI73pAUtUdQQjNvk49zZRXvq9HflpHgUiuy_Hiwrg,62070
62
+ tree_sitter_analyzer/languages/markdown_plugin.py,sha256=UpQJPFG87YuHBHxzuud2JXK7HTmdd9GzUM6ljE1NgLA,81119
63
+ tree_sitter_analyzer/languages/python_plugin.py,sha256=hVuyXRMFHI3qUbD_iUCIawvfGQuyOCoH-3U5ROZV9Kc,60285
64
+ tree_sitter_analyzer/languages/typescript_plugin.py,sha256=Ti3wXYgjjf9djH2MNRsS1sNU4LvkPCiWuAjgb9l6ork,73889
60
65
  tree_sitter_analyzer/mcp/__init__.py,sha256=8tC54ZYcZBcFEio-aDet7evzis50zV5gbHuvn_7K514,944
61
66
  tree_sitter_analyzer/mcp/server.py,sha256=zr3Imq8uq9pqXuCckw5TT5Gt-QJP3h5h0WHn0XCiNNI,31928
62
67
  tree_sitter_analyzer/mcp/resources/__init__.py,sha256=D46ZDhPQaCrQze8dHmijMg1QZQ4ABRIjG532sFpuGPo,1367
63
68
  tree_sitter_analyzer/mcp/resources/code_file_resource.py,sha256=ZX5ZYSJfylBedpL80kTDlco2YZqgRMb5f3OW0VvOVRM,6166
64
69
  tree_sitter_analyzer/mcp/resources/project_stats_resource.py,sha256=YF_LyYwt1uoJx27FvWbVSbIaS5c5RDO-73QL_DfNwTE,20360
65
70
  tree_sitter_analyzer/mcp/tools/__init__.py,sha256=9KfetZTaUhvWTeKuZPYzWb7ZomFQ8SsR1qmXVBT4E7c,739
66
- tree_sitter_analyzer/mcp/tools/analyze_scale_tool.py,sha256=4ls3IuoePMwyYVNFpHznXuv0MZhVEJV0cNKnnz5zTUo,28087
71
+ tree_sitter_analyzer/mcp/tools/analyze_scale_tool.py,sha256=Yb9lpUPGuvRbawmE15icMRW1yn9BVp6kSXb0iZqaTGY,30920
67
72
  tree_sitter_analyzer/mcp/tools/analyze_scale_tool_cli_compatible.py,sha256=mssed7bEfGeGxW4mOf7dg8BDS1oqHLolIBNX9DaZ3DM,8997
68
73
  tree_sitter_analyzer/mcp/tools/base_tool.py,sha256=qf2My325azlnKOugNVMN_R1jtZcjXVy354sGVKzvZls,3546
69
- tree_sitter_analyzer/mcp/tools/fd_rg_utils.py,sha256=R1ICH40vkWO3OdKZjxok9ptQZpZ6-tM5SkLHHOC4-BE,17749
70
- tree_sitter_analyzer/mcp/tools/find_and_grep_tool.py,sha256=uoa0DiX0-M79RYkgq-_HWeJVQUaJpRvE0a1nZLT7Js0,31130
71
- tree_sitter_analyzer/mcp/tools/list_files_tool.py,sha256=atLpBIngGYhmO3hpfujiIz37ng2_Gop1ocEVaV4bs08,17914
72
- tree_sitter_analyzer/mcp/tools/query_tool.py,sha256=yGtivYOdV9AgOd-FkvQY-laiFiw-2TgZgoel6r25xuY,15057
73
- tree_sitter_analyzer/mcp/tools/read_partial_tool.py,sha256=KFmcCJxn1t-IN7Lf9DzbRK2FXytFSFBCPJ9h_mYd9dI,14868
74
- tree_sitter_analyzer/mcp/tools/search_content_tool.py,sha256=WilpA-bOko31aj8lI73luCHoKfTB623vG8tClBowO3Y,32086
75
- tree_sitter_analyzer/mcp/tools/table_format_tool.py,sha256=r7mJMRypBtjcZhKoo7fijt3RW11QbrQy8tWjoMzeWfM,20885
74
+ tree_sitter_analyzer/mcp/tools/fd_rg_utils.py,sha256=9jQ4D5yREs7Nt8L0s-NdVtmaKXJAAOKqAAI8mkW3T2o,18664
75
+ tree_sitter_analyzer/mcp/tools/find_and_grep_tool.py,sha256=9p_Olh6wjuUAVqHfXnsUj3crZtUV4_R6zAfKRqe8jTY,31623
76
+ tree_sitter_analyzer/mcp/tools/list_files_tool.py,sha256=nd6uiOqbsr8NUqNL46d8QnOM-XpMTDOFiaccjBaGLl8,18268
77
+ tree_sitter_analyzer/mcp/tools/query_tool.py,sha256=BgkfLYGcRpRk7cNbhD1rOSnSvoZv2H9nPqnwX3DpXQs,17011
78
+ tree_sitter_analyzer/mcp/tools/read_partial_tool.py,sha256=lC3Zigp3_v8RU_fi5Fz0O_idjP6z_AmgoqVQOethL3I,18493
79
+ tree_sitter_analyzer/mcp/tools/search_content_tool.py,sha256=wGYjP5OZqqcKnLwF5sdpH3xMuUaxJmwYWU6Rg3R7CAw,32463
80
+ tree_sitter_analyzer/mcp/tools/table_format_tool.py,sha256=pL0QAr1aINaTYqGKcutuENEwfvy60Cfcl9AVk5sG2VU,22559
76
81
  tree_sitter_analyzer/mcp/tools/universal_analyze_tool.py,sha256=-zZnqN9WcoyRTKM_16ADH859LSebzi34BGYwQL2zCOs,25084
77
82
  tree_sitter_analyzer/mcp/utils/__init__.py,sha256=TgTTKsRJAqF95g1fAp5SR_zQVDkImpc_5R0Dw529UUw,3126
78
83
  tree_sitter_analyzer/mcp/utils/error_handler.py,sha256=msrQHX67K3vhJsEc3OPRz5mmWU_yoHz55Lnxy0IZuy4,18404
@@ -81,19 +86,23 @@ tree_sitter_analyzer/mcp/utils/gitignore_detector.py,sha256=_KKd2tIqudG95Pn53wSc
81
86
  tree_sitter_analyzer/mcp/utils/path_resolver.py,sha256=77BmbyEuJCuDPNH9POcTOS4tYBorPu-IXFGpBC1DxOk,15006
82
87
  tree_sitter_analyzer/mcp/utils/search_cache.py,sha256=ZNv84st6PeejDY1B50AKTbItpXs9HS6JrpR-Ozjyc1c,12991
83
88
  tree_sitter_analyzer/plugins/__init__.py,sha256=ITE9bTz7NO4axnn8g5Z-1_ydhSLT0RnY6Y1J9OhUP3E,10326
84
- tree_sitter_analyzer/plugins/base.py,sha256=FMRAOtjtDutNV8RnB6cmFgdvcjxKRAbrrzqldBBT1yk,17167
85
- tree_sitter_analyzer/plugins/manager.py,sha256=PyEY3jeuCBpDVqguWhaAu7nzUZM17_pI6wml2e0Hamo,12535
89
+ tree_sitter_analyzer/plugins/base.py,sha256=CgyQ5hxMR0RVUYEMxPcMXBlbcQj2-5W33hT2D06E2z8,18651
90
+ tree_sitter_analyzer/plugins/manager.py,sha256=rfl8KFIPw5ZF97uh-Fk0088iZJTGB9idHwFCA-B_ssM,12718
86
91
  tree_sitter_analyzer/queries/__init__.py,sha256=dwDDc7PCw_UWruxSeJ8uEBjY0O5uLDBI5YqyvBhbnN0,696
92
+ tree_sitter_analyzer/queries/css.py,sha256=FG9kNKOFDvsMqhjx7sioejYiz-wx98ZL_O80tnaWw3U,17884
93
+ tree_sitter_analyzer/queries/html.py,sha256=g7NP6iZHoP43w3dBJwkTNHgJyu9eyw7FI13_by23G7A,14628
87
94
  tree_sitter_analyzer/queries/java.py,sha256=avaPFeHz3Ig-yTdCDKfUKaG-5sktOEkrXG2p9_mEZVs,12388
88
95
  tree_sitter_analyzer/queries/javascript.py,sha256=XeIreI10rz__viix3zGCENCfC3yLT4ZQCp8DpYnbXKU,23104
89
- tree_sitter_analyzer/queries/markdown.py,sha256=QbBBIv_nVQ9UOWYgthvcHECLkj2ueWamZgNS6g3kNf8,10882
96
+ tree_sitter_analyzer/queries/markdown.py,sha256=IcKCXDTfyPL1iSAW_BFCBxj9ro5LcE3cIEkFMXLAWec,7085
90
97
  tree_sitter_analyzer/queries/python.py,sha256=vKUeZqmgDUYzRfgInxF7IZ52Oja-ZslexseknmVLiwo,26116
91
98
  tree_sitter_analyzer/queries/typescript.py,sha256=I0bWcCv-sRcZHVsdHdfb1UIRI_G3l0S9A1oR4LCjLwE,22527
92
99
  tree_sitter_analyzer/security/__init__.py,sha256=ZTqTt24hsljCpTXAZpJC57L7MU5lJLTf_XnlvEzXwEE,623
93
100
  tree_sitter_analyzer/security/boundary_manager.py,sha256=3eeENRKWtz2pyZHzd8DiVaq8fdeC6s1eVOuBylSmQPg,9347
94
101
  tree_sitter_analyzer/security/regex_checker.py,sha256=jWK6H8PTPgzbwRPfK_RZ8bBTS6rtEbgjY5vr3YWjQ_U,9616
95
- tree_sitter_analyzer/security/validator.py,sha256=yR4qTWEcXpR--bSFwtWvSgY0AzqujOFAqlc1Z7dlTdk,9809
96
- tree_sitter_analyzer-1.7.5.dist-info/METADATA,sha256=KOVhKnK9yXkpDYM_EKNM4tbUYVGkBZBQu0T6A4GKMLY,40685
97
- tree_sitter_analyzer-1.7.5.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
98
- tree_sitter_analyzer-1.7.5.dist-info/entry_points.txt,sha256=TOW_FpPd7qg0Uq0f44VItnO4HXPdYi7yJUjnQH-0fAM,853
99
- tree_sitter_analyzer-1.7.5.dist-info/RECORD,,
102
+ tree_sitter_analyzer/security/validator.py,sha256=PJ2CxYANMi7Ot4rPq2sUgfEF0f7EXoS_3mWqEG4Y-8w,21966
103
+ tree_sitter_analyzer/utils/__init__.py,sha256=U2zLA7-80BE7NB9nV5coL2hdS-TPey22U4il9VkPfRA,3747
104
+ tree_sitter_analyzer/utils/tree_sitter_compat.py,sha256=9hvig3RQp_9H-YN1AWjW1Dl8fugYOPF-M8TRb41LMZU,10861
105
+ tree_sitter_analyzer-1.8.2.dist-info/METADATA,sha256=ty5HIz_tOpOkNlGLuVpUyk6aSD6x9mKtvI4k7pu2MiI,48668
106
+ tree_sitter_analyzer-1.8.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
107
+ tree_sitter_analyzer-1.8.2.dist-info/entry_points.txt,sha256=TJmEXxAMz3og3VPphTHsuE8tNJxf7GuAPjNHwVhXRnc,972
108
+ tree_sitter_analyzer-1.8.2.dist-info/RECORD,,
@@ -8,6 +8,8 @@ tree-sitter-analyzer = tree_sitter_analyzer.cli_main:main
8
8
  tree-sitter-analyzer-mcp = tree_sitter_analyzer.mcp.server:main_sync
9
9
 
10
10
  [tree_sitter_analyzer.plugins]
11
+ css = tree_sitter_analyzer.languages.css_plugin:CssPlugin
12
+ html = tree_sitter_analyzer.languages.html_plugin:HtmlPlugin
11
13
  java = tree_sitter_analyzer.languages.java_plugin:JavaPlugin
12
14
  javascript = tree_sitter_analyzer.languages.javascript_plugin:JavaScriptPlugin
13
15
  markdown = tree_sitter_analyzer.languages.markdown_plugin:MarkdownPlugin