Coder plugin (2)

Discuss and announce AkelPad plugins
Locked
  • Author
  • Message
Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

Drugmix wrote:правило не работало из-за того, как странно regex parser обрабатывает (call|goto) - достаточно изменить на (goto|call) и всё заработает
Не воспроизводится - работает одинаково.

Offline
Posts: 582
Joined: Mon Apr 08, 2013 9:50 pm
Location: Win7SP1x64, APx64

Post by Drugmix »

Instructor
перепроверил у себя - и правда работает одинаково. Прошу прощения, возможно, я во время одной из проверок забыл обновить кэш после правки правила из состояния, когда оно было нерабочим. Забираю свои слова назад.
А предположение такое сделал потому что у меня уже были некоторые правила (упоминалось в этой же теме или в теме про регулярные выражения), когда перебор ИЛИ ИЛИ вариантов работал так, что порядок вариантов влиял на результат, например:

Code: Select all

0	"^\s*(?:\}\s*)*?(?:(Else)(?:\s*,\s*|\s+|\s*\{\s*)|(.+(?=::))::)?(?:(Try)(?:\s*,\s*|\s+|\s*\{\s*))?\s*(#InputLevel)(?:(?:\s*,\s*|\s+)(\d|[1-9]\d|100)?)?\s*?((?<=\s);.*)?$" "\1=(4,${IF},0) \2=(4,${STR},0) \3=(2,${OP},0) \4=(2,${AREA},0) \5=(0,${NUM},0) \6=(3,${COMM},0)"	; \5=${LEVEL}
не срабатывает на строке

Code: Select all

#inputlevel 20
а если группу (\d|[1-9]\d|100) заменить на (100|[1-9]\d|\d) - то уже срабатывает.

Offline
Posts: 1161
Joined: Sun Oct 20, 2013 11:44 am

Post by Skif_off »

Drugmix wrote:попробуйте вот это правило:

Code: Select all

0   "^\s*(goto|call)(?:\s+|\s*:?)(\w+(?:\.\w+)*)([^;])*((?<=\s);.*$)?$" "\1=(0,${OP},0) \2=(0,${AREA},0) \3=(0,${ATTR},0) \4=(3,${COMM},0)"
Начало и конец строки тут лишние, комментарий тоже.

FeyFre
Drugmix

Спасибо за пояснения и предложения, правила писались в три приема между делом, никак руки не доходили очеловечить :) Остановился на таком варианте:

Code: Select all

0	"(goto|call)(?:\s+|\s*:?)(\w+(?:\.\w+)*)"	"\1=(0,${OP},0) \2=(2,0,0) \3=(2,0,0)"

Offline
Posts: 582
Joined: Mon Apr 08, 2013 9:50 pm
Location: Win7SP1x64, APx64

Post by Drugmix »

Skif_off
я в своём сообщении ошибку то подправил, и хоть и с ней всё работает нормально, но формально парсер имеет полное право сработать по заданному правилу и ошибочно:

Code: Select all

(?:\s+|\s*:)
там 2-ой знак вопроса не нужен.
И да, у вас лишняя \3=(…) в правиле: там нет захватывающей третьей группы же.

Offline
Posts: 1161
Joined: Sun Oct 20, 2013 11:44 am

Post by Skif_off »

Drugmix wrote:там 2-ой знак вопроса не нужен.
Если его убрать, то получается
goto batchexit
goto :EOF
а с ним как и нужно:
goto batchexit
goto :EOF
Drugmix wrote:И да, у вас лишняя \3=(…) в правиле: там нет захватывающей третьей группы же.
Решил, что (?:\s+|\s*:?) - третья группа :)

Offline
Posts: 582
Joined: Mon Apr 08, 2013 9:50 pm
Location: Win7SP1x64, APx64

Post by Drugmix »

Skif_off
не должно быть такого. А если попробовать

Code: Select all

(?:\s*:|\s+)
то результат такой же?
Last edited by Drugmix on Wed Feb 12, 2014 7:40 pm, edited 1 time in total.

Offline
Posts: 1161
Joined: Sun Oct 20, 2013 11:44 am

