# Kompatibilitas & Spesifikasi Teknis

Canonical source: https://maguyva.ai/id/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).

Berikut angka kapabilitas yang menggerakkan structural search, symbol lookup, analisis berbasis graf, dan indexing dasar.

Penanda ini menunjukkan kemampuan yang diaktifkan dalam konfigurasi bahasa saat ini, bukan skor kualitas proses secara menyeluruh. Ketersediaan graf memerlukan parser, ekstraksi simbol, dan ekstraksi graf yang aktif. Jenis relasi yang didukung dan kedalaman ekstraksi berbeda menurut bahasa.

- Cakupan terindeks: **285**. Setiap bahasa yang terdaftar diindeks untuk konteks file, teks, dan repository.
- Pencarian struktural AST: **247**. Bahasa dengan struktur berbasis parser untuk AST dan alur kerja structural search.
- Ekstraksi simbol: **282**. Bahasa dengan metadata simbol untuk definisi dan pencarian.
- Relasi graf: **151**. Bahasa dengan ekstraksi relasi operasional untuk pencarian berbasis graf. Kedalamannya berbeda menurut bahasa dan jenis relasi.

- `ast_structural=false`: Indexing berbasis teks dengan pemahaman struktur yang lebih terbatas.
- `symbol_extraction=false`: Ekstraksi simbolnya terbatas, jadi navigasinya lebih mengandalkan konteks file dan struktur.
- `relationship_extraction=false`: Bahasa ini diindeks untuk pencarian, tetapi saat ini belum dipersistensikan ke dalam graf kode.

| 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 |

Saat ini, 247 bahasa memiliki pencarian struktural berbasis AST. Setiap bahasa yang tercantum dapat diindeks; ketersediaan AST, simbol, dan graf ditampilkan secara terpisah di bawah.
