Select assembly dialect and ISA without conflating syntax coloring with assembler support
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 52/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Ambito
- compilers, developer-experience
Direzione di ricerca
Start at plugins/wave/src/main/kotlin/dev/wavelang/intellij/wave/asm/AssemblyLexer.kt and the completion/highlighting code that feeds it, plus Whale's src/commands/asm.rs (line ~72) for the accepted-forms contract. Read the referenced prior issues #3, #7, #49 and #8 before designing the settings layer, since dialect/ISA selection must persist and reuse their foundations. Done means a persisted, localized dialect+ISA setting that drives coloring/completion, with fixture-based tests for Whale AMD64 and foreign dialects that never invoke an assembler.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Problem / current evidence
The current AssemblyLexer mixes x86, ARM and RISC-V keywords under one file type. Whale currently assembles AMD64 only; .s/.asm naming alone does not distinguish Whale syntax from GNU/LLVM or NASM dialects.
Code and contract references
- WfP/plugins/wave/src/main/kotlin/dev/wavelang/intellij/wave/asm/AssemblyLexer.kt#L15
- Whale/src/commands/asm.rs#L72
Scope / proposed contract
Add explicit project/file-level dialect and ISA selection with conservative defaults. Drive completion/highlighting by the selected dialect while treating the assembler's accepted forms as a separate capability.
Completion criteria
- Preserve existing file associations and allow an override when extensions are ambiguous.
- Do not show AArch64 or RISC-V as Whale-assemblable merely because their registers are colored.
- Do not assume Whale accepts every NASM instruction/directive.
- Persist settings and use localized accessible labels.
- Cover representative Whale AMD64 and foreign-dialect fixtures without invoking assemblers.
Dependencies and boundaries
- Reuse/coordinate with existing WfP work: #3, #7.
- Ecosystem index: #49; existing foundations: #8.
Difficulty
Medium — requires understanding the affected tool or platform integration.
Audit baseline: Wave 509a1e46; Whale e3a12d08; Vex 71f29daa; WfP 2804fc02. This issue records source-audit findings and proposed work; no implementation or new execution is claimed. The checks above are future acceptance criteria. Prefer small fixtures and targeted validation; full builds or real debugger/IDE sessions should be explicit and necessary.
- Lingua principale
- Java
- Stelle
- 0
- Fork
- 3
- Merge medio
- 8h 8m
- PR unite (30g)
- 1
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
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 wavefnd/wave-for-platform
-
documentation good first issue help wanted priority medium
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
wavefnd/wave-for-platform#45 ·
-
documentation good first issue help wanted priority medium
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
wavefnd/wave-for-platform#44 ·
-
documentation good first issue help wanted priority high
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
wavefnd/wave-for-platform#43 ·
-
enhancement good first issue help wanted priority low ui
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
wavefnd/wave-for-platform#41 ·
-
enhancement good first issue help wanted priority medium product
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
wavefnd/wave-for-platform#40 ·
Tutte le issue di wavefnd/wave-for-platform
Issue simili
-
account bug communication lecture
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
line/centraldogma#1397 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
cryptomator/hub#515 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
vert-x3/vertx-mail-client#268 ·
-
Startup can freeze while MigLayout's component wrapper runs its static initializer on the EDTApertadesktop edt not responding
Difficoltà 1/5 1-3 ore Idoneità per principianti 86/100