Update runtime files.
This commit is contained in:
77
runtime/syntax/chicken.vim
Normal file
77
runtime/syntax/chicken.vim
Normal file
@ -0,0 +1,77 @@
|
||||
" Vim syntax file
|
||||
" Language: Scheme (CHICKEN)
|
||||
" Last Change: 2018 Jan 31
|
||||
" Author: Evan Hanson <evhan@foldling.org>
|
||||
" Maintainer: Evan Hanson <evhan@foldling.org>
|
||||
" 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
|
||||
|
||||
syn keyword schemeSyntax define-record
|
||||
|
||||
syn keyword schemeLibrarySyntax declare
|
||||
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 and-let*
|
||||
syn keyword schemeExtraSyntax match
|
||||
syn keyword schemeExtraSyntax match-lambda
|
||||
syn keyword schemeExtraSyntax match-lambda*
|
||||
|
||||
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
|
||||
Reference in New Issue
Block a user