2011-12-22 14 views
19

Recientemente comencé a usar Sublime Text 2. Qué editor tan genial. Hace un gran trabajo destacando el código de Ruby, pero no resalta mi Gemfile.¿Cómo activo el resaltado de sintaxis para mi Gemfile en Sublime Text 2?

¿Hay alguna manera de conseguir que haga eso?

Encontré this Gist pero no tiene instrucciones sobre cómo usarlo.

+0

usted puede decir probablemente el editor de aplicar el resaltado de sintaxis rubí. Después de todo el gemfile es la sintaxis de ruby. pero entonces, ¿qué pones en tu gemfile? no estás poniendo toda tu aplicación de rieles allí, ¿o sí? – three

+1

@three, en absoluto! Es solo que cada vez que abro el Gemfile, no hay resaltado de sintaxis. Solo encontré la opción. No lo recuerdo. Tengo que hacerlo cada vez que abro el archivo. :/ – Mohamad

Respuesta

34

Existen al menos tres opciones:

  1. sintaxis cambiar manualmente (no se prefiere, pero fácil; No necesita explicación)
  2. Añadir "Gemfile" a la lista de archivos Rubí-sintaxis
  3. Use el plugin que enlazar y crear un paquete para él

1. Sin explicación, pero truco muy útil

Puede enlazar una combinación de teclas para ajustar la sintaxis sin mover al ratón.

i limitó a cambiar la sintaxis Ctrl-Opt-Espacio añadiendo lo siguiente a mis combinaciones de teclas de usuario:

[ 
    { "keys": ["ctrl+alt+space"], 
    "command": "show_overlay", 
    "args": { "overlay": "command_palette", "text": "Set Syntax: " } } 
] 

2. Añadir "Gemfile" a la lista de archivos de sintaxis de Ruby-

  • Linux:~/.config/sublime-text-2/Packages/Ruby/Ruby.tmLanguage
  • OS X:~/Library/Application Support/Sublime Text 2/Packages/Ruby/Ruby.tmLanguage
  • de Windows:%APPDATA%/Sublime Text 2/Packages/Ruby/Ruby.tmLanguage

También se puede llegar mediante el uso de la opción de menú Preferences -> Browse Packages y entrar en el paquete de Ruby. Una vez que esté en el archivo, será obvio: es el elemento <array> con nombres de archivo de aspecto rubí. Agregue <string>Gemfile</string> y ya está todo listo.

Es posible que la configuración se sobrescriba en una actualización; No estoy seguro de cómo funciona esto con ST2 –. Puede ser más limpio hacerlo a través del código que en el fragmento.

3. Utilizando el fragmento se enlazó a

más trabajo (y la corrección de un error de sintaxis). Puede hacerlo manualmente, creando un directorio en Packages (consulte la ubicación anterior) o cree un paquete real y permita que ST2 lo instale.

Creé un paquete de prueba llamado "Syntax" y copié el fragmento en él, reinicié ST2 y abrí un Gemfile funcionó como se esperaba.La corrección requiere un colon adicional (new gist), cáscara de nuez:

elif name[-3] == "erb": # Needed a semi-colon here. 
    set_sintax(view, "HTML (Rails)", "Rails") 
+1

En OSX, es ~/Library/Application Support/Sublime Text 2/Packages/Ruby/Ruby.tmLanguage. Lo dejé caer justo debajo de Rakefile. Esto siempre me ha molestado también. Gracias a ti; ¡y a Mohamad por preguntar! – Unixmonkey

+0

@Unixmonkey Oh, cierto; Iba a agregar eso pero me distraí. Creo que el enfoque de Python es más interesante, pero fue más doloroso correr (sobre todo por ese error de sintaxis que no noté hasta que finalmente abrí la vista de la consola:/ –

+0

Gracias, @DaveNewton! Si hay alguna manera para asegurarme de que esto no se vuelva loco por las actualizaciones del paquete de Ruby (es decir, moverlo a un archivo de configuración del usuario), me encantaría escucharlo. –

-1

Esto se puede conseguir mediante la copia del archivo de HTML.tmLanguage en el usuario/carpeta, de esta manera no será sobrescrita por una actualización.

+0

¿Cómo afecta eso el resaltado de sintaxis para un Gemfile? –

2

El complemento DetectSyntax para ST2 proporciona una solución más completa para resaltar archivos: permite destacar los archivos según las reglas. Es lo suficientemente inteligente como para entender la diferencia entre un archivo de Rails, otros archivos que usan .rb como una extensión y archivos ruby ​​estándar.

Las reglas estándar incluyen Gemfile, Rakefile, Guardfile y otras similares a Ruby para el formato de sintaxis.

Ver DetectSyntax on GitHub.

4

Si está aquí pero está utilizando Sublime Text 3, es posible que no pueda encontrar la "lista de archivos de sintaxis Ruby" en los paquetes.

La mayoría de las demás soluciones encontradas en línea me resultaban confusas.

Lo solucioné cambiando manualmente Gemfile a Ruby en el elemento de menú de la esquina inferior derecha cuando abrí el archivo en Sublime Text 3 (que es lo que había estado haciendo cada vez que abrí el archivo hasta ahora)

Una vez que haya seleccionado el rubí y luego ir a Preferencias -> Configuración-Más -> sintaxis específica del usuario

{ 
    "extensions": 
    [ 
    "Gemfile", 
    "Gemfile.lock" 
    ] 
} 

Cuando se desplaza a la sintaxis del usuario específico que se abre un archivo específico para el idioma que el archivo tiene resaltado de sintaxis para. Es posible que deba volver a cambiar el archivo a lo que está incumpliendo también (el mío fue 'Rd (R Documentation) .sublime-settings') y eliminar Gemfile de ese archivo de resaltado de sintaxis.

En Ubuntu estos archivos se almacenan en

~/.config/sublime-text-3/Packages/User 
Cuestiones relacionadas