From 5cff2b31b67895e5e20319d7f5880b031deaabef Mon Sep 17 00:00:00 2001 From: mfranz Date: Mon, 29 Sep 2008 17:02:37 +0000 Subject: [PATCH] - improve number detection - use nasal syntax for in xml mode - new nasal built-in function id() --- utils/syntax/nasal.vim | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/utils/syntax/nasal.vim b/utils/syntax/nasal.vim index 0b9edb0bb..c8b95dd4f 100644 --- a/utils/syntax/nasal.vim +++ b/utils/syntax/nasal.vim @@ -2,8 +2,7 @@ " Language: Nasal (FlightGear) " Maintainer: Melchior FRANZ " URL: http://members.aon.at/mfranz/nasal.vim -" Last Change: 2005 Apr 25 -" $Id$ +" Last Change: 2008 Sep 29 " ________________________________CUSTOMIZATION______________________________ " @@ -39,10 +38,11 @@ syn match nasalCharConstant "`[^`\\]`" syn match nasalCharConstant "`\\[`\\rnt]`" syn match nasalCharConstant "`\\x[[:xdigit:]][[:xdigit:]]`" +syn match nasalNumber "-\=\<0x\x\+\>" syn match nasalNumber "-\=\<\d\+\>" -syn match nasalNumber "\.\d\+\([eE][+-]\=\d\+\)\=\>" -syn match nasalNumber "\<\d\+\.\([eE][+-]\=\d\+\)\=\>" -syn match nasalNumber "\<\d\+\.\d\+\([eE][+-]\=\d\+\)\=\>" +syn match nasalNumber "-\=\.\d\+\([eE][+-]\=\d\+\)\=\>" +syn match nasalNumber "-\=\<\d\+\.\=\([eE][+-]\=\d\+\)\=\>" +syn match nasalNumber "-\=\<\d\+\.\d\+\([eE][+-]\=\d\+\)\=\>" syn keyword nasalStatement func return var syn keyword nasalConditional if elsif else @@ -56,7 +56,7 @@ syn match nasalFoo "\~" syn match nasalFunction display "\" syn keyword nasalFunction size keys append pop setsize subvec delete int num streq substr syn keyword nasalFunction chr typeof compile call die sprintf caller closure find cmp -syn keyword nasalFunction split rand bind sort ghosttype +syn keyword nasalFunction split rand bind sort ghosttype id " math lib syn match nasalFunction "\" @@ -70,6 +70,14 @@ syn match nasalVar "\" +syn sync fromstart +syn sync maxlines=100 + +syn match nasalParenError ")" +syn match nasalBrackError "]" +syn match nasalBraceError "}" + + " FlightGear specific commands if !exists("nasal_no_fgfs") syn keyword nasalFGFSFunction getprop setprop print _fgcommand settimer _setlistener _cmdarg @@ -91,19 +99,14 @@ if !exists("nasal_no_fgfs") syn region nasalComment start="" contains=nasalCommentTodo syn region nasalComment start="" contains=nasalCommentTodo syn match nasalComment "^\s*\s*$" - syn match nasalComment "^\s*\s*$" + syn match nasalComment "^\s*.*" + syn match nasalCDATA "" endif endif -syn sync fromstart -syn sync maxlines=100 - -syn match nasalParenError ")" -syn match nasalBrackError "]" -syn match nasalBraceError "}" - syn region nasalEncl transparent matchgroup=nasalParenEncl start="(" matchgroup=nasalParenEncl end=")" contains=ALLBUT,nasalParenError syn region nasalEncl transparent matchgroup=nasalBrackEncl start="\[" matchgroup=nasalBrackEncl end="\]" contains=ALLBUT,nasalBrackError syn region nasalEncl transparent matchgroup=nasalBraceEncl start="{" matchgroup=nasalBraceEncl end="}" contains=ALLBUT,nasalBraceError @@ -131,6 +134,7 @@ if version >= 508 || !exists("did_nasal_syn_inits") HiLink nasalConstant Constant HiLink nasalCharConstant Type HiLink nasalFoo NonText + HiLink nasalCDATA Type HiLink nasalRepeat Repeat HiLink nasalBranch Conditional