| Commit message (Collapse) | Author | Files | Lines |
|
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.
|
|
also, configurable log level, which only required relaxing the type
system once!
|
|
|
|
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.
|
|
it is no longer an Either since that wasn't used anyways, but is now
also a Reader.
|
|
|
|
|
|
|
|
|
|
it's almost as if there's some structure to this code!
|
|
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)
|
|
/finally/ figured out that all properties just look like {name, value,
type} so now that's abstracted away and Properties.hs doesn't look like
javascript anymore
|
|
Adds a PrettyPrint typeclass which operates on Text and should replace
Show, since constantly converting strings from linked lists to arrays
seems somewhat silly.
|
|
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 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 …).
|
|
(also renaming things now that concepts seem a bit clearer)
|