" Vim syntax file " Language: Scheme (CHICKEN) " Last Change: 2024 Jun 21 " Author: Evan Hanson " Maintainer: Evan Hanson " Repository: https://git.foldling.org/vim-scheme.git " URL: https://foldling.org/vim/syntax/chicken.vim " Notes: This is supplemental syntax, to be loaded after the core " Scheme syntax file (syntax/scheme.vim). Enable it by " setting b:is_chicken=1 and filetype=scheme. " Only to be used on top of the Scheme syntax. if !exists('b:did_scheme_syntax') finish endif " Lighten parentheses. hi! def link schemeParentheses Comment " foo#bar syn match schemeExtraSyntax /[^ #'`\t\n()\[\]"|;]\+#[^ '`\t\n()\[\]"|;]\+/ " ##foo#bar syn match schemeExtraSyntax /##[^ '`\t\n()\[\]"|;]\+/ " Heredocs. syn region schemeString start=/#<[<#]\s*\z(.*\)/ end=/^\z1$/ " Keywords. syn match schemeKeyword /#[!:][a-zA-Z0-9!$%&*+-./:<=>?@^_~#]\+/ syn match schemeKeyword /[a-zA-Z0-9!$%&*+-./:<=>?@^_~#]\+:\>/ " C/C++ syntax. let s:c = globpath(&rtp, 'syntax/cpp.vim', 0, 1) if len(s:c) exe 'syn include @c ' s:c[0] syn region c matchgroup=schemeComment start=/#>/ end=/<#/ contains=@c endif " SRFI 26 syn match schemeSyntax /\(([ \t\n]*\)\@<=\(cut\|cute\)\>/ syn keyword schemeSyntax and-let* syn keyword schemeSyntax define-record syn keyword schemeSyntax set!-values syn keyword schemeSyntax fluid-let syn keyword schemeSyntax let-optionals syn keyword schemeSyntax let-optionals* syn keyword schemeSyntax letrec-values syn keyword schemeSyntax nth-value syn keyword schemeSyntax receive syn keyword schemeLibrarySyntax declare syn keyword schemeLibrarySyntax define-interface syn keyword schemeLibrarySyntax functor syn keyword schemeLibrarySyntax include-relative syn keyword schemeLibrarySyntax module syn keyword schemeLibrarySyntax reexport syn keyword schemeLibrarySyntax require-library syn keyword schemeTypeSyntax --> syn keyword schemeTypeSyntax -> syn keyword schemeTypeSyntax : syn keyword schemeTypeSyntax assume syn keyword schemeTypeSyntax compiler-typecase syn keyword schemeTypeSyntax define-specialization syn keyword schemeTypeSyntax define-type syn keyword schemeTypeSyntax the syn keyword schemeExtraSyntax match syn keyword schemeExtraSyntax match-lambda syn keyword schemeExtraSyntax match-lambda* syn keyword schemeExtraSyntax match-let syn keyword schemeExtraSyntax match-let* syn keyword schemeExtraSyntax match-letrec syn keyword schemeSpecialSyntax define-compiler-syntax syn keyword schemeSpecialSyntax define-constant syn keyword schemeSpecialSyntax define-external syn keyword schemeSpecialSyntax define-inline syn keyword schemeSpecialSyntax foreign-code syn keyword schemeSpecialSyntax foreign-declare syn keyword schemeSpecialSyntax foreign-lambda syn keyword schemeSpecialSyntax foreign-lambda* syn keyword schemeSpecialSyntax foreign-primitive syn keyword schemeSpecialSyntax foreign-safe-lambda syn keyword schemeSpecialSyntax foreign-safe-lambda* syn keyword schemeSpecialSyntax foreign-value syn keyword schemeSyntaxSyntax begin-for-syntax syn keyword schemeSyntaxSyntax define-for-syntax syn keyword schemeSyntaxSyntax er-macro-transformer syn keyword schemeSyntaxSyntax ir-macro-transformer syn keyword schemeSyntaxSyntax require-library-for-syntax