// Documentação do Singularity
O editor de código
Abre, modifica e guarda os ficheiros dos teus projetos sem sair do Singularity. O editor assenta no CodeMirror 6 e cada ficheiro ocupa um único separador no deck.
Abrir um ficheiro
Clica num ficheiro na vista Code do navegador. O Aperture e os resultados que apontam para uma linha também podem abrir diretamente o ficheiro no sítio certo. A partir de uma comparação Git, o diff abre-se num separador dedicado: a sua cópia de trabalho, à direita, é editável.
Um ficheiro corresponde a um separador file:<caminho> do deck. Se voltares a abrir o mesmo caminho, o Singularity traz para primeiro plano o separador existente em vez de o duplicar. Os separadores e os rascunhos não guardados são restaurados entre sessões.

O editor
O CodeMirror 6 fornece realce de sintaxe consoante a extensão, números de linha, dobragem de código, guias de indentação, correspondência e fecho automático de parênteses, bem como o realce das ocorrências de uma palavra. O editor suporta, entre outras, JavaScript e TypeScript, HTML, CSS, JSON, Python, Markdown, Go e Rust.
A seleção múltipla e os cursores múltiplos não estão disponíveis. As funcionalidades que dependem de um servidor de linguagem são descritas separadamente na documentação LSP.
Guardar
Prime Cmd+S no macOS ou Ctrl+S no Windows e no Linux. Uma alteração marca o separador como não guardado; o indicador desaparece depois de uma escrita bem-sucedida. O rascunho também é mantido na sessão enquanto for diferente do conteúdo no disco.
A monitorização do navegador atualiza a árvore quando o disco muda, e o editor deteta que um ficheiro aberto foi eliminado quando a janela volta ao primeiro plano. Em contrapartida, não funde nem recarrega automaticamente o conteúdo de um ficheiro aberto modificado por outro programa: guardar escreve o buffer atual. Verifica a alteração externa antes de substituir o ficheiro.
A barra de estado e o inspetor
A barra por cima do conteúdo mostra o percurso espaço de trabalho › projeto › pastas › ficheiro e, em seguida, os símbolos atuais quando um servidor de linguagem os fornece. O inspetor do editor completa esta informação com a posição linha/coluna do cursor, a linguagem detetada, o número de linhas, o tamanho e a codificação apresentada, atualmente UTF-8.
A codificação é informativa: ainda não existe um seletor para a alterar.
Pesquisar e substituir no ficheiro
Cmd/Ctrl+F abre a pesquisa no ficheiro ativo; Cmd/Ctrl+H abre diretamente a substituição. A barra oferece distinção entre maiúsculas e minúsculas, palavra inteira e expressões regulares, mostra o número de correspondências e permite passar ao resultado anterior ou seguinte.
Este comando limita-se ao ficheiro ativo. Para pesquisar em todo o projeto, usa a pesquisa global; a substituição em vários ficheiros não está disponível.
Editar a partir da revisão
Um ficheiro aberto a partir do separador Review é editável enquanto o run ainda tiver um caminho de worktree registado: as tuas alterações aplicam-se então a essa cópia de trabalho isolada. Sem um caminho de worktree utilizável, o ficheiro é apresentado só de leitura para evitar escrever num local ambíguo.
O fluxo de aprovação, pedido de alterações e rejeição é detalhado em A revisão de código dos runs.
Limitações conhecidas
- Sem vista dividida do editor, minimapa, blame Git em linha nem percurso de navegação (breadcrumbs) clicável.
- Sem cursores múltiplos, seleção múltipla com Cmd+clique, sticky scroll nem alternância da quebra de linha pelo teclado.
- Sem paleta Cmd/Ctrl+P dedicada aos ficheiros; usa o Aperture, o navegador ou a pesquisa global.
- Os ficheiros com mais de 5 MB são lidos por blocos e permanecem só de leitura.
- Sem seleção de codificação, substituição em vários ficheiros nem resolução de conflitos com uma alteração externa.