tree-sitter-analyzer 1.7.2__py3-none-any.whl → 1.7.4__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 (29) hide show
  1. tree_sitter_analyzer/__init__.py +1 -1
  2. tree_sitter_analyzer/cli/commands/advanced_command.py +52 -0
  3. tree_sitter_analyzer/cli/commands/structure_command.py +50 -1
  4. tree_sitter_analyzer/cli/commands/summary_command.py +49 -0
  5. tree_sitter_analyzer/cli/commands/table_command.py +48 -0
  6. tree_sitter_analyzer/core/query_service.py +155 -5
  7. tree_sitter_analyzer/formatters/base_formatter.py +29 -2
  8. tree_sitter_analyzer/formatters/language_formatter_factory.py +83 -0
  9. tree_sitter_analyzer/formatters/markdown_formatter.py +557 -0
  10. tree_sitter_analyzer/language_detector.py +30 -0
  11. tree_sitter_analyzer/language_loader.py +1 -0
  12. tree_sitter_analyzer/languages/markdown_plugin.py +1673 -0
  13. tree_sitter_analyzer/languages/python_plugin.py +75 -16
  14. tree_sitter_analyzer/mcp/server.py +5 -74
  15. tree_sitter_analyzer/mcp/tools/analyze_scale_tool.py +8 -18
  16. tree_sitter_analyzer/mcp/tools/find_and_grep_tool.py +1 -1
  17. tree_sitter_analyzer/mcp/tools/list_files_tool.py +1 -1
  18. tree_sitter_analyzer/mcp/tools/query_tool.py +86 -3
  19. tree_sitter_analyzer/mcp/tools/read_partial_tool.py +91 -23
  20. tree_sitter_analyzer/mcp/tools/search_content_tool.py +1 -1
  21. tree_sitter_analyzer/mcp/tools/table_format_tool.py +7 -17
  22. tree_sitter_analyzer/queries/javascript.py +20 -0
  23. tree_sitter_analyzer/queries/markdown.py +379 -0
  24. tree_sitter_analyzer/queries/typescript.py +22 -0
  25. tree_sitter_analyzer/query_loader.py +1 -0
  26. {tree_sitter_analyzer-1.7.2.dist-info → tree_sitter_analyzer-1.7.4.dist-info}/METADATA +45 -20
  27. {tree_sitter_analyzer-1.7.2.dist-info → tree_sitter_analyzer-1.7.4.dist-info}/RECORD +29 -25
  28. {tree_sitter_analyzer-1.7.2.dist-info → tree_sitter_analyzer-1.7.4.dist-info}/entry_points.txt +1 -0
  29. {tree_sitter_analyzer-1.7.2.dist-info → tree_sitter_analyzer-1.7.4.dist-info}/WHEEL +0 -0
@@ -1,4 +1,4 @@
1
- tree_sitter_analyzer/__init__.py,sha256=kz0kyobXXhmOq8JWuJHjr3MhC9OfOGOJ5CAcq7e_0d4,3067
1
+ tree_sitter_analyzer/__init__.py,sha256=sAnAstAsJRcbVXie-rL9et9TTyIlTj2BQiM7CMrWc5A,3067
2
2
  tree_sitter_analyzer/__main__.py,sha256=Zl79tpe4UaMu-7yeztc06tgP0CVMRnvGgas4ZQP5SCs,228
3
3
  tree_sitter_analyzer/api.py,sha256=jzwID6fJNdhQkJP3D0lzBVPhOnGIN4tyyMtmRYdK9zI,22753
4
4
  tree_sitter_analyzer/cli_main.py,sha256=BuaM-L-Jx3G49qvAUOQVsw0wEM-X0UzPaRszRZBist4,10374
@@ -6,19 +6,19 @@ tree_sitter_analyzer/constants.py,sha256=7w3sLFt_6vPaKsxzrc21K1rOKpLGMyyA1203nu3
6
6
  tree_sitter_analyzer/encoding_utils.py,sha256=BgdBKnW20EueEFJT-aLrQI38bTOcR5rWQ3Dpa-ALszA,14805
7
7
  tree_sitter_analyzer/exceptions.py,sha256=AZryCQyKXekAg8lQZd3zqULnjhCKovBNNpnUlNGDhcI,11615
8
8
  tree_sitter_analyzer/file_handler.py,sha256=mtWz-DE4yfmak347s0e20xFNy3qddcek58Enom5GlZQ,6689
