No description
  • Emacs Lisp 98.8%
  • Python 1.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Ryan Joshua b46454c064
Some checks are pending
CI / byte-compile (28.1) (push) Waiting to run
CI / byte-compile (29.4) (push) Waiting to run
CI / byte-compile (30.1) (push) Waiting to run
CI / test (28.1) (push) Waiting to run
CI / test (29.4) (push) Waiting to run
CI / test (30.1) (push) Waiting to run
Allow completion inside call parentheses
Stop suppressing CAPF and auto-triggered completion while point is inside (...), so trigger characters like '.' still request candidates. Keep signature help behavior and update tests/docs to match.
2026-02-23 08:07:00 +08:00
.github/workflows ci: add catalog script syntax check 2026-02-15 10:25:09 +08:00
scripts Fix: search up directory tree for node_modules/.bin 2026-02-14 23:15:34 +08:00
test Allow completion inside call parentheses 2026-02-23 08:07:00 +08:00
.gitignore initial core 2026-02-14 19:53:57 +08:00
README.md Allow completion inside call parentheses 2026-02-23 08:07:00 +08:00
vortel-lsp-catalog.json initial core 2026-02-14 19:53:57 +08:00
vortel-lsp-client.el Improve performance and fix bugs 2026-02-22 20:01:14 +08:00
vortel-lsp-config.el hints, docs, and boxes 2026-02-17 16:22:14 +08:00
vortel-lsp-jsonrpc.el fix json encoding for lsp payloads 2026-02-14 20:44:23 +08:00
vortel-lsp-registry.el Improve performance and fix bugs 2026-02-22 20:01:14 +08:00
vortel-lsp-transport.el fix: resolve server executables from project venv bins 2026-02-15 14:41:48 +08:00
vortel-lsp-util.el Improve performance and fix bugs 2026-02-22 20:01:14 +08:00
vortel-lsp.el Allow completion inside call parentheses 2026-02-23 08:07:00 +08:00

vortel-lsp

vortel-lsp is an Emacs LSP package with a Helix-inspired architecture.

Usage

1) Load package files

Add this to your Emacs config:

(add-to-list 'load-path "/path/to/vortel-lsp")
(require 'vortel-lsp)

2) Enable in programming buffers

(add-hook 'prog-mode-hook #'vortel-lsp-mode)

Or enable manually with M-x vortel-lsp-mode.

3) Override server commands when needed

  (setq vortel-lsp-server-overrides
        '(("typescript-language-server"
          :command "typescript-language-server"
          :args ("--stdio"))))

4) Missing servers and server selection

By default, vortel-lsp skips missing language servers and warns once per (server, workspace). This avoids repeated errors when your catalog lists multiple servers but you only have one installed.

Prefer a single server for a language (example: only ty for Python):

(setq vortel-lsp-preferred-servers
      '(("python" . ("ty"))))

Silence missing-server warnings (still skips missing executables):

(setq vortel-lsp-missing-server-policy 'silent-skip)

Disable a server globally:

(setq vortel-lsp-disabled-servers '("pylsp" "jedi" "ruff"))

5) Useful commands

  • M-x vortel-lsp-hover
  • M-x vortel-lsp-find-definition
  • M-x vortel-lsp-find-references
  • M-x vortel-lsp-rename-symbol
  • M-x vortel-lsp-code-actions
  • M-x vortel-lsp-signature-help

6) Signature help

vortel-lsp displays a Helix-style argument hint box while you type inside (...) argument lists. Trigger characters ( and , activate it automatically, and the active argument is highlighted for both positional and named/non-positional arguments when possible.

Signature hints and completion can both be used inside (...). Typing completion trigger characters (such as .) still requests LSP candidates while the signature hint box remains available. The floating box is placed below point when possible, and falls back beside or above based on available window space.

Moving or clicking inside argument lists also refreshes signature help.

;; Disable auto signature help (use M-x vortel-lsp-signature-help manually)
(setq vortel-lsp-signature-help-mode 'manual)

;; Adjust doc line limit
(setq vortel-lsp-signature-help-max-doc-lines 3)

Manual invocation: M-x vortel-lsp-signature-help

7) Notes

  • Keep vortel-lsp-catalog.json available (default: package dir).
  • Elpaca installs are auto-detected: when loaded from elpaca/builds, vortel-lsp falls back to the matching elpaca/repos catalog file.
  • Diagnostics are integrated with Flymake by default.
  • Diagnostics at point are shown in the echo area by default.
  • Hover docs are shown in a floating frame while point is on a symbol.
  • Completion is exposed through Emacs CAPF.