Hi,

I had some weird problems with the ASM syntax highlihting. You can test
this problem with this example file:

http://bugs.pardus.org.tr/attachment.cgi?id=4299 

Just start VIM with "LC_ALL=tr_TR.UTF-8 vim example.asm". Now as you see
the 'I' characters are not highlighted. But this character is a part of
ASCII. The HEX, DEC and OCT values are 111,73,49. You can check this
also via "ga" executed when cursor is on a character.

The syntax highlighting of asm is defined via asm.vim. There are two
lines that matches the labels and identifiers:

syn match asmLabel              "[a-z_][a-z0-9_]*:"he=e-1
syn match asmIdentifier         "[a-z_][a-z0-9_]*"

Now if I've opened the example asm file, and make a forward search:

/^[a-z]*

it only matches character until "I", the characters after
that are not highlighted. You can see this from this picture:
http://imgur.com/E658X I make the same regex search with the 
util **grep**:

grep \^[a-z]* example.asm

You can see the result here: http://imgur.com/vlBAE . As you see grep is
finding those "I"'s characters correct. Bur Vim's regexp is not able to
distinct them. This is a well known problem that is also reported one of
ms files: http://msdn.microsoft.com/en-us/library/yd1hzczs.aspx , one
example line of this document:

    ... Even when the current culture is set to Turkish (Turkey), the regular
    expression engine is able to successfully match "FILE" and "file" and
    block access to the file resource...

But the highglight in VIM is correct if I insert the character 'I' as a
metacharacter, like

syn match asmIdentifier··   "[a-z_I][a-z0-9_I]*"

The code above works fine. Probably VIM's regexp is not able to
distinguish the 'I' character in a _square_ bracket. I've try to dive
into Vim's regexp.c code, but it's a 8000 line file and I did not where
to start. 

How can we fix that ?

Regards

-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

Raspunde prin e-mail lui