0

php_getsetという名前の vim ftplugin を見ています。PHP プロパティのゲッターとセッターを生成します。かなりうまく機能しますが、インデントを正しく推測しません。私はこれを修正しようとしています。関連するコードは次のとおりです。

let s:phpname = '[a-zA-Z_$][a-zA-Z0-9_$]*'
let s:variable = '\(\s*\)\(\([private,protected,public]\s\+\)*\)\$\(' . s:phpname . '\)\s*\(;\|=[^;]\+;\)'
... (inside a function)
let s:indent    = substitute(a:variable, s:variable, '\1', '')
let s:varname   = substitute(a:variable, s:variable, '\4', '')
let s:funcname  = toupper(s:varname[0]) . strpart(s:varname, 1)

a:variableデバッグから、値があることがわかりますd $downPayment;(dは「保護された」という単語の末尾に由来します)。substitute達成するための 3 番目の引数がわかりません。以前に後方参照について読んだことがありますが、このコードで何をしているのかわかりません。

助けてくれてありがとう。質問をより明確にするか、詳細を提供できるかどうか教えてください。

4

0 に答える 0