I can’t code.
I know, I know—these days, that sounds like an excuse. Anyone can code, right?! Grab some tutorials, maybe an O’Reilly book, download an example project, and jump in. It’s just a matter of learning how to break your project into small steps that you can make the computer do, then memorizing a bit of syntax. Nothing about that is hard!
Perhaps you can sense my sarcasm (and sympathize with my lack of time to learn one more technical skill).
Oh, sure, I can “code.” That is, I can flail my way through a block of (relatively simple) pseudocode and follow the flow. I have a reasonably technical layperson’s understanding of conditionals and loops, and of when one might use a variable versus a constant. On a good day, I could probably even tell you what a “pointer” is.
But pulling all that knowledge together and synthesizing a working application any more complex than “hello world”? I am not that guy. And at this point, I’ve lost the neuroplasticity and the motivation (if I ever had either) to become that guy.
Thanks to AI, though, what has been true for my whole life need not be true anymore. Perhaps, like my colleague Benj Edwards, I can whistle up an LLM or two and tackle the creaky pile of “it’d be neat if I had a program that would do X” projects without being publicly excoriated on StackOverflow by apex predator geeks for daring to sully their holy temple of knowledge with my dirty, stupid, off-topic, already-answered questions.
So I gave it a shot.
A cache-related problem appears
My project is a small Python-based log colorizer that I asked Claude Code to construct for me. If you’d like to peek at the code before listening to me babble, a version of the project without some of the Lee-specific customizations is available on GitHub.

For the highlights that you're doing, yes, lnav is a bit limited. It currently only matches highlight regexes against the whole line or message body. There is currently no way limit the matched part to a particular field in the message. So, it might be technically possible, but is kind of a hassle. I would say this is a gap and I created an issue to track getting it added.
For filtering, to match the IPv6 filtering you're doing, you can run
:filter-expr :c_ip LIKE '%:%'(that creates a filter that checks log messages using a SQLite expression). You can do a similar thing for IPv4.To hide the referrer, you can run
:hide-fields cs_referer. For the user agent, it would be:hide-fields cs_user_agent.Of course, you don't have to use lnav. I fully understand sometimes folks just want their own thing.
Thanks for the mention and hope you have a good day!