Post by Skif_off »

Drugmix wrote:не должно быть такого. А если попробовать

Code: Select all

(\s*:|\s+)
то результат такой же?
Так вообще не работает.

Вспомнил, почему разнес на два правила:
call set MYPATH=%MYPATH%
Через call нечасто вызывают внутренние функции, но бывает. С :{0,1} таки прогнал.

Offline
Posts: 58
Joined: Sat Apr 12, 2008 11:43 am

Post by koros »

Drugmix wrote:koros
попробуйте вот это правило:

Code: Select all

0   "^\s*(goto|call)(?:\s+|\s*:)(\w+(?:\.\w+)*)([^;])*((?<=\s);.*$)?$" "\1=(0,${OP},0) \2=(0,${AREA},0) \3=(0,${ATTR},0) \4=(3,${COMM},0)"
Вот, что у меня получается

Image


Skif_off

Code: Select all

0   "(goto|call)(?:\s+|\s*:?)(\w+(?:\.\w+)*)"   "\1=(2,${OP},0) \2=(2,${AREA},0)"
У меня получается (слетает вся остальная подсветка)

Image

Вот мой bat.coder



;----------------------------------------------;
; 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.


Files:
;==========
;File types
;==========
*.bat
*.cmd


;----------------------------------------------;
; 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).
; 16384 only quote start string is catched ("Quotes:" section only).
; 32768 quote doesn't contain any character ("Quotes:" section only).


Font:
;=================================================================
;FontStyle FontSize FaceName
;=================================================================
${HighLight_FontStyle} ${HighLight_FontSize} ${HighLight_FaceName}

BkImage:
;==================================================
;BkImageFile BkImageAlpha
;==================================================
${HighLight_BkImageFile} ${HighLight_BkImageAlpha}

Colors:
;=============================================================================================================================================================================================================================================================================================================================================================================================================================
;BasicTextColor BasicBkColor SelTextColor SelBkColor LineTextColor LineBkColor LineBorderColor AltTextColor AltBkColor AltBorderColor ColumnColor MarkerColor CaretColor UrlColor ActiveUrlColor VisitUrlColor
;=============================================================================================================================================================================================================================================================================================================================================================================================================================
${HighLight_BasicTextColor} ${HighLight_BasicBkColor} ${HighLight_SelTextColor} ${HighLight_SelBkColor} ${HighLight_LineTextColor} ${HighLight_LineBkColor} ${HighLight_LineBorderColor} ${HighLight_AltTextColor} ${HighLight_AltBkColor} ${HighLight_AltBorderColor} ${HighLight_ColumnColor} ${HighLight_MarkerColor} ${HighLight_CaretColor} ${HighLight_UrlColor} ${HighLight_ActiveUrlColor} ${HighLight_VisitUrlColor}


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
;======================================================================
;513=1+512
513 3 ${COMM} 0 "::" "" "" "" ""
;2176=128+2048
2176 3 ${COMM} 0 "REM" "" "" "" ""
;6144=2048+4096
6144 3 ${DEL1} 0 "@ECHO" "OFF" "" " " ""
6144 3 ${DEL1} 0 "@ECHO" "ON" "" " " ""
;5=1+4
;5 3 ${STR} 0 `"` `"` "" "" ""
;2176=128+256+2048
2432 4 ${STR} 0 "ECHO" ">" "" "" ""
;5=1+4
5 0 ${VAR} 0 "!" "!" "" "" ""
;8197=1+4+8192
8197 2 ${VAR} 0 "%~" "0" "" "" ""
8197 2 ${VAR} 0 "%~" "1" "" "" ""
8197 2 ${VAR} 0 "%~" "2" "" "" ""
8197 2 ${VAR} 0 "%~" "3" "" "" ""
8197 2 ${VAR} 0 "%~" "4" "" "" ""
8197 2 ${VAR} 0 "%~" "5" "" "" ""
8197 2 ${VAR} 0 "%~" "6" "" "" ""
8197 2 ${VAR} 0 "%~" "7" "" "" ""
8197 2 ${VAR} 0 "%~" "8" "" "" ""
8197 2 ${VAR} 0 "%~" "9" "" "" ""
;273=1+16+256
;273 0 ${VAR} 0 "%~" "" "" "" ""
;273=1+16+256
273 2 ${VAR} 0 "%%" "" "" "" ""
;8197=1+4+8192
8197 2 ${VAR} 0 "%" "%" "" "" ""
;273=1+16+256
273 2 ${VAR} 0 "%" "" "" "" ""
;1809=1+16+256+512+1024
1809 2 ${AREA} 0 ":" "" "" "" ""


