;----------------------------------------------; ; Coder plugin syntax file ; ;----------------------------------------------; ;Colors ; Color need to be in #RRGGBB or #RGB 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. ;Author: Skif_off (2017-05-02) ;AkelPad 4.9.7 and higher ;https://github.com/Lenchik/Akelpad-syntax-highlighting/blob/master/scheme.coder - working version ;https://github.com/Lenchik/Akelpad-syntax-highlighting/blob/master/source_for_developers/scheme.utf8.coder - development version in UTF-8 for easier development on GitHub ;Scheme R5RS + Scheme R7RS Files: ;========== ;File types ;========== *.scm *.ss ;Lisp Program Source Code ;*.lsp ;Nyquist programming language for sound synthesis and analysis (based on the Lisp programming language) ;*.ny ;----------------------------------------------; ; 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} 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} BkImage: ;================================================== ;BkImageFile BkImageAlpha ;================================================== ${HighLight_BkImageFile} ${HighLight_BkImageAlpha} AutoMark: ;==================================================================================================================== ;AutoMarkFlags AutoMarkFontStyle AutoMarkTextColor AutoMarkBkColor ;==================================================================================================================== ${HighLight_AutoMarkFlags} ${HighLight_AutoMarkFontStyle} ${HighLight_AutoMarkTextColor} ${HighLight_AutoMarkBkColor} Quotes: ;=================================================================================== ;Flags Font Color Color Quote Quote Escape Quote Quote Parent Rule ; style text bkgrnd start end char include exclude ID ID ;=================================================================================== ;5=1+4 ;5 3 ${STR} 0 `"` `"` "" "" "" 0 0 ;5=1+4 5 3 ${COMM} 0 "#;" "" "" "" "" 0 0 5 3 ${COMM} 0 ";" "" "" "" "" 0 0 ;Main ;389=1+4+128+256 ;389 0 0 0 "'(" ")" "" "" "" 0 4 ;389 0 0 0 "#(" ")" "" "" "" 0 4 389 0 0 0 "(" " " "" "" "" 0 3 ;1413=1+4+128+256+1024 1413 0 0 0 "(" "" "" "" "" 0 3 ;Boolean constants True/False ;32769=1+32768 32769 2 0 0 "#" "t" "" "" "" 0 0 32769 2 0 0 "#" "f" "" "" "" 0 0 ;R7RS: Bytevectors notation 32769 2 0 0 "#" "u8" "" "" "" 0 0 ;R7RS: Optional case insensitivity directives ;33281=1+512+32768 33281 4 ${COMM} 0 "#!" "fold-case" "" "" "" 0 0 33281 4 ${COMM} 0 "#!" "no-fold-case" "" "" "" 0 0 ;;; ;Lexeme #!r6rs ;33281=1+512+32768 33281 4 ${COMM} 0 "#!" "r6rs" "" "" "" 0 0 QuotesRE: ;=========================================================================================== ;Flags Pattern \BackRef=(FontStyle,ColorText,ColorBk) \BackRef=... ParentID RuleID ;=========================================================================================== ;Standard procedures ;Numbers ;;Numerical constants - radix (binary, octal, decimal, hexadecimal) and exact or inexact prefix 1 "#[bdeiox]" "\0=(2,${NUM},0)" 0 0 ;Standard procedures ;Numbers ;;Numerical operations 1 "(<=|>=|>|<|=|\+|\*|-|/)" "\1=(0,${OP},0)" 3 0 ;Standard procedures ;Characters ;;Notation #\or #\ or #\x 1 "#\\( |alarm|backspace|delete|escape|newline|null|return|space|tab)" "\0=(3,0,0)" 0 0 1 "#\\(([A-Za-z]++[0-9]*?)|[^\(])" "\0=(3,0,0)" 0 0 1 "#\\x[A-Fa-f0-9]+" "\0=(3,0,0)" 0 0 ;Escape sequences 1 "\\(a|b|t|n|v|f|r)" "\0=(3,0,0)" 0 0 ;Hex (\x;) 1 "\\x[A-Fa-f0-9]+;" "\0=(3,0,0)" 0 0 Delimiters: ;=============================================== ;Flags Font Color Color Char(s) Parent ; style text bkgrnd ID ;=============================================== 1 0 0 0 " " 1 0 0 0 " " 1 0 0 0 `"` 1 2 ${DEL1} 0 "'" 1 0 ${DEL1} 0 "`" 1 0 ${DEL1} 0 , 1 0 ${DEL1} 0 @ 1 0 ${DEL1} 0 # 1 0 ${DEL1} 0 => 1 0 ${DEL1} 0 . ;1 0 ${DEL2} 0 : 1 0 ${DEL2} 0 ; 1 0 ${DEL2} 0 $ 1 0 ${DEL1} 0 ( 1 0 ${DEL1} 0 ) 1 0 ${DEL1} 0 [ 1 0 ${DEL1} 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 / Words: ;=========================================== ;Flags Font Color Color Word Parent ; style text bkgrnd ID ;=========================================== ;Procedures 1 2 ${OP} 0 lambda 3 ;Expressions ;;Primitive expression types ;;;Variable references 1 2 ${OP} 0 define 3 ;;;Literal expressions 1 2 ${OP} 0 quote 3 ;;;Conditionals 1 0 ${IF} 0 if 3 ;;;Assignments 1 2 ${OP} 0 set! 3 ;;Derived expression types ;;;Conditionals 1 0 ${IF} 0 cond 3 1 0 ${IF} 0 else 3 1 0 ${IF} 0 case 3 1 0 ${IF} 0 and 3 1 0 ${IF} 0 or 3 ;;;;>>>R7RS 1 0 ${IF} 0 when 3 1 0 ${IF} 0 unless 3 1 0 ${IF} 0 cond-expand 3 ;;;;<<>>R7RS 1 2 ${OP} 0 letrec* 3 1 2 ${OP} 0 let-values 3 1 2 ${OP} 0 let*-values 3 ;;;;<<>>R7RS 1 2 ${OP} 0 delay-force 3 1 2 ${OP} 0 force 3 1 2 ${OP} 0 promise? 3 1 2 ${OP} 0 make-promise 3 ;;;;<<>>R7RS ;;;Dynamic bindings 1 0 ${OP} 0 make-parameter 3 1 0 ${OP} 0 parameterize 3 ;;;<<>>R7RS ;;;Exception handling 1 0 ${DEL1} 0 guard 3 ;;;<<>>R7RS 1 2 ${OP} 0 unquote 3 1 2 ${OP} 0 unquote-splicing 3 ;;;;<<>>R7RS ;;Multiple-value definitions 1 2 ${OP} 0 define-values 3 ;;Record-type definitions 1 2 ${OP} 0 define-record-type 3 ;;<<>>R7RS ;;;Signaling errors in macro transformers 1 0 ${DEL1} 0 syntax-error 3 ;;;<<inexact 3 1 0 ${OP} 0 inexact->exact 3 ;;;;;>>>R7RS 1 0 ${OP} 0 exact-integer? 3 1 0 ${OP} 0 finite? 3 1 0 ${OP} 0 infinite? 3 1 0 ${OP} 0 nan? 3 1 0 ${OP} 0 floor/ 3 1 0 ${OP} 0 floor-quotient 3 1 0 ${OP} 0 floor-remainder 3 1 0 ${OP} 0 truncate/ 3 1 0 ${OP} 0 truncate-quotient 3 1 0 ${OP} 0 truncate-remainder 3 1 0 ${OP} 0 square 3 1 0 ${OP} 0 exact-integer-sqrt 3 1 0 ${OP} 0 inexact 3 1 0 ${OP} 0 exact 3 ;;;;;<<string 3 1 0 ${OP} 0 string->number 3 ;;;Booleans 1 0 ${OP} 0 not 3 1 0 ${OP} 0 boolean? 3 ;;;;>>>R7RS 1 0 ${OP} 0 boolean=? 3 ;;;;<<>>R7RS 1 0 ${OP} 0 make-list 3 1 0 ${OP} 0 list-set! 3 1 0 ${OP} 0 list-copy 3 ;;;;<<string 3 1 0 ${OP} 0 string->symbol 3 ;;;;>>>R7RS 1 0 ${OP} 0 symbol=? 3 ;;;;<<? 3 1 0 ${OP} 0 char<=? 3 1 0 ${OP} 0 char>=? 3 1 0 ${OP} 0 char-ci=? 3 1 0 ${OP} 0 char-ci? 3 1 0 ${OP} 0 char-ci<=? 3 1 0 ${OP} 0 char-ci>=? 3 1 0 ${OP} 0 char-alphabetic? 3 1 0 ${OP} 0 char-numeric? 3 1 0 ${OP} 0 char-whitespace? 3 1 0 ${OP} 0 char-upper-case? 3 1 0 ${OP} 0 char-lower-case? 3 1 0 ${OP} 0 char->integer 3 1 0 ${OP} 0 integer->char 3 1 0 ${OP} 0 char-upcase 3 1 0 ${OP} 0 char-downcase 3 ;;;;>>>R7RS 1 0 ${OP} 0 digit-value 3 1 0 ${OP} 0 char-foldcase 3 ;;;;<<? 3 1 0 ${OP} 0 string<=? 3 1 0 ${OP} 0 string>=? 3 1 0 ${OP} 0 string-ci? 3 1 0 ${OP} 0 string-ci<=? 3 1 0 ${OP} 0 string-ci>=? 3 1 0 ${OP} 0 substring 3 1 0 ${OP} 0 string-append 3 1 0 ${OP} 0 string->list 3 1 0 ${OP} 0 list->string 3 1 0 ${OP} 0 string-copy 3 1 0 ${OP} 0 string-fill! 3 ;;;;>>>R7RS 1 0 ${OP} 0 string-ci=? 3 1 0 ${OP} 0 string-upcase 3 1 0 ${OP} 0 string-downcase 3 1 0 ${OP} 0 string-foldcase 3 1 0 ${OP} 0 string-copy! 3 ;;;;<<list 3 1 0 ${OP} 0 list->vector 3 1 0 ${OP} 0 vector-fill! 3 ;;;;>>>R7RS 1 0 ${OP} 0 vector->string 3 1 0 ${OP} 0 string->vector 3 1 0 ${OP} 0 vector-copy 3 1 0 ${OP} 0 vector-copy! 3 1 0 ${OP} 0 vector-append 3 ;;;;<<>>R7RS ;;;Bytevectors 1 0 ${OP} 0 bytevector? 3 1 0 ${OP} 0 make-bytevector 3 1 0 ${OP} 0 bytevector 3 1 0 ${OP} 0 bytevector-length 3 1 0 ${OP} 0 bytevector-u8-ref 3 1 0 ${OP} 0 bytevector-u8-set! 3 1 0 ${OP} 0 bytevector-copy 3 1 0 ${OP} 0 bytevector-copy! 3 1 0 ${OP} 0 bytevector-append 3 1 0 ${OP} 0 utf8->string 3 1 0 ${OP} 0 string->utf8 3 ;;;<<>>R7RS 1 0 ${OP} 0 string-map 3 1 0 ${OP} 0 vector-map 3 1 0 ${OP} 0 string-for-each 3 1 0 ${OP} 0 vector-for-each 3 1 0 ${OP} 0 call/cc 3 ;;;<<>>R7RS ;;Exceptions 1 0 ${DEL1} 0 with-exception-handler 3 1 0 ${DEL1} 0 raise 3 1 0 ${DEL1} 0 raise-continuable 3 1 0 ${DEL1} 0 error 3 1 0 ${DEL1} 0 error-object? 3 1 0 ${DEL1} 0 error-object-message 3 1 0 ${DEL1} 0 error-object-irritants 3 1 0 ${DEL1} 0 read-error? 3 1 0 ${DEL1} 0 file-error? 3 ;;<<>>R7RS 1 0 ${OP} 0 environment 3 ;;;;<<>>R7RS 1 0 ${OP} 0 call-with-port 3 1 0 ${OP} 0 textual-port? 3 1 0 ${OP} 0 binary-port? 3 1 0 ${OP} 0 port? 3 1 0 ${OP} 0 input-port-open? 3 1 0 ${OP} 0 output-port-open? 3 1 0 ${OP} 0 current-error-port 3 1 0 ${OP} 0 open-input-file string 3 1 0 ${OP} 0 open-binary-input-file 3 1 0 ${OP} 0 open-binary-output-file 3 1 0 ${OP} 0 close-port 3 1 0 ${OP} 0 open-input-string 3 1 0 ${OP} 0 open-output-string 3 1 0 ${OP} 0 get-output-string 3 1 0 ${OP} 0 open-input-bytevector 3 1 0 ${OP} 0 open-output-bytevector 3 1 0 ${OP} 0 get-output-bytevector 3 ;;;;<<>>R7RS 1 0 ${OP} 0 read-line 3 1 0 ${OP} 0 eof-object 3 1 0 ${OP} 0 read-string 3 1 0 ${OP} 0 read-u8 3 1 0 ${OP} 0 peek-u8 3 1 0 ${OP} 0 u8-ready? 3 1 0 ${OP} 0 read-bytevector 3 1 0 ${OP} 0 read-bytevector! 3 ;;;;<<>>R7RS 1 0 ${OP} 0 write-shared 3 1 0 ${OP} 0 write-simple 3 1 0 ${OP} 0 write-string 3 1 0 ${OP} 0 write-u8 3 1 0 ${OP} 0 write-bytevector 3 1 0 ${OP} 0 flush-output-port 3 ;;;;<<>>R7RS 1 0 ${OP} 0 file-exists? 3 1 0 ${OP} 0 delete-file 3 1 0 ${OP} 0 command-line 3 1 0 ${OP} 0 exit 3 1 0 ${OP} 0 emergency-exit 3 1 0 ${OP} 0 get-environment-variable 3 1 0 ${OP} 0 get-environment-variables 3 1 0 ${OP} 0 current-second 3 1 0 ${OP} 0 current-jiffy 3 1 0 ${OP} 0 jiffies-per-second 3 1 0 ${OP} 0 features 3 ;;;<<>>R7RS ;Import declarations 1 4 ${OP} 0 library 3 1 4 ${OP} 0 import 3 1 4 ${OP} 0 only 3 1 4 ${OP} 0 except 3 1 4 ${OP} 0 prefix 3 1 4 ${OP} 0 rename 3 ;Libraries ;;Library Syntax 1 4 ${OP} 0 define-library 3 1 4 ${OP} 0 export 3 ;1 4 ${OP} 0 import 3 ;1 4 ${OP} 0 begin 3 1 4 ${OP} 0 include 3 1 4 ${OP} 0 include-ci 3 1 4 ${OP} 0 include-library-declarations 3 1 4 ${OP} 0 cond-expand 3 ;1 4 ${OP} 0 rename 3 ;<<", "", "" ("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). ; 1048576 regular expression in fold start ("Folds:" section) or skip start ("Skips:" section). ; 2097152 regular expression in fold end ("Folds:" section) or skip end ("Skips:" section). Backreference \101 matches \1 in fold start, \102 matches \2 and so on. 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 ";" "" "" Folds: ;=========================================================================== ;Flags Font Color Color Fold Fold Deli Parent Rule Rule ; style text bkgrnd start end miters ID ID file ;=========================================================================== ;Sha-bang ;3146313=1+8+64+512+1048576+2097152 3146313 2 ${COMM} 0 "\A#!" "$" "" 0 0 ;3408385=1+512+262144+1048576+2097152 3408385 3 ${STR} 0 `(?