Немного кое-что, что можно позаимствовать у IDE.Поэтому идея состоит в том, чтобы выделить аргументы функций (и, возможно, имена переменных в области видимости) внутри тел функций.Это поведение по умолчанию для некоторых C:
Ну, если бы я поместил курсор внутрь func
, я бы хотел видеть аргументы foo
и bar
выделено, чтобы лучше следовать логике алгоритма.Обратите внимание, что имя с таким же именем foo
в func2
не будет выделено.Эту роскошь можно было бы опустить, хотя ...
Используя локальные переменные, я также хотел бы, чтобы локально инициализированные переменные выделяли:
i inside for">
Наконец, чтобы продемонстрировать роскошь:
Не так просто написать это.Я использовал C, чтобы дать общее представление.На самом деле я мог бы использовать это для программирования схемы / Clojure лучше:
Это должно распознавать let
, loop
, for
, doseq
привязок дляэкземпляр.
Мой vimscript-fu не так силен;Я подозреваю, что нам нужно будет
- Разобрать (без регулярных выражений?) Аргументы из определения функции под курсором.Конечно, это зависит от языка.Мой приоритет будет Clojure.
- определить область синтаксиса, чтобы охватить только данную функцию / область действия
- дать требуемые совпадения синтаксиса
Как функция это может бытьотображается на ключ (если очень ресурсоемкий) или CursorMoved
, если не такой медленный.
Хорошо, теперь.Кто-нибудь написал / нашел что-то подобное?У гуру vimscript есть идея, как на самом деле начать писать такой скрипт?
Извините за небольшую оффтопность и плохое форматирование.Не стесняйтесь редактировать / форматировать.Или проголосуйте, чтобы закрыть.