Contenu | Rechercher | Menus

Annonce

DVD, clés USB et t-shirts Ubuntu-fr disponibles sur la boutique En Vente Libre

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 01/05/2021, à 09:51

zephyre123

[RESOLU]Comment créé un snippet avec le plugin ultisnip

Bonjour,

J'aimerai bien créé un snippet avec le plugin ultisnip = https://github.com/SirVer/ultisnips/blo … /README.md
J'ai lu (en diagonale) la doc globalement je comprends comment ça fonctionne et comment les faire.
Le seul souci c'est que je ne sais pas ou placer les snippets dans quel dossier et comment les nommer s'il y a un nom spécifique à donner.
Pouvez vous m'aidez svp ?

Dernière modification par zephyre123 (Le 01/05/2021, à 15:38)

Hors ligne

#2 Le 01/05/2021, à 11:47

zephyre123

Re : [RESOLU]Comment créé un snippet avec le plugin ultisnip

Bon voici ce que j'ai fais point par point :

- premièrement
crée un répertoire = snippets dans ce repertoire = ~/.vim/bundle/ultisnips
D'après la documentation :h UltiSnips-how-snippets-are-loaded ce répertoire fait partie du runtimepath (je sais pas ce que c'est)
Si j'ai bien compris c'est la ou il va chercher les snippets.
On peut le vérifier avec la commande dans vim = echo &runtimepath

- deuxièmement
J'ai créé dans ce répertoire = ~/.vim/bundle/ultisnips/snippets un fichier = html.snippets
le contenu du fichier html.snippets ci dessous :

snippet a
<a href="$1"${2: class="${3:link}"}>
    $0
</a>
endsnippet

Cependant lorsque je lance un fichier html et que je fais le snippet = a + ([tab] = trigger) j'ai l'erreur suivante :

An error occured. This is either a bug in UltiSnips or a bug in a
snippet definition. If you think this is a bug, please report it to
https://github.com/SirVer/ultisnips/issues/new
Please read and follow:
https://github.com/SirVer/ultisnips/blob/master/CONTRIBUTING.md#reproducing-bugs

Following is the full stack trace:
Traceback (most recent call last):
  File "/home/pierre/.vim/bundle/ultisnips/pythonx/UltiSnips/err_to_scratch_buffer.py", line 18, in wrapper
    return func(self, *args, **kwds)
  File "/home/pierre/.vim/bundle/ultisnips/pythonx/UltiSnips/snippet_manager.py", line 933, in _track_change
    self._try_expand(autotrigger_only=True)
  File "/home/pierre/.vim/bundle/ultisnips/pythonx/UltiSnips/snippet_manager.py", line 794, in _try_expand
    before, snippets = self._can_expand(autotrigger_only)
  File "/home/pierre/.vim/bundle/ultisnips/pythonx/UltiSnips/snippet_manager.py", line 790, in _can_expand
    return before, self._snips(before, False, autotrigger_only)
  File "/home/pierre/.vim/bundle/ultisnips/pythonx/UltiSnips/snippet_manager.py", line 671, in _snips
    source.ensure(filetypes)
  File "/home/pierre/.vim/bundle/ultisnips/pythonx/UltiSnips/snippet/source/file/base.py", line 31, in ensure
    self._load_snippets_for(ft)
  File "/home/pierre/.vim/bundle/ultisnips/pythonx/UltiSnips/snippet/source/file/base.py", line 53, in _load_snippets_for
    self._parse_snippets(ft, fn)
  File "/home/pierre/.vim/bundle/ultisnips/pythonx/UltiSnips/snippet/source/file/base.py", line 70, in _parse_snippets
    raise SnippetSyntaxError(filename, line_index, msg)
UltiSnips.snippet.source.file.base.SnippetSyntaxError: Invalid line '<a href="$1"${2: class="${3:link}"}>' in html.snippets:2

Bref c'est la merde quoi !

Hors ligne

#3 Le 01/05/2021, à 12:28

zephyre123

Re : [RESOLU]Comment créé un snippet avec le plugin ultisnip

deuxième méthode que j'ai essayé, trouvé sur stackoverflow : https://stackoverflow.com/questions/321 … s/32176638

J'ai d'abord crée le répertoire comme indiqué :

mkdir -p ~/.vim/my-snippets/UltiSnips

J'ai mis le fichier = html.snippets dans ce dossier  ~/.vim/my-snippets/UltiSnips
Contenu du fichier en question :

snippet a
<a href="$1"${2: class="${3:link}"}>
    $0
</a>
endsnippet

Mais lorsque je teste, c'est à dire que j'ouvre un fichier.html avec vim et que je tape en mode insertion [tab] y a rien qui se passe donc ça ne fonctionne pas.

Avez vous une idée ?

Hors ligne

#4 Le 01/05/2021, à 15:38

zephyre123

Re : [RESOLU]Comment créé un snippet avec le plugin ultisnip

C'est bon j'ai trouvé reste plus qu'a savoir comment le paramétré un snippet wink

Hors ligne