Awesome
THE workspace-d CLI IS NO LONGER MAINTAINED - API/LIBRARY USERS SEE serve-d:workspace-d
workspace-d started out as executable for different IDEs to implement D functionality within them back before LSP was a thing. Over time all functionality got exposed using workspace-d as a library in a new program called serve-d which is a server implementation of the Microsoft Language Server Protocol. (LSP)
As the LSP server has been very stable for a while and workspace-d as a standalone not being used anymore I decided to deprecate the workspace-d command line interface with its proprietary RPC protocol.
The source code of workspace-d now lives in serve-d as a subpackage (serve-d:workspace-d).
As the proprietary RPC protocol has been removed a lot of template code has been removed and compilation times as library have sped up. Furthermore it's possible to use all of D's features in workspace-d APIs now, without needing to take care of the custom RPC protocol.
Old README:
workspace-d
workspace-d wraps dcd, dfmt and dscanner to one unified environment managed by dub.
It uses process pipes and json for communication.
Special Thanks
Thanks to the following big GitHub sponsors financially supporting the code-d/serve-d tools:
- Jaen (@jaens)
Installation
Precompiled binaries for windows & linux
Automatic Installation
Just run install.sh or install.bat (Windows/WIP)
sh install.sh
Manual Installation
First, install the dependencies:
- dcd - Used for auto completion
- dfmt - Used for code formatting
- dscanner - Used for static code linting
Then, run:
git clone https://github.com/Pure-D/workspace-d.git
cd workspace-d
git submodule init
git submodule update
dub build --build=release --compiler=ldc2
Either move all the executable binaries to one path and add that path to the Windows PATH variable or $PATH on Posix, or change the binary path configuration in your editor.
Usage
For users
- Visual Studio Code: code-d
For plugin developers
Microsoft Language Server Protocol (LSP) wrapper: serve-d