Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jieyouxu/cdlint
A linter for Custom Difficulty JSON files.
https://github.com/jieyouxu/cdlint
Last synced: about 2 months ago
JSON representation
A linter for Custom Difficulty JSON files.
- Host: GitHub
- URL: https://github.com/jieyouxu/cdlint
- Owner: jieyouxu
- License: mit
- Created: 2024-02-07T23:39:25.000Z (11 months ago)
- Default Branch: master
- Last Pushed: 2024-06-04T05:23:40.000Z (7 months ago)
- Last Synced: 2024-06-05T05:52:17.832Z (7 months ago)
- Language: Rust
- Size: 303 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# CDLint
![A screenshot of CDLint producing diagnostics](./assets/screenshot.png)
A linter for Custom Difficulty JSON files. Scans a Custom Difficulty JSON to
check for potential problems, such as referencing undefined Enemy Descriptors.
It should help Custom Difficulty makers to detect issues outside the game.## Usage
Open your shell (e.g. PowerShell) and run the executable, providing the path
to the Custom Difficulty JSON file you wish to lint:```bash
& "path\to\cdlint.exe" "path\to\cd.json"
```### Configuration File
By default, CDLint will generate a `config.toml` configuration file next to
the executable. You can specify e.g. which custom
Enemy Descriptors you have added via modding (e.g. added by MEV).### Consuming `cyclic_enemy_descriptor_references.dot`
The `cyclic_enemy_descriptor_references` lint can generate
`cyclic_enemy_descriptor_references.dot` next to the executable
if `generate_cyclic_reference_graph` is `true` in `config.toml`This `.dot` file can be fed to [graphviz](https://graphviz.org/download/)
to be rendered into PNG/SVG/etc.:```bash
dot -Tpng cyclic_enemy_descriptor_references.dot -o cyclic_enemy_descriptor_references.png
```which will produce a graph like:
![A screenshot of cyclic dependencies](./assets/cyclic.png)