Jakson A. Aquino wrote:

> >> When running diff without options, removed lines are separated of
> >> added ones by '^---$'. This pattern gets interpreted as diffRemoved
> >> when it is not. I think the pattern can be classified as diffLine. If
> >> I'm not interpreting it wrongly the attached patch fix this tiny bug.
> >
> > Yeah, diffRemoved is not right, I'll include the change.
> >
> >> Locale problem: The diff in languages other than English may generate
> >> output that doesn't match the patterns for diffOnly, diffDiffer, etc.
> >> because diff messages get translated in some languages. To fix this
> >> for my locale (pt_BR.UTF-8) I've put in my
> >> ~/.vim/after/syntax/diff.vim the following lines:
> >>
> >> syn match diffOnly      "^[A-Z].*"
> >> syn match diffIdentical "^[A-Z].*"
> >> syn match diffDiffer    "^[A-Z].*"
> >> syn match diffBDiffer   "^[A-Z].*"
> >> syn match diffIsA       "^[A-Z].*"
> >> syn match diffNoEOL     "^[A-Z].*"
> >> syn match diffCommon    "^[A-Z].*"
> >>
> >> I repeated the same pattern because sometimes I use the terminal
> >> emulator in English and the above patterns will still be fine. A more
> >> general solution would be to define the above syntax elements first
> >> using the pattern "^\S.*" and, then, define the other syntax elements.
> >> This approach would have at least one shortcoming: the distinction
> >> between diffOnly, diffidentical, etc. would be lost.
> >
> > But using the same pattern will mean one of them wins, you can leave out
> > all the others.
> >
> > I think the only real solution would be to include the translations.
> > I found the German one, but most others result in English for me.
> >
> > syn match diffOnly      "^Only in .*"
> > syn match diffOnly      "^Nur in .*"
> 
> One problem of using translations is that it will be necessary to
> track them because they may change. For example, "apenas" and
> "somente" are both Portuguese translations for "only". The first one
> is used in Ubuntu 10.04 and the second in Debian unstable. Ubuntu and
> Debian currently carry different versions of the package diffutils. I
> wrote the script getStrings.sh to automatically get the strings out of
> .po files. Then I manually edited the output with Vim and added the
> result to syntax/diff.vim. For Portuguese, I manually added the other
> translation to "Only". Were you thinking in something like this? I
> retrieved the translations of the attached diff.vim from the Debian
> unstable package of diffutils (version 3.0). There are translations
> for the following locales:
> 
> ca cs da de el eo es fi fr ga gl he hu id it ja lv ms nl pl pt_BR ro
> ru sr sv tr uk vi zh_CN zh_TW
> 
> I attached the getStrings and vim.diff files.

I don't know what others think, but I kind of like it.

The patterns need to start with "^" to make them match only at the start
of the line.

There are a few duplicates, e.g., between China and Taiwan.

This will only work in utf-8.  Using scriptencoding and an "if" should
work, like what's done in syntax/tex.vim.

If you can fix this I think I should include it.

-- 
The average life of an organization chart is six months.  You can safely
ignore any order from your boss that would take six months to complete.
                                (Scott Adams - The Dilbert principle)

 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\        download, build and distribute -- http://www.A-A-P.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

-- 
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