The D Completion Daemon is an auto-complete program for the D programming language
Go to file
Hackerpilot 974d3dc3ba A lot of progress 2013-08-08 23:31:25 +00:00
editors A lot of progress 2013-08-08 23:31:25 +00:00
msgpack-d@40c797cb8a Can sometimes autocomplete version, scope, and __traits 2013-07-16 23:57:41 -07:00
.gitmodules Can sometimes autocomplete version, scope, and __traits 2013-07-16 23:57:41 -07:00
License.txt Decided on GPL3 for the project 2013-07-19 16:09:34 -07:00
README.md A lot of progress 2013-08-08 23:31:25 +00:00
actypes.d A lot of progress 2013-08-08 23:31:25 +00:00
acvisitor.d A lot of progress 2013-08-08 23:31:25 +00:00
autocomplete.d A lot of progress 2013-08-08 23:31:25 +00:00
build.sh Able to autocomplete some symbols from other modules now. Still crashes a lot 2013-08-08 02:40:15 +00:00
client.d A lot of progress 2013-08-08 23:31:25 +00:00
constants.d Tons of hacking, but not necessarily tons of progress 2013-08-07 01:36:36 +00:00
messages.d Able to autocomplete some symbols from other modules now. Still crashes a lot 2013-08-08 02:40:15 +00:00
modulecache.d A lot of progress 2013-08-08 23:31:25 +00:00
server.d A lot of progress 2013-08-08 23:31:25 +00:00
teaser.png Udated readme. Also added a change that was supposed to be in the last commit 2013-08-08 02:46:43 +00:00

README.md

#Overview The D Completion Daemon is an auto-complete program for the D programming language.

Teaser

#Status This program is still in an alpha state.

  • Working:
    • Autocompletion of properties of built-in types such as int, float, double, etc.
    • Autocompletion of __traits, scope, and extern arguments
    • Autocompletion of enums
    • Autocompletion of class, struct, and interface instances.
    • Display of call tips (but only for the first overload)
  • Not working:
    • UFCS
    • Templates
    • auto declarations
    • Operator overloading (opIndex, opSlice, etc) when autocompleting
    • Instances of enum types resolve to the enum itself instead of the enum base type
    • Function parameters do not appear in the scope of the function body
    • Public imports
    • That one feature that you REALLY needed

#Setup

  1. Run git submodule update --init after cloning this repository to grab the MessagePack library.
  2. The build script assumes that the DScanner project is cloned into a sibling folder. (i.e. "../dscanner" should exist).
  3. Modify the server.d file because several import paths are currently hard-coded. (See also: the warning at the beginnig that this is alpha-quality)
  4. Configure your text editor to call the dcd-client program
  5. Start the dcd-server program before editing code.