Плагин Vim для генерации комментариев к документации Javascript - PullRequest
4 голосов
/ 30 октября 2011

Есть ли плагин для vim, похожий на Jsbeautify, который автоматически генерирует JavaDoc-подобные комментарии в файлах скриптов.

Например, он возьмет

function(a , b , c){
}

и возврат

/**
 * Description.
 *
 * @param a  Description.
 * @param b  Description.
 * @param c  Description.
 */
function(a , b , c){
}

Ответы [ 3 ]

5 голосов
/ 06 ноября 2011

Вот кое-что, с чего можно начать - настройте по мере необходимости! -)

" generate doc comment template
map <LocalLeader>/ :call GenerateDOCComment()<cr>

function! GenerateDOCComment()
  let l    = line('.')
  let i    = indent(l)
  let pre  = repeat(' ',i)
  let text = getline(l)
  let params   = matchstr(text,'([^)]*)')
  let paramPat = '\([$a-zA-Z_0-9]\+\)[, ]*\(.*\)'
  echomsg params
  let vars = []
  let m    = ' '
  let ml = matchlist(params,paramPat)
  while ml!=[]
    let [_,var;rest]= ml
    let vars += [pre.' * @param '.var]
    let ml = matchlist(rest,paramPat,0)
  endwhile
  let comment = [pre.'/**',pre.' * '] + vars + [pre.' */']
  call append(l-1,comment)
  call cursor(l+1,i+3)
endfunction

Предполагая, что список параметров находится в одной строке, он пытается сопоставить параметры, создает строку комментария и добавляет эту строку комментария к строке перед заголовком функции.

4 голосов
/ 30 октября 2011

с snipmate вы можете сделать фрагмент или использовать сочетание фактических js snippets

2 голосов
/ 30 октября 2011

Я думал о плагине, смешанном с макросами, но сколько аргументов может принять функция? В большинстве случаев это будет максимум 4.

Решение с фрагментами может быть жизнеспособным.

...