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



  • 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>
    


  • @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.


Log in to reply