caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Issac Trotts <ijtrotts@ucdavis.edu>
To: OCaml Mailing List <caml-list@inria.fr>
Subject: Re: [Caml-list] revised syntax vim file
Date: Wed, 30 Oct 2002 03:34:24 -0800	[thread overview]
Message-ID: <20021030113424.GB19224@beech> (raw)
In-Reply-To: <20021030112122.GA13090@lordsoth.takhisis.org>

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


  reply	other threads:[~2002-10-30 11:33 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-10-30 10:49 Issac Trotts
2002-10-30 11:21 ` Stefano Zacchiroli
2002-10-30 11:34   ` Issac Trotts [this message]
2002-10-30 13:06     ` Markus Mottl
2002-10-30 11:39   ` Markus Mottl
2002-10-30 11:54     ` Issac Trotts
2002-10-30 12:15       ` Issac Trotts
2002-10-30 12:25     ` Stefano Zacchiroli

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20021030113424.GB19224@beech \
    --to=ijtrotts@ucdavis.edu \
    --cc=caml-list@inria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).