Request for editor scripting help

Idan Arye GenericNPC at gmail.com
Mon Aug 12 12:16:31 PDT 2013


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.


More information about the Digitalmars-d mailing list