# Compatibilità e specifiche tecniche

Canonical source: https://maguyva.ai/it/docs/compatibility

License: text under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/); code samples under [MIT-0](https://opensource.org/license/mit-0); the Maguyva name, logos, brand assets and other code are not covered. Details: [maguyva.ai/license](https://maguyva.ai/license).

Di seguito i conteggi delle capacità che alimentano la ricerca strutturale, la ricerca di simboli, l’analisi basata sul grafo e l’indicizzazione di base.

Questi indicatori mostrano le funzionalità abilitate nella configurazione attuale dei linguaggi, non punteggi di qualità dell'intero processo. La disponibilità del grafo richiede che siano abilitati un parser, l'estrazione dei simboli e l'estrazione del grafo. I tipi di relazione supportati e la profondità di estrazione variano in base al linguaggio.

- Copertura indicizzata: **285**. Ogni linguaggio elencato è indicizzato per il contesto di file, testo e repository.
- Ricerca strutturale AST: **247**. Linguaggi con struttura basata su parser per flussi di lavoro AST e ricerca strutturale.
- Estrazione dei simboli: **282**. Linguaggi con metadati dei simboli per definizioni e ricerca.
- Relazioni del grafo: **151**. Linguaggi con estrazione operativa delle relazioni per la ricerca basata sul grafo. La profondità varia in base al linguaggio e al tipo di relazione.

- `ast_structural=false`: Indicizzazione text-first con analisi strutturale più limitata.
- `symbol_extraction=false`: L'estrazione dei simboli è limitata, quindi la navigazione si appoggia di più al contesto di file e struttura.
- `relationship_extraction=false`: Questo linguaggio è indicizzato per la ricerca, ma al momento non viene memorizzato nel grafo del codice.

| language | indexed | ast_structural | symbol_extraction | relationship_extraction |
| --- | --- | --- | --- | --- |
| ABAP (`abap`) | true | true | true | true |
| ActionScript (`actionscript`) | true | true | true | true |
| Ada (`ada`) | true | true | true | true |
| Agda (`agda`) | true | true | true | true |
| AL (`al`) | true | false | true | true |
| Angular (`angular`) | true | true | true | true |
| Apache Avro IDL (`avro`) | true | true | true | false |
| Apex (`apex`) | true | true | true | true |
| Arduino (`arduino`) | true | true | true | true |
| AsciiDoc (`asciidoc`) | true | true | true | false |
| Assembly (`asm`) | true | true | true | false |
| Astro (`astro`) | true | true | true | true |
| AWK (`awk`) | true | true | true | true |
| Bash/Shell (`bash`) | true | true | true | true |
| Bass (`bass`) | true | false | true | true |
| Batch (`batch`) | true | false | true | true |
| Beancount (`beancount`) | true | true | true | false |
| BibTeX (`bibtex`) | true | true | true | false |
| Bicep (`bicep`) | true | true | true | false |
| BitBake (`bitbake`) | true | true | true | false |
| Blade (`blade`) | true | true | true | true |
| BrightScript (`brightscript`) | true | false | true | true |
| BSL (1C:Enterprise Script) (`bsl`) | true | true | true | true |
| C (`c`) | true | true | true | true |
| C# (`csharp`) | true | true | true | true |
| C++ (`cpp`) | true | true | true | true |
| C3 (`c3`) | true | true | true | true |
| Caddyfile (`caddy`) | true | false | true | false |
| Cairo (`cairo`) | true | true | true | true |
| Cap'n Proto (`capnp`) | true | true | true | false |
| Cedar (`cedar`) | true | false | true | false |
| Cedar Schema (`cedarschema`) | true | false | true | false |
| CFML (`cfml`) | true | true | true | true |
| Chatito (`chatito`) | true | true | true | false |
| Circom (`circom`) | true | true | true | false |
| Clarity (`clarity`) | true | true | true | true |
| Clojure (`clojure`) | true | true | true | true |
| CMake (`cmake`) | true | true | true | false |
| COBOL (`cobol`) | true | true | true | true |
| CodeQL (`ql`) | true | true | true | true |
| Comments (`comment`) | true | true | true | false |
| Common Lisp (`commonlisp`) | true | true | true | true |
| Cooklang (`cooklang`) | true | false | true | false |
| Corn (`corn`) | true | true | true | false |
| CPON (`cpon`) | true | true | true | false |
| Crystal (`crystal`) | true | true | true | true |
| CSS (`css`) | true | true | true | true |
| CSV (`csv`) | true | true | true | false |
| CUDA (`cuda`) | true | true | true | true |
| CUE (`cue`) | true | true | true | false |
| Cylc (`cylc`) | true | true | true | false |
| Cython (`cython`) | true | true | true | true |
| D (`d`) | true | true | true | true |
| D2 (`d2`) | true | true | true | false |
| Dart (`dart`) | true | true | true | true |
| Desktop Entry (`desktop`) | true | false | true | false |
| Device Tree (`devicetree`) | true | true | true | false |
| Dhall (`dhall`) | true | true | true | false |
| Diff (`diff`) | true | false | true | false |
| Django HTML (`htmldjango`) | true | true | true | true |
| Djot (`djot`) | true | true | true | false |
| Dockerfile (`dockerfile`) | true | true | true | false |
| DOT (`dot`) | true | true | true | false |
| Doxygen (`doxygen`) | true | true | true | false |
| DTD (`dtd`) | true | true | true | false |
| Earthfile (`earthfile`) | true | false | true | false |
| EBNF (`ebnf`) | true | false | true | false |
| EditorConfig (`editorconfig`) | true | false | true | false |
| EDS (`eds`) | true | false | true | false |
| EEx (`eex`) | true | true | true | true |
| Elixir (`elixir`) | true | true | true | true |
| Elm (`elm`) | true | true | true | true |
| Elsa (`elsa`) | true | false | true | false |
| Elvish (`elvish`) | true | true | true | true |
| Emacs Lisp (`elisp`) | true | true | true | true |
| Embedded Template (`embeddedtemplate`) | true | true | true | true |
| Enforce (`enforce`) | true | false | true | true |
| Erlang (`erlang`) | true | true | true | true |
| F# (`fsharp`) | true | true | true | true |
| F# Signature (`fsharp_signature`) | true | true | true | true |
| Facility (`facility`) | true | false | true | false |
| Faust (`faust`) | true | false | true | true |
| Fennel (`fennel`) | true | true | true | true |
| FIDL (`fidl`) | true | false | true | false |
| FIRRTL (`firrtl`) | true | true | true | false |
| Fish Shell (`fish`) | true | true | true | true |
| Forth (`forth`) | true | true | true | true |
| Fortran (`fortran`) | true | true | true | true |
| Func (`func`) | true | true | true | true |
| GDScript (`gdscript`) | true | true | true | true |
| Git Attributes (`gitattributes`) | true | true | true | false |
| Git Commit (`gitcommit`) | true | true | true | false |
| Git Config (`git_config`) | true | false | true | false |
| Git Ignore (`gitignore`) | true | true | true | false |
| Git Rebase (`git_rebase`) | true | false | true | false |
| Gleam (`gleam`) | true | true | true | true |
| Glimmer (`glimmer`) | true | true | true | true |
| GLSL (`glsl`) | true | true | true | false |
| GN (`gn`) | true | true | true | false |
| Go (`go`) | true | true | true | true |
| Go Module (`gomod`) | true | true | true | false |
| Go Sum (`gosum`) | true | true | true | false |
| Go Template (`gotmpl`) | true | true | true | true |
| Godot Resource (`godot_resource`) | true | false | true | false |
| GraphQL (`graphql`) | true | true | true | true |
| Groovy (`groovy`) | true | true | true | true |
| GStreamer Launch (`gstlaunch`) | true | true | true | false |
| Hack (`hack`) | true | true | true | true |
| Hare (`hare`) | true | true | true | true |
| Haskell (`haskell`) | true | true | true | true |
| Haxe (`haxe`) | true | true | true | true |
| HCL (`hcl`) | true | true | true | false |
| HEEx (`heex`) | true | true | true | true |
| HLSL (`hlsl`) | true | true | true | true |
| Hoon (`hoon`) | true | true | true | true |
| HTML (`html`) | true | true | true | true |
| HTTP (`http`) | true | true | true | false |
| Hurl (`hurl`) | true | true | true | false |
| Hyprlang (`hyprlang`) | true | true | true | false |
| Idris (`idris`) | true | true | true | true |
| INI (`ini`) | true | true | true | false |
| Inko (`inko`) | true | true | true | true |
| ISPC (`ispc`) | true | true | true | true |
| Janet (`janet`) | true | true | true | true |
| Java (`java`) | true | true | true | true |
| JavaScript (`javascript`) | true | true | true | true |
| Jinja2 (`jinja2`) | true | false | true | true |
| jq (`jq`) | true | true | true | true |
| JSDoc (`jsdoc`) | true | true | true | false |
| JSON (`json`) | true | true | true | false |
| Jsonnet (`jsonnet`) | true | true | true | false |
| JSX (`jsx`) | true | true | true | true |
| Julia (`julia`) | true | true | true | true |
| Just (`just`) | true | true | true | false |
| Kconfig (`kconfig`) | true | true | true | false |
| KDL (`kdl`) | true | true | true | false |
| Kotlin (`kotlin`) | true | true | true | true |
| LaTeX (`latex`) | true | true | true | false |
| Lean 4 (`lean`) | true | true | true | true |
| Ledger (`ledger`) | true | true | true | false |
| Less (`less`) | true | false | true | true |
| Linker Script (`linkerscript`) | true | true | true | false |
| Liquid (`liquid`) | true | true | true | true |
| LLVM IR (`llvm`) | true | true | true | false |
| Logtalk (`logtalk`) | true | true | true | true |
| Lua (`lua`) | true | true | true | true |
| Lua Patterns (`luap`) | true | true | true | false |
| LuaDoc (`luadoc`) | true | true | true | false |
| Luau (`luau`) | true | true | true | true |
| Magik (`magik`) | true | true | true | true |
| Makefile (`make`) | true | true | true | false |
| Markdown (`markdown`) | true | true | true | false |
| Markdown Inline (`markdown_inline`) | true | true | true | false |
| MATLAB (`matlab`) | true | true | true | false |
| Mermaid (`mermaid`) | true | true | true | false |
| Meson (`meson`) | true | true | true | false |
| Mojo (`mojo`) | true | true | true | true |
| Move (`move`) | true | true | true | true |
| NASM (`nasm`) | true | true | true | true |
| NetLinx (`netlinx`) | true | true | true | false |
| Nginx (`nginx`) | true | false | true | false |
| Nickel (`nickel`) | true | true | true | false |
| Nim (`nim`) | true | true | true | true |
| Ninja (`ninja`) | true | true | true | false |
| Nix (`nix`) | true | true | true | false |
| Norg (`norg`) | true | true | true | false |
| NQC (`nqc`) | true | true | true | false |
| Nushell (`nushell`) | true | true | true | true |
| Nushell (`nu`) | true | true | true | true |
| Objective-C (`objective_c`) | true | true | true | true |
| Objective-C (alias) (`objc`) | true | true | true | true |
| Objective-C++ (`objective_cpp`) | true | true | true | true |
| OCaml (`ocaml`) | true | true | true | true |
| OCaml Interface (`ocaml_interface`) | true | true | true | true |
| Odin (`odin`) | true | true | true | true |
| OpenAPI (`openapi`) | true | true | true | false |
| OpenFOAM (`foam`) | true | false | true | false |
| Org Mode (`org`) | true | true | true | false |
| Pascal (`pascal`) | true | true | true | true |
| PEM Certificate (`pem`) | true | false | false | false |
| Perl (`perl`) | true | true | true | true |
| PGN (`pgn`) | true | true | true | false |
| PHP (`php`) | true | true | true | true |
| Pkl (`pkl`) | true | true | true | false |
| Plain Text (`text`) | true | false | false | false |
| PlantUML (`plantuml`) | true | true | true | false |
| PO (`po`) | true | true | true | false |
| Pony (`pony`) | true | true | true | true |
| PostScript (`postscript`) | true | false | true | true |
| PowerShell (`powershell`) | true | true | true | true |
| Printf (`printf`) | true | true | true | false |
| Prisma (`prisma`) | true | true | true | false |
| Prolog (`prolog`) | true | true | true | true |
| PromQL (`promql`) | true | true | true | false |
| Properties (`properties`) | true | true | true | false |
| Protocol Buffers (`protobuf`) | true | false | true | false |
| Protocol Buffers (Parser) (`proto`) | true | true | true | false |
| PSV (`psv`) | true | true | true | false |
| Pug (`pug`) | true | true | true | true |
| Puppet (`puppet`) | true | true | true | false |
| PureScript (`purescript`) | true | true | true | true |
| Python (`python`) | true | true | true | true |
| Python Manifest (`pymanifest`) | true | true | true | false |
| QML Directory (`qmldir`) | true | true | true | false |
| QML/JS (`qmljs`) | true | true | true | true |
| R (`r`) | true | true | true | true |
| Racket (`racket`) | true | true | true | true |
| Razor (`razor`) | true | true | true | true |
| RBS (`rbs`) | true | true | true | true |
| re2c (`re2c`) | true | true | true | false |
| Readline (`readline`) | true | true | true | false |
| Rego (`rego`) | true | true | true | true |
| Requirements (`requirements`) | true | true | true | false |
| ReScript (`rescript`) | true | true | true | true |
| reStructuredText (`restructuredtext`) | true | true | true | false |
| reStructuredText (rst) (`rst`) | true | false | true | false |
| Robot Framework (`robot`) | true | true | true | false |
| Roc (`roc`) | true | true | true | true |
| RON (`ron`) | true | true | true | false |
| Ruby (`ruby`) | true | true | true | true |
| Rust (`rust`) | true | true | true | true |
| SAS (`sas`) | true | true | true | true |
| Scala (`scala`) | true | true | true | true |
| Scheme (`scheme`) | true | true | true | true |
| SCSS (`scss`) | true | true | true | true |
| Slang (`slang`) | true | true | true | true |
| Smali (`smali`) | true | true | true | true |
| Smithy (`smithy`) | true | true | true | false |
| Snakemake (`snakemake`) | true | true | true | true |
| Solidity (`solidity`) | true | true | true | false |
| SourcePawn (`sourcepawn`) | true | true | true | true |
| SPARQL (`sparql`) | true | true | true | true |
| SQL (`sql`) | true | true | true | false |
| Squirrel (`squirrel`) | true | true | true | true |
| SSH Config (`ssh_config`) | true | true | true | false |
| Starlark (`starlark`) | true | true | true | true |
| SuperCollider (`supercollider`) | true | true | true | true |
| Svelte (`svelte`) | true | true | true | true |
| Sway (`sway`) | true | true | true | true |
| Swift (`swift`) | true | true | true | true |
| TableGen (`tablegen`) | true | true | true | false |
| Tact (`tact`) | true | true | true | false |
| Tcl (`tcl`) | true | true | true | true |
| Teal (`teal`) | true | true | true | true |
| Templ (`templ`) | true | true | true | true |
| Tera (`tera`) | true | true | true | true |
| Terraform (`terraform`) | true | true | true | false |
| Test (`test`) | true | true | true | false |
| Text Proto (`textproto`) | true | false | true | false |
| Thrift (`thrift`) | true | true | true | false |
| TLA+ (`tlaplus`) | true | true | true | false |
| Tmux (`tmux`) | true | false | true | false |
| Todo.txt (`todotxt`) | true | false | true | false |
| TOML (`toml`) | true | true | true | false |
| Tree-sitter Query (`query`) | true | true | true | true |
| TSV (`tsv`) | true | true | true | false |
| TSX (`tsx`) | true | true | true | true |
| Turtle (`turtle`) | true | false | true | false |
| Twig (`twig`) | true | true | true | true |
| TypeScript (`typescript`) | true | true | true | true |
| Typst (`typst`) | true | true | true | false |
| udev (`udev`) | true | true | true | false |
| Ungrammar (`ungrammar`) | true | true | true | false |
| Uxntal (`uxntal`) | true | true | true | true |
| V (`v`) | true | true | true | true |
| Vala (`vala`) | true | true | true | true |
| VB.NET (`vb_net`) | true | true | true | true |
| VBScript (`vbscript`) | true | false | false | false |
| Verilog (`verilog`) | true | true | true | false |
| VHDL (`vhdl`) | true | true | true | false |
| Vim Script (`vim`) | true | true | true | true |
| Vimdoc (`vimdoc`) | true | false | true | false |
| Visual Basic (`vb`) | true | false | true | true |
| Vue (`vue`) | true | true | true | true |
| WebAssembly Script (`wast`) | true | true | true | true |
| WebAssembly Text (`wat`) | true | true | true | true |
| WGSL (`wgsl`) | true | true | true | true |
| WIT (`wit`) | true | true | true | false |
| Wolfram Language (`wolfram`) | true | true | true | true |
| XCompose (`xcompose`) | true | true | true | false |
| XML (`xml`) | true | true | true | false |
| YAML (`yaml`) | true | true | true | false |
| Yuck (`yuck`) | true | true | true | false |
| Zig (`zig`) | true | true | true | true |
| Zsh (`zsh`) | true | true | true | true |

Oggi 247 linguaggi dispongono di ricerca strutturale basata su AST. Ogni linguaggio elencato è indicizzabile; la disponibilità di AST, simboli e grafo è indicata separatamente qui sotto.
