-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Are you sure you need exactly screen cells? There are the following possible 
ways to identify position inside a string:

1. Byte offset.
2. Unicode codepoints offset.
3. Composed characters offset (one "composed character" is "one Unicode 
codepoint with attached composing characters (if any)").
4. Screen cells offset.

I doubt anybody will use 4. outside of a editor because it is hard to 
calculate. There are two settings that affect 4. and are only defined in a 
editor: &tabstop and &ambiwidth. *You must not use screen cells offset with 
editor settings if you received it from another source.* It is incorrect: you 
need settings from another source, not from this instance of editor.

And ***do never use screen cells to count characters***. Code that assumes any 
fixed amount of Unicode codepoints per one cell is brain-damaged, broken and 
wrong.


For this patch I heard the following use cases:

1. matchparen. Will happily live with byte offset.
2. Highlighting of errors from some source. May not use screen cells under any 
circumstances for the reasons explained above.
3. I think that things like Conque may also benefit from this, but they do not 
need screen cells as well.

On July 4, 2014 6:00:06 PM GMT+03:00, Alexey Radkov <[email protected]> 
wrote:
>Ok, probably so. If script is able to calculate the end in bytes
>itself,
>then the current solution is good. But if it knows how many screen
>cells it
>must highlight it is getting almost not feasible to calculate the end
>col.
>if case 1 is more common than 2 then current solution is better :)
>
>
>2014-07-04 14:05 GMT+04:00 Bram Moolenaar <[email protected]>:
>
>>
>> Alexey Radkov wrote:
>>
>> > Now it accepts len in screen cells.
>>
>> Hmm, that's confusing.  Suppose a script isolates a word that it
>wants
>> to highlight.  Then it's easy to locate the start of the word and the
>> length with various methods, e.g. using getline(), match() and
>> matchend().  Then you have the position and size in bytes, not
>> characters or screen characters.  So let's stick to that.
>>
>> In the implementation it should be easy to round up, so as to include
>> the screen cell that contains a highlighted byte.
>>
>>
>> --
>> There are 10 kinds of people: Those who understand binary and those
>who
>> don't.
>>
>>  /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net
>> \\\
>> ///        sponsor Vim, vote for features --
>http://www.Vim.org/sponsor/
>> \\\
>> \\\  an exciting new programming language -- http://www.Zimbu.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
>
>---
>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].
>For more options, visit https://groups.google.com/d/optout.
-----BEGIN PGP SIGNATURE-----
Version: APG v1.1.1

iQI1BAEBCgAfBQJTtriMGBxaeVggPHp5eC52aW1AZ21haWwuY29tPgAKCRCf3UKj
HhHSvkSxD/93QBMAdcfdqm4vWl85dLkLYjFuQqN2yhTK/FEiboshXK7EbZiX8hyf
HmmaCJL9XJbxjNn6Q9kqlwle+Bj7FI/7WAhqpbq6h6zIn4HT1We4WFTNv3AG7eFQ
EDmFhsRD2UqPykJNaFO2aDP+vH4DUI0KhYmErnlUBjESbx+xedHcfc+oco3HDOrO
dtDq1YlTrAyq3gns6AD81aYj2H8XjQ0hLHjwnLqrd9KokEiIRp0mlDUipyoFegI6
iHpXvajaku838IBirzgYhk1sNQ1TtQ5vouJQ25bIhlAArivRr7RFZRHHWvVvDXqp
xeREyYJxQKMsdzq4q9tAjYf9d+zgeLSk4gAstHItqn3h1Ggy1V5sv0A97Y2TKpVd
ZPtHocV2LS4k9BIpQzvCGXEny6FPCvNtnJdQKWRUvegFTiUimL8+JkZPRIE8utn3
SRmxGVRz1gBuw/46OQMsCg3FiDhqHaz+eqOVUs/KWAW2YOSyjM61343D98z+MOQ7
y9Z7mLHzFgjiCiy418S5YSjuBDRTsWLf8fG69nd5WZevC9N6K22YmxxqUgYhMjOg
vu+/kJxuIdUoDyIJo5RKZdTZN3nk8xyrdXODR7ENdv13xd36RDGOBNl5kI3ChJjl
primxXL7cLGjnJ/6CQ8YZn6FkoJcaCh70Ao1Melr2kNAkqw2G5EhLw==
=hnIH
-----END PGP SIGNATURE-----

-- 
-- 
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].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui