Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Скрипты vim всегда пишутся на vimscript
Вызов внешнего интерпретатора дает выигрыш?
if
, когда условие не выполняется), но в любом случае ни AST, ни байткода просто нет. Соответственно, с одной стороны, нет кэшей вроде *.pyc даже внутри самого Vim и исполняться всё будет намного дольше, с другой стороны добавление вещей вроде AST и байткода замедлит выполнение всего, что выполняется один раз, т.к. придётся тратить ресурсы на различные преобразования, при однократном исполнении излишние.function A()…endfunction
будет обработано быстрее, чем Python обработает def a():…
(возможно, даже в байткоде), т.к. текущий «парсер» просто ищет строку с endfunction
, даже не пытаясь как‐либо интерпретировать тело функции.Lazy loading работает вне зависимости от того, на чём написано дополнение
но если эта функциональность и так отрабатывает менее, чем за 100 мс, то зачем что‐то делать, если никто не увидит разницы?
Нужно делать что‐то асинхронно.Уточните, пожалуйста. Внешний код ведь вызывается из viml скрипта, который блокирует всегда by_design. Кажется основная цель проекта neovim решить это и обеспечить неблокирующее исполнение скриптов. Что вы подразумеваете под async?
Humane VimScript: минималистичная объектная ориентация