Editor e cores
Realce de sintaxe no VS Code, instalado junto com a linguagem.
O instalador já cuida disso. Quando você instala o DataForge, a extensão do editor vai junto e é aplicada em todos os editores encontrados — VS Code, Insiders, Cursor, VSCodium e Windsurf.
curl -fsSL https://dataforge-lang.vercel.app/instalar.sh | sh
# …
# ✓ coloração de sintaxe instalada no editorReinicie o editor, abra um .df, e as palavras reservadas já estão coloridas.
Instalar ou reinstalar à mão#
dataforge editor # instala em todos os editores achados
dataforge editor status # mostra onde está instalada
dataforge editor remove # desinstalaUse dataforge editor depois de atualizar a linguagem, ou depois de instalar um editor novo. Para pular a etapa na instalação, defina DATAFORGE_SEM_EDITOR=1.
O que você ganha#
| O quê | |
|---|---|
| cores | as 98 palavras reservadas, em 14 grupos — condicional, laço, tipo, modificador, Kiln, operador |
| snippets | 23 atalhos: action, blueprint, match, server, route, crud, xlsx… |
| indentação | 4 espaços, insertSpaces forçado — tab é SyncError na linguagem |
| dobra | blocos de action, blueprint, server, route e afins |
| ícone | arquivos .df com o ícone do DataForge |
| interpolação | $"{expr}" colorido por dentro, como código |
// vs divisão | a mesma regra do lexer: x // 2 é divisão, x // nota é comentário |
Alguns snippets#
| Digite | Vira |
|---|---|
action | uma ação com corpo |
blueprint | uma classe com método |
match | match com um point e o default |
pipe | um pipeline sift/morph |
server | uma aplicação Kiln completa, com ignite |
crud | as cinco rotas RESTful de um recurso |
routeparam | rota com parâmetro e o 404 |
xlsx | gravar uma planilha |
istr | uma string interpolada |
A gramática não pode ficar atrasada#
A gramática TextMate é gerada a partir de dataforge/tokens.py, e há um teste que falha se o arquivo versionado não for exatamente o que o gerador produz. Se você acrescenta uma palavra à linguagem e esquece da gramática, a suíte avisa — em vez de a palavra simplesmente ficar cinza.
python3 tools/gerar_gramatica.pyA versão anterior da extensão foi escrita à mão, e por isso não conhecia record nem enum: exatamente o problema que o gerador resolve.
E o servidor de linguagem#
A coloração é só metade. A extensão também inicia o servidor de linguagem — autocompletar sensível a contexto, erros sublinhados enquanto você digita, ir-para-definição, renomear e o esquema do arquivo. Ele vem junto e liga sozinho; a página de LSP conta o que ele responde e como usá-lo em Neovim, Helix e Emacs.
Outros editores#
A gramática é TextMate padrão, em editor/vscode/syntaxes/dataforge.tmLanguage.json. Sublime Text e editores compatíveis leem o mesmo arquivo. Para Vim, Emacs ou Zed, ela serve de referência: a lista de palavras por grupo de cor está toda ali.