9
- tree_sitter_analyzer/language_detector.py,sha256=5asuTklAmvW7hDmffMRegCYJh6aPR-VWLA-5qOLX7Z8,11737
10
- tree_sitter_analyzer/language_loader.py,sha256=gBUXGPTv91bRNs_urH23wzNKgh7ki6KkvpQ7iNPe3Rw,8922
9
+ tree_sitter_analyzer/language_detector.py,sha256=MoGDGqKREBd3GMPJ7QoQCdBmTloWskC5plnjNfDuEO0,12957
10
+ tree_sitter_analyzer/language_loader.py,sha256=sIICLkht_PeVoYV1KTs5bSgOJej9xK9wbyRB2-0Agws,8966
11
11
  tree_sitter_analyzer/models.py,sha256=eZSVTl4s0rnqG21nyCTaJhyhDw1HZkkpMRKCi2QRkL0,20404
12
12
  tree_sitter_analyzer/output_manager.py,sha256=tMEyjGeczqphcLoHdqxgyW8KaG8w6JF-fhsIibNQiCU,8260
13
13
  tree_sitter_analyzer/project_detector.py,sha256=-zmtm12EvVD_6TDxS_6KpzuswP2Bpppnxq50kAEDyMA,9430
14
- tree_sitter_analyzer/query_loader.py,sha256=jcJc6_kIMeZINfTVGuiEmDii9LViP_pbJfg4A9phJY4,9863
14
+ tree_sitter_analyzer/query_loader.py,sha256=fqLdjifjz2n471PkjyQSu-8tYizM47gLV_DtRYvsrQU,9887
15
15
  tree_sitter_analyzer/table_formatter.py,sha256=tPKw77LLlQ7k5MMs9_Ez7qsSroNaSzZPoplyPtKHLhA,28577
16
16
  tree_sitter_analyzer/utils.py,sha256=AwQ6Xv1IGUTf5ich-nNoY5oEyIGROoB802ZNF3gyqto,11871
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
19
  tree_sitter_analyzer/cli/info_commands.py,sha256=thWCLZ4iGVmqxuQfUz3t-uNRv9X3lgtWnsUJm6mbJ7o,4432
20
20
  tree_sitter_analyzer/cli/commands/__init__.py,sha256=jpcpM1ptLuxLMBDUv1y_a87k8RAw1otFzeYpWtXvz3Y,671
21
- tree_sitter_analyzer/cli/commands/advanced_command.py,sha256=ldvPljTRIYB3NCK3K7O6TYU4kUBAkY-qhw90yUiuQ9w,8714
21
+ tree_sitter_analyzer/cli/commands/advanced_command.py,sha256=gEO6Bc9zBHoGNZMpKr3BXQFJK57WAf2-fDJPTAaD_Lo,11434
22
22
  tree_sitter_analyzer/cli/commands/base_command.py,sha256=MGlRA6sIcMt6ta-07NOFcPz8-eUwwS2g-JlBVYn105s,6611
23
23
  tree_sitter_analyzer/cli/commands/default_command.py,sha256=RAR_eaOK3EndIqU7QL5UAn44mwyhItTN7aUaKL1WmSc,524
24
24
  tree_sitter_analyzer/cli/commands/find_and_grep_cli.py,sha256=Kg5H11FB7dEOS9Ors41T89roJjuwJ4t26n_Dv2ra5Og,6290
@@ -26,9 +26,9 @@ tree_sitter_analyzer/cli/commands/list_files_cli.py,sha256=rgeP3PFrBYhebvnWJ7dOE
26
26
  tree_sitter_analyzer/cli/commands/partial_read_command.py,sha256=lbuy9X_q5pyf_cJXVvx_AYJg_tfxF1R0U93Is-MVW_A,4619
27
27
  tree_sitter_analyzer/cli/commands/query_command.py,sha256=VFuCFJxffjSUrMa7NB_KJmMexUnJmnazpTDbw-i9Ulw,4003
28
28
  tree_sitter_analyzer/cli/commands/search_content_cli.py,sha256=A30806cWaBfqfchhIZ0qK23cfoIQTTYk33Y119TGx34,5093
29
- tree_sitter_analyzer/cli/commands/structure_command.py,sha256=rLg-HqahOc25rStDF_ICAhBZaaCxz0KhTVlyjUhc0Wc,5572
30
- tree_sitter_analyzer/cli/commands/summary_command.py,sha256=lucn4weCpDrck-Z48ikrRZWjlGXaGJ4oCGMcgguW9yQ,3894
31
- tree_sitter_analyzer/cli/commands/table_command.py,sha256=Ygfb-U1jBVhWBux3R4JS-XTGwOM_evroqjoeDkiJQHc,9648
29
+ tree_sitter_analyzer/cli/commands/structure_command.py,sha256=CFlem2raHX8DEC2FJlmYVYnjlrnKpt2fz5OvIk2VCo8,7984
30
+ 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
32
  tree_sitter_analyzer/core/__init__.py,sha256=VlYOy1epW16vjaVd__knESewnU0sfXF9a4hjrFxiSEE,440
