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

Re: Add support for guidecolumn in VIM

Expand Messages
  • Bram Moolenaar
    ... It s possible to use a string, but more difficult to handle. And easier to set a wrong value, thus more error checking is needed. If we want to use zero
    Message 1 of 55 , May 1, 2009
      Pankaj Garg wrote:

      > On Apr 30, 9:30=A0am, Ben Fritz <fritzophre...@...> wrote:
      > > On Apr 29, 11:42=A0am, Bram Moolenaar <B...@...> wrote:
      > >
      > > > The name 'guidecolumn' starts with "gui", which is confusing, since it
      > > > also works in a terminal. =A0'margincolumn' perhaps?
      > >
      > > I agree. If a user uses :help gui<C-D> for example, they would NOT be
      > > expecting 'guidecolumn' to show up!
      > >
      > > > I think the value "0" should be used to have a column at 'textwidth'.
      > > > That way you can see where a line will be broken when it's formatted,
      > > > without having to set two options. =A0A negative value can be used to
      > > > disable the column.
      > >
      > > I think we should try to make this option consistent with other
      > > options. 'textwidth' and 'wrapmargin' and others use a value of 0 to
      > > disable it, and making this one use negative numbers may get
      > > confusing.
      > >
      > > Is it possible to use string or character values, or can only numbers
      > > be entered? I can't think of any options that do this, but things like
      > > line() can take several strings with special meaning. Perhaps the
      > > guidecolumn could be disabled when set to 0, set to the textwidth when
      > > set to "tw", and set to the wrap margin when set to "wm"? I think
      > > something like this would be more consistent with other options and
      > > therefore more intuitive for users.
      > >
      > > > I didn't have time to check for any problems with this patch, I hope
      > > > others have tried it out and report any problems noticed.
      > >
      > > I haven't tried the patch, but I'm certainly interested in the
      > > feature. I'd probably use this instead of the autocmds I have set up
      > > to use a matchadd() on long lines.
      > >
      > > What is this option local to? If it's just global at the moment, I
      > > think it should be local either to the buffer (because that's what
      > > textwidth is local to) or the window. I could see a use case where a
      > > user might want a guidecolumn for the file in one window, but turn it
      > > off for a window in diff mode in another tab or something.
      >
      > The option is local to window. I agree margincolumn is a better name.
      > I am also fine with a value of 0 meaning textwidth, however as Ben
      > mentioned, that seems a little unintuitive. Should we convert it to
      > string?
      > Are there other example where numeric options are taking string?
      >
      > Please let me know what you prefer and I can do whatever option
      > everyone agrees to.

      It's possible to use a string, but more difficult to handle. And easier
      to set a wrong value, thus more error checking is needed.
      If we want to use zero for "off", we could use -1 for using the
      'textwidth' value.

      --
      Time flies like an arrow.
      Fruit flies like a banana.

      /// Bram Moolenaar -- Bram@... -- http://www.Moolenaar.net \\\
      /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
      \\\ download, build and distribute -- http://www.A-A-P.org ///
      \\\ help me help AIDS victims -- http://ICCF-Holland.org ///

      --~--~---------~--~----~------------~-------~--~----~
      You received this message from the "vim_dev" maillist.
      For more information, visit http://www.vim.org/maillist.php
      -~----------~----~----~----~------~----~------~--~---
    • _Lone
      On Jun 1, 6:28 pm, Tony Mechelynck ... Sorry for going off and on, the paying job is keeping me extremely busy. The
      Message 55 of 55 , Jun 12, 2009
        On Jun 1, 6:28 pm, Tony Mechelynck <antoine.mechely...@...>
        wrote:
        > On 28/05/09 05:10, _Lone wrote:
        > [...]
        >
        > > I looked at adding 1px highlighting instead of whole character
        > > background. But it seems it would be very difficult. The reason is
        > > that the way highlighting works is by storing the background color for
        > > character which is how various highlights are done.
        >
        > When talking aboiut the background, yes; but there are a lot other kinds
        > of highlights, especially in the GUI:
        >
        >         gui=NONE
        >         gui=reverse
        >         gui=bold
        >         gui=italic
        >         gui=underline
        >         gui=undercurl
        >
        >         guibg=<color>
        >         guifg=<color>
        >         guisp=<color>
        >
        > What about extending these categories? (with appropriate ifdefs in the
        > source)? For term and cterm (including GUI-enabled Linux Vim in Console
        > mode) the choice would be more limited, probably by default term=reverse
        > and ctermbg=<color>, or somesuch. Of course a new highlight group would
        > have to be created, perhaps with a new 'highlight' option setting and
        > default -- or maybe not, after all I don't see CursorLine and
        > CursorColumn listed there.
        >
        >
        >
        > > I also looked at wide-character problem and that too looks very hard
        > > to sovle though I would spend some more time this week if I can fix
        > > that.
        >
        > As I think had been noted, there are several kinds of multicell characters:
        >   - hard tabs (with and without 'list' and/or 'listchars')
        >   - control characters (^X, ~Y, |Z, see :help 'isprint')
        >   - CJK wide
        >   - non-printable Unicode codepoints (at least <xx> and <xxxx>, see
        > :help 'display' and the last sentence under 'isprint').
        >
        > It might be hard to highlight "just" the one cell in the column in
        > question, but maybe you could look how Vim displays the CursorColumn
        > highlight. (I think this has also been mentioned).
        >
        >
        >
        > > Thanks
        > > _Lone
        >
        > Best regards,
        > Tony.
        > --
        > Without ice cream life and fame are meaningless.

        Sorry for going off and on, the paying job is keeping me extremely
        busy. The CursorColumn and MarginColumn behaves in exactly the same
        manner. So whatever problems exist for CursorColumn, also exists for
        MarginColumn, including multi-cell characters.

        Thanks
        _Lone
        --~--~---------~--~----~------------~-------~--~----~
        You received this message from the "vim_dev" maillist.
        For more information, visit http://www.vim.org/maillist.php
        -~----------~----~----~----~------~----~------~--~---
      Your message has been successfully submitted and would be delivered to recipients shortly.