~xerool

~xerool/fennel-ls

Last active a month ago

~xerool/public-inbox

Last active 9 months ago
View more

Recent activity

[Proposal] Moving fennel-ls to become an official Fennel project 9 days ago

From XeroOl to ~technomancy/fennel

Hey everyone,

I've been maintaining fennel-ls (the language server for Fennel) for a
while now. While it's been wonderful to that people are using it, I've
been feeling burnt out as the primary maintainer. I think the project
would benefit from broader community involvement.

I'd like to propose that we consider making fennel-ls an official
Fennel project, by migrating the repository from ~xerool/fennel-ls to
~technomancy/fennel-ls. This would give it a more "official" status,
similar to where `fnlfmt` is today.

I've already given technomancy access to the ~xerool/fennel-ls
repository, so it will still be possible to keep fennel-ls maintained

Re: [PATCH fennel-ls 1/1] Add instructions for configuring Sublime Text 3 months ago

From XeroOl to ~xerool/fennel-ls

Dear Mattly,

Thank you for the contribution! I've applied it!

Sincerely,
XeroOl

Re: [PATCH] Add match-should-case lint and fix action. 3 months ago

From XeroOl to ~xerool/fennel-ls

Phil,
I'm merging/applying(?) your lints now. Not sure the terminology, but you know what I mean.

Thank you very much for your patches!

Sincerely,
XeroOl

Release 0.1.3 of fennel-ls supports Fennel 1.5.0 6 months ago

From XeroOl to ~xerool/fennel-ls

I've added a lot since the last release of fennel-ls. So far I've been
making fennel-ls releases to respond to fennel releases, and this one is
for Fennel 1.5.0. However, the latest fennel release isn't yet out on
LuaRocks, so if you get fennel-ls from luarocks, it will still be using
fennel 1.4.2. Here's what's changed:

### Features
* Updated to fennel 1.5.0
* Better results when syntax errors are present
* Docs for each Lua version: 5.1 through 5.4
* Docs for TIC-80

### Changes
* --check is now --lint

Re: [PATCH 2/2] Format '--check' errors so that tooling can detect them 6 months ago

From XeroOl to ~xerool/fennel-ls

Thank you very much!

I've applied both of these.

XeroOl

[PATCH fennel] (and)/(or) falls back to (if) instead of IIFE 9 months ago

From XeroOl to ~technomancy/fennel

I think this may mean that we never need things to defensively wrap
themselves in IIFE for side-effects ever again. We'll still need some
IIFE to deal with multival, though.

---
Before, an expression like
```fnl
(or (foo) (bar) (baz)
  (if true 1 2)  ;; this one needs a statement
  (quux)
  (do 100)  ;; this one needs a statement
  a b c)
```
would compile to
[message trimmed]

Re: [PATCH] Use luarocks.fs.execute_string to run compile commands 9 months ago

From XeroOl to ~xerool/public-inbox

I applied it, and pushed a v0.1.1 to LuaRocks. Thank you very much!

[PATCH fennel] Fix multival returns in -?> and -?>> 10 months ago

From XeroOl to ~technomancy/fennel

My previous patch messed up the -?> macro. Although -?> and -?>> don't
handle intermediate multivals, their final step can be a multival, and
shouldn't be stored in a variable.

The (doto) macro also was changed in the previous patch, but doesn't
need to be fixed; it still works as intended.

There's a careful balance between making `-?>` a recursive function, and
making `-?>` emit a call to `-?>` that needs to go through another
macroexpand step. A recursive call will run much faster, but it will also
skip the autogensym step, so all of the `tmp#` identifiers would receive
the same symbol. Because of this, the `tmp#` branch emits a `-?>` call in
the output to force autogensym, but the other call is native recursion
for speed.
[message trimmed]

[PATCH fennel] Allow -?> and -?>> to skip gensym 10 months ago

From XeroOl to ~technomancy/fennel

This patch changes the output of -?> and -?>> to only bind their
argument to an identifier if it isn't already idempotent. To do this,
the (double-eval-safe?) helper function is promoted to the top of
src/fennel/macros.fnl, so the logic can be cleanly shared across the
macros.

Each macro is written so that it expects its argument to be idempotent.
Whenever this expectation is broken, the macro simply binds the argument
and recursively re-invokes itself.

The doto macro also had logic to prevent unnecessary bindings, and this
patch refactors that logic so that it is in the same format as the -?>
and -?>> macros.
[message trimmed]

[PATCH fennel v2] Relax multisym identifier requirements 11 months ago

From XeroOl to ~technomancy/fennel

Changes the rules so that multisym symbols whose tail pieces start
with a digit contain `&`, such as `foo.0123:&&&` are allowed. This
commit doesn't fix the other issue with symbols that end in `.`.
---
 src/fennel/compiler.fnl | 2 +-
 src/fennel/parser.fnl   | 3 ---
 src/fennel/repl.fnl     | 1 -
 test/failures.fnl       | 2 --
 test/misc.fnl           | 4 ++++
 5 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/src/fennel/compiler.fnl b/src/fennel/compiler.fnl
index 8b2b296..94d94e0 100644
--- a/src/fennel/compiler.fnl
[message trimmed]