Syntax highlight de .psjava no IntelliJ e VSCode
Summary
Como .psjava é Java puro, um comando psjava highlight install apenas associa
*.psjava à linguagem Java já existente no VSCode e no IntelliJ — sem extensão
ou plugin próprio. Se não achar a pasta de config de uma IDE, pergunta o caminho
na hora. O psjava doctor passa a reportar, por IDE, se a associação existe.
Technical detail
- Núcleo puro
src/core/highlight.ts: descobre paths de config (Windows),
decide o estado por IDE (configured / missing / ide-not-found) e aplica a
associação. Lógica pura e testável (mesmo padrão de buildSession).
- VSCode: editar
%APPDATA%/Code/User/settings.json, garantindo
"files.associations": { "*.psjava": "java" } (merge sem destruir o resto;
VSCode já traz gramática Java embutida).
- IntelliJ: editar
%APPDATA%/JetBrains/<Produto><versão>/options/filetypes.xml,
adicionando <mapping pattern="*.psjava" type="JAVA"/> no extensionMap
(idempotente). Há 1+ pastas de produto/versão — aplicar em todas as achadas.
- Detecção: pasta de config existe → configura; não existe → prompt CLI
pedindo o caminho (ou pular essa IDE).
- Comando: subcomando
highlight install no commander (src/commands/highlight.ts),
registrado no cli.ts ao lado de doctor.
- Doctor:
runDoctor chama o checador puro e imprime por IDE
(✓ configurado / ⚠ ausente / – não encontrada). Ausente é aviso, não muda
o exit code; só jshell faltando mantém exit 1.
Scope
In
- Subcomando
psjava highlight install para VSCode + IntelliJ no Windows.
psjava doctor reportando o estado do realce por IDE (aviso, não falha).
- Prompt via CLI quando a pasta de config não é encontrada.
- Unit para a lógica pura; e2e do subcomando no nível certo.
Out
- macOS/Linux (paths de config dos outros SOs).
- Publicar extensão/plugin em marketplace.
- Gramática
.psjava própria.
- Outros editores.
As subtasks vivem como sub-issues vinculadas a este card.
Syntax highlight de .psjava no IntelliJ e VSCode
Summary
Como
.psjavaé Java puro, um comandopsjava highlight installapenas associa*.psjavaà linguagem Java já existente no VSCode e no IntelliJ — sem extensãoou plugin próprio. Se não achar a pasta de config de uma IDE, pergunta o caminho
na hora. O
psjava doctorpassa a reportar, por IDE, se a associação existe.Technical detail
src/core/highlight.ts: descobre paths de config (Windows),decide o estado por IDE (
configured/missing/ide-not-found) e aplica aassociação. Lógica pura e testável (mesmo padrão de
buildSession).%APPDATA%/Code/User/settings.json, garantindo"files.associations": { "*.psjava": "java" }(merge sem destruir o resto;VSCode já traz gramática Java embutida).
%APPDATA%/JetBrains/<Produto><versão>/options/filetypes.xml,adicionando
<mapping pattern="*.psjava" type="JAVA"/>noextensionMap(idempotente). Há 1+ pastas de produto/versão — aplicar em todas as achadas.
pedindo o caminho (ou pular essa IDE).
highlight installno commander (src/commands/highlight.ts),registrado no
cli.tsao lado dedoctor.runDoctorchama o checador puro e imprime por IDE(✓ configurado / ⚠ ausente / – não encontrada). Ausente é aviso, não muda
o exit code; só jshell faltando mantém exit 1.
Scope
In
psjava highlight installpara VSCode + IntelliJ no Windows.psjava doctorreportando o estado do realce por IDE (aviso, não falha).Out
.psjavaprópria.