Como embelezar arquivos JavaScript recursivamente?

1

Eu tenho muitos *.js arquivos em subpastas e sub-pastas do meu projeto Node.js que eu escrevi de forma imprudente, e agora estou procurando uma ferramenta que possa iterar todos os arquivos e embelezá-los.

Eu encontrei o pacote js-beautify , mas não tenho certeza se ele faz o que eu quero. Além disso, duvido que um pacote de nó seja o que eu quero. Acho que preciso de um software que eu possa chamar do terminal do Ubuntu.

    
por jeff 27.12.2016 / 22:59

1 resposta

3

O vim suporta a formatação de arquivos de código-fonte com o comando commannd gg=G . gg é um movimento (provavelmente redundante) que salta para o início do arquivo; = é o comando indent e o movimento G significa "executar até o final do arquivo". Eu sei, parece conversa alienígena ...

Para executar isso em muitos arquivos, você pode criar um arquivo e nomeá-lo como quiser, por exemplo, vim-indent.txt , dentro do qual digite o seguinte:

gg=G:wq

com quebra de linha à direita.

Basicamente, este arquivo contém uma gravação de chaves que queremos pressionar ao executar o VIM. O comando :wq<ENTER> significa "write and quit", e deve ser terminado com uma quebra de linha. Sem isso, o vim apenas digitará o comando e ficará esperando que você pressione enter manualmente.

Você pode então executar o script em um arquivo como este:

vim -s vim-indent.txt your_file.js

O resultado é que o VIM abriria o arquivo your_file.js e "pressionaria" todas as chaves gravadas em vim-indent.txt , cujo resultado é aplicar recuo, gravar o arquivo e sair.

Você pode automatizar a execução deste comando em uma árvore de arquivos inteira usando find :

find [path/to/your/directory] -type f -name '*.js' -exec vim -s vim-indent.txt "{}" \;

Note que é altamente recomendado que você copie todo o diretório, opere na cópia e verifique se você gosta do resultado.

    
por Yamaho 28.12.2016 / 00:44