New question

2006-09-10 Thread Mark Manning
Hey, I hate to keep barging in here asking questions and such but here 
is a new one.  :-)


In the new basic.vim file I am having a problem.  In FreeBasic you can 
use both single as well as double quotes to enclose a string.  
Unfortunately, you can also have comments which start with a single 
quote.  So far I can capture and highlight correctly these three conditions:


1. REM Comment
2. Spaces'Comment
3. :SpacesComment

What I can not get is the:

1. 'Comment

Like so:

test.bas
rem This is a comment
   '   This is a comment
   :   '   This is a comment
'   This is a comment too but it doesn't properly highlight.  Instead, 
it thinks it is a string.

   end

Here are my commands:

Comments
syn matchbSpecialcontained \\.
syn region  bCommentstart=^rem end=$ contains=bSpecial,bTodo
syn regionbCommentstart=:\s*' end=$ contains=bSpecial,bTodo
syn regionbCommentstart=^\s*' end=$ contains=bSpecial,bTodo

 String and Character contstants
syn regionbStringstart='' end='' contains=bSpecial,bTodo
syn regionbStringstart=' end=' contains=bSpecial,bTodo

Suggestions?



Re: New question

2006-09-10 Thread Yakov Lerner

On 9/11/06, Mark Manning [EMAIL PROTECTED] wrote:

Hey, I hate to keep barging in here asking questions and such but here
is a new one.  :-)

In the new basic.vim file I am having a problem.  In FreeBasic you can
use both single as well as double quotes to enclose a string.
Unfortunately, you can also have comments which start with a single
quote.  So far I can capture and highlight correctly these three conditions:

1. REM Comment
2. Spaces'Comment
3. :SpacesComment

What I can not get is the:

1. 'Comment

Like so:

test.bas
rem This is a comment
'   This is a comment
:   '   This is a comment
'   This is a comment too but it doesn't properly highlight.  Instead,
it thinks it is a string.
end

Here are my commands:

Comments
syn matchbSpecialcontained \\.
syn region  bCommentstart=^rem end=$ contains=bSpecial,bTodo
syn regionbCommentstart=:\s*' end=$ contains=bSpecial,bTodo
syn regionbCommentstart=^\s*' end=$ contains=bSpecial,bTodo

 String and Character contstants
syn regionbStringstart='' end='' contains=bSpecial,bTodo
syn regionbStringstart=' end=' contains=bSpecial,bTodo

Suggestions?


Try to reverse order of statements, putting Comment after String. The
last one takes precedence, and you want Comment to take precedence
over string. Like this:

 String must go before Comments
 String and Character contstants
syn regionbStringstart='' end='' contains=bSpecial,bTodo
syn regionbStringstart=' end=' contains=bSpecial,bTodo

Comments
syn matchbSpecialcontained \\.
syn region  bCommentstart=^rem end=$ contains=bSpecial,bTodo
syn regionbCommentstart=:\s*' end=$ contains=bSpecial,bTodo
syn regionbCommentstart=^\s*' end=$ contains=bSpecial,bTodo

Yakov


Re: New question

2006-09-10 Thread Yakov Lerner

-- Forwarded message --
From: Mark Manning [EMAIL PROTECTED]
Date: Sep 11, 2006 1:43 AM
Subject: Re: New question
To: Yakov Lerner [EMAIL PROTECTED]


Ok, tried it and it works!  :-)

Thanks!  :-)

Mark