¿Las funciones de VimScript tienen que comenzar con una letra mayúscula y, de ser así, por qué?

12

¿Hay una buena razón por la cual las funciones de VimScript que puse en mi .vimrco _vimrctienen que comenzar con una letra mayúscula?

leeand00
fuente

Respuestas:

12

Citar :help user-functions

El nombre de la función debe comenzar con una letra mayúscula, para evitar confusiones con las funciones incorporadas.

La misma restricción se coloca sobre los comandos definidos por el usuario, aunque hay algunas órdenes internas ( :N[ext], :P[rint], :X), que comienzan con letras mayúsculas.

jamessan
fuente
1
Ah! Todo tiene sentido ahora. Pero qué molesto para un antiguo programador de Java, y para reafirmar el comando en el medio, :Poh bueno ... ahora al menos tengo una razón por la cual este es el caso.
leeand00
8
¡Pero hay más! puede usar un nombre de función en minúscula, solo necesita prefijarlo para s:convertirlo en una función específica del script. Ver :h local-functions. También puede usar funciones de carga automática que no tienen este requisito. Ver :h autoload-functions.
Peter Rincker
3

Los nombres de funciones públicas de estilo antiguo tienen que comenzar con una letra mayúscula. Sin embargo s:getSNR(), los nombres de funciones de script o los nombres de funciones con carga automática ( lh#option#get()) no lo hacen; lo hago cada vez más a menudo en mis complementos.

Luc Hermitte
fuente