Re: DCD: Autocomplete without the IDE

2013-09-15 Thread Jacob Carlborg

On 2013-09-15 23:41, Brian Schott wrote:


I start and stop the server manually. I know that this should be
improved, but there are a few other things that I'd like to focus on first.


Ok, I can probably add this to a menu.



Things such as the standard library location can be placed in
$XDG_CONFIG_HOME/dcd/dcd.conf or $HOME/.config/dcd/dcd.conf on Linux or
BSD, or dcd.conf (in the same directory as the server executable) on
Windows. The server reads this on startup and caches all .d and .di
files that it finds in the paths in that file.


Ok, I see. But a user needs to be able use different compilers for 
different projects. I'll see if I can use the project specific settings 
and fall back on dcd.conf.



Symbols are filtered by the import statements that are contained in the
text that you send to dcd-client, so there shouldn't be a conflict. If
you have multiple foo backages each with a bar module, then it'll
probably break.


So ideally one server per session/project. That won't conflict, right? I 
can just use different ports?


--
/Jacob Carlborg


Re: DCD: Autocomplete without the IDE

2013-09-15 Thread Walter Bright

On 9/1/2013 3:58 AM, Brian Schott wrote:

* What does it look like?
There's a short demo video on Youtube: 
http://www.youtube.com/watch?v=Vo2POmn2_9U


Looks very nice!



Re: DCD: Autocomplete without the IDE

2013-09-15 Thread Brian Schott
On Sunday, 15 September 2013 at 12:38:03 UTC, Jacob Carlborg 
wrote:
I'm thinking about adding support for this to TextMate. But as 
soon as one adds this to an editor a bunch of new issues 
appears, which I'm trying to figure out.


* When to start/stop the server. I'm, at least as a start, 
going to try and implement this as a bundle command and not a 
plugin. A bundle command basically is a script that is run when 
a key is pressed


I start and stop the server manually. I know that this should be 
improved, but there are a few other things that I'd like to focus 
on first.


* How to deal with import paths? TextMate doesn't have any kind 
of build configuration. I need to be able to specify, except 
for the current project, the path to the standard library and 
possibly paths for other projects. I have an idea how to do 
this, using custom keys in the project specific settings, but 
I'm wondering how this is solved in other editors.


Things such as the standard library location can be placed in 
$XDG_CONFIG_HOME/dcd/dcd.conf or $HOME/.config/dcd/dcd.conf on 
Linux or BSD, or dcd.conf (in the same directory as the server 
executable) on Windows. The server reads this on startup and 
caches all .d and .di files that it finds in the paths in that 
file.


* How to deal with multiple sessions/projects? Should I have 
one server running per session/project? Say I have two 
different projects, both with the symbol "foo.bar". I don't 
want those to cause conflicts.


Symbols are filtered by the import statements that are contained 
in the text that you send to dcd-client, so there shouldn't be a 
conflict. If you have multiple foo backages each with a bar 
module, then it'll probably break.


Re: DCD: Autocomplete without the IDE

2013-09-15 Thread Jacob Carlborg

On 2013-09-01 12:58, Brian Schott wrote:

* What is it?
DCD is a client and server program that work together to provide
autocomplete suggestions and function call tips to almost any text
editor that supports scripting or plugins.


I'm thinking about adding support for this to TextMate. But as soon as 
one adds this to an editor a bunch of new issues appears, which I'm 
trying to figure out.


* When to start/stop the server. I'm, at least as a start, going to try 
and implement this as a bundle command and not a plugin. A bundle 
command basically is a script that is run when a key is pressed


* How to deal with import paths? TextMate doesn't have any kind of build 
configuration. I need to be able to specify, except for the current 
project, the path to the standard library and possibly paths for other 
projects. I have an idea how to do this, using custom keys in the 
project specific settings, but I'm wondering how this is solved in other 
editors.


* How to deal with multiple sessions/projects? Should I have one server 
running per session/project? Say I have two different projects, both 
with the symbol "foo.bar". I don't want those to cause conflicts.


--
/Jacob Carlborg