QuotesRE:
;==========================================================================
;Flags Pattern \BackRef=(FontStyle,ColorText,ColorBk) \BackRef=...
;==========================================================================

Delimiters:
;======================================
;Flags Font Color Color Char(s)
; style text bkgrnd
;======================================
1 0 0 0 `"`
1 0 0 0 " "
1 0 0 0 " "
1 0 0 0 %
1 2 ${DEL1} 0 <
1 2 ${DEL1} 0 >
1 2 ${DEL2} 0 @
1 2 ${DEL2} 0 =
1 2 ${DEL2} 0 (
1 2 ${DEL2} 0 )
1 2 ${DEL2} 0 {
1 2 ${DEL2} 0 }
1 2 ${DEL2} 0 \
1 2 ${DEL2} 0 .
1 2 ${DEL2} 0 |
0 2 ${TAG} 0 +A
0 2 ${TAG} 0 +H
0 2 ${TAG} 0 +R
0 2 ${TAG} 0 +S
0 2 ${TAG} 0 -c
0 2 ${TAG} 0 -d
0 2 ${TAG} 0 -f
0 2 ${TAG} 0 -r
0 2 ${TAG} 0 -r0
0 2 ${TAG} 0 -s
0 2 ${TAG} 0 -v
0 2 ${TAG} 0 -y
0 2 ${TAG} 0 /a
0 2 ${TAG} 0 /b
0 2 ${TAG} 0 /B
0 2 ${TAG} 0 /c
0 2 ${TAG} 0 /D
0 2 ${TAG} 0 /d
0 2 ${TAG} 0 /E
0 2 ${TAG} 0 /e
0 2 ${TAG} 0 /ea
0 2 ${TAG} 0 /f
0 2 ${TAG} 0 /g
0 2 ${TAG} 0 /h
0 2 ${TAG} 0 /i
0 2 ${TAG} 0 /im
0 2 ${TAG} 0 /k
0 2 ${TAG} 0 /l
0 2 ${TAG} 0 /MIN
0 2 ${TAG} 0 /n
0 2 ${TAG} 0 /p
0 2 ${TAG} 0 /q
0 2 ${TAG} 0 /REGSERVER
0 2 ${TAG} 0 /s
0 2 ${TAG} 0 /u
0 2 ${TAG} 0 /v
0 2 ${TAG} 0 /ve
0 2 ${TAG} 0 /w
0 2 ${TAG} 0 /wait
0 2 ${TAG} 0 /x
0 2 ${TAG} 0 /y


