summaryrefslogtreecommitdiff
path: root/src/Main.hs (unfollow)
Commit message (Collapse)AuthorFilesLines
2022-03-19remove leftover rc3 things & some new stuffstuebinm1-4/+5
this removes: - the bbb properties - all explicit mentions of rc3 - the weird script domain hacks (done via a substitution now) - some (few) of the weirder code choices it also adds some more type level witchery to deal with configs, which for some reason seems to be the hardest problem of this entire program … also the server now does inter-assembly dependency checking!
2022-03-19walint: some marginally nicer codestuebinm1-55/+47
2022-03-19switch to universum preludestuebinm1-17/+13
also don't keep adjusted maps around if not necessary
2022-03-19use hpack and clean up modulesstuebinm1-4/+5
as annoying as yaml is, cabal's package format is somehow worse, apparently
2021-12-30add dot language output for repository map graphsstuebinm1-5/+10
2021-12-22print version information on --versionstuebinm1-2/+9
If --version is given, `walint` prints version information, then exists with code 0.
2021-12-20turns out apparently C8.unpack assumes asciistuebinm1-2/+3
(and no one's documented that) Anyways it now uses utf8 which seems a little more reasonable.
2021-12-16print hint for non-zero exit code in non-json modestuebinm1-18/+26
2021-11-28various fixes to bugsstuebinm1-3/+5
Among them - always set correct exit codes - refuse to write out files if the out path already exists - calculate the overall severity correctly - slightly changed the json output schema - also output the text output format in json - make the default config.json suitable for a production environment
2021-11-28print aeson warning to stderr, not stdout …stuebinm1-1/+2
2021-11-17remove unused --allowScripts flagstuebinm1-2/+0
(didn't do anything, and it seems better to do all of these things in the config anyways)
2021-11-14add readmestuebinm1-1/+4
2021-11-14add runtime warning for older Aeson versionsstuebinm1-2/+22
2021-11-14config option: don't copy asset filesstuebinm1-1/+1
2021-11-14Functional jitsiRoomAdminTag adjustmentstuebinm1-4/+1
also yet another typeclass™, because why not?
2021-11-14too much type level stuff to read a config filestuebinm1-3/+19
This got kinda out of hand, but it can now (a) read a json config file and (b) patch that with another json given on the command line to change some of the options given in the file. No, I probably didn't need to make the `patch` function sufficiently general to work with arbitrary records, but it was kinda fun to do.
2021-11-10fail on missing map assetsstuebinm1-4/+6
(but not (yet?) on missing maps/entrypoints)
2021-11-10copy map assets (and refuse if any are missing)stuebinm1-1/+1
2021-11-10extra module for repository writeoutstuebinm1-2/+2
2021-11-09first example of a map adjustmentstuebinm1-9/+15
this also includes some more monad plumbing, and an option for the linter to actually write things out again. Some of the previous commit was reverted a bit since it turned out to be stupid, but overall it was suprisingly easy once I got around to it, so yay! i guess Also includes a fairly silly example of how to use it.
2021-10-04removed unnecessary dependencystuebinm1-4/+2
2021-09-23prettier pretty printing and stuffstuebinm1-3/+5
also, configurable log level, which only required relaxing the type system once!
2021-09-23handle all maps in entire repositoriesstuebinm1-7/+8
(+ checking that paths don't run outside of respositories)
2021-09-23very naïve handling of directoriesstuebinm1-1/+3
2021-09-18tame the stringsstuebinm1-6/+7
Adds a PrettyPrint typeclass which operates on Text and should replace Show, since constantly converting strings from linked lists to arrays seems somewhat silly.
2021-09-17(somewhat) reasonable representation of parse errorsstuebinm1-6/+3
This makes map loading (and parsing) part of the linter, and also makes it return "general lints" and nothing else in case that failed. Possibly a sum type would be nicer here, but I guess it's not really important since everything ends up as json anyways?
2021-09-16input options, output jsonstuebinm1-44/+41
input options are mostly dummies for now, but some work (e.g. --inpath and --json). Lints can now be optionally printed as json to be reasonably machine-readable (and the json can be pretty-printed to make it human-readable again …).
2021-09-16moving lots of code aroundstuebinm1-161/+26
(also renaming things now that concepts seem a bit clearer)
2021-09-16small updatestuebinm1-5/+6