Commit Graph

76 Commits

Author SHA1 Message Date
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
XeroOl
0d8b927929
goto-definition with injected fields (fn a.b []) 2022-09-03 12:52:34 -05:00
XeroOl
b2540e53cb
Fixed indirect table field completions 2022-09-03 12:00:46 -05:00
XeroOl
6b642f1d9b
Refactor :?definition to :definition 2022-09-02 18:20:09 -05:00
XeroOl
3f92a293b5
patch 2022-09-02 12:02:44 -05:00
XeroOl
3cab59622c
The parser is more robust under error 2022-09-01 23:20:38 -05:00
XeroOl
89eb07c064
adjust parents, and take advantage of hooks for better completions 2022-09-01 01:03:59 -05:00
XeroOl
b9d084fada
Upgrade fennel to ~xerool/fennel for extra hooks 2022-09-01 01:02:19 -05:00
XeroOl
69fcd63fad
goto definition understands (let) 2022-08-30 22:30:39 -05:00
XeroOl
2c47e61f2c
Refactoring / comments 2022-08-29 10:10:09 -05:00
XeroOl
9b25d09bcd
readme 2022-08-29 10:09:22 -05:00
XeroOl
5966755149
Readme updates 2022-08-28 00:51:54 -05:00
XeroOl
82d7913c45
rewrite of find-symbol in preparation for completions 2022-08-28 00:40:46 -05:00
XeroOl
5ac7561f05
updated fennel 2022-08-28 00:38:21 -05:00
XeroOl
ddc9539bdf
bump fennel version to custom build
Temporarily bump fennel to a "fork" until my patch is merged upstream
in fennel's repo.
2022-08-24 23:13:36 -05:00
XeroOl
3eeba96188
Refactoring / documentation comments / small fixes 2022-08-24 23:12:28 -05:00