* Re: [Caml-list] revised syntax vim file
2002-10-30 11:21 ` Stefano Zacchiroli
@ 2002-10-30 11:34 ` Issac Trotts
2002-10-30 13:06 ` Markus Mottl
2002-10-30 11:39 ` Markus Mottl
1 sibling, 1 reply; 8+ messages in thread
From: Issac Trotts @ 2002-10-30 11:34 UTC (permalink / raw)
To: OCaml Mailing List
On Wed, Oct 30, 2002 at 12:21:22PM +0100, Stefano Zacchiroli wrote:
> On Wed, Oct 30, 2002 at 02:49:17AM -0800, Issac Trotts wrote:
> > Here's a patch to Markus Mottl's
> > and Karl-Heinz Sylla's vim syntax file so it will work
> > a bit better with the revised syntax.
>
> Thanks for the patch!
>
> May I forward your patch to the debian vim maintainer so that it can be
> included in the debian vim package?
Glad to help. Please forward the patch below instead.
There is still the issue of how to make it co-exist with the
standard OCaml syntax. Probably searching for the regular
expressions
^value
do {
in a .ml or .mli file would be enough to tell which syntax to
use. Is there a convention of having some other suffix for
revised syntax filenames?
Issac
--- ocaml.vim 2002-10-30 02:24:10.000000000 -0800
+++ ocamlrev.vim 2002-10-30 03:18:24.000000000 -0800
@@ -1,14 +1,19 @@
" Vim syntax file
-" Language: OCaml
+" Language: ocaml revised syntax
" Filenames: *.ml *.mli *.mll *.mly
" Maintainers: Markus Mottl <markus@oefai.at>
" Karl-Heinz Sylla <Karl-Heinz.Sylla@gmd.de>
+" Revised: Issac Trotts <ijtrotts@ucdavis.edu>
" URL: http://www.ai.univie.ac.at/~markus/vim/syntax/ocaml.vim
-" Last Change: 2001 Nov 20 - Fixed small bug with modules (MM)
+" Last Change:
+" 2002 Oct 30 - Bug fixes (IT)
+" 2002 Oct 30 - Small tweaks for revised syntax (IT)
+" 2001 Nov 20 - Fixed small bug with modules (MM)
" 2001 Sep 01 - Fixed small bug with '\'' (MM)
" 2001 Aug 29 - Added rules for scripting directives (MM)
" 2001 Aug 28 - Upgraded URL & mail address (MM)
" 2001 Apr 26 - upgraded for new Vim version (MM)
+"
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
@@ -33,9 +38,6 @@
syn match ocamlKeyChar "|"
" Errors
-syn match ocamlBraceErr "}"
-syn match ocamlBrackErr "\]"
-syn match ocamlParenErr ")"
syn match ocamlArrErr "|]"
syn match ocamlCommentErr "\*)"
@@ -55,17 +57,15 @@
endif
" Some convenient clusters
-syn cluster ocamlAllErrs contains=ocamlBraceErr,ocamlBrackErr,ocamlParenErr,ocamlCommentErr,ocamlCountErr,ocamlDoErr,ocamlDoneErr,ocamlEndErr,ocamlThenErr
+syn cluster ocamlAllErrs contains=ocamlParenErr,ocamlCommentErr,ocamlCountErr,ocamlDoErr,ocamlDoneErr,ocamlEndErr,ocamlThenErr
-syn cluster ocamlAENoParen contains=ocamlBraceErr,ocamlBrackErr,ocamlCommentErr,ocamlCountErr,ocamlDoErr,ocamlDoneErr,ocamlEndErr,ocamlThenErr
+syn cluster ocamlAENoParen contains=ocamlCommentErr,ocamlCountErr,ocamlDoErr,ocamlDoneErr,ocamlEndErr,ocamlThenErr
syn cluster ocamlContained contains=ocamlTodo,ocamlPreDef,ocamlModParam,ocamlModParam1,ocamlPreMPRestr,ocamlMPRestr,ocamlMPRestr1,ocamlMPRestr2,ocamlMPRestr3,ocamlModRHS,ocamlFuncWith,ocamlFuncStruct,ocamlModTypeRestr,ocamlModTRWith,ocamlWith,ocamlWithRest,ocamlModType,ocamlFullMod
" Enclosing delimiters
syn region ocamlEncl transparent matchgroup=ocamlKeyword start="(" matchgroup=ocamlKeyword end=")" contains=ALLBUT,@ocamlContained,ocamlParenErr
-syn region ocamlEncl transparent matchgroup=ocamlKeyword start="{" matchgroup=ocamlKeyword end="}" contains=ALLBUT,@ocamlContained,ocamlBraceErr
-syn region ocamlEncl transparent matchgroup=ocamlKeyword start="\[" matchgroup=ocamlKeyword end="\]" contains=ALLBUT,@ocamlContained,ocamlBrackErr
syn region ocamlEncl transparent matchgroup=ocamlKeyword start="\[|" matchgroup=ocamlKeyword end="|\]" contains=ALLBUT,@ocamlContained,ocamlArrErr
@@ -79,7 +79,7 @@
" Blocks
-syn region ocamlEnd matchgroup=ocamlKeyword start="\<begin\>" matchgroup=ocamlKeyword end="\<end\>" contains=ALLBUT,@ocamlContained,ocamlEndErr
+"syn region ocamlEnd matchgroup=ocamlKeyword start="\<begin\>" matchgroup=ocamlKeyword end="\<end\>" contains=ALLBUT,@ocamlContained,ocamlEndErr
" "for"
@@ -139,20 +139,20 @@
syn keyword ocamlKeyword and as assert class
syn keyword ocamlKeyword constraint else
-syn keyword ocamlKeyword exception external fun function
+syn keyword ocamlKeyword exception external fun
syn keyword ocamlKeyword in inherit initializer
syn keyword ocamlKeyword land lazy let match
syn keyword ocamlKeyword method mutable new of
syn keyword ocamlKeyword parser private raise rec
syn keyword ocamlKeyword try type
-syn keyword ocamlKeyword val virtual when while with
+syn keyword ocamlKeyword value virtual when while with
syn keyword ocamlType array bool char exn float format int
syn keyword ocamlType list option string unit
-syn keyword ocamlOperator asr lor lsl lsr lxor mod not or
+syn keyword ocamlOperator asr lor lsl lsr lxor mod not
-syn keyword ocamlBoolean true false
+syn keyword ocamlBoolean True False
syn match ocamlConstructor "(\s*)"
syn match ocamlConstructor "\[\s*\]"
syn match ocamlConstructor "\[|\s*>|]"
@@ -177,7 +177,7 @@
syn match ocamlOperator "::"
syn match ocamlOperator "<-"
syn match ocamlAnyVar "\<_\>"
-syn match ocamlKeyChar "!"
+" syn match ocamlKeyChar "!"
syn match ocamlKeyChar "|[^\]]"me=e-1
syn match ocamlKeyChar ";"
syn match ocamlKeyChar "\~"
@@ -203,7 +203,7 @@
syn sync match ocamlDoSync grouphere ocamlDo "\<do\>"
syn sync match ocamlDoSync groupthere ocamlDo "\<done\>"
-syn sync match ocamlEndSync grouphere ocamlEnd "\<\(begin\|object\)\>"
+syn sync match ocamlEndSync grouphere ocamlEnd "\<object\>"
syn sync match ocamlEndSync groupthere ocamlEnd "\<end\>"
syn sync match ocamlStructSync grouphere ocamlStruct "\<struct\>"
syn sync match ocamlStructSync groupthere ocamlStruct "\<end\>"
@@ -221,8 +221,6 @@
command -nargs=+ HiLink hi def link <args>
endif
- HiLink ocamlBraceErr Error
- HiLink ocamlBrackErr Error
HiLink ocamlParenErr Error
HiLink ocamlArrErr Error
@@ -282,3 +280,5 @@
let b:current_syntax = "ocaml"
" vim: ts=28
+
+
-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Caml-list] revised syntax vim file
2002-10-30 11:21 ` Stefano Zacchiroli
2002-10-30 11:34 ` Issac Trotts
@ 2002-10-30 11:39 ` Markus Mottl
2002-10-30 11:54 ` Issac Trotts
2002-10-30 12:25 ` Stefano Zacchiroli
1 sibling, 2 replies; 8+ messages in thread
From: Markus Mottl @ 2002-10-30 11:39 UTC (permalink / raw)
To: Issac Trotts, OCaml Mailing List
[-- Attachment #1: Type: text/plain, Size: 894 bytes --]
On Wed, 30 Oct 2002, Stefano Zacchiroli wrote:
> On Wed, Oct 30, 2002 at 02:49:17AM -0800, Issac Trotts wrote:
> > Here's a patch to Markus Mottl's
> > and Karl-Heinz Sylla's vim syntax file so it will work
> > a bit better with the revised syntax.
>
> Thanks for the patch!
>
> May I forward your patch to the debian vim maintainer so that it can be
> included in the debian vim package?
It's not necessary to distribute patches separately! Just send them to
me so that I can adapt the syntax file. I have introduced a variable
"ocaml_revised", which allows you to toggle the right syntax highlighting:
let ocaml_revised=1
Please tell me whether the change fills your needs!
Best regards,
Markus Mottl
--
Markus Mottl markus@oefai.at
Austrian Research Institute
for Artificial Intelligence http://www.oefai.at/~markus
[-- Attachment #2: ocaml.vim --]
[-- Type: text/plain, Size: 12516 bytes --]
" Vim syntax file
" Language: OCaml
" Filenames: *.ml *.mli *.mll *.mly
" Maintainers: Markus Mottl <markus@oefai.at>
" Karl-Heinz Sylla <Karl-Heinz.Sylla@gmd.de>
" URL: http://www.oefai.at/~markus/vim/syntax/ocaml.vim
" Last Change: 2002 Oct 30 - New variable "ocaml_revised" (MM)
" 2002 Oct 24 - Small fix for "module type" (MM)
" 2002 Jun 16 - Added "&&", "<" and ">" as operators (MM)
" 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
" OCaml is case sensitive.
syn case match
" Script headers highlighted like comments
syn match ocamlComment "^#!.*"
" Scripting directives
syn match ocamlScript "^#\<\(quit\|labels\|warnings\|directory\|cd\|load\|use\|install_printer\|remove_printer\|trace\|untrace\|untrace_all\|print_depth\|print_length\)\>"
" lowercase identifier - the standard way to match
syn match ocamlLCIdentifier /\<\(\l\|_\)\(\w\|'\)*\>/
syn match ocamlKeyChar "|"
" Errors
syn match ocamlBraceErr "}"
syn match ocamlBrackErr "\]"
syn match ocamlParenErr ")"
syn match ocamlArrErr "|]"
syn match ocamlCommentErr "\*)"
syn match ocamlCountErr "\<downto\>"
syn match ocamlCountErr "\<to\>"
if !exists("ocaml_revised")
syn match ocamlDoErr "\<do\>"
endif
syn match ocamlDoneErr "\<done\>"
syn match ocamlThenErr "\<then\>"
" Error-highlighting of "end" without synchronization:
" as keyword or as error (default)
if exists("ocaml_noend_error")
syn match ocamlKeyword "\<end\>"
else
syn match ocamlEndErr "\<end\>"
endif
" Some convenient clusters
syn cluster ocamlAllErrs contains=ocamlBraceErr,ocamlBrackErr,ocamlParenErr,ocamlCommentErr,ocamlCountErr,ocamlDoErr,ocamlDoneErr,ocamlEndErr,ocamlThenErr
syn cluster ocamlAENoParen contains=ocamlBraceErr,ocamlBrackErr,ocamlCommentErr,ocamlCountErr,ocamlDoErr,ocamlDoneErr,ocamlEndErr,ocamlThenErr
syn cluster ocamlContained contains=ocamlTodo,ocamlPreDef,ocamlModParam,ocamlModParam1,ocamlPreMPRestr,ocamlMPRestr,ocamlMPRestr1,ocamlMPRestr2,ocamlMPRestr3,ocamlModRHS,ocamlFuncWith,ocamlFuncStruct,ocamlModTypeRestr,ocamlModTRWith,ocamlWith,ocamlWithRest,ocamlModType,ocamlFullMod
" Enclosing delimiters
syn region ocamlEncl transparent matchgroup=ocamlKeyword start="(" matchgroup=ocamlKeyword end=")" contains=ALLBUT,@ocamlContained,ocamlParenErr
syn region ocamlEncl transparent matchgroup=ocamlKeyword start="{" matchgroup=ocamlKeyword end="}" contains=ALLBUT,@ocamlContained,ocamlBraceErr
syn region ocamlEncl transparent matchgroup=ocamlKeyword start="\[" matchgroup=ocamlKeyword end="\]" contains=ALLBUT,@ocamlContained,ocamlBrackErr
syn region ocamlEncl transparent matchgroup=ocamlKeyword start="\[|" matchgroup=ocamlKeyword end="|\]" contains=ALLBUT,@ocamlContained,ocamlArrErr
" Comments
syn region ocamlComment start="(\*" end="\*)" contains=ocamlComment,ocamlTodo
syn keyword ocamlTodo contained TODO FIXME XXX
" Objects
syn region ocamlEnd matchgroup=ocamlKeyword start="\<object\>" matchgroup=ocamlKeyword end="\<end\>" contains=ALLBUT,@ocamlContained,ocamlEndErr
" Blocks
syn region ocamlEnd matchgroup=ocamlKeyword start="\<begin\>" matchgroup=ocamlKeyword end="\<end\>" contains=ALLBUT,@ocamlContained,ocamlEndErr
" "for"
syn region ocamlNone matchgroup=ocamlKeyword start="\<for\>" matchgroup=ocamlKeyword end="\<\(to\|downto\)\>" contains=ALLBUT,@ocamlContained,ocamlCountErr
" "do"
if !exists("ocaml_revised")
syn region ocamlDo matchgroup=ocamlKeyword start="\<do\>" matchgroup=ocamlKeyword end="\<done\>" contains=ALLBUT,@ocamlContained,ocamlDoneErr
endif
" "if"
syn region ocamlNone matchgroup=ocamlKeyword start="\<if\>" matchgroup=ocamlKeyword end="\<then\>" contains=ALLBUT,@ocamlContained,ocamlThenErr
"" Modules
" "struct"
syn region ocamlStruct matchgroup=ocamlModule start="\<struct\>" matchgroup=ocamlModule end="\<end\>" contains=ALLBUT,@ocamlContained,ocamlEndErr
" "sig"
syn region ocamlSig matchgroup=ocamlModule start="\<sig\>" matchgroup=ocamlModule end="\<end\>" contains=ALLBUT,@ocamlContained,ocamlEndErr,ocamlModule
syn region ocamlModSpec matchgroup=ocamlKeyword start="\<module\>" matchgroup=ocamlModule end="\<\u\(\w\|'\)*\>" contained contains=@ocamlAllErrs,ocamlComment skipwhite skipempty nextgroup=ocamlModTRWith,ocamlMPRestr
" "open"
syn region ocamlNone matchgroup=ocamlKeyword start="\<open\>" matchgroup=ocamlModule end="\<\u\(\w\|'\)*\(\.\u\(\w\|'\)*\)*\>" contains=@ocamlAllErrs,ocamlComment
" "include"
syn match ocamlKeyword "\<include\>" contained skipwhite skipempty nextgroup=ocamlModParam,ocamlFullMod
" "module" - somewhat complicated stuff ;-)
syn region ocamlModule matchgroup=ocamlKeyword start="\<module\>" matchgroup=ocamlModule end="\<\u\(\w\|'\)*\>" contains=@ocamlAllErrs,ocamlComment skipwhite skipempty nextgroup=ocamlPreDef
syn region ocamlPreDef start="."me=e-1 matchgroup=ocamlKeyword end="\l\|="me=e-1 contained contains=@ocamlAllErrs,ocamlComment,ocamlModParam,ocamlModTypeRestr,ocamlModTRWith nextgroup=ocamlModPreRHS
syn region ocamlModParam start="([^*]" end=")" contained contains=@ocamlAENoParen,ocamlModParam1
syn match ocamlModParam1 "\<\u\(\w\|'\)*\>" contained skipwhite skipempty nextgroup=ocamlPreMPRestr
syn region ocamlPreMPRestr start="."me=e-1 end=")"me=e-1 contained contains=@ocamlAllErrs,ocamlComment,ocamlMPRestr,ocamlModTypeRestr
syn region ocamlMPRestr start=":" end="."me=e-1 contained contains=@ocamlComment skipwhite skipempty nextgroup=ocamlMPRestr1,ocamlMPRestr2,ocamlMPRestr3
syn region ocamlMPRestr1 matchgroup=ocamlModule start="\ssig\s\=" matchgroup=ocamlModule end="\<end\>" contained contains=ALLBUT,@ocamlContained,ocamlEndErr,ocamlModule
syn region ocamlMPRestr2 start="\sfunctor\(\s\|(\)\="me=e-1 matchgroup=ocamlKeyword end="->" contained contains=@ocamlAllErrs,ocamlComment,ocamlModParam skipwhite skipempty nextgroup=ocamlFuncWith,ocamlMPRestr2
syn match ocamlMPRestr3 "\w\(\w\|'\)*\(\.\w\(\w\|'\)*\)*" contained
syn match ocamlModPreRHS "=" contained skipwhite skipempty nextgroup=ocamlModParam,ocamlFullMod
syn region ocamlModRHS start="." end=".\w\|([^*]"me=e-2 contained contains=ocamlComment skipwhite skipempty nextgroup=ocamlModParam,ocamlFullMod
syn match ocamlFullMod "\<\u\(\w\|'\)*\(\.\u\(\w\|'\)*\)*" contained skipwhite skipempty nextgroup=ocamlFuncWith
syn region ocamlFuncWith start="([^*]"me=e-1 end=")" contained contains=ocamlComment,ocamlWith,ocamlFuncStruct skipwhite skipempty nextgroup=ocamlFuncWith
syn region ocamlFuncStruct matchgroup=ocamlModule start="[^a-zA-Z]struct\>"hs=s+1 matchgroup=ocamlModule end="\<end\>" contains=ALLBUT,@ocamlContained,ocamlEndErr
syn match ocamlModTypeRestr "\<\w\(\w\|'\)*\(\.\w\(\w\|'\)*\)*\>" contained
syn region ocamlModTRWith start=":\s*("hs=s+1 end=")" contained contains=@ocamlAENoParen,ocamlWith
syn match ocamlWith "\<\(\u\(\w\|'\)*\.\)*\w\(\w\|'\)*\>" contained skipwhite skipempty nextgroup=ocamlWithRest
syn region ocamlWithRest start="[^)]" end=")"me=e-1 contained contains=ALLBUT,@ocamlContained
" "module type"
syn region ocamlKeyword start="\<module\>\s*\<type\>" matchgroup=ocamlModule end="\<\w\(\w\|'\)*\>" contains=ocamlComment skipwhite skipempty nextgroup=ocamlMTDef
syn match ocamlMTDef "=\s*\w\(\w\|'\)*\>"hs=s+1,me=s
syn keyword ocamlKeyword and as assert class
syn keyword ocamlKeyword constraint else
syn keyword ocamlKeyword exception external fun function
syn keyword ocamlKeyword in inherit initializer
syn keyword ocamlKeyword land lazy let match
syn keyword ocamlKeyword method mutable new of
syn keyword ocamlKeyword parser private raise rec
syn keyword ocamlKeyword try type
syn keyword ocamlKeyword val virtual when while with
if exists("ocaml_revised")
syn keyword ocamlKeyword do value
endif
syn keyword ocamlType array bool char exn float format int
syn keyword ocamlType list option string unit
syn keyword ocamlOperator asr lor lsl lsr lxor mod not or
syn keyword ocamlBoolean true false
syn match ocamlConstructor "(\s*)"
syn match ocamlConstructor "\[\s*\]"
syn match ocamlConstructor "\[|\s*>|]"
syn match ocamlConstructor "\[<\s*>\]"
syn match ocamlConstructor "\u\(\w\|'\)*\>"
" Polymorphic variants
syn match ocamlConstructor "`\w\(\w\|'\)*\>"
" Module prefix
syn match ocamlModPath "\u\(\w\|'\)*\."he=e-1
syn match ocamlCharacter "'\\\d\d\d'\|'\\[\'ntbr]'\|'.'"
syn match ocamlCharErr "'\\\d\d'\|'\\\d'"
syn match ocamlCharErr "'\\[^\'ntbr]'"
syn region ocamlString start=+"+ skip=+\\\\\|\\"+ end=+"+
syn match ocamlFunDef "->"
syn match ocamlRefAssign ":="
syn match ocamlTopStop ";;"
syn match ocamlOperator "\^"
syn match ocamlOperator "::"
syn match ocamlOperator "<-"
syn match ocamlOperator "&&"
syn match ocamlOperator "<"
syn match ocamlOperator ">"
syn match ocamlAnyVar "\<_\>"
syn match ocamlKeyChar "!"
syn match ocamlKeyChar "|[^\]]"me=e-1
syn match ocamlKeyChar ";"
syn match ocamlKeyChar "\~"
syn match ocamlKeyChar "?"
syn match ocamlKeyChar "\*"
syn match ocamlKeyChar "="
syn match ocamlNumber "\<-\=\d\+\>"
syn match ocamlNumber "\<-\=0[x|X]\x\+\>"
syn match ocamlNumber "\<-\=0[o|O]\o\+\>"
syn match ocamlNumber "\<-\=0[b|B][01]\+\>"
syn match ocamlFloat "\<-\=\d\+\.\d*\([eE][-+]\=\d\+\)\=[fl]\=\>"
" Labels
syn match ocamlLabel "\~\(\l\|_\)\(\w\|'\)*"lc=1
syn match ocamlLabel "?\(\l\|_\)\(\w\|'\)*"lc=1
syn region ocamlLabel transparent matchgroup=ocamlLabel start="?(\(\l\|_\)\(\w\|'\)*"lc=2 end=")"me=e-1 contains=ALLBUT,@ocamlContained,ocamlParenErr
" Synchronization
syn sync minlines=50
syn sync maxlines=500
if !exists("ocaml_revised")
syn sync match ocamlDoSync grouphere ocamlDo "\<do\>"
syn sync match ocamlDoSync groupthere ocamlDo "\<done\>"
endif
syn sync match ocamlEndSync grouphere ocamlEnd "\<\(begin\|object\)\>"
syn sync match ocamlEndSync groupthere ocamlEnd "\<end\>"
syn sync match ocamlStructSync grouphere ocamlStruct "\<struct\>"
syn sync match ocamlStructSync groupthere ocamlStruct "\<end\>"
syn sync match ocamlSigSync grouphere ocamlSig "\<sig\>"
syn sync match ocamlSigSync groupthere ocamlSig "\<end\>"
" 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_ocaml_syntax_inits")
if version < 508
let did_ocaml_syntax_inits = 1
command -nargs=+ HiLink hi link <args>
else
command -nargs=+ HiLink hi def link <args>
endif
HiLink ocamlBraceErr Error
HiLink ocamlBrackErr Error
HiLink ocamlParenErr Error
HiLink ocamlArrErr Error
HiLink ocamlCommentErr Error
HiLink ocamlCountErr Error
HiLink ocamlDoErr Error
HiLink ocamlDoneErr Error
HiLink ocamlEndErr Error
HiLink ocamlThenErr Error
HiLink ocamlCharErr Error
HiLink ocamlComment Comment
HiLink ocamlModPath Include
HiLink ocamlModule Include
HiLink ocamlModParam1 Include
HiLink ocamlModType Include
HiLink ocamlMPRestr3 Include
HiLink ocamlFullMod Include
HiLink ocamlModTypeRestr Include
HiLink ocamlWith Include
HiLink ocamlMTDef Include
HiLink ocamlScript Include
HiLink ocamlConstructor Constant
HiLink ocamlModPreRHS Keyword
HiLink ocamlMPRestr2 Keyword
HiLink ocamlKeyword Keyword
HiLink ocamlFunDef Keyword
HiLink ocamlRefAssign Keyword
HiLink ocamlKeyChar Keyword
HiLink ocamlAnyVar Keyword
HiLink ocamlTopStop Keyword
HiLink ocamlOperator Keyword
HiLink ocamlBoolean Boolean
HiLink ocamlCharacter Character
HiLink ocamlNumber Number
HiLink ocamlFloat Float
HiLink ocamlString String
HiLink ocamlLabel Identifier
HiLink ocamlType Type
HiLink ocamlTodo Todo
HiLink ocamlEncl Keyword
delcommand HiLink
endif
let b:current_syntax = "ocaml"
" vim: ts=28
^ permalink raw reply [flat|nested] 8+ messages in thread