Commit Graph

471 Commits

Author SHA1 Message Date
XeroOl
d219cfffcb clean up some lint documentation 2025-07-12 16:02:21 -05:00
XeroOl
a54745c581 make the arg comparator even more potent 2025-07-12 14:00:11 -05:00
XeroOl
561f199505 hardcode in some argument counting exceptions 2025-07-11 23:39:01 -05:00
XeroOl
5143310b90 introduce mismatched-argument-count lint 2025-07-11 19:16:06 -05:00
XeroOl
772d59fff1 more changes to the linting system 2025-07-11 18:22:16 -05:00
XeroOl
b4d2683c33 yet another lint refactor 2025-07-11 16:25:54 -05:00
XeroOl
7b215e15e8 fix completions in comments and strings, and more reliable binding completions 2025-07-11 14:06:33 -05:00
XeroOl
28e20f74cb better completions in destructure bindings 2025-07-08 23:01:11 -05:00
XeroOl
b7e497228f completions for "true" "false" and "nil" 2025-07-08 21:08:12 -05:00
XeroOl
e17ecef292 macroexpansion feature for hover and code action 2025-07-08 20:49:35 -05:00
XeroOl
3855e59cbf simplify dependencies and docs handling 2025-07-08 19:40:48 -05:00
XeroOl
777083f12f fix warnings and stack issue 2025-07-08 19:10:11 -05:00
Phil Hagelberg
f52962befc Allow FENNELFLAGS to be overridden in makefile. 2025-07-04 19:18:50 -07:00
XeroOl
7750afba4e change the CI to run the tests before doing linting 2025-07-02 22:41:11 -05:00
XeroOl
1e8784a55a rework hovering 2025-07-02 22:37:02 -05:00
XeroOl
0641b1b098 simplify completions 2025-07-02 19:11:10 -05:00
XeroOl
ad136b00ec use ? line numbers when position is unknown in --lint
I only did this for compile errors, not parse errors or lint errors.
2025-07-01 00:00:26 -05:00
XeroOl
e2e020e3ba slightly better hashfn support 2025-06-28 19:35:39 -05:00
XeroOl
67663d8271 simplify search api 2025-06-28 17:47:51 -05:00
XeroOl
6826c7584d maintenance of makefile and tools 2025-06-28 00:47:15 -05:00
XeroOl
264719047a bump bundled dkjson to latest 2.8 2025-06-27 23:47:16 -05:00
Phil Hagelberg
ac2ce4d8f2 Fix linting example. 2025-06-27 14:02:38 -07:00
XeroOl
dca991eb2f clean up formatter code
? only on optional fields, instead of randomly.
also, don't use the variable name `symbol` for things that aren't
fennel.sym?

remove message.array entirely: dkjson defaults to [] not {} on empty
tables.
2025-06-25 01:12:00 -05:00
XeroOl
01b03de17f error parameter hotfix, but better 2025-06-25 00:55:07 -05:00
XeroOl
fc57612fea clean up quickfix lint title system 2025-06-25 00:52:46 -05:00
XeroOl
623700e1a2 Revert "add an empty parameters list in case of error"
This reverts commit e2b26c5cff.
2025-06-24 12:11:03 -05:00
XeroOl
e2b26c5cff add an empty parameters list in case of error 2025-06-24 11:23:50 -05:00
XeroOl
6f946c76ea add lint that (let [] ...) should be (do ...) 2025-06-19 12:56:29 -05:00
XeroOl
e355534d8d Release 0.2.1
= 0.2.1 =

== Bug Fixes ==
* Fixed a path issue finding external docsets
* Fixed failing tests in 0.2.0
2025-06-06 12:44:08 -05:00
XeroOl
c644ce54ab fix path-join again, for old lua versions 2025-06-06 12:16:58 -05:00
XeroOl
cb9f09ba84 hotfix issue with path join
Not sure why I didn't test these changes, but the path-join function
didn't actually work fully as expected.
Now, various edge cases have been ironed out:
"/path" + "/foo/bar" -> "/foo/bar", instead of "/path/foo/bar"
"" + "code.fnl" -> "code.fnl", instead of "/code.fnl"
2025-06-06 11:43:49 -05:00
Phil Hagelberg
552b03b983 Release 0.2.0 2025-06-03 21:24:42 -07:00
XeroOl
456acb4e15 be less picky about XDG_DATA_HOME and HOME environment variable trailing slash
In fennel-ls.utils, there's a path-join function that has the logic
for joining paths and putting a slash in the middle if it's not already
there.
2025-06-02 22:49:01 -05:00
XeroOl
13415a97d3 minor edits to the lint descriptions
I hope these edits make the lint descriptions a bit clearer, but I'm not
sure
2025-06-02 22:41:53 -05:00
XeroOl
055f9f9811 rename completions to completion internally 2025-06-02 22:36:11 -05:00
XeroOl
04fec49059 lint explanations
These are here mainly for when I get around to mirroring these over
to my website. Then we could link a user to an explanation.

https://xerool.net/fennel-ls/docs/lints.html#lint-name

The descriptions of these are inspired by the Rust Language's Clippy
lint descriptions. Check their page out for ways to deal with a large
number of lints.

https://rust-lang.github.io/rust-clippy/rust-1.86.0/index.html
2025-06-02 22:36:11 -05:00
XeroOl
87439744b8 rename "check" test to "cli"
technically the corresponding item in the real code was renamed to
--lint, but that's the file we should use to write future tests.
2025-06-02 22:36:11 -05:00
XeroOl
1ac5d72a8e short flags: -h for help, -v for version 2025-06-02 22:36:11 -05:00
Jason Shipman
87d01b8ba9 Avoid double forward slash in docsets data dir when XDG_DATA_HOME is undefined
fennel-ls was reporting this error:
Could not find docset for library love2d at /Users/jship/.local/share//fennel-ls/docsets/love2d.lua
2025-05-28 21:51:35 -07:00
Yuta Sakurai
9b28815dd8 Resolved JSON-RPC issue on Windows. 2025-05-25 16:43:56 -07:00
XeroOl
39fdd0c282 Better completions! lazy documentation, deduplicated editRange. I have no tests for these completions >:^) 2025-04-26 17:06:28 -05:00
XeroOl
75839a2f13 finish naming the completion functions 2025-04-26 14:45:56 -05:00
XeroOl
6771feb6b5 remove unused import 2025-04-23 23:42:29 -05:00
XeroOl
5bb3f76050 fix documentation for macros, and fix completion item kind 2025-04-23 23:42:29 -05:00
XeroOl
3f1c2ea361 clean up some tests, restore (fn M.method []) completion handling 2025-04-23 23:42:29 -05:00
XeroOl
2800038005 Make sure we're not suggesting a "_G" version of everything 2025-04-23 23:42:29 -05:00
XeroOl
163ea1fd80 parse lua reference manual more accurately
the files and io are now properly treated like two different things
2025-04-23 23:42:29 -05:00
XeroOl
8a1aa53505 fix string methods, and some tests 2025-04-23 23:42:29 -05:00
XeroOl
1e3edf800d replace completions with a completely new completions.fnl implementation
the tests are failing now, because it's generating completions
differently, with no documentation or completion types, but it seems
like its working well.
2025-04-23 23:42:29 -05:00
XeroOl
5017177b44 horrible messy code that does deeper completions 2025-04-23 23:42:29 -05:00