Pular para o conteúdo

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.

dataforge
curl -fsSL https://dataforge-lang.vercel.app/instalar.sh | sh
# …
# ✓ coloração de sintaxe instalada no editor

Reinicie o editor, abra um .df, e as palavras reservadas já estão coloridas.

Instalar ou reinstalar à mão#

dataforge
dataforge editor           # instala em todos os editores achados
dataforge editor status    # mostra onde está instalada
dataforge editor remove    # desinstala

Use 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ê
coresas 98 palavras reservadas, em 14 grupos — condicional, laço, tipo, modificador, Kiln, operador
snippets23 atalhos: action, blueprint, match, server, route, crud, xlsx
indentação4 espaços, insertSpaces forçado — tab é SyncError na linguagem
dobrablocos de action, blueprint, server, route e afins
íconearquivos .df com o ícone do DataForge
interpolação$"{expr}" colorido por dentro, como código
// vs divisãoa mesma regra do lexer: x // 2 é divisão, x // nota é comentário

Alguns snippets#

DigiteVira
actionuma ação com corpo
blueprintuma classe com método
matchmatch com um point e o default
pipeum pipeline sift/morph
serveruma aplicação Kiln completa, com ignite
crudas cinco rotas RESTful de um recurso
routeparamrota com parâmetro e o 404
xlsxgravar uma planilha
istruma 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.

dataforge
python3 tools/gerar_gramatica.py

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