User Defined Language Configuration - Advanced Options?

  • Jer

    I'm trying to switch from TextPad to Notepad++ because I love the amount of features and plugins available. However, I've hit a couple walls that will absolutely stop me from being able to use Notepad++.

    I am trying to setup a custom language to work with the proprietary programming language used at my company. So far I have run into two issues.

    1) Under "Folder & Default", I tried to set up the Open and Close keywords to be { and }, respectively. This works when the brace is not touching any other characters. However, due to the nature of the language, the braces may be touching any number of characters. For example
    DO{X>12 X=X+1,

    The above setup will not work with this example. Is there any sort of wildcard character I can use?

    2) On the keywords list, I am having another issue resulting from the nature of the language. Most of the functions are two letter abbreviations prefixed by an @ sign, many times with no spacing in-between (whitespace is rarely used in this language). So if I have a line like the following:


    the syntax highlighting will not find these functions. If I have a single @Wb by itself on its own line or separated by spaces, it will work, but the language doesn't function that way. If I enable "Prefix mode", it will simply highlight the entire line.. which is no good. I want it to just find every instance of these keywords and highlight them without taking their context into account.

    Is it possible to fix these issues? If not, I'm going to have to go back to TextPad :(

    Thanks for reading,

  • cchris

    I notice the @Wz tokens are followed by a comma. Is the comma defined as an operator? That would help I guess.


  • Loreia2

    Hi Jer,

    Sp didn't notify me about your post, but I at least receiver Chris' answer.
    Here are your answers.

    1) If you define { } as Folding in code 1 style, than braces will be correctly picked by UDL regardless of surrounding characters. See this help section for details:

    2) Keywords1-8 will be recognized only of surrounded by whitespace or other "forward type" keyword. "Forward" and "backward" types are explained in detail in here:
    In case given above, you just need to define " " as delimiter, and , as Operator1 type.