From f44f549f0caf9bcf41c68c9fdd694b36adace996 Mon Sep 17 00:00:00 2001 From: June McEnroe Date: Tue, 19 Jan 2021 20:08:20 -0500 Subject: Support BSD make syntax and match *.am These don't really go together, but... --- bin/hilex.c | 2 +- bin/make.l | 30 ++++++++++++++++++++++++++---- bin/man1/hilex.1 | 8 +++++--- 3 files changed, 32 insertions(+), 8 deletions(-) (limited to 'bin') diff --git a/bin/hilex.c b/bin/hilex.c index 6574b1b2..93401d95 100644 --- a/bin/hilex.c +++ b/bin/hilex.c @@ -51,7 +51,7 @@ static const struct { const char *linePatt; } Lexers[] = { { &LexC, "c", "[.][chlmy]$", NULL }, - { &LexMake, "make", "[.]mk$|^Makefile$", NULL }, + { &LexMake, "make", "[.](mk|am)$|^Makefile$", NULL }, { &LexMdoc, "mdoc", "[.][1-9]$", "^[.]Dd" }, { &LexText, "text", "[.]txt$", NULL }, }; diff --git a/bin/make.l b/bin/make.l index 49fda674..6d0c73f9 100644 --- a/bin/make.l +++ b/bin/make.l @@ -21,7 +21,7 @@ #include "hilex.h" %} -%s Assign +%s Assign Preproc %x Variable Shell ident [._[:alnum:]]+ @@ -54,6 +54,30 @@ operator [:!]|:: return Keyword; } +{target}/{operator} { return Ident; } + +^"."{ident} | +^"-"?include { + BEGIN(pop = Preproc); + return Macro; +} +{ + "\n" { + BEGIN(pop = INITIAL); + return Normal; + } + "\\\n""\t"? { return Normal; } + + "\""[^""]*"\"" | + "<"[^>]*">" { + return String; + } + + [!<>=]"="?|"||"|"&&" { return Operator; } + [0-9]+|"0x"[[:xdigit:]]+ { return Number; } + defined|make|empty|exists|target|commands|in { return Keyword; } +} + ^{ident}/[[:blank:]]*{assign} { return Ident; } @@ -67,12 +91,10 @@ operator [:!]|:: BEGIN(pop = INITIAL); return Normal; } - "\\\n""\t"? { return String; } + "\\\n""\t"? { return Escape; } [^\\$[:space:]]+|. { return String; } } -^"-"?include { return Macro; } - {target} { return Ident; } "#"([^\\\n]|"\\"[^\n]|"\\\n")* { return Comment; } diff --git a/bin/man1/hilex.1 b/bin/man1/hilex.1 index a151476a..e07695a3 100644 --- a/bin/man1/hilex.1 +++ b/bin/man1/hilex.1 @@ -166,12 +166,14 @@ Inferred for files. . .It Cm make -The portable subset of -.Xr make 1 . +The BSD +.Xr make 1 +language. Inferred for +.Pa Makefile , .Pa *.mk and -.Pa Makefile +.Pa *.am files. . .It Cm mdoc -- cgit 1.4.1
Commit message (Collapse)Author
2025-04-18Add camera template foldersJune McEnroe
2025-04-13Add A Half-Built GardenJune McEnroe
Good one.
2025-04-13Also hide lens for trips if it hasn't changedJune McEnroe
2025-04-12Don't list lens in trips if fixedJune McEnroe
2025-04-12Allow setting exposures when loading filmJune McEnroe
2025-04-08Those were supposed to be en-dashes...June McEnroe
2025-04-08Generate pages per rollJune McEnroe
2025-04-08Add metadata from many rolls of filmJune McEnroe
2025-03-25Add emoji for lens, replace all f/'sJune McEnroe
2024-12-29Add photos from December 28June McEnroe
2024-12-29Fancify the manual lens textJune McEnroe
2024-12-28Update film preset list with what I expect to keep shootingJune McEnroe
2024-12-28Add the past few months of rolls of filmJune McEnroe
2024-11-13Add Tea with the Black DragonJune McEnroe
I found this in a box on the side of the road being thrown own. It's decent pulp but nothing special. Not even as racist as I expected it to be. Also as one might guess, the author using their initials is a woman, so I only broke one of my rules when it comes to book selection.
2024-11-05Add a bunch of photosJune McEnroe
2024-10-12Publish "film review"June McEnroe
2024-10-12Add photos from October 6June McEnroe
2024-10-12Add photos from October 5June McEnroe
2024-10-09Add photos from October 1June McEnroe
Ok the first 3 are from September 29 but I didn't want to spoil the black and white roll.
2024-10-07Add photos from September 29June McEnroe
2024-10-07Add photos from September 28June McEnroe
2024-10-07Add photos from September 22June McEnroe
2024-09-25Add photos from September 15June McEnroe
2024-09-24Add photos from September 14June McEnroe
2024-09-24Add photos from September 12June McEnroe
2024-09-24Add photos from September 7June McEnroe
2024-09-24Allow not having descriptionsJune McEnroe
I'm sorry, I can't keep writing descriptions. It makes posting photos take too long, I often don't know the words for what I'm looking at, and a good description is an entirely different work of art than the photo I took, and I'm just a photographer. It's visual art.
2024-09-23Automatically select the last used lens for a bodyJune McEnroe
2024-09-19Add photos from September 5June McEnroe
Had to prefix the folder number onto these file names manually because they must have come out of a different scanner or something.
2024-09-15Add some more film stocks to the listJune McEnroe
2024-09-13Add photos from September 2June McEnroe
2024-09-13Add Fomapan 200 to films listJune McEnroe
2024-09-10Add August 29 picnic photosJune McEnroe
2024-09-08Apply some bold to trips renderingJune McEnroe
This seems easier to visually scan. The only other thing I'd like is a nicer date rendering but JavaScript is useless for that.
2024-09-08Render trips hopefully more efficientlyJune McEnroe
2024-09-08Allow removing bodies and lensesJune McEnroe
2024-09-08Limit body width so it looks less silly on desktopJune McEnroe
2024-09-07Handle no film being loadedJune McEnroe
2024-09-07Fancy up the text a littleJune McEnroe