33
33
  tree_sitter_analyzer/core/analysis_engine.py,sha256=IHE4ZQDGI4uu2Eh0QYX1bPsDBhtEu7JkImHEVnC7gog,18781
34
34
  tree_sitter_analyzer/core/cache_service.py,sha256=0oZGuTpeHBKYNdnqAOVi6VlQukYMIHncz2pbVfNpSqE,9762
@@ -36,12 +36,14 @@ tree_sitter_analyzer/core/engine.py,sha256=5CheLzsxrApY6o2uM8sdYdzK4HkQypxlsYEFp
36
36
  tree_sitter_analyzer/core/parser.py,sha256=qT3yIlTRdod4tf_2o1hU_B-GYGukyM2BtaFxzSoxois,9293
37
37
  tree_sitter_analyzer/core/query.py,sha256=UhQxUmQitFobe2YM7Ifhi3X2WdHVb02KzeBunueYJ4I,16397
38
38
  tree_sitter_analyzer/core/query_filter.py,sha256=PvGztAZFooFNZe6iHNmbg6RUNtMvq6f6hBZFzllig6Y,6591
39
- tree_sitter_analyzer/core/query_service.py,sha256=j9v3w2j3axhxzFEbZLovDNT2h6kF4PWbJVL_PmKl3ho,5542
39
+ tree_sitter_analyzer/core/query_service.py,sha256=sMdI81_YAt0YcNzPsj2QA4q1KACf2g9LsJw3UP5qxwo,14687
40
40
  tree_sitter_analyzer/formatters/__init__.py,sha256=yVb4HF_4EEPRwTf3y3-vM2NllrhykG3zlvQhN-6dB4c,31
41
- tree_sitter_analyzer/formatters/base_formatter.py,sha256=XZwZ0klyCnmNkpWnMP7dy0XGaHForjE-BnBt1XZoQE8,5901
41
+ tree_sitter_analyzer/formatters/base_formatter.py,sha256=q515mnhpXV7jd0ysJ7R3VFOCm9e4x7ADVKSkVEYd8lA,6656
42
42
  tree_sitter_analyzer/formatters/formatter_factory.py,sha256=4fsSMxhBmGWFmPjcuwkTvgiIWWFireaOaChYi1UNnSM,2381
43
43
  tree_sitter_analyzer/formatters/java_formatter.py,sha256=0jxKfrWtsr_K2VG1zW0LH2E6w6nfpIhcXTfIyWw3Jmc,11163
44
44
  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
45
47
  tree_sitter_analyzer/formatters/python_formatter.py,sha256=qE4C6Q5b_Mzr_PptqWZIJuxS945Ws_pmjPGpfqJ_GcY,17224
46
48
  tree_sitter_analyzer/formatters/typescript_formatter.py,sha256=mMl6dWSa2EQny_k_gozzyMYnyZq85WJQuJ61kbOSd2o,19402
47
49
  tree_sitter_analyzer/interfaces/__init__.py,sha256=OcT7eNIU0ZXvAeAXbhDqRG3puxn93HeSLqplwj6npTM,271
@@ -52,24 +54,25 @@ tree_sitter_analyzer/interfaces/mcp_server.py,sha256=dUFn1CyO2jLa_y5gGOGE-f0sLGA
52
54
  tree_sitter_analyzer/languages/__init__.py,sha256=VTXxJgVjHJAciLhX0zzXOS4EygZMtebeYUbi_0z6fGw,340
53
55
  tree_sitter_analyzer/languages/java_plugin.py,sha256=SEGS-54gF2-kIv8ftYGqq_KNnwPXGw9XnSONlzowHWk,53191
54
56
  tree_sitter_analyzer/languages/javascript_plugin.py,sha256=2O6X5M1ZKQNdWoMmMJXHw5CEk2FxkPjR6wy3iHCyeak,57090
