7
votes

Changer le cas dans Snipmate.Vim Snippets?

est-il possible de modifier le cas des valeurs variables dans les extraits de snipmate?

Par exemple: p>

function! ToUpperCase(str)
    let result = substitute(a:str, '\(\w\)', '\u\1', '')
    return result
endfunction


0 commentaires

3 Réponses :


3
votes

La version actuelle du snipmate n'est pas capable d'effectuer des transformations sur le texte en miroir. Rechercher : Aide Snipmate-Inconvénients où il est écrit:

Regex ne peut pas être effectué sur des variables, telles que "$ {1 /.*/ \ u &}"

Si vous voulez vraiment cette fonctionnalité, vous voudrez peut-être essayer l'un des autres plug-ins tirippets là-bas. ultisnips utilise la même syntaxe pour la définition des extraits et prétend avoir tous les mêmes caractéristiques que Textmate.


1 commentaires

Merci pour l'aide. J'ai essayé Ultisnips une fois mais il manquait quelque chose (je ne me souviens pas quoi) et c'est pourquoi j'ai commencé à utiliser Snipmate. Je pense que le hack ci-dessous suffit pour le moment.



2
votes

J'ai fait un petit hack pour snipmer pour permettre aux fonctionnalités que je cherchais.

Mettez ce code dans AutoLoad / snipmate.vim à la fin de la fonction S: RemoVesNippet () (après la ligne 14): xxx

Vous pouvez désormais définir des extraits comme celui-ci: xxx

sortie: xxx

Notez que le remplacement n'est pas effectué en temps réel, mais après avoir "quitté" l'extrait.


1 commentaires

Snipmate.vim Fourchette, qui comprend cette fonctionnalité, est maintenant à Github: Github.com/jarijokinen/snipmate.vim



10
votes

Clause de non-responsabilité: Je suis l'auteur principal de Ultisnips.

Pour votre intérêt et vos besoins en matière d'intérêt et de tambour, je présente deux définitions d'extraits pour Ultisnips qui a été mentionné ici avant. Les deux font ce que l'OP veut. Le premier utilise des transformations (syntaxe Textmate): xxx

la seconde utilise l'interpolation de code Python. Pour mes goûts, c'est plus facile à lire mais c'est un peu plus verbeux. xxx

Etant donné que la version 1.3 Ultisnips est livrée avec un script pouvant convertir des extraits de snipmate, la commutation doit donc être facile. .


0 commentaires