Words:
;===================================
;Flags Font Color Color Word
; style text bkgrnd
;===================================
; Built-in:
0 2 ${OP} 0 append
0 2 ${OP} 0 arp
0 2 ${OP} 0 assoc
0 2 ${OP} 0 at
0 2 ${OP} 0 atmadm
0 2 ${OP} 0 attrib
0 2 ${OP} 0 bootcfg
0 2 ${OP} 0 break
0 2 ${OP} 0 buffers
0 2 ${OP} 0 cacls
0 2 ${OP} 0 call
0 2 ${OP} 0 cd
0 2 ${OP} 0 change logon
0 2 ${OP} 0 change port
0 2 ${OP} 0 change user
0 2 ${OP} 0 chcp
0 2 ${OP} 0 chdir
0 2 ${OP} 0 chkdsk
0 2 ${OP} 0 chkntfs
0 2 ${OP} 0 cipher
0 2 ${OP} 0 cls
0 2 ${OP} 0 cmd
0 2 ${OP} 0 cmstp
0 2 ${OP} 0 color
0 2 ${OP} 0 command
0 2 ${OP} 0 comp
0 2 ${OP} 0 compact
0 2 ${OP} 0 convert
0 2 ${OP} 0 copy
0 2 ${OP} 0 country
0 2 ${OP} 0 cprofile
0 2 ${OP} 0 cscript
0 2 ${OP} 0 date
0 2 ${OP} 0 debug
0 2 ${OP} 0 defrag
0 2 ${OP} 0 del
0 2 ${OP} 0 delete
0 2 ${OP} 0 device
0 2 ${OP} 0 devicehigh
0 2 ${OP} 0 dir
0 2 ${OP} 0 diskcomp
0 2 ${OP} 0 diskcopy
0 2 ${OP} 0 diskpart
0 2 ${OP} 0 dos
0 2 ${OP} 0 doskey
0 2 ${OP} 0 dosonly
0 2 ${OP} 0 driveparm
0 2 ${OP} 0 driverquery
0 2 ${OP} 0 echo
0 2 ${OP} 0 echoconfig
0 2 ${OP} 0 edit
0 2 ${OP} 0 edlin
0 2 ${OP} 0 endlocal
0 2 ${OP} 0 erase
0 2 ${OP} 0 eventcreate
0 2 ${OP} 0 eventquery
0 2 ${OP} 0 eventtriggers
0 2 ${OP} 0 evntcmd
0 2 ${OP} 0 exe2bin
0 2 ${OP} 0 exit
0 2 ${OP} 0 expand
0 2 ${OP} 0 fastopen
0 2 ${OP} 0 fc
0 2 ${OP} 0 fcbs
0 2 ${OP} 0 files=
0 2 ${OP} 0 find
0 2 ${OP} 0 findstr
0 2 ${OP} 0 finger
0 2 ${OP} 0 flattemp
0 2 ${OP} 0 forcedos
0 2 ${OP} 0 format
0 2 ${OP} 0 fsutil
0 2 ${OP} 0 ftp
0 2 ${OP} 0 ftype
0 2 ${OP} 0 getmac
0 2 ${OP} 0 gpresult
0 2 ${OP} 0 gpupdate
0 2 ${OP} 0 graftabl
0 2 ${OP} 0 graphics
0 2 ${OP} 0 help
0 2 ${OP} 0 helpctr
0 2 ${OP} 0 hostname
0 2 ${OP} 0 install
0 2 ${OP} 0 ipconfig
0 2 ${OP} 0 ipseccmd
0 2 ${OP} 0 ipxroute
0 2 ${OP} 0 irftp
0 2 ${OP} 0 label
0 2 ${OP} 0 lastdrive
0 2 ${OP} 0 lh
0 2 ${OP} 0 loadfix
0 2 ${OP} 0 loadhigh
0 2 ${OP} 0 lodctr
0 2 ${OP} 0 logman
0 2 ${OP} 0 logoff
0 2 ${OP} 0 lpq
0 2 ${OP} 0 lpr
0 2 ${OP} 0 macfile
0 2 ${OP} 0 md
0 2 ${OP} 0 mem
0 2 ${OP} 0 mkdir
0 2 ${OP} 0 mmc
0 2 ${OP} 0 mode
0 2 ${OP} 0 more
0 2 ${OP} 0 mountvol
0 2 ${OP} 0 move
0 2 ${OP} 0 msg
0 2 ${OP} 0 msiexec
0 2 ${OP} 0 msinfo32
0 2 ${OP} 0 mstsc
0 2 ${OP} 0 nbtstat
0 2 ${OP} 0 net accounts
0 2 ${OP} 0 net computer
0 2 ${OP} 0 net config
0 2 ${OP} 0 net continue
0 2 ${OP} 0 net file
0 2 ${OP} 0 net group
0 2 ${OP} 0 net help
0 2 ${OP} 0 net helpmsg
0 2 ${OP} 0 net localgroup
0 2 ${OP} 0 net name
0 2 ${OP} 0 net pause
0 2 ${OP} 0 net print
0 2 ${OP} 0 net send
0 2 ${OP} 0 net session
0 2 ${OP} 0 net share
0 2 ${OP} 0 net start
0 2 ${OP} 0 net statistics
0 2 ${OP} 0 net stop
0 2 ${OP} 0 net time
0 2 ${OP} 0 net use
0 2 ${OP} 0 net user
0 2 ${OP} 0 net view
0 2 ${OP} 0 netsh
0 2 ${OP} 0 netstat
0 2 ${OP} 0 nlsfunc
0 2 ${OP} 0 nslookup
0 2 ${OP} 0 ntbackup
0 2 ${OP} 0 ntcmdprompt
0 2 ${OP} 0 ntsd
0 2 ${OP} 0 openfiles
0 2 ${OP} 0 pagefileconfig
0 2 ${OP} 0 path
0 2 ${OP} 0 pathping
0 2 ${OP} 0 pause
0 2 ${OP} 0 pbadmin
0 2 ${OP} 0 pentnt
0 2 ${OP} 0 perfmon
0 2 ${OP} 0 ping
0 2 ${OP} 0 popd
0 2 ${OP} 0 print
0 2 ${OP} 0 prncnfg
0 2 ${OP} 0 prndrvr
0 2 ${OP} 0 prnjobs
0 2 ${OP} 0 prnmngr
0 2 ${OP} 0 prnport
0 2 ${OP} 0 prnqctl
0 2 ${OP} 0 prompt
0 2 ${OP} 0 pushd
0 2 ${OP} 0 query
0 2 ${OP} 0 query process
0 2 ${OP} 0 query session
0 2 ${OP} 0 query termserver
0 2 ${OP} 0 query user
0 2 ${OP} 0 rasdial
0 2 ${OP} 0 rcp
0 2 ${OP} 0 rd
0 2 ${OP} 0 recover
0 2 ${OP} 0 reg
0 2 ${OP} 0 reg add
0 2 ${OP} 0 reg compare
0 2 ${OP} 0 reg copy
0 2 ${OP} 0 reg delete
0 2 ${OP} 0 reg export
0 2 ${OP} 0 reg import
0 2 ${OP} 0 reg load
0 2 ${OP} 0 reg query
0 2 ${OP} 0 reg restore
0 2 ${OP} 0 reg save
0 2 ${OP} 0 reg unload
0 2 ${OP} 0 reg.exe
0 2 ${OP} 0 register
0 2 ${OP} 0 regsvr32
0 2 ${OP} 0 regsvr32.exe
0 2 ${OP} 0 relog
0 2 ${OP} 0 rem
0 2 ${OP} 0 ren
0 2 ${OP} 0 rename
0 2 ${OP} 0 replace
0 2 ${OP} 0 reset session
0 2 ${OP} 0 rexec
0 2 ${OP} 0 rmdir
0 2 ${OP} 0 route
0 2 ${OP} 0 rsh
0 2 ${OP} 0 rsm
0 2 ${OP} 0 runas
0 2 ${OP} 0 sc
0 2 ${OP} 0 schtasks
0 2 ${OP} 0 secedit
0 2 ${OP} 0 set
0 2 ${OP} 0 setlocal
0 2 ${OP} 0 setver
0 2 ${OP} 0 sfc
0 2 ${OP} 0 shadow
0 2 ${OP} 0 share
0 2 ${OP} 0 shell
0 2 ${OP} 0 shift
0 2 ${OP} 0 shutdown
0 2 ${OP} 0 sort
0 2 ${OP} 0 stacks
0 2 ${OP} 0 start
0 2 ${OP} 0 subst
0 2 ${OP} 0 switches
0 2 ${OP} 0 systeminfo
0 2 ${OP} 0 taskkill
0 2 ${OP} 0 tasklist
0 2 ${OP} 0 tcmsetup
0 2 ${OP} 0 telnet
0 2 ${OP} 0 tftp
0 2 ${OP} 0 time
0 2 ${OP} 0 title
0 2 ${OP} 0 tracerpt
0 2 ${OP} 0 tracert
0 2 ${OP} 0 tree
0 2 ${OP} 0 tscon
0 2 ${OP} 0 tsdiscon
0 2 ${OP} 0 tskill
0 2 ${OP} 0 tsprof
0 2 ${OP} 0 tsshutdn
0 2 ${OP} 0 type
0 2 ${OP} 0 typeperf
0 2 ${OP} 0 unlodctr
0 2 ${OP} 0 ver
0 2 ${OP} 0 verify
0 2 ${OP} 0 vol
0 2 ${OP} 0 vssadmin
0 2 ${OP} 0 w32tm
0 2 ${OP} 0 winnt
0 2 ${OP} 0 winnt32
0 2 ${OP} 0 wmic
0 2 ${OP} 0 xcopy
;--Variable--
0 0 ${VAR} 0 cmdextversion
0 0 ${VAR} 0 errorlevel
;------------
0 2 ${AREA} 0 nul
0 2 ${AREA} 0 end
;--Compare--
0 2 ${OP} 0 EQU
0 2 ${OP} 0 NEQ
0 2 ${OP} 0 LSS
0 2 ${OP} 0 LEQ
0 2 ${OP} 0 GTR
0 2 ${OP} 0 GEQ
;--Conditional--
0 2 ${IF} 0 goto
0 2 ${IF} 0 off
0 2 ${IF} 0 on
0 2 ${IF} 0 if
0 2 ${IF} 0 not
0 2 ${IF} 0 exist
0 2 ${IF} 0 defined
0 2 ${IF} 0 else
0 2 ${IF} 0 for
0 2 ${IF} 0 in
0 2 ${IF} 0 do
0 2 ${IF} 0 eol
0 2 ${IF} 0 skip
0 2 ${IF} 0 delims
0 2 ${IF} 0 tokens
0 2 ${IF} 0 usebackq



