Loading ...
Sorry, an error occurred while loading the content.

Re: bidi in vim

Expand Messages
  • Moshe Kamensky
    ... That, in my opinion, is the main question. I know nothing about the Vim code, and if implementing it would be as difficult as integrating the bidi
    Message 1 of 7 , Feb 26, 2011
      * Ben Schmidt <mail_ben_schmidt@...> [25/02/11 17:12]:
      > Hi, Moshe,
      > I've rearranged things a bit to suit my reply.
      > > Of course I also would prefer to have full bidi support, but I can also
      > > see that this would require some serious changes and complications in
      > > the code,
      > I think basing it on syntax regions/matches/whatever also would require
      > serious changes. I don't think there is any 'easy' way to do this, and
      > if we have to pick between 'hard' ways, I think it would be smartest to
      > pick the way that is actually most standard/correct.

      That, in my opinion, is the main question. I know nothing about the Vim
      code, and if implementing it would be as difficult as integrating the
      bidi algorithm, then there is obviously no point in doing it. The way I
      imagined things work is more or less:

      1. The user performs some operation, such as adding text or moving the
      cursor. The operation is logical, so no bidi considerations are
      involved, and no change to the code is needed. At the end of this
      stage, Vim has a logical representation of the new text, and the
      location of the cursor in terms of the logical text
      2. Vim prepares to display the new text (and the new cursor position).
      Part of this process would be to determine the syntax regions, and
      there would be a new bit here where the direction of the text is
      3. Vim actually displays the text. At this point, Vim would need to take
      into account the direction, but the information is already available,
      and no extra algorithm is required.

      So, if things are as I imagine, there would only be a small change to
      the syntax highlighting, and the rest in the gui part.
      > > I also don't see that what I'm suggesting is a hack or a workaround.
      > I think it is a hack because which direction text should be displayed
      > really has nothing to do with syntax regions conceptually. It is about
      > what language the text is in, what script the characters in the text
      > come from, etc..

      Well, this is becoming a bit theoretical, but I don't see why the
      direction of the text should be inherently determined by the character
      set. Imagine that people in Australia decide to start writing from right
      to left (but maintain the same alphabet). Then you would have to insert
      direction marking in a logical text to determine the text direction (and
      consequently could use these markings to define syntax regions). It is
      just a (fortunate) coincidence that the direction of the text is
      determined by the alphabet.

      > >>> If this can be done, I think it will solve most practical
      > >>> problems,
      > >>> since when editing latex, for example, text in different direction will
      > >>> appear in particular commands or environments.
      > My perspective is a bit different. When I want bidi text, it's not
      > because I have text of one language embedded in particular regions of a
      > program or script or markup. It's because I'm writing in multiple
      > languages. I would have thought this, too, was quite common, i.e. simply
      > editing text.

      Again, I agree that full bidi support would be better, and indeed there
      are cases (as in writing emails) when there is no particular markup is
      already available. But I would happily pay the price of explicitly
      adding Right-Left marks to make use of an existing partial
      implementation, rather than have nothing at all.


      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
    Your message has been successfully submitted and would be delivered to recipients shortly.