Algo que podría tomar prestado de los IDEs. Entonces, la idea sería resaltar los argumentos de funciones (y tal vez los nombres de variables de alcance) dentro de los cuerpos de funciones. Este es el comportamiento por defecto para algunos C:Resalte los argumentos en el cuerpo de la función en vim
Bueno, si tuviera que colocar el cursor dentro func
Me gustaría ver los argumentos foo
y bar
resaltados a seguir la lógica algoritmo mejor. Tenga en cuenta que el nombre similar foo
en func2
no se iluminará. Este lujoso podría omitirse sin embargo ...
Utilizando las variables de ámbito local, me gustaría variables que también han inicializado localmente highlit:
último a redemonstrate el lujo:
No es tan trivial para escribe esto. Usé la C para dar una idea general. Realmente pude utilizar esto para la programación Scheme/Clojure mejor:
Esto debería reconocer let
, loop
, for
, doseq
fijaciones por ejemplo.
Mi vimscript-fu no es tan fuerte; Sospecho que necesitaríamos
- Parse (no regexply?) Los argumentos de la definición de la función bajo el cursor. Esto sería específico del lenguaje, por supuesto. Mi prioridad sería Clojure.
- definir una región sintaxis para cubrir la función/alcance dado sólo
- dan la sintaxis requerida coincide
Como una función de esto podría ser asignada a una tecla (si es muy intensivo en recursos) o CursorMoved
si no es asi lento.
Bien, ahora. ¿Alguien ha escrito/encontrado algo como esto? ¿Los gurús de vimscript tienen una idea sobre cómo comenzar realmente a escribir un guión de este tipo?
Disculpa la discrepancia leve y el mal formateo. Siéntase libre de editar/formatear. O vota para cerrar.
supercool topic. este resaltado realmente mejora la legibilidad del algoritmo. algunas noticias sobre eso? – nkint
Es totalmente factible para C/C++/Obj-C. Sé que es posible usar Python/Clang para obtener el alcance del cursor actual y la firma de la función actual. Fuente: http://eli.thegreenplace.net/2011/07/03/parsing-c-in-python-with-clang/. No debería ser difícil escribir un plugin vim con esto. –
Estaba tan cerca de votarte por publicar imágenes de código en lugar de texto ... pero luego leí la pregunta. ;) –