August 12, 2013
On Monday, 12 August 2013 at 19:16:34 UTC, Idan Arye wrote:
> 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.

You're correct. I forgot to do a push last night. Unfortunately I won't be able to get this fixed for another 5 hours or so.
August 12, 2013
On Monday, 12 August 2013 at 19:34:53 UTC, Brian Schott wrote:
> On Monday, 12 August 2013 at 19:16:34 UTC, Idan Arye wrote:
>> 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.
>
> You're correct. I forgot to do a push last night. Unfortunately I won't be able to get this fixed for another 5 hours or so.

Well, more time for me to be lazy I guess.
August 13, 2013
On Monday, 12 August 2013 at 19:34:53 UTC, Brian Schott wrote:
> You're correct. I forgot to do a push last night. Unfortunately I won't be able to get this fixed for another 5 hours or so.

It's checked in now.
August 13, 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

How hard would it be  for dcd to offer completion based on line and column numbers instead of byte offsets?
August 13, 2013
On Tuesday, 13 August 2013 at 06:58:23 UTC, Tobias Pankrath wrote:
> How hard would it be  for dcd to offer completion based on line and column numbers instead of byte offsets?

It's more code to maintain, but it's possible. The token structure stores its line and column.

https://github.com/Hackerpilot/Dscanner/blob/master/stdx/d/lexer.d#L129
August 13, 2013
On Tuesday, 13 August 2013 at 01:34:37 UTC, Brian Schott wrote:
> On Monday, 12 August 2013 at 19:34:53 UTC, Brian Schott wrote:
>> You're correct. I forgot to do a push last night. Unfortunately I won't be able to get this fixed for another 5 hours or so.
>
> It's checked in now.

OK, I got it to work.

I'm gonna copy and modify the Dscanner plugin to use DCD instead so you can have something to bundle with your repo, but in the long run, I think it's better to have a combined plugin - one that first tries DCD, and if it can't connect to the server uses Dscanner as backup. That's the way the Clojure plugins work(though to be fair - they have to. Clojure takes ages to load, so you either use a live REPL server or smash your computer with a sledgehammer)

Such combined plugin shouldn't be in part of one tool's repository - since it depends on both - so when I finally get down to write one I'll put it in a separate repository. Also, I would probably make it a plugin for a build system(probably dub), so I could take import paths from there.
August 15, 2013
Status update:

Preliminary Emacs support has been pulled into the repository.
Kate and Vim are in progress. Textadept is working.

Autocomplete works in most cases now. Only a few features remain
between here and a beta release.

Tonight I managed to get a function call tip for a variable whose
type is an alias of a function pointer. Yes, I have a use case
for this[1].

http://i.imgur.com/JMXcHTZ.png

[1] https://github.com/aldacron/Derelict3
August 15, 2013
On 2013-08-09 08:41, 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 tried to compile this and I got these errors:

acvisitor.d(289): Error: no property 'name' for type 'stdx.d.ast.AliasInitializer'
acvisitor.d(311): Error: no property 'name' for type 'stdx.d.ast.AliasDeclaration'
acvisitor.d(322): Error: no property 'name' for type 'stdx.d.ast.AliasDeclaration'

I tried this on Mac OS X, yes I know it's not supported but I wanted to try anyway.

A couple of comments:

* If DCD depends on DScanner, why don't you add it as a submodule?

* If you don't want to include DScanner as a submodule, you should at least have a link to it

* If you clone with "git clone --recursive" submodules are automatically cloned

* Actually, "git clone --recursive" won't work. I think it's because you haven't used the Git protocol when including message pack

* It should be mentioned how to build the project, i.e. build.sh

* Does this even build out of the box on Linux? If you just clone DScanner it will create a directory "DScanner", not "dscanner" which is required by the build script. This only happened to work on Mac OS X because the file system is case insensitive

-- 
/Jacob Carlborg
August 15, 2013
On Thursday, 15 August 2013 at 07:27:08 UTC, Jacob Carlborg wrote:
The updates to the AST library are checked in, and I've set up a submodule. It should build now. (Maybe now I'll remember to push the changes to both projects.)
August 15, 2013
On 2013-08-15 10:11, Brian Schott wrote:
> On Thursday, 15 August 2013 at 07:27:08 UTC, Jacob Carlborg wrote:
> The updates to the AST library are checked in, and I've set up a
> submodule. It should build now. (Maybe now I'll remember to push the
> changes to both projects.)

Awesome, thanks.

-- 
/Jacob Carlborg