Skip to content

Tags: mario/drey

Tags

v0.1.3

Toggle v0.1.3's commit message
v0.1.3

Content-Length is matched without regard to case, so a client using
CONTENT-LENGTH: is no longer told the header is missing.

The test suites no longer leak daemons. A daemon detaches and only drey stop
ends it; the CLI suite left 8 running per invocation, which accumulated until
the suite timed out under the process pressure.

v0.1.2

Toggle v0.1.2's commit message
v0.1.2

Root widening no longer climbs to $HOME. A stray marker file in your home
directory merged every project underneath into one backend indexing the whole
home directory, which is wrong sharing, and wrong sharing is silent.

A duplicate Content-Length header is now refused instead of letting the last
value win, which desynchronised the stream with no error to point at the cause.

v0.1.1

Toggle v0.1.1's commit message
v0.1.1

drey install and drey uninstall, so a binary from Homebrew or cargo install
can set up the PATH interposition without cloning the repository. The wrappers
exec whichever drey binary you ran install from.

Also fixes the config path on macOS: install.sh wrote ~/.config/drey, while the
daemon reads dirs::config_dir(), which is ~/Library/Application Support/drey.
The generated config was never read there.

v0.1.0

Toggle v0.1.0's commit message
v0.1.0

One language server per workspace, shared by every client.

The shim looks like a language server on stdio; the daemon owns one real
server per workspace and autostarts on first use. Clients attach by root
containment, so a crate inside a Cargo workspace joins the server already
holding it. Two clients with different unsaved edits to the same file share
one process: each document keeps a base text and a loaded text, and the
daemon swaps the loaded one rather than forking.

Builtins for rust-analyzer, gopls, typescript, pyright, ruff, clangd, zls,
lua, elixir and jdtls.