On Friday, 9 August 2013 at 06:41:10 UTC, Brian Schott wrote:
I've been making some progress on a project called DCD[1], which is D's answer to Go's Gocode[2]. It's a command-line client/server autocompletion program for D built off the same lexer/parser/ast code that powers DScanner.

I'd like to get some help writing integration scripts for the editors that I don't use such as Vim, Emacs, Sublime, and of course your favorite that I left off the list. If you have experience scripting your text editor of choice and some spare time to play with new and unstable software, please consider creating a pull request.

[1] https://github.com/Hackerpilot/DCD
[2] https://github.com/nsf/gocode

I can build the client just fine, but I get errors when I try to build the server:


acvisitor.d(107): Error: no property 'startLocation' for type 'stdx.d.ast.EnumBody' acvisitor.d(108): Error: no property 'endLocation' for type 'stdx.d.ast.EnumBody'
acvisitor.d(107): Error: no constructor for Scope
acvisitor.d(138): Error: no property 'location' for type 'stdx.d.ast.Constructor' autocomplete.d(252): Error: no property 'setTokens' for type 'Parser' autocomplete.d(253): Error: struct stdx.d.parser.Parser member isSliceExpression is not accessible autocomplete.d(268): Error: no property 'setTokens' for type 'Parser' autocomplete.d(270): Error: struct stdx.d.parser.Parser member isSliceExpression is not accessible autocomplete.d(83): Error: template instance autocomplete.setCompletions!(SortedRange!(const(Token)[], "a < b")) error instantiating ../dscanner/stdx/d/parser.d(386): Warning: statement is not reachable ../dscanner/stdx/d/parser.d(401): Warning: statement is not reachable ../dscanner/stdx/d/parser.d(415): Warning: statement is not reachable ../dscanner/stdx/d/parser.d(429): Warning: statement is not reachable ../dscanner/stdx/d/parser.d(448): Warning: statement is not reachable ../dscanner/stdx/d/parser.d(462): Warning: statement is not reachable ../dscanner/stdx/d/parser.d(476): Warning: statement is not reachable ../dscanner/stdx/d/parser.d(490): Warning: statement is not reachable ../dscanner/stdx/d/parser.d(504): Warning: statement is not reachable ../dscanner/stdx/d/parser.d(522): Warning: statement is not reachable ../dscanner/stdx/d/parser.d(536): Warning: statement is not reachable ../dscanner/stdx/d/parser.d(550): Warning: statement is not reachable ../dscanner/stdx/d/parser.d(587): Warning: statement is not reachable ../dscanner/stdx/d/parser.d(607): Warning: statement is not reachable ../dscanner/stdx/d/parser.d(621): Warning: statement is not reachable ../dscanner/stdx/d/parser.d(3640): Warning: statement is not reachable ../dscanner/stdx/d/parser.d(5606): Warning: statement is not reachable


Since the `EnumBody` class is defined in Dscanner, I'm gonna take a wild guess and say you need to do some pushing to Dscanner.

DCD depends on Dscanner's source, so wouldn't it be a better idea to include it as a submodule? Event if you are developing them in parallel, and modifying Dscanner's source all the time to suit DCD's needs, you can use two build scripts - one that takes Dscanner from the parallel directory and used actively during the development, and one that takes it from the submodule and only used before a release\push to make sure other people can build it too.

Reply via email to