summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2023-11-20Switch to REUSE-compliant licensing infoHEADmasterYorhel9-63/+54
2023-11-20Drop pod2man, write man page in mdocYorhel4-247/+266
2022-04-27Year bump + version 2.12.1Yorhel4-3/+9
2022-04-27Also test unquoted escapesYorhel2-2/+6
2022-04-27Two tiny doc fixesYorhel1-3/+3
2022-04-24Fix passing the correct array size to regexec()Yorhel1-1/+1
2022-04-24Permit quoted strings as "directive names"Yorhel3-39/+17
Such strings totally aren't directive names, but this change should enable parsing of more complex nginx map blocks.
2021-01-28Mark a few more functions as staticYorhel1-3/+3
Totally insignificant change.
2020-12-13Minor doc fixesYorhel1-5/+5
2020-10-22Makefile: Remove unused variable + clean test outputYorhel1-3/+1
I was planning to use that variable for 'make dist', but ended up querying git instead.
2020-10-22Version 2.02.0Yorhel2-0/+23
2020-10-22man: Mention what nginx-confgen does with unknown varsYorhel1-0/+8
2020-10-22Add tests + fix lots of bugsYorhel40-56/+367
These tests sure aren't a luxury, found a lot of issues.
2020-10-22Rewrite in C + a bunch of visible changesYorhel11-590/+1149
Ironically, I find C easier to maintain than Haskell, largely because its build environment and APIs are more stable and more familiar to me. Resulting binary is also a *lot* smaller. Not done any performance measurements yet, algorithmically this new implementation has some really bad worst cases, but it wouldn't matter too much if you never hit them. User-visible improvements: - pre_if now supports braces - variables are no longer lexically scoped - error messages come with context And quite likely many regressions. I'll need to write some more tests.
2020-04-19Update to Stack lts-14.27 & megaparsec 7.xYorhel3-9/+9
2020-04-19Add boilerplate Setup.hsYorhel1-0/+2
2020-04-19Fix compat with megaparsec >=6.4Yorhel1-1/+1
2018-02-23doc: Remove incorrect statement about the lack of cli argumentsYorhel1-4/+0
2018-02-23I knew I'd forget to update that versin stringYorhel1-1/+1
2018-02-23Version 1.21.2Yorhel2-1/+9
2018-02-23Rewrite directive argument parser and variable interpolation codeYorhel3-182/+140
This makes the parser a lot more lenient on what it accepts as input, and the variable interpolation and reformatting is now much more conservative. This should fix a whole bunch of warts (and possibly introduce a few new ones). This also removes parenthesis support for pre_if, since that hack was very unreliable in the first place.
2018-01-24Add ChangeLog and release version 1.11.1Yorhel3-2/+10
2018-01-24Add -I command line flagYorhel4-13/+40
2018-01-24Add some commandline optionsYorhel3-10/+69
2018-01-24Add pre_warn directiveYorhel3-7/+43
2018-01-24Fix handling of types directive + add doc note for the lua moduleYorhel3-3/+24
2018-01-19Make this 1.0 + add some docs1.0Yorhel5-5/+246
2018-01-14Add pre_exec directiveYorhel3-0/+19
I think I've now implemented all features that I personally needed. Time to give it a try in production, I guess.
2018-01-14Add capture support for pre_if regexesYorhel3-29/+46
'pre_if' should now have feature parity with the 'if' in nginx. The nginx docs does do not mention $0, but this implementation will also set it.
2018-01-14Add regex matching operators to pre_ifYorhel3-3/+20
This does not set the $n capture variables at the moment.
2018-01-14Add file path tests to pre_ifYorhel3-1/+18
2018-01-14Add pre_if directive to mimic the if directive in nginxYorhel2-4/+88
I'm unsure what to do with the parenthesis removal thing. Right now it's... broken.
2018-01-13Add pre_set directiveYorhel3-3/+15
2018-01-13Add pre_include maximum recursion depthYorhel1-11/+16
2018-01-13Some reogranizationYorhel1-87/+90
2018-01-13Add pre_include directiveYorhel3-31/+47
2018-01-13Do AST processing in IO the monadYorhel1-35/+40
This is mostly a mechanical transformation, since I already used Either as a monad. IO will be needed in order to handle file includes and other special directives.
2018-01-13Add macro expansionYorhel2-14/+86
2018-01-08Mostly untested first attempt at preprocessingYorhel3-21/+111
2018-01-07File re-org: Screw proper project organization, let's use a single fileYorhel6-167/+143
This tool is going to be compact and simple, anyway.
2018-01-07Add basic config parser & formatterYorhel7-4/+208
2018-01-07Initial nothingYorhel6-0/+50