mirror of
				https://github.com/vim/vim.git
				synced 2025-10-30 09:47:20 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			78 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			78 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
| " 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
 |