|
> hilightファイルの読み込みはエラーになるよでよかったですが、本体の実際の反
>映で超えるとまずい部分が
> あったので、まずは対策して修正して、ヘルプにも書いておきます。
> そのうえで、今後増やすことがある場合hilightファイル直接指定モードでできた
>らいいです。
当方で実際に本番運用するはずであった .hilight ファイルの「複数行コメント」の
内容は以下の通りです。
/<HilightMulti>
// コメント類。
// デジタル署名。
/001A,00020002,00,00,00010003,"(?#hmonig)(?#lookbehind)(?u)(?#pslexeme)^\\g<
s>\\g<lineCommentChar>\\g<s>(?i:sig)\\g<s>\\g<lineCommentChar>\\g<s>(?i:begi
n)\\g<s1>(?i:signature)\\g<s1>(?i:block)\\g<s>$",00010003,"(?#hmonig)(?#look
behind)(?u)(?#pslexeme)^\\g<s>\\g<lineCommentChar>\\g<s>(?i:sig)\\g<s>\\g<li
neCommentChar>\\g<s>(?i:end)\\g<s1>(?i:signature)\\g<s1>(?i:block)\\g<s>$"
// 実行条件。
/001A,00000003,00,00,00010003,"(?#hmonig)(?#lookbehind)(?u)(?#pslexeme)^\\g<
s>\\g<lineCommentChar>\\g<s>(?i:requires)\\g<s1>.++",00000002,""
// ブロックコメント。
/0003,00020002,00,00,00010003,"(?#hmonig)(?#lookbehind)(?u)(?#pslexeme)\\g<b
lockCommentBeginChar>[#]",00010003,"(?#hmonig)(?#lookbehind)(?u)(?#pslexeme)
[#]\\g<blockCommentEndChar>"
// 行コメント。
/0003,00000003,00,00,00010003,"(?#hmonig)(?#lookbehind)(?u)(?#pslexeme)\\g<l
ineCommentChar>",00000002,""
// 式リテラル。
// 文字列。
// 逐語的ヒア文字列。
/0014,14020002,00,00,00010003,"(?#hmonig)(?#lookbehind)(?u)(?#pslexeme)(?#ps
keyword)(?#pssymbol)(?#psvar)(?#psgenerictoken)(?#psparam)(?#psnumeric)(?#ps
string)(?#pstypename)(?#psattribute)(?#psmembername)(?#pslabel)(?#pstoken)(?
#psboundary)\\g<valuePre>\\K\\g<hereVerbatimBegin>",00010003,"(?#hmonig)(?#l
ookbehind)(?u)(?#pslexeme)(?#pskeyword)(?#pssymbol)(?#psvar)(?#psgenerictoke
n)(?#psparam)(?#psnumeric)(?#psstring)(?#pstypename)(?#psattribute)(?#psmemb
ername)(?#pslabel)(?#pstoken)(?#psboundary)\\g<hereVerbatimEnd>(?=\\g<valueP
ost>)"
// 展開ヒア文字列。
/0014,14070002,00,00,00010003,"(?#hmonig)(?#lookbehind)(?u)(?#pslexeme)(?#ps
keyword)(?#pssymbol)(?#psvar)(?#psgenerictoken)(?#psparam)(?#psnumeric)(?#ps
string)(?#pstypename)(?#psattribute)(?#psmembername)(?#pslabel)(?#pstoken)(?
#psboundary)\\g<valuePre>\\K\\g<hereStringBegin>",00010003,"(?#hmonig)(?#loo
kbehind)(?u)(?#pslexeme)(?#pskeyword)(?#pssymbol)(?#psvar)(?#psgenerictoken)
(?#psparam)(?#psnumeric)(?#psstring)(?#pstypename)(?#psattribute)(?#psmember
name)(?#pslabel)(?#pstoken)(?#psboundary)\\g<hereStringEnd>(?=\\g<valuePost>)"
// 空の逐語的文字列。
/0014,00000004,00,00,00010003,"(?#hmonig)(?#lookbehind)(?u)(?#pslexeme)(?#ps
keyword)(?#pssymbol)(?#psvar)(?#psgenerictoken)(?#psparam)(?#psnumeric)(?#ps
string)(?#pstypename)(?#psattribute)(?#psmembername)(?#pslabel)(?#pstoken)(?
#psboundary)\\g<valuePre>\\K\\g<verbatimBegin>\\g<emptyVerbatimEnd>(?=\\g<va
luePost>)",00000002,""
// 逐語的文字列。
/0014,14020002,00,00,00010003,"(?#hmonig)(?#lookbehind)(?u)(?#pslexeme)(?#ps
keyword)(?#pssymbol)(?#psvar)(?#psgenerictoken)(?#psparam)(?#psnumeric)(?#ps
string)(?#pstypename)(?#psattribute)(?#psmembername)(?#pslabel)(?#pstoken)(?
#psboundary)\\g<valuePre>\\K\\g<verbatimBegin>",00010003,"(?#hmonig)(?#lookb
ehind)(?u)(?#pslexeme)(?#pskeyword)(?#pssymbol)(?#psvar)(?#psgenerictoken)(?
#psparam)(?#psnumeric)(?#psstring)(?#pstypename)(?#psattribute)(?#psmemberna
me)(?#pslabel)(?#pstoken)(?#psboundary)\\g<verbatimEnd>(?=\\g<valuePost>)"
// 単行の展開文字列。
/0014,00000004,00,00,00010003,"(?#hmonig)(?#lookbehind)(?u)(?#pslexeme)(?#ps
keyword)(?#pssymbol)(?#psvar)(?#psgenerictoken)(?#psparam)(?#psnumeric)(?#ps
string)(?#pstypename)(?#psattribute)(?#psmembername)(?#pslabel)(?#pstoken)(?
#psboundary)\\g<valuePre>\\K\\g<lineString>(?=\\g<valuePost>)",00000002,""
// 複数行の展開文字列。
/0014,14070002,00,60,00010003,"(?#hmonig)(?#lookbehind)(?u)(?#pslexeme)(?#ps
keyword)(?#pssymbol)(?#psvar)(?#psgenerictoken)(?#psparam)(?#psnumeric)(?#ps
string)(?#pstypename)(?#psattribute)(?#psmembername)(?#pslabel)(?#pstoken)(?
#psboundary)\\g<valuePre>\\K\\g<stringBegin>",00010003,"(?#hmonig)(?#lookbeh
ind)(?u)(?#pslexeme)(?#pskeyword)(?#pssymbol)(?#psvar)(?#psgenerictoken)(?#p
sparam)(?#psnumeric)(?#psstring)(?#pstypename)(?#psattribute)(?#psmembernam
e)(?#pslabel)(?#pstoken)(?#psboundary)\\g<blockStringEnd>(?=\\g<valuePost>)"
// 数値。
/0025,00000004,00,00,00010003,"(?#hmonig)(?#lookbehind)(?u)(?#pslexeme)(?#ps
keyword)(?#pssymbol)(?#psvar)(?#psgenerictoken)(?#psparam)(?#psnumeric)(?#ps
string)(?#pstypename)(?#psattribute)(?#psmembername)(?#pslabel)(?#pstoken)(?
#psboundary)\\g<valuePre>\\K\\g<numeric>(?=\\g<valuePost>)",00000002,""
使用する正規表現 DLL は HmJreSelect.dll から hmonig.dll を呼び出しており、上
記の (?#ps******) は全て
.HmJreSelect ファイルで定義した比較的長い正規表現パターンです。
当然、制限文字数が 3999 文字であることを前提にしたもので、これを今更 249 文
字に短縮するのは困難であるため、
今すぐ運用したい .hilight ファイルであるためできる限り早く制限文字数を 3999
文字に修正してもらえれば
ありがたいです。
|
|