Привет.
Может, для подсветки переменных у PHP сделать так (в Quotes):
Code: Select all
274 0 ${VAR} 0 "$" "" "" "abcdefghijklmnopqrstuvwxyz0123456789_" ""
Тогда автокомплит работает фильтруя переменные. Ну, и $ убрать из разделителей.
В php.coder забыли про and и or. А js.coder - про true, false и null. Ещё я частенько видел, что люди проверяют на underfined:
Думаю, логично было бы внести его как ${TYPE}.
Подсветка для Lua.
lua.coder lua.coder Code: Select all
;----------------------------------------------;
; Coder plugin syntax file ;
;----------------------------------------------;
;Colors
; Color need to be in #RRGGBB format.
; If color equal to zero, then color ignored.
;
;Font styles
; 0 ignored.
; 1 normal.
; 2 bold.
; 3 italic.
; 4 bold italic.
;
;For comfort file viewing/editing set tab size to 8 or higher.
Extensions:
;==========
;File types
;==========
lua
;----------------------------------------------;
; HighLight ;
;----------------------------------------------;
;Flags (sum of the members)
; 1 case sensitive.
; 2 word is a composition of characters ("Words:" section only). Example: "0123456789" - highlight words that contain only digits.
; 4 quote end required ("Quotes:" section only).
; 8 quote start string is ignored and last meet delimiter used as quote start ("Quotes:" section only).
; 16 quote end string is ignored and first meet delimiter used as quote end ("Quotes:" section only).
; 32 don't highlight quote start ("Quotes:" section only).
; 64 don't highlight quote end ("Quotes:" section only).
; 128 don't catch and don't highlight quote start ("Quotes:" section only).
; 256 don't catch and don't highlight quote end ("Quotes:" section only).
; 512 quote start, delimiter or word located at line start.
; 1024 quote end, delimiter or word located at line end.
; 2048 quote start is surrounded with delimiters ("Quotes:" section only).
; 4096 quote end is surrounded with delimiters ("Quotes:" section only).
; 8192 quote doesn't contain delimiters ("Quotes:" section only).
Font:
;=================================================================
;FontStyle FontSize FaceName
;=================================================================
${HighLight_FontStyle} ${HighLight_FontSize} ${HighLight_FaceName}
Colors:
;==========================================================================================================================================================================================================================================================
;BasicTextColor BasicBkColor SelTextColor SelBkColor LineTextColor LineBkColor ColumnColor MarkerColor CaretColor UrlColor
;==========================================================================================================================================================================================================================================================
${HighLight_BasicTextColor} ${HighLight_BasicBkColor} ${HighLight_SelTextColor} ${HighLight_SelBkColor} ${HighLight_LineTextColor} ${HighLight_LineBkColor} ${HighLight_ColumnColor} ${HighLight_MarkerColor} ${HighLight_CaretColor} ${HighLight_UrlColor}
AutoMark:
;====================================================================================================================
;AutoMarkFlags AutoMarkFontStyle AutoMarkTextColor AutoMarkBkColor
;====================================================================================================================
${HighLight_AutoMarkFlags} ${HighLight_AutoMarkFontStyle} ${HighLight_AutoMarkTextColor} ${HighLight_AutoMarkBkColor}
Quotes:
;======================================================================
;Flags Font Color Color Quote Quote Escape Quote Quote
; style text bkgrnd start end char include exclude
;======================================================================
;5=1+4
5 0 ${STR} 0 "'" "'" "\" "" ""
;5=1+4
5 0 ${STR} 0 `"` `"` "\" "" ""
;1=1
1 0 ${COMM} 0 "--" "" "" "" ""
Delimiters:
;======================================
;Flags Font Color Color Char(s)
; style text bkgrnd
;======================================
1 0 0 0 " "
1 0 0 0 " "
1 0 ${DEL1} 0 (
1 0 ${DEL1} 0 )
1 0 ${DEL2} 0 {
1 0 ${DEL2} 0 }
1 0 ${DEL2} 0 .
1 0 ${DEL2} 0 ,
1 0 ${DEL2} 0 :
1 0 ${DEL2} 0 ;
1 0 ${DEL2} 0 !
1 0 ${DEL2} 0 ~
1 0 ${DEL2} 0 |
1 0 ${DEL2} 0 =
1 0 ${DEL2} 0 -
1 0 ${DEL2} 0 *
1 0 ${DEL2} 0 +
1 0 ${DEL2} 0 /
1 0 ${DEL2} 0 <
1 0 ${DEL2} 0 >
1 0 ${DEL2} 0 [
1 0 ${DEL2} 0 ]
Words:
;===================================
;Flags Font Color Color Word
; style text bkgrnd
;===================================
;
3 0 ${NUM} 0 "0123456789"
;
1 0 ${OP} 0 local
1 0 ${OP} 0 in
;
1 0 ${OP} 0 true
1 0 ${OP} 0 false
1 0 ${OP} 0 nil
1 0 ${OP} 0 and
1 0 ${OP} 0 or
1 0 ${OP} 0 not
;
1 0 ${OP} 0 require
1 0 ${OP} 0 print
1 0 ${OP} 0 tostring
1 0 ${OP} 0 tonumber
1 0 ${OP} 0 type
;
1 0 ${IF} 0 function
1 0 ${IF} 0 return
1 0 ${IF} 0 if
1 0 ${IF} 0 elseif
1 0 ${IF} 0 else
1 0 ${IF} 0 then
1 0 ${IF} 0 for
1 0 ${IF} 0 while
1 0 ${IF} 0 break
1 0 ${IF} 0 repeat
1 0 ${IF} 0 until
1 0 ${IF} 0 do
1 0 ${IF} 0 end
;----------------------------------------------;
; CodeFold ;
;----------------------------------------------;
;Flags (sum of the members)
; 1 case sensitive.
; 2 force get fold name for function list from left at the fold start ("Folds:" section only).
; 4 force get fold name for function list from right at the fold start, including fold start ("Folds:" section only).
; 8 fold start located at line start ("Folds:" section only).
; 16 fold start located at line end ("Folds:" section only).
; 32 fold end located at line start ("Folds:" section only).
; 64 fold end located at line end ("Folds:" section only).
; 128 don't catch fold end ("Folds:" section) or skip end ("Skips:" section).
; 256 additional to 128 flag - more priority is given to sibling level instead of parent level ("Folds:" section only).
; 512 comment fold - fold ignore any other folds and skips inside ("Folds:" section only).
; 1024 reserved.
; 2048 deny fold - founded fold will be ignored ("Folds:" section only).
; 4096 xml fold - "<tag" and "</tag>", "<single" and "/>", "<single" and ">" ("Folds:" section only).
FoldPanel:
;=================================================================================================================================================================================================================================================================================================================================================================================================================================================================
;PanelFirstBkColor PanelSecondBkColor PanelNormalFoldColor PanelActiveFoldColor PanelNormalNodeOpenBkColor PanelNormalNodeCloseBkColor PanelActiveNodeOpenBkColor PanelActiveNodeCloseBkColor PanelNormalNodeOpenSignColor PanelNormalNodeCloseSignColor PanelActiveNodeOpenSignColor PanelActiveNodeCloseSignColor
;=================================================================================================================================================================================================================================================================================================================================================================================================================================================================
${CodeFold_PanelFirstBkColor} ${CodeFold_PanelSecondBkColor} ${CodeFold_PanelNormalFoldColor} ${CodeFold_PanelActiveFoldColor} ${CodeFold_PanelNormalNodeOpenBkColor} ${CodeFold_PanelNormalNodeCloseBkColor} ${CodeFold_PanelActiveNodeOpenBkColor} ${CodeFold_PanelActiveNodeCloseBkColor} ${CodeFold_PanelNormalNodeOpenSignColor} ${CodeFold_PanelNormalNodeCloseSignColor} ${CodeFold_PanelActiveNodeOpenSignColor} ${CodeFold_PanelActiveNodeCloseSignColor}
FoldList:
;================================================
;ListTextColor ListBkColor
;================================================
${CodeFold_ListTextColor} ${CodeFold_ListBkColor}
TagMark:
;============================================================================================================
;TagMarkFlags TagMarkFontStyle TagMarkTextColor TagMarkBkColor
;============================================================================================================
${CodeFold_TagMarkFlags} ${CodeFold_TagMarkFontStyle} ${CodeFold_TagMarkTextColor} ${CodeFold_TagMarkBkColor}
Skips:
;=============================
;Flags Skip Skip Escape
; start end char
;=============================
Folds:
;=====================================================================
;Flags Font Color Color Fold Fold Delimiters
; style text bkgrnd start end
;=====================================================================
;
513 0 ${COMM} 0 "--[[" "]]" ""
513 0 ${STR} 0 "[[" "]]" ""
;
3 0 0 0 "do" "end" " ;."
3 0 0 0 "repeat" "until" " ;."
3 0 0 0 "function" "end" " ;."
;
3 0 0 0 "if" "end" " ;."
131 0 0 0 "if" "elseif" " ;."
131 0 0 0 "if" "else" " ;."
;
3 0 0 0 "elseif" "end" " ;."
131 0 0 0 "elseif" "elseif" " ;."
131 0 0 0 "elseif" "else" " ;."
;
3 0 0 0 "else" "end" " ;."
;----------------------------------------------;
; AutoComplete ;
;----------------------------------------------;
Blocks:
;======================================================================
;Abbreviations and blocks
;
; $~abbr abbreviation.
; $[] set caret to this position. Can be multiple (hot spots).
; $[text] select text. Can be multiple (hot spots).
; $$ symbol $.
; $\] escape symbol ]. Can be used in $[text] block: $[One [1$\] ].
; ${VAR} variable assigned from Coder::Settings.
; $; comment line.
;======================================================================
$~if
if $[] then
${AutoComplete_Indent}$[]
end;
$~while
while $[] do
${AutoComplete_Indent}$[]
end;
$~for
for i = $[], $[] do
${AutoComplete_Indent}$[]
end;
$~repeat
repeat
${AutoComplete_Indent}$[]
until $[];
$~function
function $[name]()
${AutoComplete_Indent}$[]
end;
Правда, не работает фолдинг для варианта:
P.S. Ещё предложение. function/def присваивать не ${OP} (ключевые слова, да?), а ${IF}. Мне так показалось, что $(IF) это вроде блока. А функция - блок. К тому же, операторы break и continue подсвечиваются ${IF}, как операторы выхода из блока. Так же светится return. Помимо того, что он выходит из блока циклов, но ещё и из функции.