Commit Graph

91 Commits

Author SHA1 Message Date
XeroOl
cd37e05e54 Test changes, and fennel-ls now properly negotiates for utf-8 encoding
Unfortunately, fennel-ls still doesn't respect utf-16 rules if the
negotiations fail.
2023-07-09 19:51:20 -05:00
XeroOl
95245726e1 switch more "match" to "case" 2023-07-07 13:40:12 -05:00
XeroOl
5329f58672 write the utf16 stuff in a way that makes more sense to me imo 2023-07-07 00:08:06 -05:00
XeroOl
47f1e819ce surrogate pair code 2023-07-03 22:44:21 -05:00
XeroOl
21bd635123 treat lambda and λ as function definitions 2023-06-29 12:23:42 -05:00
XeroOl
2c61b5401a Various changes, and fix a searcher crash 2023-06-22 23:28:17 -05:00
XeroOl
e5742bbc4e make fennel-ls crash a bit less 2023-06-09 01:36:59 -05:00
XeroOl
3c79f480a8 macro-path and metadata for builtin macros and a couple bug fixes 2023-06-09 01:08:10 -05:00
XeroOl
d36a1ed183 README shows the new lint in the default settings 2023-06-05 22:14:37 -05:00
XeroOl
ad59c579f2 Global completion documentation is hardcoded to Lua 5.4 2023-06-05 21:31:43 -05:00
XeroOl
8001c91120 New "unknown module field" diagnostic, and the groundwork for global completions with documentation 2023-06-05 19:49:42 -05:00
XeroOl
20b9094592 Added hover and completion for specials
next on the todo list is macros and globals, and then I want to be able
to choose extra globals to add in.
2023-06-03 01:26:07 -05:00
XeroOl
957def8e42 Improve goto-definition 2023-06-02 20:58:02 -05:00
XeroOl
6b5d4cc6fb update fennel to another patch 2023-06-02 20:57:00 -05:00
XeroOl
91d4e1e410 Multivals ruining everything 2023-06-02 18:10:35 -05:00
XeroOl
b2c3c04bfe Completions now come with some doc info 2023-06-02 17:34:19 -05:00
XeroOl
a3f787b008 clean up test code 2023-05-29 12:21:36 -05:00
XeroOl
74100ad8ec fix test when running with luajit 2023-05-29 12:19:48 -05:00
XeroOl
2e3daa770b Makefile supports switching out Lua 2023-05-29 12:18:45 -05:00
XeroOl
5e0a974e30 add some negative test cases for call completions 2023-05-27 21:35:19 -05:00
XeroOl
a1169308d3 completions on multisyms 2023-05-27 21:28:42 -05:00
XeroOl
7f8942fde6 Support completions of x: symbols 2023-05-27 21:10:49 -05:00
XeroOl
61899dd6c5 change some matches to case 2023-05-27 21:09:58 -05:00
XeroOl
deb571092b Only suggest macros/specials in call position
I know that sometimes macros can sometimes take macro/special arguments
in places other than the call position, but I'm not supporting that for
now. If you're writing code like (-> 1 /), the / won't be offered as a
completion suggestion.
2023-05-27 14:14:40 -05:00
XeroOl
a521701dba Fix "unused variable" lint not counting mutating sets as a use 2023-05-26 18:17:15 -05:00
XeroOl
8c33a46d6d fix crash when compiling: (fn undefined.x []) 2023-05-05 16:45:17 -05:00
XeroOl
f06d74273c Description of Settings in the README 2023-05-03 00:27:27 -05:00
XeroOl
eab0769b06 Small changes 2023-05-03 00:16:04 -05:00
XeroOl
60c3073de3 Make the README much more pleasant 2023-05-03 00:11:27 -05:00
XeroOl
3ae1626fca Bump LICENSE Year
to 2023
2023-05-02 23:57:28 -05:00
XeroOl
fbfd7cdaaa Options over LSP
Fennel-ls now can receive options from the language client over the
protocol. Future work still necessary to have project-local files.
2023-05-02 23:55:37 -05:00
XeroOl
f053a606a3 small optimization 2023-04-21 16:02:40 -05:00
XeroOl
f0b6a2672d textDocument/references, and an unused var lint 2023-04-14 16:18:10 -05:00
XeroOl
f157313133 test refactoring 2023-03-27 20:56:03 -05:00
XeroOl
33d080f6c6 Changed test framework to not require outside deps 2023-03-23 14:55:06 -05:00
Phil Hagelberg
f4298b02be Add a make install target, and instructions for Emacs.
Might be nice to be able to run make install as this is pretty
standard. For people who don't like sudo, they can set $PREFIX to a
user-writable location of their choice.
2023-02-23 21:48:30 -06:00
XeroOl
2eb99a7283 Update fennel to version 1.3.1
There is a new fennel branch on my fork of fennel called extra-hooks-3
which is up to date with fennel 1.3.1 and has the extra hooks necessary
for the server.

Also, some of the error messages need to be updated to match with fennel
1.3.1's changes.
2023-02-22 23:36:14 -06:00
XeroOl
70e434839f
update internal fennel version to ~xerool/fennel extra-hooks-2 2022-11-11 12:46:56 -06:00
XeroOl
a13483185b
Refactoring and test for path settings 2022-09-23 00:03:10 -05:00
XeroOl
a86c52f33a
Add settings (untested / undocumented) 2022-09-22 00:44:10 -05:00
XeroOl
566b475ff8
refactoring and starting to implement settings 2022-09-21 21:26:55 -05:00
XeroOl
cd4358a4b7
Parse errors are on the correct line number now 2022-09-18 13:05:35 -05:00
XeroOl
5c4d0530f8
consider which part of a multisym the cursor is on
For goto-definition and hovering.
2022-09-17 20:01:25 -05:00
XeroOl
05aa1f7408
Added test for :: crash 2022-09-17 09:24:59 -05:00
XeroOl
bf10c5b8bd
New changes to fennel to support malformed sym 2022-09-17 09:24:01 -05:00
XeroOl
1714526820
Update internal version of fennel
This update makes (->) and (doto) etc. slightly friendlier to fennel-ls.
2022-09-09 21:46:04 -05:00
XeroOl
06d3787f66
";; fennel-ls: macro-file" for macro files
Temporary quick fix for editing macro files, since I've been doing a lot
of work in macro files recently. I hope that in the future there will be
better ways to do this than magic comments. I think there are probably
much better heuristics that could be used.
2022-09-09 21:43:58 -05:00
Phil Hagelberg
3eeebdbf11
Build a shebanged executable instead of a binary.
This makes the build itself a lot more portable. The executable of
course relies on lua being installed on the machine, but this will
nearly always be the case for a program used by Fennel developers.

Bonus: removes the direct use of the fennel.utils module which was
only used for the table? function and was causing a warning.
2022-09-08 11:41:01 -05:00
Phil Hagelberg
783b1858b2
Don't assume newfile is nonnil before using it. 2022-09-08 11:39:51 -05:00
XeroOl
06a6e8c7ea
Remove error response when hovering over nothing 2022-09-07 21:19:36 -05:00