55
- tree_sitter_analyzer/languages/python_plugin.py,sha256=Vw3PrZA-xiK9yRo-05h19PbP8OKIg_4xkr0OB_ZfrwE,51089
57
+ tree_sitter_analyzer/languages/markdown_plugin.py,sha256=OgnqLQBsl6g-nQZgm6jSfCCZLW0NQkA2k0utRBjKZTQ,72427
58
+ tree_sitter_analyzer/languages/python_plugin.py,sha256=faDvcUW_yJxrD4Lry0NaljD6EMYuWBE2D1UVCTBmEtE,54267
56
59
  tree_sitter_analyzer/languages/typescript_plugin.py,sha256=rPgSMkIZzYty23sitWv2NjqePLitTdH_17BdPtNCNl0,67885
57
60
  tree_sitter_analyzer/mcp/__init__.py,sha256=8tC54ZYcZBcFEio-aDet7evzis50zV5gbHuvn_7K514,944
58
- tree_sitter_analyzer/mcp/server.py,sha256=_Ak0D2vNyvMG-YUpjD98w6GZ-ZZrSKvCPU5hzyNTux8,35236
61
+ tree_sitter_analyzer/mcp/server.py,sha256=zr3Imq8uq9pqXuCckw5TT5Gt-QJP3h5h0WHn0XCiNNI,31928
59
62
  tree_sitter_analyzer/mcp/resources/__init__.py,sha256=D46ZDhPQaCrQze8dHmijMg1QZQ4ABRIjG532sFpuGPo,1367
60
63
  tree_sitter_analyzer/mcp/resources/code_file_resource.py,sha256=ZX5ZYSJfylBedpL80kTDlco2YZqgRMb5f3OW0VvOVRM,6166
61
64
  tree_sitter_analyzer/mcp/resources/project_stats_resource.py,sha256=YF_LyYwt1uoJx27FvWbVSbIaS5c5RDO-73QL_DfNwTE,20360
62
65
  tree_sitter_analyzer/mcp/tools/__init__.py,sha256=9KfetZTaUhvWTeKuZPYzWb7ZomFQ8SsR1qmXVBT4E7c,739
63
- tree_sitter_analyzer/mcp/tools/analyze_scale_tool.py,sha256=JyS9gey2oFoWjzsiiLjwcqTgwBYGlbY01vAK3QYUuF4,28470
66
+ tree_sitter_analyzer/mcp/tools/analyze_scale_tool.py,sha256=4ls3IuoePMwyYVNFpHznXuv0MZhVEJV0cNKnnz5zTUo,28087
64
67
  tree_sitter_analyzer/mcp/tools/analyze_scale_tool_cli_compatible.py,sha256=mssed7bEfGeGxW4mOf7dg8BDS1oqHLolIBNX9DaZ3DM,8997
65
68
  tree_sitter_analyzer/mcp/tools/base_tool.py,sha256=qf2My325azlnKOugNVMN_R1jtZcjXVy354sGVKzvZls,3546
66
69
  tree_sitter_analyzer/mcp/tools/fd_rg_utils.py,sha256=R1ICH40vkWO3OdKZjxok9ptQZpZ6-tM5SkLHHOC4-BE,17749
67
- tree_sitter_analyzer/mcp/tools/find_and_grep_tool.py,sha256=2Y5V61T4-Y90W38erzIN6D1orlYlkPx9kaoKTfmInEs,31038
68
- tree_sitter_analyzer/mcp/tools/list_files_tool.py,sha256=JxgLpFgJFk6_9VtlvzOlzWnfYs9yZOPIVwnl10pRoZU,17864
69
- tree_sitter_analyzer/mcp/tools/query_tool.py,sha256=1xY1ONNY2sIFJxoILlnNzBnwGVgzEF7vVJ2ccqR9auA,10879
70
- tree_sitter_analyzer/mcp/tools/read_partial_tool.py,sha256=BMAJF205hTIrYTQJG6N1-vVuKSby2CSm9nWzSMMWceI,11339
71
- tree_sitter_analyzer/mcp/tools/search_content_tool.py,sha256=2HbHxRzPkddXPgwKrx8ACZMuVF6R9fLZXM_EWILu-l4,31994
72
- tree_sitter_analyzer/mcp/tools/table_format_tool.py,sha256=VhmrDSKE5WdnoJhWjZc67z5q3qiBMBhNFW9uZ22psU8,21252
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
73
76
  tree_sitter_analyzer/mcp/tools/universal_analyze_tool.py,sha256=-zZnqN9WcoyRTKM_16ADH859LSebzi34BGYwQL2zCOs,25084
74
77
  tree_sitter_analyzer/mcp/utils/__init__.py,sha256=TgTTKsRJAqF95g1fAp5SR_zQVDkImpc_5R0Dw529UUw,3126
