| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
I'm not sure if this is the right approach tbh — it lets the LintWriter monad
modify its own context, but maybe we might run into cases where lints and
modifications depend on each other across longer "distances" than just the
context of the linter (i.e. just across a property?)
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This cleans up all the old rubble that came from the Tiled package I
originally took from hackage. It now uses generics instead of
implementing all the ToJSON and FromJSON instances by hand, and
(deserialize . serialise) will now actually return a (semantically)
equivalent json.
It'll now also reject keys that it doesn't know, which required adding
some in several places which the tiled package didn't know about (or
which were introduced after it was originally written, dunno).
Several more Maybes are required now, to represent the difference
between e.g. empty lists and on set value, which does make the code
slightly weirder in other places …
|
|
|
|
|
| |
the previous state appears to have been an oversight and made no sense
at all.
|
|
|
|
|
|
| |
this reorganised the whole linting for tilesets somewhat; it's now very
similar to that linting layers, and it may be possible to abstract some
of the code away ...
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
apparently i couldn't read or something?
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
(also renaming things now that concepts seem a bit clearer)
|