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