HeadlinesBriefing favicon HeadlinesBriefing.com

paveluv/e: Um Editor Emacs-like Personalizável em Chez Scheme

Hacker News •
×

Um pequeno editor de texto de console escrito em Chez Scheme, paveluv/e é Emacs-like em espírito mas não um clone. Possui buffers, janelas, um anel de matar, pesquisa incremental e um nível Schemetop. Tudo é uma biblioteca R6RS com um núcleo minimal e API imutável, mais módulos de extensão para modos de sintaxe, correspondência de colchetes, ajudas de edição e M-x.

M-x avalia Scheme contra o topo vivo do editor com conclusão de símbolos, dicas de parâmetro, histórico e um buffer de transcript. Módulos hot-reload: salvando o source de um módulo dentro do editor recarrega na sessão em execução; edições externas são pegas via reload-module!. Registros são substituídos, módulos dependentes recompilam, e buffers ficam no lugar.

O editor é desenvolvido do interior para fora sem dependências além de Chez Scheme e um terminal tipo Unix. Não há passo de build ou instalação — um checkout roda in loco. A primeira start compila bibliotecas; starts posteriores levam cerca de 100 ms.

Os relatórios de Desfazer reportam ações como 'Undo insert "hello"' ou 'Undo (replace-all! "xx" "yy")'. Caracteres digitados coalescem em runs, colar é um único passo, e comandos M-x são rotulados como etapas. Quick start: clone como ~/.e ou vendore dentro de um projeto.

Cada instalação é autônoma, usando lib/ ao lado do script e objetos compilados em eo/. O tamanho da terminal é detectado via ioctl ou variáveis de ambiente LINES/COLUMNS. No FreeBSD, ajuste o shebang ou rode chez-scheme --script e.

Atalhos de teclado incluem C-x C-s (salvar), C-x C-f (visitar arquivo), C-x C-c (sair), C-x b (trocar buffer), C-x 2/3 (dividir janelas), C-x o (próxima janela), e teclas de movimento/edição como C-b/f, C-p/n, C-a/e, C-d/Backspace.