Wednesday, January 7, 2015

Re: How to highlight a number out of order with a script

Hi Cesar!

On Mi, 07 Jan 2015, Cesar Romani wrote:

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

Sure.

Best,
Christian
--
Erst mit der Bereitschaft der Männer, im Sitzen zu pinkeln, waren die
Bemühungen der Frauen, die Männer in die Knie zu zwingen, vollendet.
-- Petra Nitz

--
--
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 vim_use+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments: