Community
    • Login

    User-Defined Language: cannot make Extras2 work with Suffix1

    Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
    4 Posts 3 Posters 2.0k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • ianpo100I
      ianpo100
      last edited by

      Hello!

      I’m trying to set up my own syntax highlighting for VerilogHDL.
      Binary and Decimal numbers i has successfully set up ( Suffix1='b 'd ) - they are yellow now as i wanted.
      Problem is, i cannot set up Hexadecimals the same way. I added 'h to Suffix1 and a-f A-F to Extras2 but it’s not working: numbers like 8’hF8 are still grey.
      I followed advices from https://ivan-radic.github.io/udl-documentation/
      What do i do wrong?

              <Keywords name="Numbers, extras2">A B C D E F a b c d e f</Keywords>
              <Keywords name="Numbers, suffix1">&apos;b &apos;d &apos;h</Keywords>
      
      1 Reply Last reply Reply Quote 0
      • fuhrmanatorF
        fuhrmanator
        last edited by

        numbers like 8’hF8 are still grey.

        Did you mean 8F8’h ? Otherwise, your suffix 'h is not a suffix.

        Also, is it possible you’re mixing apostrophe characters? There are two (making them big so you can see the difference):

        ’ vs '

        Your quoted text number looks like this:

        8’hF8

        whereas your suffix is defined as

        Suffix1='b 'd

        The XML shows also you’re defining it as &apos; or

        '

        1 Reply Last reply Reply Quote 0
        • ianpo100I
          ianpo100
          last edited by

          Thanks for reply, fuhrmanator!

          There’s no mistake - it’s 8’hF8 with &apos ( it appears as ’ in preview already, funnily enough ).
          'b and 'd work as suffix OK, even if they have digit(s) after them.
          Is there any way to highlight the numbers with 'h inside?

          1 Reply Last reply Reply Quote 0
          • PeterJonesP
            PeterJones
            last edited by

            The difference is probably because 'b and 'd will have normal digits (0-1 or 0-9) both before and after the 'b or 'd, whereas 'h will also have letters after. And since UDL defines it as a suffix, not an infix, it gets confused once there’s a non-numeric after the suffix. You might try to define all the hex prefixes you generally use in your Verilog in the Prefix 2 entry:

            <Keywords name="Numbers, prefix2">1&apos;h 2&apos;h 3&apos;h 4&apos;h 5&apos;h 6&apos;h 7&apos;h 8&apos;h 12&apos;h 16&apos;h 32&apos;h 64&apos;h</Keywords>
            

            However, if you happened to have an 11-bit segment you tried to access as 11’h75A, but hadn’t included 11&apos;h in your prefix 2, it wouldn’t highlight for you.

            Is there a reason you aren’t using the built-in Verilog lexer? It defaults to Verilog for extensions v, sv, vh, and svh; I added vams (using Settings > Style Configurator > Verilog > User Ext).

            I’m not a huge user of Verilog and its variants, but in the times I have been editing such files, I haven’t noticed any significant deficiency. It properly highlights any bitness for hex, binary, and decimal that I’ve noticed, and the other syntax I’ve used has looked reasonable.

            If there are words that aren’t getting marked up using the Verilog lexer, you can use the Style Configurator to add custom words: both INSTRUCTION WORD and KEYWORD have a User-defined box for extending what gets highlighted.

            1 Reply Last reply Reply Quote 0
            • First post
              Last post
            The Community of users of the Notepad++ text editor.
            Powered by NodeBB | Contributors