2010-10-19 28 views
9

Estoy usando una plantilla js.erb para representar jQuery. Al editar un archivo html.erb en TextMate, que con frecuencia se utiliza la combinación de teclas conveniente, ctrl + >, para crear y luego alternar las siguientes etiquetas:TextMate js.erb: alternar <%= %>, <% %>

<%= %> 
<% %> 
<%- -%> 
<%# %> 

Este acceso directo no funciona por defecto al editar js .erb archivos. En el editor de Bundle, encontré un fragmento llamado "Insertar ERb's <% ..%> o <% = ..%>" en "Ruby". Al agregar "source.js" al selector de alcance, pude hacer que la inserción funcionara, pero cuando presioné la combinación de teclas varias veces, en lugar de alternar la etiqueta, obtuve una etiqueta dentro de una etiqueta como esta:

<%= <%= %> %> 

He intentado cambiar el alcance del comando llamado "Toggle ERb Tags" pero parece que no puedo cambiar para trabajar. ¿Alguna sugerencia?

Actualización 19 de noviembre de 2010:

Esto ya no es un problema en la nueva versión de Textmate que salió esta semana: 1.5.10 (1623).

Respuesta

2

Esto fue corregido con la actualización Textmate 1.5.10 (1623).

0

Su paquete Ruby on Rails Textmate puede estar desactualizado debido a cambios en Ruby 1.9.

Update your tmbundle y este problema debería desaparecer.

+0

Gracias por la sugerencia, pero eso no resolvió el problema. Actualicé el paquete de Ruby on Rails usando su enlace y el paquete de Ruby (http://github.com/drnic/ruby-tmbundle). Parece que hay algunas funciones nuevas interesantes, pero estoy teniendo el mismo problema con la etiqueta alternar en los archivos js.erb. – balexand

+0

Ah, lo siento escuchar eso. La actualización me solucionó un problema similar. ¡Espero que descubras cuál es el problema! – Raphomet

2

Una posible reasono qué este es el caso, es que el fragmento que genera los paréntesis angulares para que se define así:

<%= $0 %> 

Esto pone este texto en su fuente después de que ocurra la pestaña-gatillo. El $0 es un marcador de posición para el cursor; es el lugar de descanso final después de que se complete el fragmento. Dado que el cursor se encuentra en el medio y se trata de un fragmento simple, realizar repetidamente el tabulador activará estos corchetes.

Para lograr lo que quiere, tiene que hacerlo en un script. Puede usar cualquier lenguaje de scripting siempre que especifique adecuadamente la línea de shebang. No soy un scripter competente, así que intentaré resolverlo utilizando un pseudocódigo.

if selected_text 
    if no_wrapping_angle_brackets 
     surround_with_angle_brackets 
    else 
     strip_angle_brackets 
else 
    if no_wrapping_angle_brackets 
     surround_with_angle_brackets 
    else 
     strip_angle_brackets 

No es mucho, pero espero que esto ayude a

1

Acabo de toparme con este problema también, incluso con TextMate actualizado y paquetes. Lo arreglé agregando source.js.rails al selector de alcance del fragmento "Insertar ERb's <% ..%> o <% = ..%>". Asegúrese de no cambiar el selector de alcance para el comando similar "Toggle ERb Tags". Esto inserta las etiquetas ERb correctamente y también las alterna como se esperaba.

Cuestiones relacionadas