Hi Bram,
On Fri, Aug 13, 2021 at 10:46 AM Bram Moolenaar <[email protected]> wrote:
>
>
> Yegappan wrote:
>
> > On Fri, Aug 13, 2021 at 8:49 AM Bram Moolenaar <[email protected]> wrote:
> > >
> > >
> > > > On Fri, Aug 13, 2021 at 5:18 AM bfrg <[email protected]> wrote:
> > > > >
> > > > > I find it awkward that multiline text-properties cannot be handled
> > > > > with this function.
> > > > > Is there really such a drastic slowdown when the function is changed
> > > > > to
> > > > > prop_add_list({props}, [[{lnum}, {col}, {end-lnum}, {end-col}], ...])?
> > > > >
> > > >
> > > > Adding one more item to the List will not slow down the function.
> > > > The user now needs to pass a four item List instead of a three item
> > > > List. If the common case is single line text properties, then in most
> > > > use cases, lnum and end-lnum will be the same.
> > > >
> > > > Based on Bram's comment, I thought if multi-line text property is
> > > > needed,
> > > > then prop_add() should be used?
> > >
> > > Even though it's very likely that prop_add_list() will only be used for
> > > single line items, and one can always fall back to calling prop_add()
> > > multiple times, there is the argument of what users expect. It's a bit
> > > of a surprise if something is left out for unclear reasons. Especially
> > > when adding it doesn't really have a negative effect.
> > >
> > > So we could make it [lnum, col, end_lnum, end_col]. Since this would be
> > > filled in by a script, setting end_lnum equal to lnum won't be much
> > > hassle, right?
> > >
> >
> > I have updated the PR with the support for specifying the end line number.
> >
> > Should we also support specifying multiple text properties in a single call?
> >
> > prop_add_list([[{prop1}, [<locations]], [{prop2}, [<locations>]], ....])
>
> That adds more dictionaries, which is less efficient and results in a
> mix of types, which is more complicated. I think we should stick to
> using one {props} argument that applies to the list of locations.
> If we really need more, we could add another function.
>
I think I didn't provide a clear description. I meant, to add multiple
text properties in several locations, instead of calling the
prop_add_list() function multiple times (one for each text property
and a list of locations), we can change the prop_add_list() function
to accept a single List. In this List, each item is a List with the text
property {prop} and a list of locations. This can help in reducing
the number of calls to prop_add_list().
Regards,
Yegappan
--
--
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
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/vim_dev/CAAW7x7nVDFagbr-BD%2BXHpBXbCs8CdCp2vQxO8ai%2BHug2DFZ%3D4w%40mail.gmail.com.