Código livre

coma

Abra a pasta e comece a programar.

Um editor de código nativo, escrito em Rust, que abre uma pasta e já está pronto: sem Electron, sem webview e sem servidores em segundo plano.

Instalar Ver o código no GitLab

O coma com uma pasta de projeto aberta: a árvore de arquivos à esquerda e um arquivo Rust com realce de sintaxe e marcas do git na margem.

Uma busca para a pasta e para o arquivo

Digite um termo e a árvore mostra só os arquivos que o contêm, enquanto o arquivo aberto marca cada ocorrência. Há opções para maiúsculas, palavra inteira e expressão regular, e a barra de substituir fica a um atalho.

A busca por “selection” reduz a árvore aos arquivos que contêm o termo e destaca cada ocorrência no arquivo aberto.

Veja o que mudou sem sair do editor

A margem marca as linhas adicionadas, alteradas e removidas, e a árvore mostra o estado de cada arquivo e o ramo atual.

Arquivo aberto no coma com marcas de linhas alteradas na margem e letras de estado do git ao lado dos arquivos na árvore.

Compare com o HEAD lado a lado

Um atalho abre a versão do HEAD ao lado da sua, com as linhas alteradas destacadas, antes de você fazer o commit.

Janela de comparação com a versão do HEAD à esquerda e a versão editada à direita, com as linhas alteradas destacadas.

Mais recursos

Edição

Abas para vários arquivos, desfazer e refazer, múltiplos cursores, fechamento automático de pares, indentação automática, dobra de código e colchetes coloridos por profundidade.

Realce de sintaxe

Tree-sitter para 19 linguagens, de Rust, Python e TypeScript a SQL, Markdown e ERB, com Ruby e HTML embutidos.

Formatadores externos

Um comando por linguagem, como rustfmt, prettier ou black, acionado por atalho ou ao salvar.

Sessão

Ao reabrir, volta a pasta, os arquivos, a aba ativa e o tamanho e a posição da janela.

Sobre o projeto

O coma é um editor de código para quem quer abrir uma pasta e programar, sem esperar um ambiente inteiro carregar. A interface é nativa, sem Electron nem webview, e tudo roda num único processo, sem servidores auxiliares em segundo plano.

O que ele deixa de fora é tão importante quanto o que faz. Não há LSP, depurador, terminal embutido nem plugins, e também não há arquivo de configuração: tudo se ajusta num painel, que aplica as mudanças na hora e as guarda sozinho. Os atalhos de teclado vêm compilados no binário.

Tecnologias

Rust, com a interface em Floem; tree-sitter para o realce, rope para o texto, libgit2 para o git e redb para guardar a sessão e as configurações.

Licença: MIT

Instalar o coma

Precisa de Rust (stable) e, no Linux, dos cabeçalhos do X11 (libx11-dev no Debian e no Ubuntu).

Pacote .deb

Para Debian 12 ou mais novo e Ubuntu 22.04 ou mais novo.

curl -LO https://gitlab.com/alteronauta/coma/-/releases/v1.0.0/downloads/coma_1.0.0_amd64.deb
sudo apt install ./coma_1.0.0_amd64.deb

Binário para qualquer Linux amd64

curl -LO https://gitlab.com/alteronauta/coma/-/releases/v1.0.0/downloads/coma-v1.0.0-linux-amd64.tar.gz
sudo tar -xzf coma-v1.0.0-linux-amd64.tar.gz -C /usr/local --strip-components=1

Do código-fonte

Instala em ~/.local, com o ícone e o atalho no menu de aplicativos.

git clone https://gitlab.com/alteronauta/coma.git && cd coma
./build-linux.sh

O macOS tem um script que monta o aplicativo. Os detalhes estão no README.

Conte o que você precisa resolver.

adriano@ars.tec.br

@adriano@ars.tec.br