LFE (Lisp Flavoured Erlang) LFE Language Server

Just to introduce LFE has an LSP server:

Would be great to get some feedback.



Ok, here’s my feedback: you’re a BEAM rockstar! :smile:
Seriously. One cool aspect of this is also to see more LFE applications out there.

1 Like

Tell me more, tell me more. :grinning:


This looks awesome!

I see there’s instructions for using this with elgot. How would I go about connecting it to lsp?


To allow Emacs with Eglot (or also lsp-mode) to trigger completion on : character one has to tweak the lfe-mode to change lfe-mode-syntax-table and set : to be a punctuation character. Here is the full function (found in lfe-mode.el):

(defvar lfe-mode-syntax-table
  (let ((table (copy-syntax-table lisp-mode-syntax-table)))
    ;; Like scheme we allow [ ... ] as alternate parentheses.
    (modify-syntax-entry ?\[ "(]  " table)
    (modify-syntax-entry ?\] ")[  " table)
    ;; ":" character should be used as punctuation to separate symbols
    (modify-syntax-entry ?: "." table)
  "Syntax table in use in Lisp Flavoured Erlang mode buffers.")

Is this a change you could upstream to lfe-mode? Or does this introduce some other incompatibilities we should watch out for?

1 Like

Yeah, PR could be made. I’m not aware of incompatibilities.
Hopefully I find some time shortly.

1 Like