Les fonctions VimScript doivent-elles commencer par une majuscule et si oui, pourquoi?

12

Y a-t-il une bonne raison pour laquelle les fonctions VimScript que je mets .vimrcou _vimrcdoivent commencer par une majuscule?

leeand00
la source

Réponses:

12

Citer :help user-functions

Le nom de la fonction doit commencer par une lettre majuscule, pour éviter toute confusion avec les fonctions intégrées.

La même restriction est placé sur les commandes définies par l' utilisateur, bien qu'il existe quelques commandes de BUILTIN ( :N[ext], :P[rint], :X) qui commencent par les lettres majuscules.

jamessan
la source
1
Ah! Tout s'explique maintenant. Mais combien ennuyeux pour un ancien programmeur Java, et de reformuler la commande au milieu, :Peh bien ... maintenant au moins j'ai une raison pour laquelle c'est le cas.
leeand00
8
Mais il y a plus! vous pouvez utiliser un nom de fonction en minuscule dont vous avez juste besoin de le préfixer en en s:faisant une fonction spécifique au script. Tu vois :h local-functions. Vous pouvez également utiliser des fonctions de chargement automatique qui n'ont pas cette exigence. Tu vois :h autoload-functions.
Peter Rincker
3

Les noms de fonction publique à l'ancienne doivent en effet commencer par une majuscule. Cependant s:getSNR(), les noms de fonction de script ou les noms de fonction chargés automatiquement ( lh#option#get()) ne le font pas - je le fais de plus en plus souvent dans mes plugins.

Luc Hermitte
la source