Mercurial > hg > RemoteEditor > vim7
diff runtime/syntax/clean.vim @ 0:76efa0be13f1
Initial revision
author | atsuki |
---|---|
date | Sat, 10 Nov 2007 15:07:22 +0900 |
parents | |
children | 67300faee616 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/syntax/clean.vim Sat Nov 10 15:07:22 2007 +0900 @@ -0,0 +1,94 @@ +" Vim syntax file +" Language: Clean +" Author: Pieter van Engelen <pietere@sci.kun.nl> +" Co-Author: Arthur van Leeuwen <arthurvl@sci.kun.nl> +" Last Change: Fri Sep 29 11:35:34 CEST 2000 + +" For version 5.x: Clear all syntax items +" For version 6.x: Quit when a syntax file was already loaded +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif + +" Some Clean-keywords +syn keyword cleanConditional if case +syn keyword cleanLabel let! with where in of +syn keyword cleanInclude from import +syn keyword cleanSpecial Start +syn keyword cleanKeyword infixl infixr infix +syn keyword cleanBasicType Int Real Char Bool String +syn keyword cleanSpecialType World ProcId Void Files File +syn keyword cleanModuleSystem module implementation definition system +syn keyword cleanTypeClass class instance export + +" To do some Denotation Highlighting +syn keyword cleanBoolDenot True False +syn region cleanStringDenot start=+"+ end=+"+ +syn match cleanCharDenot "'.'" +syn match cleanCharsDenot "'[^'\\]*\(\\.[^'\\]\)*'" contained +syn match cleanIntegerDenot "[+-~]\=\<\(\d\+\|0[0-7]\+\|0x[0-9A-Fa-f]\+\)\>" +syn match cleanRealDenot "[+-~]\=\<\d\+\.\d+\(E[+-~]\=\d+\)\=" + +" To highlight the use of lists, tuples and arrays +syn region cleanList start="\[" end="\]" contains=ALL +syn region cleanRecord start="{" end="}" contains=ALL +syn region cleanArray start="{:" end=":}" contains=ALL +syn match cleanTuple "([^=]*,[^=]*)" contains=ALL + +" To do some Comment Highlighting +syn region cleanComment start="/\*" end="\*/" contains=cleanComment +syn match cleanComment "//.*" + +" Now for some useful typedefinitionrecognition +syn match cleanFuncTypeDef "\([a-zA-Z].*\|(\=[-~@#$%^?!+*<>\/|&=:]\+)\=\)[ \t]*\(infix[lr]\=\)\=[ \t]*\d\=[ \t]*::.*->.*" contains=cleanSpecial + +" Define the default highlighting. +" For version 5.7 and earlier: only when not done already +" For version 5.8 and later: only when an item doesn't have highlighting yet +if version >= 508 || !exists("did_clean_syntax_init") + if version < 508 + let did_clean_syntax_init = 1 + command -nargs=+ HiLink hi link <args> + else + command -nargs=+ HiLink hi def link <args> + endif + + " Comments + HiLink cleanComment Comment + " Constants and denotations + HiLink cleanCharsDenot String + HiLink cleanStringDenot String + HiLink cleanCharDenot Character + HiLink cleanIntegerDenot Number + HiLink cleanBoolDenot Boolean + HiLink cleanRealDenot Float + " Identifiers + " Statements + HiLink cleanTypeClass Keyword + HiLink cleanConditional Conditional + HiLink cleanLabel Label + HiLink cleanKeyword Keyword + " Generic Preprocessing + HiLink cleanInclude Include + HiLink cleanModuleSystem PreProc + " Type + HiLink cleanBasicType Type + HiLink cleanSpecialType Type + HiLink cleanFuncTypeDef Typedef + " Special + HiLink cleanSpecial Special + HiLink cleanList Special + HiLink cleanArray Special + HiLink cleanRecord Special + HiLink cleanTuple Special + " Error + " Todo + + delcommand HiLink +endif + +let b:current_syntax = "clean" + +" vim: ts=4