Community
    • Login

    Explude certain word in user defined language to be highlighted & highlight `bib key`

    Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
    2 Posts 2 Posters 266 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.
    • Patrick DanileviciP
      Patrick Danilevici
      last edited by

      Hi,
      Problem 1
      I defined some syntax highlighting for .bib file in order to spot missing delimiters.
      I include default .bib keywords to be in different colors but some of them appear also in fields so they are colored.
      I want to avoid them in {}, but to keep them as keyword in blue

      Problem 2
      How can I highlight bib key annas:plato with a different color?
      Thanks in advance!

      Here is an example:

      high.png

      And here is the .xml file

      <NotepadPlus>
          <UserLang name="Biblatex Bib" ext=".bib" udlVersion="2.1">
              <Settings>
                  <Global caseIgnored="no" allowFoldOfComments="yes" foldCompact="no" forcePureLC="0" decimalSeparator="1" />
                  <Prefix Keywords1="yes" Keywords2="no" Keywords3="yes" Keywords4="no" Keywords5="no" Keywords6="no" Keywords7="no" Keywords8="no" />
              </Settings>
              <KeywordLists>
                  <Keywords name="Comments">00% 01 02 03% 04%</Keywords>
                  <Keywords name="Numbers, prefix1"></Keywords>
                  <Keywords name="Numbers, prefix2"></Keywords>
                  <Keywords name="Numbers, extras1"></Keywords>
                  <Keywords name="Numbers, extras2"></Keywords>
                  <Keywords name="Numbers, suffix1"></Keywords>
                  <Keywords name="Numbers, suffix2"></Keywords>
                  <Keywords name="Numbers, range"></Keywords>
                  <Keywords name="Operators1">=</Keywords>
                  <Keywords name="Operators2">,</Keywords>
                  <Keywords name="Folders in code1, open">{</Keywords>
                  <Keywords name="Folders in code1, middle">:</Keywords>
                  <Keywords name="Folders in code1, close">}</Keywords>
                  <Keywords name="Folders in code2, open"></Keywords>
                  <Keywords name="Folders in code2, middle"></Keywords>
                  <Keywords name="Folders in code2, close"></Keywords>
                  <Keywords name="Folders in comment, open"></Keywords>
                  <Keywords name="Folders in comment, middle"></Keywords>
                  <Keywords name="Folders in comment, close"></Keywords>
                  <Keywords name="Keywords1">@book @article @collection @proceedings @inbook @incollection @audio @music @misc</Keywords>
                  <Keywords name="Keywords2">title booktitle subtitle doi url author year volume number pages bookpagination issn isbn pagination journaltitle location publisher language edition series pagetotal volumes foreword translator note afterword editor pubstate introduction organization maintitle annotator commentator crossref xref journal urldate titleaddon eventdate eventtitle venue date institution editora editorb editorc editortype editoratype editorbtype editorctype type booksubtitle shortjournal origdate</Keywords>
                  <Keywords name="Keywords3"></Keywords>
                  <Keywords name="Keywords4"></Keywords>
                  <Keywords name="Keywords5"></Keywords>
                  <Keywords name="Keywords6"></Keywords>
                  <Keywords name="Keywords7"></Keywords>
                  <Keywords name="Keywords8"></Keywords>
                  <Keywords name="Delimiters">00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23</Keywords>
              </KeywordLists>
              <Styles>
                  <WordsStyle name="DEFAULT" fgColor="000040" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                  <WordsStyle name="COMMENTS" fgColor="808040" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                  <WordsStyle name="LINE COMMENTS" fgColor="808040" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                  <WordsStyle name="NUMBERS" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                  <WordsStyle name="KEYWORDS1" fgColor="FF0000" bgColor="FFFFFF" fontName="Source Code Pro" fontStyle="1" fontSize="8" nesting="0" />
                  <WordsStyle name="KEYWORDS2" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="1" nesting="0" />
                  <WordsStyle name="KEYWORDS3" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                  <WordsStyle name="KEYWORDS4" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                  <WordsStyle name="KEYWORDS5" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                  <WordsStyle name="KEYWORDS6" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                  <WordsStyle name="KEYWORDS7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                  <WordsStyle name="KEYWORDS8" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                  <WordsStyle name="OPERATORS" fgColor="FF8000" bgColor="FFFFFF" fontName="" fontStyle="1" nesting="0" />
                  <WordsStyle name="FOLDER IN CODE1" fgColor="FF0080" bgColor="FFFFFF" fontName="" fontStyle="1" nesting="0" />
                  <WordsStyle name="FOLDER IN CODE2" fgColor="FF0080" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="8" nesting="0" />
                  <WordsStyle name="FOLDER IN COMMENT" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                  <WordsStyle name="DELIMITERS1" fgColor="008040" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                  <WordsStyle name="DELIMITERS2" fgColor="008000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="16777216" />
                  <WordsStyle name="DELIMITERS3" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                  <WordsStyle name="DELIMITERS4" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                  <WordsStyle name="DELIMITERS5" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                  <WordsStyle name="DELIMITERS6" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                  <WordsStyle name="DELIMITERS7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                  <WordsStyle name="DELIMITERS8" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
              </Styles>
          </UserLang>
      </NotepadPlus>
      
      PeterJonesP 1 Reply Last reply Reply Quote 1
      • PeterJonesP
        PeterJones @Patrick Danilevici
        last edited by

        @Patrick-Danilevici ,

        I don’t think it’s doable with just the User Defined Language lexer.

        However, if you are willing to install the PythonScript plugin, you can add extra highlighting to a User Defined Language (UDL) using regexes via the script EnhanceAnyLexer.py that @Ekopalypse shares in his github repo . So you could define the regex \w+:\w+ (you might need to do boundary assertions around it) and assign a unique color to that.

        The script is self-documenting, but if you need help installing PythonScript or figuring out how to make it all work, feel free to ask.

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