;----------------------------------------------;
; 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).
; 8192 don't check delimiters from left of fold start ("Folds:" section only).
; 16384 don't check delimiters from right of fold start ("Folds:" section only).
; 32768 don't check delimiters from left of fold end ("Folds:" section only).
; 65536 don't check delimiters from right of fold end ("Folds:" section only).
; 131072 deny delimiters ("Folds:" section only).
; 262144 don't show fold in list ("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
;=============================
1 `"` `"` ""
1 `'` `'` ""
1 "::" "" ""
1 "rem" "" ""


Folds:
;=========================================================
;Flags Font Color Color Fold Fold Delimiters
; style text bkgrnd start end
;=========================================================
1 0 0 0 "(" ")" ""
;109=1+4+8+32+64
109 0 0 0 ":" "goto :eof" ""


;----------------------------------------------;
; AutoComplete ;
;----------------------------------------------;

Blocks:
;======================================================================
;Abbreviations and blocks
;
; $~abbr normal abbreviation.
; $=abbr exact abbreviation. May contain delimiters.
; $[] 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.
;======================================================================
$~echo
echo "$[]"

$~for
for $[] in ($[]) do ($[])

Offline
Posts: 582
Joined: Mon Apr 08, 2013 9:50 pm
Location: Win7SP1x64, APx64

