Language request: MATLAB (.m) - plus the .m / Objective-C extension collision
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- matlab, objective-c
- Ambito
- developer-experience, tooling
Direzione di ricerca
Start by reading the EXTENSION_MAP entry for .m and the codegraph.json extension mapping, then check how the project loads and validates tree-sitter grammars. The issue identifies the collision with Objective-C and asks for per-file disambiguation or a project-level mapping; verify grammar compatibility with the current tree-sitter ABI. Done means MATLAB files can be indexed with useful symbols while existing Objective-C .m files remain supported.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Language: MATLAB (.m) — scripts, functions, and classdef
Current behavior
MATLAB .m files are routed to the Objective-C grammar via EXTENSION_MAP (.m → objc), so they contribute nothing to the graph. Reproduced on a real repository:
- 61
.mfiles containing 74functiondeclarations - Index result:
Files by Language: objc 61, 0 function nodes extracted - What it extracts instead is noise: 402
variable+ 207enum_membernodes
On a mixed C++/MATLAB repo the CLI reports it outright:
matlab/fn_gaussian.m: parse produced no symbols (tree has errors) —
the file is indexed but contributes nothing to the graph
So the files are picked up but silently produce a meaningless graph — which is close to the worst outcome, since an agent may trust an index that actually contains nothing.
Why this is more than "wire in a tree-sitter-matlab .wasm"
The .m extension collides with Objective-C, which is already supported. A MATLAB grammar alone is not sufficient — the routing decision has to be made per file, not per extension, or exposed as an explicit user-side mapping. This is the same class of problem as #1586 (B4X .bas routed through the VB.NET grammar → 0 symbols), so it may be worth solving the disambiguation generically once.
A cheap first step that would already help: a codegraph.json way to map an extension to a language for a given project (the existing extensions map is global per project — if .m could be pointed at matlab once a grammar exists, users could opt in immediately).
Grammar availability
A community tree-sitter-matlab exists (e.g. mstanciu552/tree-sitter-matlab); there is also an Octave grammar. I have not verified either against the tree-sitter ABI this project currently uses.
On demand
MATLAB is heavily used in engineering, scientific and signal-processing work, and mixed pipelines are common: device firmware or drivers in C/C++/CUDA, with the acquisition/analysis layer in MATLAB. Those repos are exactly where structural search pays off, because the interesting call paths cross the language boundary.
That user base is under-represented in the coding-agent ecosystem — they are not the same people filing most language requests — so the demand here is likely silent rather than absent. 👍 from others in that space welcome.
Offer
Happy to run retrieval validation on real private repos (mixed C++/MATLAB, roughly 35–320 source files) once the grammar is wired, and to report precision on real MATLAB code.
- Lingua principale
- C
- Stelle
- 73.2k
- Fork
- 4.7k
- Merge medio
- 4h 46m
- PR unite (30g)
- 478
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di colbymchenry/codegraph
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 90/100
colbymchenry/codegraph#2634 ·
I maintainer di solito rispondono entro 1 giorno
-
Windows: bundled Node v24.16.0 can abort at exit (nodejs/node#56645); please bundle Node >= 24.20.0Forse già presa @Ancienttwo l’ha presa 4 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
colbymchenry/codegraph#2617 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Invalid regular expression: /\boperator++\s*(?:<[^<>()]*>)?\s*\(/: Nothing to repeat (v1.6.2)Aperta
Difficoltà 2/5 Meno di un'ora Idoneità per principianti 72/100
colbymchenry/codegraph#2482 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
codegraph ui - does not workAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
colbymchenry/codegraph#1900 · 2 commenti · 5 reazioni ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
colbymchenry/codegraph#1700 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di colbymchenry/codegraph
Issue simili
-
Mark ignored Mac OS partitions RecoveryOSContainer and iBootSystemContainerForse già presa @meven l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
storaged-project/udisks#1559 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 71/100
awslabs/aws-checksums#121 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
I maintainer di solito rispondono entro 3 giorni
-
Bad tag for language cardAperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 68/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100