XeroOl
735d8d5663
suppress warnings during tests
2025-07-30 14:25:55 -05:00
XeroOl
ce2b390f8d
defeat grep, and make FENNEL depend on vendor instead of file presence
2025-07-30 14:24:53 -05:00
XeroOl
4167e02c30
save a line
2025-07-30 13:57:05 -05:00
XeroOl
48b4653a70
triggerCharacters
2025-07-30 13:49:41 -05:00
XeroOl
2a23d2f950
fix completion scope bug and fix completion macro call special case and add completions for nil and false and true and improve completion test speeds
...
I did a lot in one big commit.
fix bug where (each [foo (ipairs [])] |) wouldn't suggest foo
fix bug with (doto foo |) wouldn't suggest specials and macros, even though it expands to | in a call position
completions for true, false, nil, .nan, .inf
docs for true, false, nil
clarify error message when passing a folder to --lint
improved test performance for completion tests
2025-07-30 00:29:32 -05:00
XeroOl
1733cbab94
compiler environment docs
2025-07-30 00:24:43 -05:00
XeroOl
27a7548453
fix max argument lint
2025-07-29 23:41:23 -05:00
XeroOl
c78f5411bf
insert/replace completion support
...
LSP protocol describes two types of completion: insert, and replace.
It turns out its really easy to support this. The hard part is just
checking if the client actually wants it.
2025-07-26 19:21:26 -05:00
XeroOl
0828820097
completions no longer suggest invalid fields
2025-07-26 19:10:41 -05:00
XeroOl
251a7789a4
add undocumented :compiler-instruction-limit setting
...
Not sure if I want to keep this, but you can now configure fennel-ls
to cap how long it allows the compiler to compile each top level form.
It will stay undocumented for now.
2025-07-23 23:51:05 -05:00
XeroOl
ef9cf289c5
clean up configuration code a little bit
2025-07-22 21:11:15 -05:00
XeroOl
9be6628bf0
double underscore no longer counts as a leading underscore
...
Discussed in the user-group briefly. Symbols like __index technically
begin with an underscore but probably don't want to opt out of unused
variable checking.
2025-07-22 20:28:24 -05:00
XeroOl
4f3b89d7a9
get-field is unused
2025-07-19 15:16:55 -05:00
XeroOl
abce63e696
fix hover message
2025-07-19 15:16:37 -05:00
XeroOl
319a2ddf10
better messages for not-enough-arguments and too-many-arguments
2025-07-18 13:23:10 -05:00
XeroOl
284a760224
fix the | virtual cursor character appearing in completion output
2025-07-18 12:45:48 -05:00
Jason Shipman
7b92d6dc2e
Detect if useBitLib flag should be passed to compiler options
2025-07-17 16:40:03 -05:00
XeroOl
0817af9488
New nested-associative-operator lint
...
I want to also get like (if a (if b c)) at some point, but this lint
only covers the ones where flattening fixes it always.
2025-07-17 16:37:44 -05:00
XeroOl
ea826576e3
clean up some documentation and code
2025-07-17 14:43:53 -05:00
XeroOl
5a2e6ef091
fix ci and add more changelog
2025-07-16 22:50:18 -05:00
XeroOl
1c3d7fbe21
make the completion tests run faster
...
performance is starting to bother me, but I've made completions faster (in tests).
2025-07-16 02:05:31 -05:00
XeroOl
8811454456
split mismatched-argument-count lint into not-enough-arguments and too-many-arguments
2025-07-15 22:56:20 -05:00
XeroOl
4671d50234
new lint invalid-flsproject-settings, and completely rewrite the way settings get checked
2025-07-15 00:57:06 -05:00
XeroOl
c0a740461b
move documentation check to later
2025-07-14 22:56:49 -05:00
XeroOl
20b9381eda
add a fix to pcall docs in 5.1
2025-07-14 22:53:50 -05:00
XeroOl
c5f36ac813
clean up documentation strings
2025-07-14 01:14:31 -05:00
XeroOl
b0760a2aad
stop tracking doc/lints.md
2025-07-13 13:05:50 -05:00
XeroOl
ff601e4c17
docs/lints.md is now a generated file. maybe I shouldn't keep it tracked anymore, lol
2025-07-12 21:40:44 -05:00
XeroOl
dbc596d10f
add stuff to changelog
2025-07-12 20:21:15 -05:00
XeroOl
3ce8cb9157
add lints to changelog
2025-07-12 16:44:32 -05:00
XeroOl
722a3a6089
make selflint now covers tests
2025-07-12 16:11:51 -05:00
XeroOl
d4c24b00f4
duplicate-table-keys lint
2025-07-12 16:11:36 -05:00
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