1071d4279SBram Moolenaar" Vim syntax file 27254067eSBram Moolenaar" Language: Scheme (R7RS) 3*6aa57295SBram Moolenaar" Last Change: 2021-01-03 47254067eSBram Moolenaar" Author: Evan Hanson <[email protected]> 57254067eSBram Moolenaar" Maintainer: Evan Hanson <[email protected]> 67254067eSBram Moolenaar" Previous Author: Dirk van Deun <[email protected]> 77254067eSBram Moolenaar" Previous Maintainer: Sergey Khorev <[email protected]> 8*6aa57295SBram Moolenaar" Repository: https://git.foldling.org/vim-scheme.git 97254067eSBram Moolenaar" URL: https://foldling.org/vim/syntax/scheme.vim 10071d4279SBram Moolenaar 117254067eSBram Moolenaarif exists('b:current_syntax') 12071d4279SBram Moolenaar finish 13071d4279SBram Moolenaarendif 14071d4279SBram Moolenaar 157254067eSBram Moolenaarlet s:cpo = &cpo 165dc6252dSBram Moolenaarset cpo&vim 175dc6252dSBram Moolenaar 18*6aa57295SBram Moolenaarsyn spell notoplevel 19*6aa57295SBram Moolenaar 207254067eSBram Moolenaarsyn match schemeParentheses "[^ '`\t\n()\[\]";]\+" 217254067eSBram Moolenaarsyn match schemeParentheses "[)\]]" 22071d4279SBram Moolenaar 237254067eSBram Moolenaarsyn match schemeIdentifier /[^ '`\t\n()\[\]"|;][^ '`\t\n()\[\]"|;]*/ 24071d4279SBram Moolenaar 257254067eSBram Moolenaarsyn region schemeQuote matchgroup=schemeData start=/'[`']*/ end=/[ \t\n()\[\]";]/me=e-1 267254067eSBram Moolenaarsyn region schemeQuote matchgroup=schemeData start=/'['`]*"/ skip=/\\[\\"]/ end=/"/ 277254067eSBram Moolenaarsyn region schemeQuote matchgroup=schemeData start=/'['`]*|/ skip=/\\[\\|]/ end=/|/ 287254067eSBram Moolenaarsyn region schemeQuote matchgroup=schemeData start=/'['`]*#\?(/ end=/)/ contains=ALLBUT,schemeQuasiquote,schemeQuasiquoteForm,schemeUnquote,schemeForm,schemeDatumCommentForm,schemeImport,@schemeImportCluster,@schemeSyntaxCluster 29071d4279SBram Moolenaar 307254067eSBram Moolenaarsyn region schemeQuasiquote matchgroup=schemeData start=/`['`]*/ end=/[ \t\n()\[\]";]/me=e-1 317254067eSBram Moolenaarsyn region schemeQuasiquote matchgroup=schemeData start=/`['`]*#\?(/ end=/)/ contains=ALLBUT,schemeQuote,schemeQuoteForm,schemeForm,schemeDatumCommentForm,schemeImport,@schemeImportCluster,@schemeSyntaxCluster 32071d4279SBram Moolenaar 337254067eSBram Moolenaarsyn region schemeUnquote matchgroup=schemeParentheses start=/,/ end=/[ `'\t\n\[\]()";]/me=e-1 contained contains=ALLBUT,schemeDatumCommentForm,@schemeImportCluster 347254067eSBram Moolenaarsyn region schemeUnquote matchgroup=schemeParentheses start=/,@/ end=/[ `'\t\n\[\]()";]/me=e-1 contained contains=ALLBUT,schemeDatumCommentForm,@schemeImportCluster 357254067eSBram Moolenaarsyn region schemeUnquote matchgroup=schemeParentheses start=/,(/ end=/)/ contained contains=ALLBUT,schemeDatumCommentForm,@schemeImportCluster 367254067eSBram Moolenaarsyn region schemeUnquote matchgroup=schemeParentheses start=/,@(/ end=/)/ contained contains=ALLBUT,schemeDatumCommentForm,@schemeImportCluster 37071d4279SBram Moolenaar 387254067eSBram Moolenaarsyn region schemeQuoteForm matchgroup=schemeData start=/(/ end=/)/ contained contains=ALLBUT,schemeQuasiquote,schemeQuasiquoteForm,schemeUnquote,schemeForm,schemeDatumCommentForm,schemeImport,@schemeImportCluster,@schemeSyntaxCluster 397254067eSBram Moolenaarsyn region schemeQuasiquoteForm matchgroup=schemeData start=/(/ end=/)/ contained contains=ALLBUT,schemeQuote,schemeForm,schemeDatumCommentForm,schemeImport,@schemeImportCluster,@schemeSyntaxCluster 40071d4279SBram Moolenaar 41*6aa57295SBram Moolenaarsyn region schemeString start=/\(\\\)\@<!"/ skip=/\\[\\"]/ end=/"/ contains=@Spell 427254067eSBram Moolenaarsyn region schemeSymbol start=/\(\\\)\@<!|/ skip=/\\[\\|]/ end=/|/ 43071d4279SBram Moolenaar 447254067eSBram Moolenaarsyn match schemeNumber /\(#[dbeio]\)*[+\-]*\([0-9]\+\|inf.0\|nan.0\)\(\/\|\.\)\?[0-9+\-@\ilns]*\>/ 457254067eSBram Moolenaarsyn match schemeNumber /#x[+\-]*[0-9a-fA-F]\+\>/ 46071d4279SBram Moolenaar 477254067eSBram Moolenaarsyn match schemeBoolean /#t\(rue\)\?/ 487254067eSBram Moolenaarsyn match schemeBoolean /#f\(alse\)\?/ 4921cf823aSBram Moolenaar 507254067eSBram Moolenaarsyn match schemeCharacter /#\\.[^ `'\t\n\[\]()]*/ 517254067eSBram Moolenaarsyn match schemeCharacter /#\\x[0-9a-fA-F]\+/ 52071d4279SBram Moolenaar 53*6aa57295SBram Moolenaarsyn match schemeComment /;.*$/ contains=@Spell 54071d4279SBram Moolenaar 55*6aa57295SBram Moolenaarsyn region schemeMultilineComment start=/#|/ end=/|#/ contains=schemeMultilineComment,@Spell 5621cf823aSBram Moolenaar 577254067eSBram Moolenaarsyn region schemeForm matchgroup=schemeParentheses start="(" end=")" contains=ALLBUT,schemeUnquote,schemeDatumCommentForm,@schemeImportCluster 587254067eSBram Moolenaarsyn region schemeForm matchgroup=schemeParentheses start="\[" end="\]" contains=ALLBUT,schemeUnquote,schemeDatumCommentForm,@schemeImportCluster 5921cf823aSBram Moolenaar 607254067eSBram Moolenaarsyn region schemeVector matchgroup=schemeData start="#(" end=")" contains=ALLBUT,schemeQuasiquote,schemeQuasiquoteForm,schemeUnquote,schemeForm,schemeDatumCommentForm,schemeImport,@schemeImportCluster,@schemeSyntaxCluster 617254067eSBram Moolenaarsyn region schemeVector matchgroup=schemeData start="#[fsu]\d\+(" end=")" contains=schemeNumber,schemeComment,schemeDatumComment 62071d4279SBram Moolenaar 637254067eSBram Moolenaarif exists('g:is_chicken') || exists('b:is_chicken') 647254067eSBram Moolenaar syn region schemeImport matchgroup=schemeImport start="\(([ \t\n]*\)\@<=\(import\|import-syntax\|use\|require-extension\)\(-for-syntax\)\?\>" end=")"me=e-1 contained contains=schemeImportForm,schemeIdentifier,schemeComment,schemeDatumComment 657254067eSBram Moolenaarelse 667254067eSBram Moolenaar syn region schemeImport matchgroup=schemeImport start="\(([ \t\n]*\)\@<=\(import\)\>" end=")"me=e-1 contained contains=schemeImportForm,schemeIdentifier,schemeComment,schemeDatumComment 6721cf823aSBram Moolenaarendif 6821cf823aSBram Moolenaar 69*6aa57295SBram Moolenaarsyn match schemeImportKeyword "\(([ \t\n]*\)\@<=\(except\|only\|prefix\|rename\)\>" 707254067eSBram Moolenaarsyn region schemeImportForm matchgroup=schemeParentheses start="(" end=")" contained contains=schemeIdentifier,schemeComment,schemeDatumComment,@schemeImportCluster 717254067eSBram Moolenaarsyn cluster schemeImportCluster contains=schemeImportForm,schemeImportKeyword 723fdfa4a9SBram Moolenaar 737254067eSBram Moolenaarsyn region schemeDatumComment matchgroup=schemeDatumComment start=/#;[ \t\n`']*/ end=/[ \t\n()\[\]";]/me=e-1 747254067eSBram Moolenaarsyn region schemeDatumComment matchgroup=schemeDatumComment start=/#;[ \t\n`']*"/ skip=/\\[\\"]/ end=/"/ 757254067eSBram Moolenaarsyn region schemeDatumComment matchgroup=schemeDatumComment start=/#;[ \t\n`']*|/ skip=/\\[\\|]/ end=/|/ 767254067eSBram Moolenaarsyn region schemeDatumComment matchgroup=schemeDatumComment start=/#;[ \t\n`']*\(#\([usf]\d\+\)\?\)\?(/ end=/)/ contains=schemeDatumCommentForm 777254067eSBram Moolenaarsyn region schemeDatumCommentForm start="(" end=")" contained contains=schemeDatumCommentForm 78293ee4d4SBram Moolenaar 797254067eSBram Moolenaarsyn cluster schemeSyntaxCluster contains=schemeFunction,schemeKeyword,schemeSyntax,schemeExtraSyntax,schemeLibrarySyntax,schemeSyntaxSyntax 803fdfa4a9SBram Moolenaar 817254067eSBram Moolenaarsyn keyword schemeLibrarySyntax define-library 827254067eSBram Moolenaarsyn keyword schemeLibrarySyntax export 837254067eSBram Moolenaarsyn keyword schemeLibrarySyntax include 847254067eSBram Moolenaarsyn keyword schemeLibrarySyntax include-ci 857254067eSBram Moolenaarsyn keyword schemeLibrarySyntax include-library-declarations 867254067eSBram Moolenaarsyn keyword schemeLibrarySyntax library 877254067eSBram Moolenaarsyn keyword schemeLibrarySyntax cond-expand 883fdfa4a9SBram Moolenaar 897254067eSBram Moolenaarsyn keyword schemeSyntaxSyntax define-syntax 907254067eSBram Moolenaarsyn keyword schemeSyntaxSyntax let-syntax 917254067eSBram Moolenaarsyn keyword schemeSyntaxSyntax letrec-syntax 927254067eSBram Moolenaarsyn keyword schemeSyntaxSyntax syntax-rules 933fdfa4a9SBram Moolenaar 947254067eSBram Moolenaarsyn keyword schemeSyntax => 957254067eSBram Moolenaarsyn keyword schemeSyntax and 967254067eSBram Moolenaarsyn keyword schemeSyntax begin 977254067eSBram Moolenaarsyn keyword schemeSyntax case 987254067eSBram Moolenaarsyn keyword schemeSyntax case-lambda 997254067eSBram Moolenaarsyn keyword schemeSyntax cond 1007254067eSBram Moolenaarsyn keyword schemeSyntax define 1017254067eSBram Moolenaarsyn keyword schemeSyntax define-record-type 1027254067eSBram Moolenaarsyn keyword schemeSyntax define-values 1037254067eSBram Moolenaarsyn keyword schemeSyntax delay 1047254067eSBram Moolenaarsyn keyword schemeSyntax delay-force 1057254067eSBram Moolenaarsyn keyword schemeSyntax do 1067254067eSBram Moolenaarsyn keyword schemeSyntax else 1077254067eSBram Moolenaarsyn keyword schemeSyntax guard 1087254067eSBram Moolenaarsyn keyword schemeSyntax if 1097254067eSBram Moolenaarsyn keyword schemeSyntax lambda 1107254067eSBram Moolenaarsyn keyword schemeSyntax let 1117254067eSBram Moolenaarsyn keyword schemeSyntax let* 1127254067eSBram Moolenaarsyn keyword schemeSyntax let*-values 1137254067eSBram Moolenaarsyn keyword schemeSyntax let-values 1147254067eSBram Moolenaarsyn keyword schemeSyntax letrec 1157254067eSBram Moolenaarsyn keyword schemeSyntax letrec* 1167254067eSBram Moolenaarsyn keyword schemeSyntax or 1177254067eSBram Moolenaarsyn keyword schemeSyntax parameterize 1187254067eSBram Moolenaarsyn keyword schemeSyntax quasiquote 1197254067eSBram Moolenaarsyn keyword schemeSyntax quote 1207254067eSBram Moolenaarsyn keyword schemeSyntax set! 1217254067eSBram Moolenaarsyn keyword schemeSyntax unless 1227254067eSBram Moolenaarsyn keyword schemeSyntax unquote 1237254067eSBram Moolenaarsyn keyword schemeSyntax unquote-splicing 1247254067eSBram Moolenaarsyn keyword schemeSyntax when 1253fdfa4a9SBram Moolenaar 1267254067eSBram Moolenaarsyn keyword schemeFunction * 1277254067eSBram Moolenaarsyn keyword schemeFunction + 1287254067eSBram Moolenaarsyn keyword schemeFunction - 1297254067eSBram Moolenaarsyn keyword schemeFunction / 1307254067eSBram Moolenaarsyn keyword schemeFunction < 1317254067eSBram Moolenaarsyn keyword schemeFunction <= 1327254067eSBram Moolenaarsyn keyword schemeFunction = 1337254067eSBram Moolenaarsyn keyword schemeFunction > 1347254067eSBram Moolenaarsyn keyword schemeFunction >= 1357254067eSBram Moolenaarsyn keyword schemeFunction abs 1367254067eSBram Moolenaarsyn keyword schemeFunction acos 1377254067eSBram Moolenaarsyn keyword schemeFunction acos 1387254067eSBram Moolenaarsyn keyword schemeFunction angle 1397254067eSBram Moolenaarsyn keyword schemeFunction append 1407254067eSBram Moolenaarsyn keyword schemeFunction apply 1417254067eSBram Moolenaarsyn keyword schemeFunction asin 1427254067eSBram Moolenaarsyn keyword schemeFunction assoc 1437254067eSBram Moolenaarsyn keyword schemeFunction assq 1447254067eSBram Moolenaarsyn keyword schemeFunction assv 1457254067eSBram Moolenaarsyn keyword schemeFunction atan 1467254067eSBram Moolenaarsyn keyword schemeFunction binary-port? 1477254067eSBram Moolenaarsyn keyword schemeFunction boolean=? 1487254067eSBram Moolenaarsyn keyword schemeFunction boolean? 1497254067eSBram Moolenaarsyn keyword schemeFunction bytevector 1507254067eSBram Moolenaarsyn keyword schemeFunction bytevector-append 1517254067eSBram Moolenaarsyn keyword schemeFunction bytevector-append 1527254067eSBram Moolenaarsyn keyword schemeFunction bytevector-copy 1537254067eSBram Moolenaarsyn keyword schemeFunction bytevector-copy! 1547254067eSBram Moolenaarsyn keyword schemeFunction bytevector-length 1557254067eSBram Moolenaarsyn keyword schemeFunction bytevector-u8-ref 1567254067eSBram Moolenaarsyn keyword schemeFunction bytevector-u8-set! 1577254067eSBram Moolenaarsyn keyword schemeFunction bytevector? 1587254067eSBram Moolenaarsyn keyword schemeFunction caaaar 1597254067eSBram Moolenaarsyn keyword schemeFunction caaadr 1607254067eSBram Moolenaarsyn keyword schemeFunction caaar 1617254067eSBram Moolenaarsyn keyword schemeFunction caadar 1627254067eSBram Moolenaarsyn keyword schemeFunction caaddr 1637254067eSBram Moolenaarsyn keyword schemeFunction caadr 1647254067eSBram Moolenaarsyn keyword schemeFunction caar 1657254067eSBram Moolenaarsyn keyword schemeFunction cadaar 1667254067eSBram Moolenaarsyn keyword schemeFunction cadadr 1677254067eSBram Moolenaarsyn keyword schemeFunction cadar 1687254067eSBram Moolenaarsyn keyword schemeFunction caddar 1697254067eSBram Moolenaarsyn keyword schemeFunction cadddr 1707254067eSBram Moolenaarsyn keyword schemeFunction caddr 1717254067eSBram Moolenaarsyn keyword schemeFunction cadr 1727254067eSBram Moolenaarsyn keyword schemeFunction call-with-current-continuation 1737254067eSBram Moolenaarsyn keyword schemeFunction call-with-input-file 1747254067eSBram Moolenaarsyn keyword schemeFunction call-with-output-file 1757254067eSBram Moolenaarsyn keyword schemeFunction call-with-port 1767254067eSBram Moolenaarsyn keyword schemeFunction call-with-values 1777254067eSBram Moolenaarsyn keyword schemeFunction call/cc 1787254067eSBram Moolenaarsyn keyword schemeFunction car 1797254067eSBram Moolenaarsyn keyword schemeFunction cdaaar 1807254067eSBram Moolenaarsyn keyword schemeFunction cdaadr 1817254067eSBram Moolenaarsyn keyword schemeFunction cdaar 1827254067eSBram Moolenaarsyn keyword schemeFunction cdadar 1837254067eSBram Moolenaarsyn keyword schemeFunction cdaddr 1847254067eSBram Moolenaarsyn keyword schemeFunction cdadr 1857254067eSBram Moolenaarsyn keyword schemeFunction cdar 1867254067eSBram Moolenaarsyn keyword schemeFunction cddaar 1877254067eSBram Moolenaarsyn keyword schemeFunction cddadr 1887254067eSBram Moolenaarsyn keyword schemeFunction cddar 1897254067eSBram Moolenaarsyn keyword schemeFunction cdddar 1907254067eSBram Moolenaarsyn keyword schemeFunction cddddr 1917254067eSBram Moolenaarsyn keyword schemeFunction cdddr 1927254067eSBram Moolenaarsyn keyword schemeFunction cddr 1937254067eSBram Moolenaarsyn keyword schemeFunction cdr 1947254067eSBram Moolenaarsyn keyword schemeFunction ceiling 1957254067eSBram Moolenaarsyn keyword schemeFunction char->integer 1967254067eSBram Moolenaarsyn keyword schemeFunction char-alphabetic? 1977254067eSBram Moolenaarsyn keyword schemeFunction char-ci<=? 1987254067eSBram Moolenaarsyn keyword schemeFunction char-ci<? 1997254067eSBram Moolenaarsyn keyword schemeFunction char-ci=? 2007254067eSBram Moolenaarsyn keyword schemeFunction char-ci>=? 2017254067eSBram Moolenaarsyn keyword schemeFunction char-ci>? 2027254067eSBram Moolenaarsyn keyword schemeFunction char-downcase 2037254067eSBram Moolenaarsyn keyword schemeFunction char-foldcase 2047254067eSBram Moolenaarsyn keyword schemeFunction char-lower-case? 2057254067eSBram Moolenaarsyn keyword schemeFunction char-numeric? 2067254067eSBram Moolenaarsyn keyword schemeFunction char-ready? 2077254067eSBram Moolenaarsyn keyword schemeFunction char-upcase 2087254067eSBram Moolenaarsyn keyword schemeFunction char-upper-case? 2097254067eSBram Moolenaarsyn keyword schemeFunction char-whitespace? 2107254067eSBram Moolenaarsyn keyword schemeFunction char<=? 2117254067eSBram Moolenaarsyn keyword schemeFunction char<? 2127254067eSBram Moolenaarsyn keyword schemeFunction char=? 2137254067eSBram Moolenaarsyn keyword schemeFunction char>=? 2147254067eSBram Moolenaarsyn keyword schemeFunction char>? 2157254067eSBram Moolenaarsyn keyword schemeFunction char? 2167254067eSBram Moolenaarsyn keyword schemeFunction close-input-port 2177254067eSBram Moolenaarsyn keyword schemeFunction close-output-port 2187254067eSBram Moolenaarsyn keyword schemeFunction close-port 2197254067eSBram Moolenaarsyn keyword schemeFunction command-line 2207254067eSBram Moolenaarsyn keyword schemeFunction complex? 2217254067eSBram Moolenaarsyn keyword schemeFunction cons 2227254067eSBram Moolenaarsyn keyword schemeFunction cos 2237254067eSBram Moolenaarsyn keyword schemeFunction current-error-port 2247254067eSBram Moolenaarsyn keyword schemeFunction current-input-port 2257254067eSBram Moolenaarsyn keyword schemeFunction current-jiffy 2267254067eSBram Moolenaarsyn keyword schemeFunction current-output-port 2277254067eSBram Moolenaarsyn keyword schemeFunction current-second 2287254067eSBram Moolenaarsyn keyword schemeFunction delete-file 2297254067eSBram Moolenaarsyn keyword schemeFunction denominator 2307254067eSBram Moolenaarsyn keyword schemeFunction digit-value 2317254067eSBram Moolenaarsyn keyword schemeFunction display 2327254067eSBram Moolenaarsyn keyword schemeFunction dynamic-wind 2337254067eSBram Moolenaarsyn keyword schemeFunction emergency-exit 2347254067eSBram Moolenaarsyn keyword schemeFunction environment 2357254067eSBram Moolenaarsyn keyword schemeFunction eof-object 2367254067eSBram Moolenaarsyn keyword schemeFunction eof-object? 2377254067eSBram Moolenaarsyn keyword schemeFunction eq? 2387254067eSBram Moolenaarsyn keyword schemeFunction equal? 2397254067eSBram Moolenaarsyn keyword schemeFunction eqv? 2407254067eSBram Moolenaarsyn keyword schemeFunction error 2417254067eSBram Moolenaarsyn keyword schemeFunction error-object-irritants 2427254067eSBram Moolenaarsyn keyword schemeFunction error-object-message 2437254067eSBram Moolenaarsyn keyword schemeFunction error-object? 2447254067eSBram Moolenaarsyn keyword schemeFunction eval 2457254067eSBram Moolenaarsyn keyword schemeFunction even? 2467254067eSBram Moolenaarsyn keyword schemeFunction exact 2477254067eSBram Moolenaarsyn keyword schemeFunction exact->inexact 2487254067eSBram Moolenaarsyn keyword schemeFunction exact-integer-sqrt 2497254067eSBram Moolenaarsyn keyword schemeFunction exact-integer? 2507254067eSBram Moolenaarsyn keyword schemeFunction exact? 2517254067eSBram Moolenaarsyn keyword schemeFunction exit 2527254067eSBram Moolenaarsyn keyword schemeFunction exp 2537254067eSBram Moolenaarsyn keyword schemeFunction expt 2547254067eSBram Moolenaarsyn keyword schemeFunction features 2557254067eSBram Moolenaarsyn keyword schemeFunction file-error? 2567254067eSBram Moolenaarsyn keyword schemeFunction file-exists? 2577254067eSBram Moolenaarsyn keyword schemeFunction finite? 2587254067eSBram Moolenaarsyn keyword schemeFunction floor 2597254067eSBram Moolenaarsyn keyword schemeFunction floor-quotient 2607254067eSBram Moolenaarsyn keyword schemeFunction floor-remainder 2617254067eSBram Moolenaarsyn keyword schemeFunction floor/ 2627254067eSBram Moolenaarsyn keyword schemeFunction flush-output-port 2637254067eSBram Moolenaarsyn keyword schemeFunction for-each 2647254067eSBram Moolenaarsyn keyword schemeFunction force 2657254067eSBram Moolenaarsyn keyword schemeFunction gcd 2667254067eSBram Moolenaarsyn keyword schemeFunction get-environment-variable 2677254067eSBram Moolenaarsyn keyword schemeFunction get-environment-variables 2687254067eSBram Moolenaarsyn keyword schemeFunction get-output-bytevector 2697254067eSBram Moolenaarsyn keyword schemeFunction get-output-string 2707254067eSBram Moolenaarsyn keyword schemeFunction imag-part 2717254067eSBram Moolenaarsyn keyword schemeFunction inexact 2727254067eSBram Moolenaarsyn keyword schemeFunction inexact->exact 2737254067eSBram Moolenaarsyn keyword schemeFunction inexact? 2747254067eSBram Moolenaarsyn keyword schemeFunction infinite? 2757254067eSBram Moolenaarsyn keyword schemeFunction input-port-open? 2767254067eSBram Moolenaarsyn keyword schemeFunction input-port? 2777254067eSBram Moolenaarsyn keyword schemeFunction integer->char 2787254067eSBram Moolenaarsyn keyword schemeFunction integer? 2797254067eSBram Moolenaarsyn keyword schemeFunction interaction-environment 2807254067eSBram Moolenaarsyn keyword schemeFunction jiffies-per-second 2817254067eSBram Moolenaarsyn keyword schemeFunction lcm 2827254067eSBram Moolenaarsyn keyword schemeFunction length 2837254067eSBram Moolenaarsyn keyword schemeFunction list 2847254067eSBram Moolenaarsyn keyword schemeFunction list->string 2857254067eSBram Moolenaarsyn keyword schemeFunction list->vector 2867254067eSBram Moolenaarsyn keyword schemeFunction list-copy 2877254067eSBram Moolenaarsyn keyword schemeFunction list-ref 2887254067eSBram Moolenaarsyn keyword schemeFunction list-set! 2897254067eSBram Moolenaarsyn keyword schemeFunction list-tail 2907254067eSBram Moolenaarsyn keyword schemeFunction list? 2917254067eSBram Moolenaarsyn keyword schemeFunction load 2927254067eSBram Moolenaarsyn keyword schemeFunction log 2937254067eSBram Moolenaarsyn keyword schemeFunction magnitude 2947254067eSBram Moolenaarsyn keyword schemeFunction make-bytevector 2957254067eSBram Moolenaarsyn keyword schemeFunction make-list 2967254067eSBram Moolenaarsyn keyword schemeFunction make-parameter 2977254067eSBram Moolenaarsyn keyword schemeFunction make-polar 2987254067eSBram Moolenaarsyn keyword schemeFunction make-promise 2997254067eSBram Moolenaarsyn keyword schemeFunction make-rectangular 3007254067eSBram Moolenaarsyn keyword schemeFunction make-string 3017254067eSBram Moolenaarsyn keyword schemeFunction make-vector 3027254067eSBram Moolenaarsyn keyword schemeFunction map 3037254067eSBram Moolenaarsyn keyword schemeFunction max 3047254067eSBram Moolenaarsyn keyword schemeFunction member 3057254067eSBram Moolenaarsyn keyword schemeFunction memq 3067254067eSBram Moolenaarsyn keyword schemeFunction memv 3077254067eSBram Moolenaarsyn keyword schemeFunction min 3087254067eSBram Moolenaarsyn keyword schemeFunction modulo 3097254067eSBram Moolenaarsyn keyword schemeFunction nan? 3107254067eSBram Moolenaarsyn keyword schemeFunction negative? 3117254067eSBram Moolenaarsyn keyword schemeFunction newline 3127254067eSBram Moolenaarsyn keyword schemeFunction not 3137254067eSBram Moolenaarsyn keyword schemeFunction null-environment 3147254067eSBram Moolenaarsyn keyword schemeFunction null? 3157254067eSBram Moolenaarsyn keyword schemeFunction number->string 3167254067eSBram Moolenaarsyn keyword schemeFunction number? 3177254067eSBram Moolenaarsyn keyword schemeFunction numerator 3187254067eSBram Moolenaarsyn keyword schemeFunction odd? 3197254067eSBram Moolenaarsyn keyword schemeFunction open-binary-input-file 3207254067eSBram Moolenaarsyn keyword schemeFunction open-binary-output-file 3217254067eSBram Moolenaarsyn keyword schemeFunction open-input-bytevector 3227254067eSBram Moolenaarsyn keyword schemeFunction open-input-file 3237254067eSBram Moolenaarsyn keyword schemeFunction open-input-string 3247254067eSBram Moolenaarsyn keyword schemeFunction open-output-bytevector 3257254067eSBram Moolenaarsyn keyword schemeFunction open-output-file 3267254067eSBram Moolenaarsyn keyword schemeFunction open-output-string 3277254067eSBram Moolenaarsyn keyword schemeFunction output-port-open? 3287254067eSBram Moolenaarsyn keyword schemeFunction output-port? 3297254067eSBram Moolenaarsyn keyword schemeFunction pair? 3307254067eSBram Moolenaarsyn keyword schemeFunction peek-char 3317254067eSBram Moolenaarsyn keyword schemeFunction peek-u8 3327254067eSBram Moolenaarsyn keyword schemeFunction port? 3337254067eSBram Moolenaarsyn keyword schemeFunction positive? 3347254067eSBram Moolenaarsyn keyword schemeFunction procedure? 3357254067eSBram Moolenaarsyn keyword schemeFunction promise? 3367254067eSBram Moolenaarsyn keyword schemeFunction quotient 3377254067eSBram Moolenaarsyn keyword schemeFunction raise 3387254067eSBram Moolenaarsyn keyword schemeFunction raise-continuable 3397254067eSBram Moolenaarsyn keyword schemeFunction rational? 3407254067eSBram Moolenaarsyn keyword schemeFunction rationalize 3417254067eSBram Moolenaarsyn keyword schemeFunction read 3427254067eSBram Moolenaarsyn keyword schemeFunction read-bytevector 3437254067eSBram Moolenaarsyn keyword schemeFunction read-bytevector! 3447254067eSBram Moolenaarsyn keyword schemeFunction read-char 3457254067eSBram Moolenaarsyn keyword schemeFunction read-error? 3467254067eSBram Moolenaarsyn keyword schemeFunction read-line 3477254067eSBram Moolenaarsyn keyword schemeFunction read-string 3487254067eSBram Moolenaarsyn keyword schemeFunction read-u8 3497254067eSBram Moolenaarsyn keyword schemeFunction real-part 3507254067eSBram Moolenaarsyn keyword schemeFunction real? 3517254067eSBram Moolenaarsyn keyword schemeFunction remainder 3527254067eSBram Moolenaarsyn keyword schemeFunction reverse 3537254067eSBram Moolenaarsyn keyword schemeFunction round 3547254067eSBram Moolenaarsyn keyword schemeFunction scheme-report-environment 3557254067eSBram Moolenaarsyn keyword schemeFunction set-car! 3567254067eSBram Moolenaarsyn keyword schemeFunction set-cdr! 3577254067eSBram Moolenaarsyn keyword schemeFunction sin 3587254067eSBram Moolenaarsyn keyword schemeFunction sqrt 3597254067eSBram Moolenaarsyn keyword schemeFunction square 3607254067eSBram Moolenaarsyn keyword schemeFunction string 3617254067eSBram Moolenaarsyn keyword schemeFunction string->list 3627254067eSBram Moolenaarsyn keyword schemeFunction string->number 3637254067eSBram Moolenaarsyn keyword schemeFunction string->symbol 3647254067eSBram Moolenaarsyn keyword schemeFunction string->utf8 3657254067eSBram Moolenaarsyn keyword schemeFunction string->vector 3667254067eSBram Moolenaarsyn keyword schemeFunction string-append 3677254067eSBram Moolenaarsyn keyword schemeFunction string-ci<=? 3687254067eSBram Moolenaarsyn keyword schemeFunction string-ci<? 3697254067eSBram Moolenaarsyn keyword schemeFunction string-ci=? 3707254067eSBram Moolenaarsyn keyword schemeFunction string-ci>=? 3717254067eSBram Moolenaarsyn keyword schemeFunction string-ci>? 3727254067eSBram Moolenaarsyn keyword schemeFunction string-copy 3737254067eSBram Moolenaarsyn keyword schemeFunction string-copy! 3747254067eSBram Moolenaarsyn keyword schemeFunction string-downcase 3757254067eSBram Moolenaarsyn keyword schemeFunction string-fill! 3767254067eSBram Moolenaarsyn keyword schemeFunction string-foldcase 3777254067eSBram Moolenaarsyn keyword schemeFunction string-for-each 3787254067eSBram Moolenaarsyn keyword schemeFunction string-length 3797254067eSBram Moolenaarsyn keyword schemeFunction string-map 3807254067eSBram Moolenaarsyn keyword schemeFunction string-ref 3817254067eSBram Moolenaarsyn keyword schemeFunction string-set! 3827254067eSBram Moolenaarsyn keyword schemeFunction string-upcase 3837254067eSBram Moolenaarsyn keyword schemeFunction string<=? 3847254067eSBram Moolenaarsyn keyword schemeFunction string<? 3857254067eSBram Moolenaarsyn keyword schemeFunction string=? 3867254067eSBram Moolenaarsyn keyword schemeFunction string>=? 3877254067eSBram Moolenaarsyn keyword schemeFunction string>? 3887254067eSBram Moolenaarsyn keyword schemeFunction string? 3897254067eSBram Moolenaarsyn keyword schemeFunction substring 3907254067eSBram Moolenaarsyn keyword schemeFunction symbol->string 3917254067eSBram Moolenaarsyn keyword schemeFunction symbol=? 3927254067eSBram Moolenaarsyn keyword schemeFunction symbol? 3937254067eSBram Moolenaarsyn keyword schemeFunction syntax-error 3947254067eSBram Moolenaarsyn keyword schemeFunction tan 3957254067eSBram Moolenaarsyn keyword schemeFunction textual-port? 3967254067eSBram Moolenaarsyn keyword schemeFunction transcript-off 3977254067eSBram Moolenaarsyn keyword schemeFunction transcript-on 3987254067eSBram Moolenaarsyn keyword schemeFunction truncate 3997254067eSBram Moolenaarsyn keyword schemeFunction truncate-quotient 4007254067eSBram Moolenaarsyn keyword schemeFunction truncate-remainder 4017254067eSBram Moolenaarsyn keyword schemeFunction truncate/ 4027254067eSBram Moolenaarsyn keyword schemeFunction u8-ready? 4037254067eSBram Moolenaarsyn keyword schemeFunction utf8->string 4047254067eSBram Moolenaarsyn keyword schemeFunction values 4057254067eSBram Moolenaarsyn keyword schemeFunction vector 4067254067eSBram Moolenaarsyn keyword schemeFunction vector->list 4077254067eSBram Moolenaarsyn keyword schemeFunction vector->string 4087254067eSBram Moolenaarsyn keyword schemeFunction vector-append 4097254067eSBram Moolenaarsyn keyword schemeFunction vector-copy 4107254067eSBram Moolenaarsyn keyword schemeFunction vector-copy! 4117254067eSBram Moolenaarsyn keyword schemeFunction vector-fill! 4127254067eSBram Moolenaarsyn keyword schemeFunction vector-for-each 4137254067eSBram Moolenaarsyn keyword schemeFunction vector-length 4147254067eSBram Moolenaarsyn keyword schemeFunction vector-map 4157254067eSBram Moolenaarsyn keyword schemeFunction vector-ref 4167254067eSBram Moolenaarsyn keyword schemeFunction vector-set! 4177254067eSBram Moolenaarsyn keyword schemeFunction vector? 4187254067eSBram Moolenaarsyn keyword schemeFunction with-exception-handler 4197254067eSBram Moolenaarsyn keyword schemeFunction with-input-from-file 4207254067eSBram Moolenaarsyn keyword schemeFunction with-output-to-file 4217254067eSBram Moolenaarsyn keyword schemeFunction write 4227254067eSBram Moolenaarsyn keyword schemeFunction write-bytevector 4237254067eSBram Moolenaarsyn keyword schemeFunction write-char 4247254067eSBram Moolenaarsyn keyword schemeFunction write-shared 4257254067eSBram Moolenaarsyn keyword schemeFunction write-simple 4267254067eSBram Moolenaarsyn keyword schemeFunction write-string 4277254067eSBram Moolenaarsyn keyword schemeFunction write-u8 4287254067eSBram Moolenaarsyn keyword schemeFunction zero? 4293fdfa4a9SBram Moolenaar 430f37506f6SBram Moolenaarhi def link schemeBoolean Boolean 4317254067eSBram Moolenaarhi def link schemeCharacter Character 432f37506f6SBram Moolenaarhi def link schemeComment Comment 4337254067eSBram Moolenaarhi def link schemeConstant Constant 4347254067eSBram Moolenaarhi def link schemeData Delimiter 4357254067eSBram Moolenaarhi def link schemeDatumComment Comment 4367254067eSBram Moolenaarhi def link schemeDatumCommentForm Comment 4377254067eSBram Moolenaarhi def link schemeDelimiter Delimiter 438f37506f6SBram Moolenaarhi def link schemeError Error 4397254067eSBram Moolenaarhi def link schemeExtraSyntax Underlined 4407254067eSBram Moolenaarhi def link schemeFunction Function 4417254067eSBram Moolenaarhi def link schemeIdentifier Normal 4427254067eSBram Moolenaarhi def link schemeImport PreProc 4437254067eSBram Moolenaarhi def link schemeImportKeyword PreProc 4447254067eSBram Moolenaarhi def link schemeKeyword Type 4457254067eSBram Moolenaarhi def link schemeLibrarySyntax PreProc 4467254067eSBram Moolenaarhi def link schemeMultilineComment Comment 4477254067eSBram Moolenaarhi def link schemeNumber Number 4487254067eSBram Moolenaarhi def link schemeParentheses Normal 4497254067eSBram Moolenaarhi def link schemeQuasiquote Delimiter 4507254067eSBram Moolenaarhi def link schemeQuote Delimiter 4517254067eSBram Moolenaarhi def link schemeSpecialSyntax Special 4527254067eSBram Moolenaarhi def link schemeString String 4537254067eSBram Moolenaarhi def link schemeSymbol Normal 4547254067eSBram Moolenaarhi def link schemeSyntax Statement 4557254067eSBram Moolenaarhi def link schemeSyntaxSyntax PreProc 4567254067eSBram Moolenaarhi def link schemeTypeSyntax Type 457071d4279SBram Moolenaar 4587254067eSBram Moolenaarlet b:did_scheme_syntax = 1 45926852128SBram Moolenaar 4607254067eSBram Moolenaarif exists('b:is_chicken') || exists('g:is_chicken') 4617254067eSBram Moolenaar exe 'ru! syntax/chicken.vim' 4627254067eSBram Moolenaarendif 46326852128SBram Moolenaar 4647254067eSBram Moolenaarunlet b:did_scheme_syntax 4657254067eSBram Moolenaarlet b:current_syntax = 'scheme' 4667254067eSBram Moolenaarlet &cpo = s:cpo 4677254067eSBram Moolenaarunlet s:cpo 468