Eu gostaria de restringir o find / grep a (digamos) apenas arquivos javascript (principalmente porque é isso que eu faço em "outro editor").
Os arquivos Javascript no meu projeto Ruby-on-Rails legado têm uma destas extensões de arquivo: -
.js, .js.erb, .coffee, .js.coffee, .js.coffee.erb, .jsx, .js.jsx, .js.jsx.erb (e talvez mais)
Se eu pudesse, restringiria a busca a arquivos com essas extensões e pré-definiria essa lista para não precisar digitá-la todas as vezes.
Eu acho que preciso escrever uma função personalizada, se houver uma maneira de especificar o tipo de arquivo, mas estou lutando para descobrir como fazer isso .. e talvez eu tenha acabado de pegar um fluxo de trabalho estranho do meu antigo editor?
EDIT: desculpe a pergunta não estava clara .. eu não quero corrigi-lo para que o emacs sempre procure em arquivos Javascript .. quando eu quiser pesquisar em arquivos Javascript, eu quero procurar apenas arquivos com essas extensões .. quando Eu quero pesquisar em arquivos html. Eu quero pesquisar apenas em arquivos com extensões .html, .html.erb, .html.haml, .haml, etc.
fonte
helm-ag
ehelm-do-ag
. O que eles realmente significam? Como lembrar o que eles fazem?Você pode usar helm-ag-use-grep-ignore-list e especificar padrões de ignorar em
grep-find-ignored-files
egrep-find-ignored-director
.fonte
Embora você tenha em mente uma lista de tipos de arquivo que deseja pesquisar, observe que o argumento usual para o
find
qual seleciona arquivos é o-name
que leva a um padrão brilhante. Então, algo como-name *.ns.*
deve corresponder a todos os arquivos Javascript no seu projeto.Helm e sua integração ag provavelmente têm algo semelhante.
Esses comandos registram o histórico. Use C-pou a seta para cima para retornar as
grep-find
pesquisas anteriores . Você pode usar C-r .ns.para recuperar a última pesquisa que você fez nos arquivos Javascript e simplesmente editar o padrão de pesquisa.fonte
Se estiver usando
ag
Se você estiver usando
ag
, poderá colocar um.agignore
arquivo na raiz do projeto com os arquivos que deseja ignorar. Aqui está um exemplo:fonte