• VIM скрипт. Как написать функцию, которая сворачивает все функции в документе?

    @lgick Автор вопроса
    Написал:

    function! CloseFunctions()
    
      execute 'normal zE'
    
      let i = 0
      let lenline = line('$')
    
      call inputsave()
      let space = input('how many space (dafault: 2)? ')
      call inputrestore()
    
      if !strlen(space)
        let space = 2
      endif
    
      while i <= lenline
        let str = getline(i)
        if match(str, '\S') == space
          if match(str, 'function') > 0
            if match(str, '{') > 0
              execute i + 'G'
              execute 'normal $zf%'
            endif
          endif
        endif
        let i += 1
      endwhile
    
    endfunction


    Нужно забиндить на клавишу.
    При вызове спрашивает: сколько отступов содержат функциональные блоки (по умолчанию 2 отступа).
    После этого отыскивает все строки с заданным отступом, затем ищет в найденных слово 'function' и скобку '{'
    И закрывает функциональные блоки
    Ответ написан
    Комментировать
  • RequireJS дозагрузка модулей

    @lgick Автор вопроса
    это асинхронная загрузка файлов
    Ответ написан
    Комментировать