mirror of
				https://github.com/vim/vim.git
				synced 2025-10-30 09:47:20 -04:00 
			
		
		
		
	closes: #15993 Co-authored-by: Christian Clason <ch.clason+github@icloud.com> Signed-off-by: Serhii Khoma <srghma@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
		
			
				
	
	
		
			87 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			87 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
| " Vim syntax file
 | |
| " Language:		Idris 2
 | |
| " Maintainer:		Idris Hackers (https://github.com/edwinb/idris2-vim), Serhii Khoma <srghma@gmail.com>
 | |
| " Last Change:		2024 Nov 05
 | |
| " Original Author:	raichoo (raichoo@googlemail.com)
 | |
| " License:		Vim (see :h license)
 | |
| " Repository:		https://github.com/ShinKage/idris2-nvim
 | |
| "
 | |
| 
 | |
| if exists("b:current_syntax")
 | |
|   finish
 | |
| endif
 | |
| 
 | |
| syn match idris2TypeDecl "[a-zA-Z][a-zA-z0-9_']*\s\+:\s\+" contains=idris2Identifier,idris2Operators
 | |
| syn region idris2Parens matchgroup=idris2Delimiter start="(" end=")" contains=TOP,idris2TypeDecl
 | |
| syn region idris2Brackets matchgroup=idris2Delimiter start="\[" end="]" contains=TOP,idris2TypeDecl
 | |
| syn region idris2Block matchgroup=idris2Delimiter start="{" end="}" contains=TOP,idris2TypeDecl
 | |
| syn region idris2SnocBrackets matchgroup=idris2Delimiter start="\[<" end="]" contains=TOP
 | |
| syn region idris2ListBrackets matchgroup=idris2Delimiter start="\[>" end="]" contains=TOP
 | |
| syn keyword idris2Module module namespace
 | |
| syn keyword idris2Import import
 | |
| syn keyword idris2Structure data record interface implementation
 | |
| syn keyword idris2Where where
 | |
| syn keyword idris2Visibility public abstract private export
 | |
| syn keyword idris2Block parameters mutual using
 | |
| syn keyword idris2Totality total partial covering
 | |
| syn keyword idris2Annotation auto impossible default constructor
 | |
| syn keyword idris2Statement do case of rewrite with proof
 | |
| syn keyword idris2Let let in
 | |
| syn keyword idris2Forall forall
 | |
| syn keyword idris2DataOpt noHints uniqueSearch search external noNewtype containedin=idris2Brackets
 | |
| syn keyword idris2Conditional if then else
 | |
| syn match idris2Number "\<[0-9]\+\>\|\<0[xX][0-9a-fA-F]\+\>\|\<0[oO][0-7]\+\>"
 | |
| syn match idris2Float "\<[0-9]\+\.[0-9]\+\([eE][-+]\=[0-9]\+\)\=\>"
 | |
| syn match idris2Delimiter  "[,;]"
 | |
| syn keyword idris2Infix prefix infix infixl infixr
 | |
| syn match idris2Operators "\([-!#$%&\*\+./<=>\?@\\^|~:]\|\<_\>\)"
 | |
| syn match idris2Type "\<[A-Z][a-zA-Z0-9_']*\>"
 | |
| syn keyword idris2Todo TODO FIXME XXX HACK contained
 | |
| syn match idris2LineComment "---*\([^-!#$%&\*\+./<=>\?@\\^|~].*\)\?$" contains=idris2Todo,@Spell
 | |
| syn match idris2DocComment "|||\([^-!#$%&\*\+./<=>\?@\\^|~].*\)\?$" contains=idris2Todo,@Spell
 | |
| syn match idris2MetaVar "?[a-zA-Z_][A-Za-z0-9_']*"
 | |
| syn match idris2Pragma "%\(hide\|logging\|auto_lazy\|unbound_implicits\|prefix_record_projections\|ambiguity_depth\|nf_metavar_threshold\|search_timeout\|pair\|rewrite\|integerLit\|stringLit\|charLit\|doubleLit\|name\|start\|allow_overloads\|language\|default\|transform\|hint\|globalhint\|defaulthint\|inline\|noinline\|extern\|macro\|spec\|foreign\|nomangle\|builtin\|MkWorld\|World\|search\|runElab\|tcinline\|auto_implicit_depth\)"
 | |
| syn match idris2Char "'[^'\\]'\|'\\.'\|'\\u[0-9a-fA-F]\{4}'"
 | |
| syn match idris2Backtick "`[A-Za-z][A-Za-z0-9_']*`"
 | |
| syn region idris2String start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@Spell
 | |
| syn region idris2BlockComment start="{-" end="-}" contains=idris2BlockComment,idris2Todo,@Spell
 | |
| syn match idris2Identifier "[a-zA-Z][a-zA-z0-9_']*" contained
 | |
| 
 | |
| " Default Highlighting  {{{1
 | |
| 
 | |
| highlight def link idris2Deprecated Error
 | |
| highlight def link idris2Identifier Identifier
 | |
| highlight def link idris2Import Structure
 | |
| highlight def link idris2Module Structure
 | |
| highlight def link idris2Structure Structure
 | |
| highlight def link idris2Statement Statement
 | |
| highlight def link idris2Forall Structure
 | |
| highlight def link idris2DataOpt Statement
 | |
| highlight def link idris2DSL Statement
 | |
| highlight def link idris2Block Statement
 | |
| highlight def link idris2Annotation Statement
 | |
| highlight def link idris2Where Structure
 | |
| highlight def link idris2Let Structure
 | |
| highlight def link idris2Totality Statement
 | |
| highlight def link idris2Visibility Statement
 | |
| highlight def link idris2Conditional Conditional
 | |
| highlight def link idris2Pragma Statement
 | |
| highlight def link idris2Number Number
 | |
| highlight def link idris2Float Float
 | |
| highlight def link idris2Delimiter Delimiter
 | |
| highlight def link idris2Infix PreProc
 | |
| highlight def link idris2Operators Operator
 | |
| highlight def link idris2Type Include
 | |
| highlight def link idris2DocComment Comment
 | |
| highlight def link idris2LineComment Comment
 | |
| highlight def link idris2BlockComment Comment
 | |
| highlight def link idris2Todo Todo
 | |
| highlight def link idris2MetaVar Macro
 | |
| highlight def link idris2String String
 | |
| highlight def link idris2Char String
 | |
| highlight def link idris2Backtick Operator
 | |
| 
 | |
| let b:current_syntax = "idris2"
 | |
| 
 | |
| " vim: nowrap sw=2 sts=2 ts=8 noexpandtab ft=vim
 |