notepad-plus-plus / notepad-plus-plus

Notepad++ official repository
https://notepad-plus-plus.org/
Other
22.47k stars 4.55k forks source link

[Feature Request] Multi-part keywords for all parts of UDL #11951

Open CrazyKidJack opened 2 years ago

CrazyKidJack commented 2 years ago

Description of request

I would like to be able to use multi-part keywords in any part of a UDL.

Example use cases

In log files like the one attached that is a redacted HCL AppScan, I would like to be able to colorize different types of logs different colors and also collapse each log entry. If multi-part keywords were supported in every part of a UDL , this could be accomplished in several ways where it currently cannot be accomplished. Here's one example:

This could likely be accomplished in other ways (for example by using the folding in comment style instead of regular comment style) but in any case, multi-part keywords would need to be supported in more parts of the UDL

What I tried already

  1. Read the UDL docs multiple times
  2. Fiddled around trying to get it to do what I wanted for a couple of hours. Tries included:
    • Using folding in comments
    • Using regular comments
    • Using line comments
    • Using delimiters
    • Using every combination thereof that I could think of

The screen shot below shows an example of one log entry would look like. I created this screen shot using the current UDL features. image

However, using the current features makes all log entries look the same when the whole purpose of this is to color-code the different types of log entries as seen here: image

CrazyKidJack commented 2 years ago

I also looked at this repo to see if I could code it up myself and submit a pull request... but it wasn't obvious to me which part of the codebase would be relevant and I while I'd be happy to spend time writing the code, I didn't really want to spend time figuring out where to even begin.

TLDR: If you don't have time to work on this, perhaps you could steer me in the right direction so I know what part of the codebase I would need to modify to make this work and submit a pull request?