Post by Drugmix »

Skif_off wrote:Так вообще не работает.
Я просто забыл ?: в начале скобок поставить, поэтому ничего и не окрасилось, но правило сработало на самом деле.

Offline
Posts: 1161
Joined: Sun Oct 20, 2013 11:44 am

Post by Skif_off »

koros
Не знаю, в чем может быть дело, скопировал все себе - нормально, ничего не слетает, все подсвечивается. Или дело в том, что у меня тестовая версия? Открыто несколько файлов + несохраненные, проверить с 4.8.7 пока не могу)

Кстати, правило

Code: Select all

0	2	${OP}	0	files=
не сработает из-за "=" в Delimiters.


Еще по поводу call:
call d:\work\test.bat "%var%"
Это не дело, наверное, все-таки разнесу.

Offline
Posts: 1161
Joined: Sun Oct 20, 2013 11:44 am

Post by Skif_off »

Drugmix wrote:
Skif_off wrote:Так вообще не работает.
Я просто забыл ?: в начале скобок поставить, поэтому ничего и не окрасилось, но правило сработало на самом деле.
Не понял, где поставить "?:"?

Offline
Posts: 582
Joined: Mon Apr 08, 2013 9:50 pm
Location: Win7SP1x64, APx64

Post by Drugmix »

