Recientemente, truqué obsesivamente mi ST2 CSS resaltado de sintaxis. Mi comprensión de estos * .tmLanguage archivos se basa en prueba y error, principalmente error. Menciono esto para notar que mi agarre es manchado, en el mejor de los casos.
Creo que el archivo que desea modificar es ~/Library/Application Support/Sublime Text 2/Packages/Default/Find Results.hidden-tmLanguage
Para resumir, creo que se desee configurarlo para que de esta manera lo esencial (que tiene liberal comentar):
https://gist.github.com/4333623#file-find-results-hidden-tmlanguage
Un Búsqueda típico de archivos resultados se verá algo como esto:
Searching 11 files for "feedback-assistance-form" (regex)
/_projects/___/group_reg.js:
60 });
61
62: $asstForm = $help.find('#feedback-assistance-form');
63
64 if (!$asstForm.length) {
65: console.log('WARN: Feedback assistance: #feedback-assistance-form not found');
66 return;
67 }
/_projects/___/group_register_help_tmpl.html:
6 <div id="group-reg-help">
7
8: <form id="feedback-assistance-form" class="js-popover help-content hide" action="{% url info.views.assistance_request %}" method="post">
9
10 <legend>Need Assistance?</legend>
3 matches across 2 files
El análisis sintáctico Find Results.hidden-tmLanguage
º e resultados en 3 partes relevantes:
- la línea con el nombre de archivo
- Una línea Extraído sin un partido
- Una línea extraído con un partido
Las reglas para esto están en el <patterns>
sección:
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>^([^ ].*):$</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>entity.name.filename.find-in-files</string>
</dict>
</dict>
</dict>
<dict>
<key>match</key>
<string>^ +([0-9]+) </string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>constant.numeric.line-number.find-in-files</string>
</dict>
</dict>
</dict>
<dict>
<key>match</key>
<string>^ +([0-9]+):</string>
<key>captures</key>
<dict>
<key>1</key> <!-- capture group 1 -->
<dict>
<key>name</key> <!-- name it so it can be colored -->
<string>constant.numeric.line-number.match.find-in-files</string>
</dict>
</dict>
</dict>
</array>
Estas solo pasan por el archivo, línea por línea, y miran f o un partido. Si se encuentra una coincidencia, una o más definiciones <key>name</key>
se aplican a los grupos de captura de la coincidencia, si los hay. Estas definiciones name
se referencian en el archivo de definición de tema (por ejemplo, Monokai) y el color se aplica a los caracteres que coinciden con el grupo de captura nombrado.
Los patrones anteriores son solo coincidencias con grupos de captura. Creo que una limitación de esto es que la coincidencia (o la captura de grupos) no se puede seguir procesando.
Lo que se aplica en lo esencial son los patrones del formato:
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<!-- add the filetype extensions, here -->
<!-- these are XML formatted files: -->
<string>^([^ ].*\.(?:xml|tmLanguage|hidden-tmLanguage|tmTheme):)$</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>entity.name.filename.find-in-files</string>
</dict>
</dict>
<key>end</key>
<string>^[^ ]</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#line-numbers</string>
</dict>
<dict>
<key>include</key>
<!-- which syntax should match up to the filetype extensions listed above: -->
<!-- to find out what the "scopeName" is, refer to the corresponding *.tmLanguage file -->
<!-- for XML, this is ~/Library/Application Support/Sublime Text 2/Packages/XML/XSL.tmLanguage -->
<string>text.xml</string>
</dict>
</array>
</dict>
<!-- ... can have many more -->
</array>
Lo más importante en este tipo de modelo es que tiene un <begin>
y un <end>
, a continuación, que tiene su propia sección <pattern>
.Cuando la expresión regular <begin>
se corresponde, el contenido de <patterns>
se aplica hasta que (aquí es donde me pongo muy irregular) se encuentra un token no coincidente, en cuyo punto se prueba <end>
. Creo.
En cualquier caso, la esencia define varios de estos bloques de patrones de inicio y fin, uno para cada uno de los tipos y sintaxis de archivos XML, HTML, JavaScript y CSS. La expresión regular <being>
coincide con la línea con el nombre de archivo y una determinada extensión de archivo. Esto se usa para crear el inicio del "contexto" para una sintaxis dada. El contexto finaliza cuando los elementos en el siguiente bloque <patterns>
dejan de coincidir y coincide el <end>
regex. Creo que, básicamente, sólo quieren dar cuerpo esto para cualquier sintaxis que desea resaltar en los resultados de encontrar ...
Aquí está una captura de pantalla de los resultados de sintaxis resaltado encontrar que estoy recibiendo el uso que el GIST:
Debo señalar, un gran problema que encontré es cuando un comentario de bloque comienza en un extracto, pero el extracto no incluye los caracteres que terminan el comentario de bloque. El comentario de bloque simplemente continúa hasta que el token de terminación se encuentra en otro lugar en los resultados de búsqueda. Esto se extiende a búsquedas posteriores, también.
Actualización:
que quería añadir que no debería ser necesario volver a compilar nada en el arranque. Aunque, vale la pena mencionar que debe reiniciar sublime para que los cambios en Find Results.hidden-tmLanguage
surtan efecto. Si hace de esto un complemento de algún tipo, parece que los cambios consistirían principalmente en agregar nuevos idiomas, lo que podría ser una actualización de complemento poco frecuente.
Esta no es una definición de sintaxis, pero podría ser de ayuda: [http://css-tricks.com/exclude-compiled-css-from-sublime-text-2-projects/](http://css -tricks.com/exclude-compiled-css-from-sublime-text-2-projects/) – runningRhetoric
No es exactamente lo que estaba buscando ... Estoy contento con los resultados de "Buscar resultados" ... eh. ' Esperaba tener una sintaxis mejor, resaltando – Crisfole
Estoy buscando algo similar, y encontré este http://blog.macromates.com/2012/injection-grammars-project-variables/. Sin embargo, la entrada no es muy clara para mí. Todavía estoy digiriendo. Incluso se encontró con esto (https://groups.google.com/forum/?fromgroups=#!msg/textmate/cEXeWHjEXNk/EWqV5L2CWQAJ), pero de nuevo, sigue siendo bastante vago. – sntran