Luc,

Thanks for the reply!  Looks like doing it in one step is preferable
because we're already having to filter the buffers anyway.



*----------------------------------------Jason R. Franklin**Associate
Systems Software Developer*
Enterprise Technology Solutions

Georgia Southern University
P.O. Box 8088
Statesboro, GA 30460
912.478.5639

On Thu, Dec 7, 2017 at 9:22 AM, Luc Hermitte <[email protected]> wrote:

> Hi,
>
> > I would like an indicator in my 'titlestring' that informs me if ANY
> > changes are present in ANY listed buffer.  This would be more like a
> > global indicator for the 'modified' setting.  What is the most
> > efficient way to do this?
> >
> > Currently, I've taken the naive approach:
> >
> > function! g:ChangesExist()
> >     let l:bufferList = filter(range(1, bufnr('$')), 'buflisted(v:val)')
> >     for l:bufferNumber in l:bufferList
> >
> >         if getbufvar(l:bufferNumber, '&modified')
> >             return 1
> >         endif
> >     endfor
> >     return 0
> > endfunction
> >
> >
> > This seems like the most direct method, but I'm wondering if there's
> > some simple option or function call that I'm missing...
>
> If speed is really that important, get rid of the loop and use something
> like
>
>    return !empty(filter(bufferList, "getbufvar(v:val, '&modified')"))
>
> or, in a single step:
>
>    return !empty(filter(range(1, bufnr('$')), "buflisted(v:val) &&
> getbufvar(v:val, '&modified')"))
>
> --
> Luc Hermitte
>
> --
> --
> 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 a topic in the
> Google Groups "vim_use" group.
> To unsubscribe from this topic, visit https://groups.google.com/d/
> topic/vim_use/rW6up-ngGLc/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> [email protected].
> For more options, visit https://groups.google.com/d/optout.
>

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