All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- configuration option
pass_environment
which specifies a list of env var names to be passed from ra-multiplex client proxy to the spawned language server (rust-analyzer) - added the option to use unix sockets instead of TCP sockets on unix family operating systems
- on windows remove leading
/
before drive letter
- track open files by clients to avoid sending duplicate
textDocument/didOpen
andtextDocument/didClose
notifications - fix
reload
subcommand leaking client connections - properly percent-decodes URIs from LSP, so whitespace and other URI unsafe characters in project path don't cause issues
status
subcommand to show server statereload
subcommand to sendrust-analyzer/reloadWorkspace
command in case automatic reload fails
- merge server and client binaries, now using subcommands with a single binary
- replace custom handshake messages with a field in native LSP initialize messages #49
- handle
workspace/configuration
server request to fix rust-analyzer configuration with some LSP clients - handle
workDoneProgress/create
server request to fix progress indicators in editors - handle url encoded paths
- allows disabling automatic workspace detection with
workspace_detection
configuration option
- send expected response to editor on
shutdown
request, prevents hang when quitting helix
- adds
RA_MUX_SERVER
env var as an alias to--ra-mux-server
CLI option
- removes
arg_parsing
option from configuration, client argument parsing is now unconditional - renames
--server
CLI option to--ra-mux-server
- client recognizes
--version
CLI flag and doesn't cause error with vscode anymore
- skip
shutdown
request so disconnecting clients don't turn off the instance for other clients
- initial support for language servers other than rust-analyzer
- optional CLI parsing for client, enabled with
arg_parsing
configuration option - enable
.ra-multiplex-workspace-root
file to mark workspace root for workspaces without Cargo.toml
- disconnect clients immediately when instance closes
- cache
initialize
request ID instead of guessing it
- replace
listen
andport
configuration options with separatelisten
andconnect
options for server and client/proxy
- remove requirement for nightly
- configuration file support
- crash if client cwd is not valid utf-8 explicitly instead of using replacement characters
- dangling input channels no longer keep instance alive