On 07/01/2015 02:37 a.m., Christian Brabandt wrote:
> Am 2015-01-06 23:50, schrieb Cesar Romani:
>> I have a text in which all lines end in numbers, like in a table of
>> contents. The numbers are supposed to be in ascending order.
>> I'd like to write a script which would highlight the first number out of
>> order.
>> I don't want to sort the numbers, only to highlight where it is out of
>> order.
>>
>> Many thanks in advance,
>
> fu! MyHighlight(match)
>   if exists("s:prev_no") && s:prev_no + 0 >= a:match+0
>     let curpos = getpos('.')
> call add(w:highlight, matchadd('Error', '\%'. curpos[1]. 'l'. a:match.
>     '$'))
>   endif
>   let s:prev_no = a:match
> endfu
>
> fu! CheckOrder()
>   if exists("w:highlight")
>     sil! call map(w:highlight, 'matchdelete(v:val)')
>   endif
>   let w:highlight = []
>   %s/\d\+$/\=MyHighlight(submatch(0))/n
>   unlet! s:prev_no
> endfu
>
>
> save that to a file, source it and then :call CheckOrder() in your file.

Thanks Christian,

It works very well.
Can I also change s:prev_no to b:prev_no?

Best regards,

--
Cesar

--
--
You received this message from the "vim_use" 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

--- You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to