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

Ignore special characters in highlighting?

Expand Messages
  • Ben Klein
    In the case of including expressions in a string, I don’t necessarily want to highlight the expression boundaries as part of the string. For example: Strings
    Message 1 of 4 , Jul 30, 2014
      In the case of including expressions in a string, I don’t necessarily want to highlight the expression boundaries as part of the string. For example: Strings are green. If I have a string like this:

      "This is ${foo}."

      I can highlight `foo` in its own group, denoted by the ${ and }. But the ${} characters are green, along with the rest of the text of the string. Is there a way to avoid this?

      Ben

      --
      b

      --
      --
      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 vim_use+unsubscribe@....
      For more options, visit https://groups.google.com/d/optout.
    • Ethan Hereth
      ... I know nothing about highlighting syntax, but maybe zs and ze will help? (:help ze, :help zs) Ethan Alan ... -- -- You received this message from the
      Message 2 of 4 , Jul 30, 2014
        On Wed, Jul 30, 2014 at 12:57 PM, Ben Klein <ben@...> wrote:
        > In the case of including expressions in a string, I don’t necessarily want
        > to highlight the expression boundaries as part of the string. For example:
        > Strings are green. If I have a string like this:
        >
        > "This is ${foo}."
        >
        > I can highlight `foo` in its own group, denoted by the ${ and }. But the ${}
        > characters are green, along with the rest of the text of the string. Is
        > there a way to avoid this?
        >
        > Ben
        >

        I know nothing about highlighting syntax, but maybe \zs and \ze will
        help? (:help \ze, :help \zs)

        Ethan Alan

        > --
        > b
        >
        > --
        > --
        > 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 vim_use+unsubscribe@....
        > 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 vim_use+unsubscribe@....
        For more options, visit https://groups.google.com/d/optout.
      • Ben Klein
        On Wed, Jul 30, 2014 at 12:21 PM, Ethan Hereth ... Thanks — they do indeed help (thanks to Dr. Campbell for pointing those out
        Message 3 of 4 , Jul 30, 2014
          On Wed, Jul 30, 2014 at 12:21 PM, Ethan Hereth <advocateddrummer@...> wrote:

          I know nothing about highlighting syntax, but maybe \zs and \ze will
          help? (:help \ze, :help \zs)

          Thanks — they do indeed help (thanks to Dr. Campbell for pointing those out to me before), but even though they allow me to start the group for "foo" after the { and end it before the }, those characters are highlighted along with the string text.

          I guess I must want some way of saying "here are characters I don’t care about; don't highlight them."

          Ben

          --
          b

          --
          --
          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 vim_use+unsubscribe@....
          For more options, visit https://groups.google.com/d/optout.
        • Ben Fritz
          ... A couple ways. For syntax regions there is the matchgroup keyword to highlight start/end markers separately from the rest of the region. :help
          Message 4 of 4 , Jul 30, 2014
            On Wednesday, July 30, 2014 11:58:05 AM UTC-5, Benjamin Klein wrote:
            > In the case of including expressions in a string, I don’t necessarily want to highlight the expression boundaries as part of the string. For example: Strings are green. If I have a string like this:
            >
            >
            > "This is ${foo}."
            >
            > I can highlight `foo` in its own group, denoted by the ${ and }. But the ${} characters are green, along with the rest of the text of the string. Is there a way to avoid this?
            >

            A couple ways.

            For syntax regions there is the "matchgroup" keyword to highlight start/end markers separately from the rest of the region. :help :syn-matchgroup

            For either matches or regions, there are pattern offsets you can apply, e.g. "hs=s+2,he=e-1" which specify a number of characters to leave out of the highlight but leaving the matched region alone, as well as a few others that specify where a match can begin/end. :help :syn-pattern-offset

            --
            --
            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 vim_use+unsubscribe@....
            For more options, visit https://groups.google.com/d/optout.
          Your message has been successfully submitted and would be delivered to recipients shortly.