Phil Hagelberg
e48aa8af89
Generate man page using pandoc.
...
Needs a few tweaks to make it usable but we can just append/prepend
them in the makefile target.
2025-03-04 09:19:36 -08:00
Phil Hagelberg
48d939916c
Compatibility with Lua 5.1 ... again.
2025-03-04 08:58:59 -08:00
Phil Hagelberg
f2f661cc73
A few more documentation tweaks.
2025-03-04 08:56:49 -08:00
Michele Campeotto
c993f83595
Added a quick start section to the configuration manual
...
I received feedback that the info on setting up libraries is a little
buried in all the other details.
Pulling it up, it's likely going to be the first and most frequent
configuration people will want to change.
2025-03-04 08:44:19 -08:00
Phil Hagelberg
3a30fc83ed
Support (or table.unpack _G.unpack) pattern without unknown field lint.
...
Now we are selflint clean! We can enable it in the ci target now.
2025-03-02 22:05:33 -08:00
Phil Hagelberg
356c6bcae7
Fix indeterminate analyze search results.
2025-03-02 21:45:57 -08:00
Phil Hagelberg
1c2f5364be
Use match-try instead of case-try to avoid a where clause.
...
Add changelog entry.
2025-03-02 09:01:35 -08:00
Michele Campeotto
0b979f1e78
documentHighlight should not show references in other files
...
documentHighlight was highlighting symbols that were defined in other
files (incorrectly, because the response only contains ranges, not
locations), but this feature is meant for the current document only.
2025-03-02 08:56:29 -08:00
Phil Hagelberg
2c71c403d4
Remove outdated mentions to love2d and link to vs-code extension.
2025-03-02 08:41:37 -08:00
Michele Campeotto
1f123c6baa
Add docsets information and some reorg
2025-03-02 08:31:20 -08:00
Phil Hagelberg
32350ec44b
Recognize deprecated functions that haven't been removed yet.
2025-02-28 04:18:36 -08:00
Phil Hagelberg
024083c7d2
Add test for config validation.
2025-02-28 02:30:59 -08:00
Phil Hagelberg
670f7d108b
Only generate lua manual docs; move tic80/love2d to other repo.
...
https://git.sr.ht/~technomancy/fennel-ls-docsets
2025-02-28 02:30:55 -08:00
Phil Hagelberg
aaf30a99be
Update TODOs and other associated docs.
2025-02-27 19:53:33 -08:00
Phil Hagelberg
80b4f9d29a
Simplify some handlers case-try to avoid use of where clause.
2025-02-27 18:38:37 -08:00
Michele Campeotto
bb2ccd67c2
Add support for textDocument/documentHighlight
2025-02-27 18:18:35 -08:00
Phil Hagelberg
a7ce5f7826
Queue up validations during initialization and send later.
...
This is a dumb hack but the validation warnings aren't very useful
without it.
Still needs tests.
2025-02-27 02:30:25 -08:00
Phil Hagelberg
bc0898510e
Missing Lua versions or libraries cause warnings, not crashes.
...
Unfortunately the experience here is not great, at least in emacs; the
spec states that the server may send showMessage during initialization,
but eglot displays these messages only for a brief flash, quickly
replacing them with the "Connected!" message.
We probably need a different solution here but it might get ugly; like
some kind of outbound queue.
2025-02-27 00:56:45 -08:00
Phil Hagelberg
3e4b96ff27
Validate config during initialization.
2025-02-27 00:04:30 -08:00
Phil Hagelberg
029aecd7cb
Ensure --lint can print validation messages from initialization.
2025-02-26 23:56:44 -08:00
Phil Hagelberg
d23d36a414
Support :union as lua-version setting.
2025-02-26 23:09:11 -08:00
Phil Hagelberg
0d7e9b6183
Add test to ensure that evil docsets can't run evil code.
2025-02-26 22:54:42 -08:00
Phil Hagelberg
9b54f882c9
Add tests for tic80 docset and fake external docset.
2025-02-26 22:41:59 -08:00
Phil Hagelberg
6790a19fb5
Bring back tic80 built-in docset.
2025-02-26 22:39:57 -08:00
Michele Campeotto
9be8600275
Load libraries docsets from disk at runtime instead of bundling them
...
The docsets are the same .lua files that are currently being generated
by `make docs`, renamed to .fls to distinguish them from regular code
files.
The files should be copied to $XDG_DATA_HOME/fennel-ls/docsets/, the
subdirectory allows the directory to be used for other things in the
future, maybe some global configutation.
The docset are only loaded if the librarys are added to flsproject.fnl
with the same syntax used until now.
2025-02-26 21:15:52 -08:00
Phil Hagelberg
4020437c6d
Update changelog.
2025-02-26 01:42:12 -08:00
Phil Hagelberg
98cd94d212
Add aliases for lua-versions.
...
Now you can specify "lua54" OR "lua5.4" and get what you need.
2025-02-26 01:38:58 -08:00
Phil Hagelberg
d7b88efe69
Only set default completion kind when it's not already present!
2025-02-26 01:12:02 -08:00
Phil Hagelberg
415c6e95c9
Regenerate docsets to include item kind field.
2025-02-25 05:55:39 -08:00
Michele Campeotto
1d2ea48c16
allow docs to set the item kind
2025-02-25 05:38:50 -08:00
Phil Hagelberg
bbc6ec4d62
Improve selflint results by fixing a few mistakes.
...
But selflint still does not pass. This appears to be due to bugs:
src/fennel-ls/searcher.fnl:9:10: unknown field: path-sep
src/fennel-ls.fnl:44:2: unknown field: table.unpack
The first one is a pretty clear issue with the field being exported
from fennel-ls.utils but somehow not picked up; reason is unclear.
The second is due to the macroexpansion of `case` making reference to
`table.unpack`, but I think it should be suppressed because the
unknown global is not in this code; it's in the macro.
Once these get fixed, we can add selflint to the ci target.
2025-02-25 01:26:21 -08:00
Phil Hagelberg
f6fecd7b0b
Dates in the changelog.
2025-02-25 01:08:23 -08:00
Phil Hagelberg
78da9c2edc
Add support for :intersection as lua version.
...
This will only accept globals which are present in every Lua version
from 5.1-5.4. Using this for selflint currently fails, so let's fix
that next.
2025-02-25 01:08:07 -08:00
Phil Hagelberg
93f6543e42
Factor out ci target into subtargets that can be run independently.
2025-02-23 22:56:45 -08:00
Phil Hagelberg
487f4ca6f2
Fix dependency checks in CI.
2025-02-23 22:53:13 -08:00
Phil Hagelberg
2edb9c4df5
Update to fennel 1.5.3
2025-02-16 17:20:32 -08:00
Phil Hagelberg
071154f92e
Diagnostics aren't guaranteed to have ranges.
2025-02-16 14:14:14 -08:00
Phil Hagelberg
6cddd6a030
Explain that love2d support is opt-in for licensing reasons.
...
Booooooooo GFDL.
Also include a link to apt.technomancy.us.
2025-02-15 09:51:54 -08:00
Phil Hagelberg
54c3d5c6c3
Compatible with Fennel 1.5.2.
2025-02-15 09:51:54 -08:00
Phil Hagelberg
dc833b8db9
Disable failing tests.
2025-02-15 09:51:54 -08:00
Phil Hagelberg
b0e7921715
Add no-decreasing-comparison lint (off by default)
2025-02-15 09:51:54 -08:00
Phil Hagelberg
7da1c60e96
Tidy up lint.fnl file.
2025-02-15 09:51:54 -08:00
Phil Hagelberg
adcff56050
Fix warning in completion test; remove unused stuff from makefile.
2025-02-15 09:51:54 -08:00
Phil Hagelberg
e7a92df4cf
Install luarocks in CI manifest, not in ci makefile target.
2025-02-15 09:51:54 -08:00
XeroOl
ae66e6d002
analyzer can search into macro expansions and functions
...
shoutouts to rudy for working with me on these changes.
2025-01-19 19:56:37 -06:00
XeroOl
bfc6d64237
docs: add a table for lspconfig to be happy
2025-01-16 20:55:30 -06:00
Phil Hagelberg
bf06506f92
Disable printing during compilation.
2025-01-05 13:29:45 -08:00
Phil Hagelberg
e5dc04764c
Allow trailing underscores to bypass unused local warnings.
2025-01-05 12:40:25 -08:00
Phil Hagelberg
3979ab4c3c
Strings beginning with digits can't be rewritten as syms.
...
Also fix a self-lint.
2025-01-05 12:39:10 -08:00
XeroOl
25196aeabf
Make it so that Lua 5.1 works again
2025-01-05 13:31:13 -06:00