Problemas para crear terminaciones personalizadas para Sublime Text 3

0

ACTUALIZADO

Estoy trabajando en el desarrollo de Salesforce utilizando el complemento MavensMate para Sublime Text 3. Quiero crear un archivo de finalización personalizado que contendrá algunos nombres comunes de clase de etiqueta HTML que utilizo a menudo en mis páginas de Visualforce.

Visualforce usa etiquetas HTML normales, pero también tiene etiquetas personalizadas que se parecen a esto ...

<apex:tagName ... />

Las páginas de Visualforce tienen una extensión de nombre de archivo "filename.page". MavensMate utiliza el resaltado de sintaxis HTML, y cuando presiono "ctrl + alt + shift + p" para obtener el / los selector / es del alcance, muestra lo mismo que un archivo HTML normal (es decir, text.html.basic).

Puedo hacer que mi archivo de finalización funcione en una página HTML normal fuera de las etiquetas, pero no dentro de una definición de clase en una etiqueta. Parece que no puedo hacer que funcione en absoluto en una página de Visualforce.

Mi archivo inicial se basó en la documentación que se encuentra aquí .

{
   "scope": "text.html.basic",

   "completions":
   [
      { "trigger": "test\tTheTest", "contents": "this is a test" }
   ]
}

Lamentablemente no puedo hacer que funcione. He intentado cada permutación del alcance anterior. Mi archivo se llama "test.sublime-completions" y se encuentra en el directorio Paquetes / Usuario /. He intentado renombrar a HTML.sublime-completions, html.sublime-completions.

He cambiado el "auto_complete_selector" y el "auto_complete_triggers" para intentar resolver esto, pero todavía nada.

"auto_complete_selector": "source, text, string.quoted.double.html",
"auto_complete_triggers":
[
    {
        "characters": "<",
        "selector": "text.html",
        "selector": "string.quuoted.double.html"
    }
],

Hice una publicación en los foros de ST que se encuentran aquí, pero nadie respondió. :(

¿Alguien puede arrojar algo de luz sobre lo que estoy haciendo mal y cómo puedo resolver esto?

Como solución, puedo hacer fragmentos para cada clase, pero parece más apropiado hacerlo a través de Terminaciones.

Doug B
fuente

Respuestas:

1

Probablemente sea porque la especificación de su alcance no es válida. lo siguiente funciona perfectamente bien para mí:

{
   "scope": "text.html",

   "completions":
   [
      { "trigger": "test\tTheTest", "contents": "this is a test" }
   ]
}
David Dai
fuente
He cambiado mi alcance para que coincida con el tuyo, y todavía no funciona. No estoy seguro de lo que estoy haciendo mal.
Doug B
Ok, lo hice funcionar en HTML fuera de una definición de clase de etiqueta, pero todavía no puedo hacer que funcione dentro de una clase en una etiqueta. También creo que tengo otro problema. Voy a actualizar mi publicación.
Doug B