DCD/editors/vim
Brad Anderson 2efb9d8c74 Add Vundle and improve Windows instructions 2013-09-12 21:08:08 -06:00
..
autoload Added a Vim plugin option to add import paths as arguments to DCDstartServer 2013-08-30 03:46:55 +03:00
ftplugin Added the clearCache command 2013-08-30 03:51:13 +03:00
README.md Add Vundle and improve Windows instructions 2013-09-12 21:08:08 -06:00

README.md

A plugin for using DCD with vim.

Tested on Linux (and a bit on Windows)

Installation

Vundle

  1. Add Bundle "Hackerpilot/DCD", {'rtp': 'editors/vim'} to your vimrc.
  2. :BundleInstall

Manual

Put the autoload and ftplugin folders in your vim runtime path.

Configuration

Compile DCD and put both dcd-client and dcd-server in your path, or set the global variable g:dcd\_path to where you put DCD.

You can set g:dcd\_importPath to an import path(or list of import paths) to use when starting the server. You should do so for Phobos and DRuntime - since DCD does not add them for you. On Linux it should be:

let g:dcd_importPath=['/usr/include/d','/usr/include/d/druntime/import']

On Windows you need to locate the root of your dmd installation (typically C:\D). Phobos and DRuntime can be found within under dmd2\src\phobos and dmd2\src\druntime\import, respectively. Example:

let g:dcd_importPath=['C:\D\dmd2\src\phobos','C:\D\dmd2\src\druntime\import']

Import paths are globbed with Vim's globbing function.

Usage

When the filetype is D, use the DCDstartServer command to start the server and the DCDstopServer command to stop the server. DCDstartServer can receive import path(s) as arguments.

Use the DCDaddPath command to add a import path(s) to the server. Make sure you escape spaces! Import paths are globbed with Vim's globbing function.

Use the DCD command to send arbitary commands to the server via the client. The syntax is the same as with dcd-client, so you can use it without arguments to print the help message.

Use DCDclearCache to clear the DCD server cache.

When the server is running, use CTRL+x CTRL+o in a D buffer to use DCD completion.

Conflicts

This plugin conflicts with the DScanner plugin, as both use the dcomplete autoload namespace and the dcomplete#Complete function - as per Vim's conventions.