workspace-d ~master

Provides functions for IDEs for managing DCD, Dscanner and Dfmt. Usable as application and library


To use this package, run the following command in your project's root directory:

Manual usage
Put the following dependency into your project's dependences section:


This package provides sub packages which can be used individually:

workspace-d:installer - Builds workspace-d and its dependencies

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 Build Status

Join the chat: Join on Discord

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:

[become a sponsor](https://github.com/sponsors/WebFreak001)

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

For plugin developers

Microsoft Language Server Protocol (LSP) wrapper: serve-d

Wiki/Message Format

Authors:
  • webfreak
Sub packages:
workspace-d:installer, workspace-d:dcd, workspace-d:dml
Dependencies:
dfmt, inifiled, dub, workspace-d:dcd, painlessjson, emsi_containers, dscanner, libdparse, standardpaths
Versions:
3.8.0 2022-Feb-23
3.8.0-beta.2 2022-Feb-17
3.8.0-beta.1 2022-Feb-12
3.7.0 2022-Jan-06
3.6.1 2021-Nov-20
Show all 69 versions
Download Stats:
  • 1 downloads today

  • 11 downloads this week

  • 43 downloads this month

  • 11721 downloads total

Score:
3.3
Short URL:
workspace-d.dub.pm