75
78
  tree_sitter_analyzer/mcp/utils/error_handler.py,sha256=msrQHX67K3vhJsEc3OPRz5mmWU_yoHz55Lnxy0IZuy4,18404
@@ -82,14 +85,15 @@ tree_sitter_analyzer/plugins/base.py,sha256=FMRAOtjtDutNV8RnB6cmFgdvcjxKRAbrrzql
82
85
  tree_sitter_analyzer/plugins/manager.py,sha256=PyEY3jeuCBpDVqguWhaAu7nzUZM17_pI6wml2e0Hamo,12535
83
86
  tree_sitter_analyzer/queries/__init__.py,sha256=dwDDc7PCw_UWruxSeJ8uEBjY0O5uLDBI5YqyvBhbnN0,696
84
87
  tree_sitter_analyzer/queries/java.py,sha256=avaPFeHz3Ig-yTdCDKfUKaG-5sktOEkrXG2p9_mEZVs,12388
85
- tree_sitter_analyzer/queries/javascript.py,sha256=ccsCMArJOPMWg2CTqnd9adzfT14CX8OugehV3CqfDcE,22545
88
+ tree_sitter_analyzer/queries/javascript.py,sha256=XeIreI10rz__viix3zGCENCfC3yLT4ZQCp8DpYnbXKU,23104
89
+ tree_sitter_analyzer/queries/markdown.py,sha256=QbBBIv_nVQ9UOWYgthvcHECLkj2ueWamZgNS6g3kNf8,10882
86
90
  tree_sitter_analyzer/queries/python.py,sha256=vKUeZqmgDUYzRfgInxF7IZ52Oja-ZslexseknmVLiwo,26116
87
- tree_sitter_analyzer/queries/typescript.py,sha256=e9sMBPBiyVr0siJf35HQkiAgrjHJDJ7ysI5QiNnMAr4,21904
91
+ tree_sitter_analyzer/queries/typescript.py,sha256=I0bWcCv-sRcZHVsdHdfb1UIRI_G3l0S9A1oR4LCjLwE,22527
88
92
  tree_sitter_analyzer/security/__init__.py,sha256=ZTqTt24hsljCpTXAZpJC57L7MU5lJLTf_XnlvEzXwEE,623
89
93
  tree_sitter_analyzer/security/boundary_manager.py,sha256=3eeENRKWtz2pyZHzd8DiVaq8fdeC6s1eVOuBylSmQPg,9347
90
94
  tree_sitter_analyzer/security/regex_checker.py,sha256=jWK6H8PTPgzbwRPfK_RZ8bBTS6rtEbgjY5vr3YWjQ_U,9616
91
95
  tree_sitter_analyzer/security/validator.py,sha256=yR4qTWEcXpR--bSFwtWvSgY0AzqujOFAqlc1Z7dlTdk,9809
92
- tree_sitter_analyzer-1.7.2.dist-info/METADATA,sha256=1JDW31p0z4DGtk18wP8h9Z7idPGSQvr9BbS-4wcz0-U,37336
93
- tree_sitter_analyzer-1.7.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
94
- tree_sitter_analyzer-1.7.2.dist-info/entry_points.txt,sha256=gbMks8mHqDZWyGnawAW2uNU5g-mrD1vLBiIoLvnaJP0,780
95
- tree_sitter_analyzer-1.7.2.dist-info/RECORD,,
96
+ tree_sitter_analyzer-1.7.4.dist-info/METADATA,sha256=TeKuuQllhXVQ56SwWcmlY6SEM6_Z6Q2fB3QJIa7Q5F8,39716
97
+ tree_sitter_analyzer-1.7.4.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
98
+ tree_sitter_analyzer-1.7.4.dist-info/entry_points.txt,sha256=TOW_FpPd7qg0Uq0f44VItnO4HXPdYi7yJUjnQH-0fAM,853
99
+ tree_sitter_analyzer-1.7.4.dist-info/RECORD,,
@@ -10,5 +10,6 @@ tree-sitter-analyzer-mcp = tree_sitter_analyzer.mcp.server:main_sync
10
10
  [tree_sitter_analyzer.plugins]
11
11
  java = tree_sitter_analyzer.languages.java_plugin:JavaPlugin
12
12
  javascript = tree_sitter_analyzer.languages.javascript_plugin:JavaScriptPlugin
13
+ markdown = tree_sitter_analyzer.languages.markdown_plugin:MarkdownPlugin
13
14
  python = tree_sitter_analyzer.languages.python_plugin:PythonPlugin
14
15
  typescript = tree_sitter_analyzer.languages.typescript_plugin:TypeScriptPlugin