summaryrefslogtreecommitdiff
path: root/lib/CheckMap.hs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* simple map-map link dependency checkingstuebinm2021-09-301-4/+7
| | | | | | | | This is purely based on a set difference, i.e. it won't catch stupid things like a map linking to itself, a map link going only one-way, etc. Also, it only handles map links; it doesn't check if all ressource files referenced by a map actually exist.
* prettier pretty printing and stuffstuebinm2021-09-231-22/+26
| | | | | also, configurable log level, which only required relaxing the type system once!
* handle all maps in entire repositoriesstuebinm2021-09-231-22/+26
| | | | (+ checking that paths don't run outside of respositories)
* very naïve handling of directoriesstuebinm2021-09-231-6/+6
|
* use PrettyPrinter morestuebinm2021-09-201-21/+3
|
* typechecking for path depths!stuebinm2021-09-201-8/+9
| | | | | | This now checks if relative paths are still inside the repository, as a general safety mechanism to stop the linter from accidentally reading other things, as well as a nice hint for users.
* rebuilding the core LintWriter monadstuebinm2021-09-201-31/+28
| | | | | it is no longer an Either since that wasn't used anyways, but is now also a Reader.
* lint embedded tilesetsstuebinm2021-09-201-2/+4
|
* lint map things that aren't custom propertiesstuebinm2021-09-201-8/+5
|
* lint general map propertiesstuebinm2021-09-201-6/+13
|
* collecting map dependenciesstuebinm2021-09-181-5/+10
|
* moved types into Types.hsstuebinm2021-09-181-3/+4
| | | | it's almost as if there's some structure to this code!
* can collect dependencies!stuebinm2021-09-181-7/+9
| | | | | | | There's now a Lint type, which may be either a "true lint" (which is a Hint, which contains some message and level of severity), or a Depends, which indicates that this map depends on some ressource or other (and is otherwise treated as a special info Hint in all other cases)
* tame the stringsstuebinm2021-09-181-17/+16
| | | | | | Adds a PrettyPrint typeclass which operates on Text and should replace Show, since constantly converting strings from linked lists to arrays seems somewhat silly.
* (somewhat) reasonable representation of parse errorsstuebinm2021-09-171-13/+34
| | | | | | | | 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?
* input options, output jsonstuebinm2021-09-161-0/+74
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 …).