tree-sitter-analyzer 1.7.7__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 (38) hide show
  1. tree_sitter_analyzer/__init__.py +1 -1
  2. tree_sitter_analyzer/api.py +23 -30
  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/formatters/formatter_registry.py +355 -0
  10. tree_sitter_analyzer/formatters/html_formatter.py +462 -0
  11. tree_sitter_analyzer/formatters/language_formatter_factory.py +3 -0
  12. tree_sitter_analyzer/formatters/markdown_formatter.py +1 -1
  13. tree_sitter_analyzer/language_detector.py +80 -7
  14. tree_sitter_analyzer/languages/css_plugin.py +390 -0
  15. tree_sitter_analyzer/languages/html_plugin.py +395 -0
  16. tree_sitter_analyzer/languages/java_plugin.py +116 -0
  17. tree_sitter_analyzer/languages/javascript_plugin.py +113 -0
  18. tree_sitter_analyzer/languages/markdown_plugin.py +266 -46
  19. tree_sitter_analyzer/languages/python_plugin.py +176 -33
  20. tree_sitter_analyzer/languages/typescript_plugin.py +130 -1
  21. tree_sitter_analyzer/mcp/tools/query_tool.py +99 -58
  22. tree_sitter_analyzer/mcp/tools/table_format_tool.py +24 -10
  23. tree_sitter_analyzer/models.py +53 -0
  24. tree_sitter_analyzer/output_manager.py +1 -1
  25. tree_sitter_analyzer/plugins/base.py +50 -0
  26. tree_sitter_analyzer/plugins/manager.py +5 -1
  27. tree_sitter_analyzer/queries/css.py +634 -0
  28. tree_sitter_analyzer/queries/html.py +556 -0
  29. tree_sitter_analyzer/queries/markdown.py +54 -164
  30. tree_sitter_analyzer/query_loader.py +16 -3
  31. tree_sitter_analyzer/security/validator.py +182 -44
  32. tree_sitter_analyzer/utils/__init__.py +113 -0
  33. tree_sitter_analyzer/utils/tree_sitter_compat.py +282 -0
  34. tree_sitter_analyzer/utils.py +62 -24
  35. {tree_sitter_analyzer-1.7.7.dist-info → tree_sitter_analyzer-1.8.2.dist-info}/METADATA +120 -14
  36. {tree_sitter_analyzer-1.7.7.dist-info → tree_sitter_analyzer-1.8.2.dist-info}/RECORD +38 -29
  37. {tree_sitter_analyzer-1.7.7.dist-info → tree_sitter_analyzer-1.8.2.dist-info}/entry_points.txt +2 -0
  38. {tree_sitter_analyzer-1.7.7.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.7
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
@@ -36,10 +36,13 @@ Requires-Dist: chardet>=5.0.0
36
36
  Requires-Dist: mcp>=1.12.3
37
37
  Requires-Dist: psutil>=5.9.8
38
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
39
41
  Requires-Dist: tree-sitter-java<0.25.0,>=0.23.5
40
42
  Requires-Dist: tree-sitter-javascript<0.25.0,>=0.23.1
41
43
  Requires-Dist: tree-sitter-markdown>=0.3.1
42
44
  Requires-Dist: tree-sitter-python<0.25.0,>=0.23.6
45
+ Requires-Dist: tree-sitter-typescript>=0.23.2
43
46
  Requires-Dist: tree-sitter>=0.25.0
44
47
  Provides-Extra: all
45
48
  Requires-Dist: anyio>=4.0.0; extra == 'all'
@@ -71,7 +74,9 @@ Requires-Dist: types-psutil>=5.9.0; extra == 'all'
71
74
  Provides-Extra: all-languages
72
75
  Requires-Dist: tree-sitter-c<0.25.0,>=0.20.0; extra == 'all-languages'
73
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'
74
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'
75
80
  Requires-Dist: tree-sitter-java<0.25.0,>=0.23.5; extra == 'all-languages'
76
81
  Requires-Dist: tree-sitter-javascript<0.25.0,>=0.23.1; extra == 'all-languages'
77
82
  Requires-Dist: tree-sitter-markdown>=0.3.1; extra == 'all-languages'
@@ -82,6 +87,8 @@ Provides-Extra: c
82
87
  Requires-Dist: tree-sitter-c<0.25.0,>=0.20.0; extra == 'c'
83
88
  Provides-Extra: cpp
84
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'
85
92
  Provides-Extra: dev
86
93
  Requires-Dist: black>=24.0.0; extra == 'dev'
87
94
  Requires-Dist: isort>=5.13.0; extra == 'dev'
@@ -124,6 +131,8 @@ Requires-Dist: tree-sitter-typescript<0.25.0,>=0.20.0; extra == 'full'
124
131
  Requires-Dist: types-psutil>=5.9.0; extra == 'full'
125
132
  Provides-Extra: go
126
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'
127
136
  Provides-Extra: integration
128
137
  Requires-Dist: anyio>=4.0.0; extra == 'integration'
129
138
  Requires-Dist: mcp>=1.12.2; extra == 'integration'
@@ -177,6 +186,8 @@ Requires-Dist: tree-sitter-python>=0.23.0; extra == 'test'
177
186
  Provides-Extra: typescript
178
187
  Requires-Dist: tree-sitter-typescript<0.25.0,>=0.20.0; extra == 'typescript'
179
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'
180
191
  Requires-Dist: tree-sitter-javascript<0.25.0,>=0.23.1; extra == 'web'
181
192
  Requires-Dist: tree-sitter-typescript<0.25.0,>=0.20.0; extra == 'web'
182
193
  Description-Content-Type: text/markdown
@@ -187,11 +198,11 @@ Description-Content-Type: text/markdown
187
198
 
188
199
  [![Python Version](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://python.org)
189
200
  [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
190
- [![Tests](https://img.shields.io/badge/tests-3088%20passed-brightgreen.svg)](#quality-assurance)
201
+ [![Tests](https://img.shields.io/badge/tests-3342%20passed-brightgreen.svg)](#quality-assurance)
191
202
  [![Coverage](https://codecov.io/gh/aimasteracc/tree-sitter-analyzer/branch/main/graph/badge.svg)](https://codecov.io/gh/aimasteracc/tree-sitter-analyzer)
192
203
  [![Quality](https://img.shields.io/badge/quality-enterprise%20grade-blue.svg)](#quality-assurance)
193
204
  [![PyPI](https://img.shields.io/pypi/v/tree-sitter-analyzer.svg)](https://pypi.org/project/tree-sitter-analyzer/)
194
- [![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)
195
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)
196
207
  [![GitHub Stars](https://img.shields.io/github/stars/aimasteracc/tree-sitter-analyzer.svg?style=social)](https://github.com/aimasteracc/tree-sitter-analyzer)
197
208
 
@@ -236,13 +247,15 @@ Tree-sitter Analyzer is an enterprise-grade code analysis tool designed for the
236
247
  | **Python** | Complete Support | Type annotations, decorators, modern Python features |
237
248
  | **JavaScript** | Complete Support | ES6+, React/Vue/Angular, JSX |
238
249
  | **TypeScript** | Complete Support | Interfaces, types, decorators, TSX/JSX, framework detection |
239
- | **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 |
240
253
  | **C/C++** | Basic Support | Basic syntax parsing |
241
254
  | **Rust** | Basic Support | Basic syntax parsing |
242
255
  | **Go** | Basic Support | Basic syntax parsing |
243
256
 
244
257
  ### 🏆 Production Ready
245
- - **3,088 Tests** - 100% pass rate, enterprise-grade quality assurance
258
+ - **3,342 Tests** - 100% pass rate, enterprise-grade quality assurance
246
259
  - **High Coverage** - Comprehensive test coverage
247
260
  - **Cross-platform Support** - Compatible with Windows, macOS, Linux
248
261
  - **Continuous Maintenance** - Active development and community support
@@ -391,6 +404,11 @@ uv run python -m tree_sitter_analyzer examples/BigService.java --advanced --outp
391
404
  # Generate detailed structure table for code files
392
405
  uv run python -m tree_sitter_analyzer examples/BigService.java --table=full
393
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
+
394
412
  # Precise code extraction
395
413
  uv run python -m tree_sitter_analyzer examples/BigService.java --partial-read --start-line 93 --end-line 106
396
414
  ```
@@ -590,6 +608,19 @@ AI will automatically:
590
608
  2. Locate and extract the `authenticateUser` method (lines 141-172)
591
609
  3. Generate list of public methods (19 public methods)
592
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
+
593
624
  ---
594
625
 
595
626
  ## 5. 🤖 Complete MCP Tool List
@@ -599,7 +630,7 @@ Tree-sitter Analyzer provides a rich set of MCP tools designed for AI assistants
599
630
  | Tool Category | Tool Name | Main Function | Core Features |
600
631
  |-------------|---------|---------|---------|
601
632
  | **📊 Code Analysis** | `check_code_scale` | Fast code file scale analysis | File size statistics, line count statistics, complexity analysis, performance metrics |
602
- | | `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 |
603
634
  | | `extract_code_section` | Precise code section extraction | Specified line range extraction, large file efficient processing, original format preservation |
604
635
  | **🔍 Intelligent Search** | `list_files` | High-performance file discovery | fd-based, glob patterns, file type filters, time range control |
605
636
  | | `search_content` | Regex content search | ripgrep-based, multiple output formats, context control, encoding handling |
@@ -609,7 +640,31 @@ Tree-sitter Analyzer provides a rich set of MCP tools designed for AI assistants
609
640
  | **📁 Resource Access** | Code file resources | URI code file access | File content access via URI identification |
610
641
  | | Project statistics resources | Project statistics data access | Project analysis data and statistical information |
611
642
 
612
- ### 🆕 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
613
668
 
614
669
  Brand new Markdown language support provides powerful capabilities for document analysis and AI assistants:
615
670
 
@@ -658,6 +713,12 @@ uv run python -m tree_sitter_analyzer examples/BigService.java --advanced
658
713
  # Generate complete structure table
659
714
  uv run python -m tree_sitter_analyzer examples/BigService.java --table=full
660
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
+
661
722
  # Specify output format
662
723
  uv run python -m tree_sitter_analyzer examples/BigService.java --advanced --output-format=json
663
724
  uv run python -m tree_sitter_analyzer examples/BigService.java --advanced --output-format=text
@@ -676,6 +737,18 @@ uv run python -m tree_sitter_analyzer script.py --language python --table=full
676
737
  uv run python -m tree_sitter_analyzer examples/BigService.java --query-key methods
677
738
  uv run python -m tree_sitter_analyzer examples/BigService.java --query-key classes
678
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
+
679
752
  # Filter query results
680
753
  # Find specific methods
681
754
  uv run python -m tree_sitter_analyzer examples/BigService.java --query-key methods --filter "name=main"
@@ -693,6 +766,28 @@ uv run python -m tree_sitter_analyzer examples/BigService.java --query-key metho
693
766
  uv run python -m tree_sitter_analyzer --filter-help
694
767
  ```
695
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
+
696
791
  #### 📁 File System Operation Commands
697
792
 
698
793
  ```bash
@@ -744,7 +839,7 @@ uv run python -m tree_sitter_analyzer --show-query-languages
744
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 |
745
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 |
746
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 |
747
- | **🌍 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 |
748
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 |
749
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 |
750
845
 
@@ -753,13 +848,23 @@ uv run python -m tree_sitter_analyzer --show-query-languages
753
848
  ## 8. 🏆 Quality Assurance
754
849
 
755
850
  ### 📊 Quality Metrics
756
- - **3,088 tests** - 100% pass rate ✅
851
+ - **3,342 tests** - 100% pass rate ✅
757
852
  - **High code coverage** - Comprehensive test suite
758
853
  - **Zero test failures** - Production ready
759
854
  - **Cross-platform support** - Windows, macOS, Linux
760
855
 
761
- ### ⚡ Latest Quality Achievements (v1.7.5)
762
- - ✅ **📊 Enhanced Quality Metrics** - Test count increased to 3,088 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
763
868
  - ✅ **🔧 System Stability** - All tests passing with enhanced system stability and reliability
764
869
  - ✅ **🆕 Complete Markdown Support** - Added new complete Markdown language plugin supporting all major Markdown elements
765
870
  - ✅ **📝 Enhanced Document Analysis** - Support for intelligent extraction of headers, code blocks, links, images, tables, task lists
@@ -810,8 +915,9 @@ The project maintains high-quality test coverage. For detailed module coverage i
810
915
  **Verification environment:**
811
916
  - Operating systems: Windows 10, macOS, Linux
812
917
  - Python version: 3.10+
813
- - Project version: tree-sitter-analyzer v1.7.5
918
+ - Project version: tree-sitter-analyzer v1.8.2
814
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
815
921
 
816
922
  ---
817
923
 
@@ -1,21 +1,22 @@
1
- tree_sitter_analyzer/__init__.py,sha256=xWap73ImPJpNVKE4Ilozpzocq52xSK3vtvVDYU3W2kI,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=BzH-0MmK7qoNvsTAmLovFq3E_50ci0CoozzYXJdn3cQ,22759
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
7
  tree_sitter_analyzer/exceptions.py,sha256=XvuUYsB80JYcpfU3Lq0XXpmeV3aWK2tJ_nKNGJtILe4,23116
8
8
  tree_sitter_analyzer/file_handler.py,sha256=pyNro47kYoRuQBPkyEo9ileqlQ1A7w890deQltnzMas,7115
9
- tree_sitter_analyzer/language_detector.py,sha256=9vPer4Lr1tjNR_GMP-OyuLTIldgKszRRddvBVSt1x1E,13353
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,22 +29,24 @@ 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
@@ -52,11 +55,13 @@ tree_sitter_analyzer/interfaces/cli_adapter.py,sha256=8j3xL3k6wWrGQCq0KCntqbvSxK
52
55
  tree_sitter_analyzer/interfaces/mcp_adapter.py,sha256=iSWcm-bn8_pL6YBu1Rrzherv72-5WUiavColu3uhSAY,7707
53
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
@@ -69,10 +74,10 @@ tree_sitter_analyzer/mcp/tools/base_tool.py,sha256=qf2My325azlnKOugNVMN_R1jtZcjX
69
74
  tree_sitter_analyzer/mcp/tools/fd_rg_utils.py,sha256=9jQ4D5yREs7Nt8L0s-NdVtmaKXJAAOKqAAI8mkW3T2o,18664
70
75
  tree_sitter_analyzer/mcp/tools/find_and_grep_tool.py,sha256=9p_Olh6wjuUAVqHfXnsUj3crZtUV4_R6zAfKRqe8jTY,31623
71
76
  tree_sitter_analyzer/mcp/tools/list_files_tool.py,sha256=nd6uiOqbsr8NUqNL46d8QnOM-XpMTDOFiaccjBaGLl8,18268
72
- tree_sitter_analyzer/mcp/tools/query_tool.py,sha256=25k7AHYH4gzhu2XQ5CetBDXDTd_nLdXcEIKmDi6jj04,15367
77
+ tree_sitter_analyzer/mcp/tools/query_tool.py,sha256=BgkfLYGcRpRk7cNbhD1rOSnSvoZv2H9nPqnwX3DpXQs,17011
73
78
  tree_sitter_analyzer/mcp/tools/read_partial_tool.py,sha256=lC3Zigp3_v8RU_fi5Fz0O_idjP6z_AmgoqVQOethL3I,18493
74
79
  tree_sitter_analyzer/mcp/tools/search_content_tool.py,sha256=wGYjP5OZqqcKnLwF5sdpH3xMuUaxJmwYWU6Rg3R7CAw,32463
75
- tree_sitter_analyzer/mcp/tools/table_format_tool.py,sha256=gmLqWwFJC63YuyHyMsmCtm-tki1bzeHFvGPIHQTjhig,21398
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=GLsb0TQLzx7mEQ5g-_lLXK8Zo-_r8EM9HtEQCh3vxrc,17037
96
- tree_sitter_analyzer-1.7.7.dist-info/METADATA,sha256=SEZZeToclVg4umS6VTTw_bNUwP-XC9mSf-MsaxMnlp4,41591
97
- tree_sitter_analyzer-1.7.7.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
98
- tree_sitter_analyzer-1.7.7.dist-info/entry_points.txt,sha256=TOW_FpPd7qg0Uq0f44VItnO4HXPdYi7yJUjnQH-0fAM,853
99
- tree_sitter_analyzer-1.7.7.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