A fork of https://git.sr.ht/~xerool/fennel-ls/ for development purposes
When a `match` call's patterns do not contain any symbols that reference the outer scope, then there is no reason to use `match`; that call should be replaced with `case`. This allocates diagnostic code 308 to match-should-case. In order to detect this, I had to add a loop over file.lexicals. This is often a very large table, so it could adverse performance impact. I believe it is necessary in order to distinguish between case vs match since other means seem to only be applied after macroexpansion by which time neither one exists. I've updated docs/linting.md to mention the new loop and cleaned up a few things in that file that were outdated. I've added tests for the new lint to ensure it doesn't trigger when it shouldn't. |
||
|---|---|---|
| deps | ||
| docs | ||
| nix | ||
| rockspecs | ||
| src | ||
| test | ||
| tools | ||
| .build.yml | ||
| .gitignore | ||
| changelog.md | ||
| default.nix | ||
| fennel | ||
| flake.lock | ||
| flake.nix | ||
| flsproject.fnl | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
| TODO.md | ||
fennel-ls
Source | Issues | Mailing List
Provides intelligent editing features for fennel files.
Quick Links
License
fennel-ls is licensed under the MIT license. See LICENSE for more info. This project also contains files from other projects:
-
fennelanddeps/fennel.luaare compiled from fennel [MIT license] -
deps/faith.luais from faith [MIT license] -
deps/pl/stringio.luais from Penlight [MIT license] -
deps/dkjson.luais from dkjson [MIT license] -
src/fennel-ls/docs/generated/*contains files generated from other sources. It contains information from:- the lua reference [MIT license]
- TIC80's "learn" webpage [MIT license]