スクリプトファイルにJavaDocのようなコメントを自動的に生成する、Jsbeautifyのようなvim用のプラグインはありますか。
たとえば、これがかかります
function(a , b , c){
}
そして戻る
/**
* Description.
*
* @param a Description.
* @param b Description.
* @param c Description.
*/
function(a , b , c){
}
スクリプトファイルにJavaDocのようなコメントを自動的に生成する、Jsbeautifyのようなvim用のプラグインはありますか。
たとえば、これがかかります
function(a , b , c){
}
そして戻る
/**
* Description.
*
* @param a Description.
* @param b Description.
* @param c Description.
*/
function(a , b , c){
}
ここから始めましょう - 必要に応じて微調整してください!-)
" 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
パラメーター リストが 1 行にあると仮定すると、パラメーターを一致させようとし、コメント文字列を作成して、そのコメント文字列を関数ヘッダーの前の行に追加します。
snipmateを使用すると、スニペットを作成したり、実際のjs スニペットを組み合わせて使用したりできます
マクロと混合したプラグインを考えていましたが、関数はいくつの引数を取ることができますか? ほとんどの場合、最大で 4 になります。
スニペットを使用したソリューションは、実行可能なものになる可能性があります。