Code: Select all

(?:\s*:|\s+)

Offline
Posts: 58
Joined: Sat Apr 12, 2008 11:43 am

Post by koros »

Skif_off wrote:koros
Не знаю, в чем может быть дело, скопировал все себе - нормально, ничего не слетает, все подсвечивается. Или дело в том, что у меня тестовая версия? Открыто несколько файлов + несохраненные, проверить с 4.8.7 пока не могу)

Кстати, правило

Code: Select all

0	2	${OP}	0	files=
не сработает из-за "=" в Delimiters.


Еще по поводу call:
call d:\work\test.bat "%var%"
Это не дело, наверное, все-таки разнесу.
Ещё раз собрал перезагрузил AkelPad - вроде всё заработало как надо. Спасибо.
Вот что я подумал:
call test.bat onespace
call d:\work\test.bat "%var%"

test.bat и d:\work\test.bat - вообще не надо подсвечивать, как метки типа :label. Как это сделать?

А по поводу files= - я вообще эту строку уберу, т.к. папка files встречается гораздо чаще, чем команда files.

И ещё вопрос для знатоков: возможно ли в coder.coder задать подсветку так, чтобы при просмотре любого *.coder переменные типа ${COMM} подсвечивались тем цветом, который задан для этой переменной в текущей цветовой теме?

Offline
Posts: 1161
Joined: Sun Oct 20, 2013 11:44 am

Post by Skif_off »

Drugmix
Спасибо, исправил.
koros wrote:test.bat и d:\work\test.bat - вообще не надо подсвечивать, как метки типа :label. Как это сделать?
Я, вероятно, разделю правила для call и goto.
koros wrote:И ещё вопрос для знатоков: возможно ли в coder.coder задать подсветку так, чтобы при просмотре любого *.coder переменные типа ${COMM} подсвечивались тем цветом, который задан для этой переменной в текущей цветовой теме?
Не знаток, но делал как-то: закомментировать в Quotes

Code: Select all

5	0	${VAR}	0	"${"	"}"	"$"	""	""
в Words добавить

Code: Select all

0	0	#808080	0	"${STR}"
0	0	#008000	0	"${COMM}"
0	0	#800000	0	"${VAR}"
0	0	#CC3333	0	"${DEL1}"
0	0	0	0	"${DEL2}"
0	0	#3333CC	0	"${TYPE}"
0	0	#3333CC	0	"${OP}"
0	0	#3333CC	0	"${TAG}"
0	0	#339933	0	"${ATTR}"
0	0	#339933	0	"${IF}"
0	0	#FF8000	0	"${AREA}"
0	0	#FF8000	0	"${NUM}"

(для дефолтной темы)
Но в итоге просто держу файл color.coder с одной секцией Words со строками типа

Code: Select all

0	0	#808080	0	STR
цвета и переменные из дефолтной темы + цвета из моей темы + цвета и переменные Infocatcher + основные цвета html/css (с кодом и отдельно с именем).


Еще по вашему bat.coder:
- не будут работать команды с пробелом (net ..., reg ...), т.к. пробел и табуляция есть в Delimiters, у себя делал в Quotes

Code: Select all

32768	0	${OP}	0	"reg"	" add"		""	""	""
- правило

Code: Select all

0	2	${OP}	0	regsvr32.exe
тоже не сработает из-за точки в Delimiters. Где-то в теме обсуждалось, добавлял себе в QuotesRE

Code: Select all

; внешние команды
0	"\b(\w+[\-\w]*\w*)\.(bat|cmd|com|exe)"	"\1=(0,${NUM},0) \2=(0,${NUM},0)"

Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

Наверное не так поняли. В тесте "goto :wrongsyntax_no_colorisation_label" - ошибка синтаксиса, соответственно раскраска не должна распространяться. Меток начинающихся на : не существует(кроме псевдометки :EOF)
Locked