helm-ag (o similar) encuentra solo en archivos javascript


10

Me gustaría restringir find / grep a (digamos) solo archivos javascript (principalmente porque eso es lo que hago en "otro editor").

Los archivos Javascript en mi proyecto Ruby-on-Rails heredado tienen una de estas extensiones de archivo: -

.js, .js.erb, .coffee, .js.coffee, .js.coffee.erb, .jsx, .js.jsx, .js.jsx.erb (y tal vez más)

Si pudiera, restringiría la búsqueda a los archivos con estas extensiones de archivo y predefiniría esta lista para no tener que escribirla cada vez.

Creo que necesito escribir una función personalizada, si hay una manera de especificar el tipo de archivo, pero estoy luchando por descubrir cómo hacer esto ... ¿y quizás acabo de recoger un flujo de trabajo extraño de mi antiguo editor?

EDITAR: lo siento, la pregunta no estaba clara ... no quiero solucionarlo para que emacs siempre busque en archivos Javascript ... cuando quiero buscar en archivos Javascript, quiero buscar solo archivos con esas extensiones ... cuando quiero buscar en archivos html solo quiero buscar en archivos con extensiones .html, .html.erb, .html.haml, .haml, etc.

Respuestas:


11

Si usa el helm-agcomando, puede especificar una opción como -G\.js$ search_pattern, o si usa helm-do-ag, puede usar un C-uprefijo para especificar la extensión.

Esto es screencast.

ingrese la descripción de la imagen aquí

Gracias por usar helm-ag.


1
¿Cómo podemos especificar buscar en .js y solo en archivos .java? (es decir, 2 extensiones de archivo diferentes)
user3341592

2
Nunca entendí los nombres helm-agy helm-do-ag. ¿Qué quieren decir realmente? ¿Cómo recordar lo que hacen?
user3341592


1

Aunque tiene en mente una lista de tipos de archivos que desea buscar, observe que el argumento habitual para findseleccionar archivos es el -nameque toma un patrón global. Entonces, algo como -name *.ns.*debería coincidir con todos los archivos Javascript en su proyecto.

Helm y su integración ag probablemente tengan algo similar.

Estos comandos registran el historial. Use C-po la flecha hacia arriba para recuperar las grep-findbúsquedas anteriores . Puede usar C-r .ns.para recordar la última búsqueda que realizó en los archivos Javascript, luego simplemente edite el patrón de búsqueda.


1

Si usa ag

Si está utilizando ag, puede colocar un .agignorearchivo en la raíz del proyecto con los archivos que desea ignorar. Aquí hay un ejemplo:

# Extension ignores
*.log
*~
*#*#
*.txt
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.