www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - DCD 0.3.0-beta1 and DScanner 0.1.0-beta1

reply "Brian Schott" <briancschott gmail.com> writes:
New DCD and DScanner betas are  ready for testing. The tags can 
be found here:

https://github.com/Hackerpilot/DCD/tree/0.3.0-beta1
https://github.com/Hackerpilot/Dscanner/tree/0.1.0-beta1

DCD Changes:
* Uptake new lexer/parser/ast code from DScanner
* Add new --symbolLocation switch that instructs the server to 
return the
   declaration location of the symbol at the cursor
* Add new --doc switch that instructs the server to return any 
documentation
   comments associated with the symbol at the cursor



variables



DScanner changes:
* Now actually tagged with version numbers!
* Implemented experimental --styleCheck option that will run some 
basic
   static analysis checks on the files provided.
** Warns when opCmp, toHash, toString, and opEquals are not const
** Warns on implicit concatenation of string literals
** Warns on catching the base exception types (i.e Exception, 
Throwable, etc)
** Warns when the deprecated floating-point operators are used
** Warns when the deprecated "delete" keyword is used
** Warns when large enum constants such as array literals are 
created.
** Warns when using old-style alias declarations (i.e. alias type 
identifier
    instead of alias identifier = type)
** Warns when using deprecated complex number literals.
** Warns on empty statements (i.e. spare semicolons)
** Warns when using large number literals without underscores
** Warns on violations of the Phobos naming conventions (e.g. 
mixed case
    package names, lowercase class names, etc)
* Fixed many issues in the parser
* Fixed issues with the AST dump not correctly printing several 
expression node
   types
* Rewrote lexer, parser, and AST code. The new lexer generator 
should be ready
   for another Phobos review very soon.

About DCD:

DCD is the D Completion Daemon, a text editor and IDE-neutral 
autocompletion engine for the D programming language. DCD has 
plugins for several editors such as Textadept, Kate, Vim, Emacs, 
Zeus, and Sublime Text 3.

About DScanner:

DScanner is a Swiss army knife for D source code. It can perform 
various tasks such as
* Source line of code counting
* Import listing
* HTML syntax highlighting
* Syntax checking
* Some basic static analysis
* Generating CTAGS
* Generating an outline of a D file
* Dumping the AST of a D file into an XML file.

P.S. Only the Textadept module has support for the new 
--symbolLocation and --doc switches. If you're one of the 
excellent people who wrote one of the other plugins, I'd 
appreciate your help adding support for these features to your 
favorite editor before a non-beta release is tagged.
Jan 28 2014
next sibling parent reply "yazd" <yazan.dabain gmail.com> writes:
On Tuesday, 28 January 2014 at 09:58:27 UTC, Brian Schott wrote:
 New DCD and DScanner betas are  ready for testing. The tags can 
 be found here:

 https://github.com/Hackerpilot/DCD/tree/0.3.0-beta1
 https://github.com/Hackerpilot/Dscanner/tree/0.1.0-beta1

 DCD Changes:
 * Uptake new lexer/parser/ast code from DScanner
 * Add new --symbolLocation switch that instructs the server to 
 return the
   declaration location of the symbol at the cursor
 * Add new --doc switch that instructs the server to return any 
 documentation
   comments associated with the symbol at the cursor



 variables



 DScanner changes:
 * Now actually tagged with version numbers!
 * Implemented experimental --styleCheck option that will run 
 some basic
   static analysis checks on the files provided.
 ** Warns when opCmp, toHash, toString, and opEquals are not 
 const
 ** Warns on implicit concatenation of string literals
 ** Warns on catching the base exception types (i.e Exception, 
 Throwable, etc)
 ** Warns when the deprecated floating-point operators are used
 ** Warns when the deprecated "delete" keyword is used
 ** Warns when large enum constants such as array literals are 
 created.
 ** Warns when using old-style alias declarations (i.e. alias 
 type identifier
    instead of alias identifier = type)
 ** Warns when using deprecated complex number literals.
 ** Warns on empty statements (i.e. spare semicolons)
 ** Warns when using large number literals without underscores
 ** Warns on violations of the Phobos naming conventions (e.g. 
 mixed case
    package names, lowercase class names, etc)
 * Fixed many issues in the parser
 * Fixed issues with the AST dump not correctly printing several 
 expression node
   types
 * Rewrote lexer, parser, and AST code. The new lexer generator 
 should be ready
   for another Phobos review very soon.

 About DCD:

 DCD is the D Completion Daemon, a text editor and IDE-neutral 
 autocompletion engine for the D programming language. DCD has 
 plugins for several editors such as Textadept, Kate, Vim, 
 Emacs, Zeus, and Sublime Text 3.

 About DScanner:

 DScanner is a Swiss army knife for D source code. It can 
 perform various tasks such as
 * Source line of code counting
 * Import listing
 * HTML syntax highlighting
 * Syntax checking
 * Some basic static analysis
 * Generating CTAGS
 * Generating an outline of a D file
 * Dumping the AST of a D file into an XML file.

 P.S. Only the Textadept module has support for the new 
 --symbolLocation and --doc switches. If you're one of the 
 excellent people who wrote one of the other plugins, I'd 
 appreciate your help adding support for these features to your 
 favorite editor before a non-beta release is tagged.
You're work is filling an important gap. Thanks. I have just finished updating Sublime Text 3 plugin to use Goto Definition feature. But I'm still wondering on how to approach the documentation preview feature as Sublime doesn't provide much. https://github.com/yazd/DKit
Jan 28 2014
next sibling parent reply "Suliman" <evermind live.ru> writes:
Could you help me with installation of Sublime plugin. I can't
find menu: "Preferences -> Package Settings -> DKit -> Settings -
User" in Sublime interface.
Jan 28 2014
parent "Suliman" <evermind live.ru> writes:
Oh! That's my issue!
Jan 28 2014
prev sibling parent reply "Suliman" <evermind live.ru> writes:
Can't get it work. I added next settings:

{
   "dcd_path": "C:\\D\\dmd2\\windows\\bin",
   "dcd_port": 9166,
   "include_paths": [
     "C:\\D\\dmd2\\src\\phobos", 
"C:\\D\\dmd2\\src\\druntime\\import"
   ]
}


and put dcd-server.exe and dcd-client.exe (just 2 files) at 
C:\\D\\dmd2\\windows\\bin folder.

No I am trying to start write code, but I do not see auto 
complication future.
Jan 28 2014
parent reply "Suliman" <evermind live.ru> writes:
Look like I was need to write
C:\\D\\dmd2\\windows\\bin\\
instead of C:\\D\\dmd2\\windows\\bin

Thanks! All work!
Jan 28 2014
next sibling parent "Suliman" <evermind live.ru> writes:
For thous who very lazy to build Sublime integration manually I 
would like suggest ready to use package. Gust unzip and fix paths 
(if needed)
http://dynamic.dlang.ru/Files/2014/Sublime-D-integration-plugin-29-01-2014.zip
Jan 28 2014
prev sibling parent reply "yazd" <yazan.dabain gmail.com> writes:
On Wednesday, 29 January 2014 at 06:53:34 UTC, Suliman wrote:
 Look like I was need to write
 C:\\D\\dmd2\\windows\\bin\\
 instead of C:\\D\\dmd2\\windows\\bin

 Thanks! All work!
That's weird. Anyway, if you would like to help with Windows setup, please submit your difficulties in a pull request to update the README, or point in them in the issue tracker on github as I have not personally run the plugin on a Windows machine.
Jan 28 2014
parent reply "Suliman" <evermind live.ru> writes:
On Wednesday, 29 January 2014 at 07:52:20 UTC, yazd wrote:
 On Wednesday, 29 January 2014 at 06:53:34 UTC, Suliman wrote:
 Look like I was need to write
 C:\\D\\dmd2\\windows\\bin\\
 instead of C:\\D\\dmd2\\windows\\bin

 Thanks! All work!
That's weird. Anyway, if you would like to help with Windows setup, please submit your difficulties in a pull request to update the README, or point in them in the issue tracker on github as I have not personally run the plugin on a Windows machine.
Again my issue. All work without \\ at the end! thanks for help!
Jan 29 2014
parent reply "fra" <a b.it> writes:
Vim plugin seems to be in a messy state right now.
Completion only "works" after a dot, and even then it produces
strange output on the dcd-server logging window. Perhaps in needs
some update due to changes to the server and client code?
Jan 29 2014
parent "Idan Arye" <GenericNPC gmail.com> writes:
On Wednesday, 29 January 2014 at 09:48:55 UTC, fra wrote:
 Vim plugin seems to be in a messy state right now.
 Completion only "works" after a dot, and even then it produces
 strange output on the dcd-server logging window. Perhaps in 
 needs
 some update due to changes to the server and client code?
Can you please file an issue report on GitHub? (https://github.com/Hackerpilot/DCD/issues) I don't really want to keep working on the Vim plugins for DScanner and DCD. I plan a big plugin sometimes in the near feature that will support various D development tools. I will want to fetch the list of imports from DUB and feed it to DCD\DScanner. I will also want to try DCD first, and if the server isn't running revert to DScanner. I can't do those things in a plugin that sits in a single tool's repository and is dedicated to that tool. Still - until I do this, fixing bugs is my sacred duty and adding support for `--symbolLocation` and `--doc` shouldn't be that much work... I'll try to get to it during the weekend.
Jan 29 2014
prev sibling next sibling parent Rory McGuire <rjmcguire gmail.com> writes:
DKit and the beta appear to be working nicely on sublime text 2
On 28 Jan 2014 12:02, "Brian Schott" <briancschott gmail.com> wrote:

 New DCD and DScanner betas are  ready for testing. The tags can be found
 here:

 https://github.com/Hackerpilot/DCD/tree/0.3.0-beta1
 https://github.com/Hackerpilot/Dscanner/tree/0.1.0-beta1

 DCD Changes:
 * Uptake new lexer/parser/ast code from DScanner
 * Add new --symbolLocation switch that instructs the server to return the
   declaration location of the symbol at the cursor
 * Add new --doc switch that instructs the server to return any
 documentation
   comments associated with the symbol at the cursor






 DScanner changes:
 * Now actually tagged with version numbers!
 * Implemented experimental --styleCheck option that will run some basic
   static analysis checks on the files provided.
 ** Warns when opCmp, toHash, toString, and opEquals are not const
 ** Warns on implicit concatenation of string literals
 ** Warns on catching the base exception types (i.e Exception, Throwable,
 etc)
 ** Warns when the deprecated floating-point operators are used
 ** Warns when the deprecated "delete" keyword is used
 ** Warns when large enum constants such as array literals are created.
 ** Warns when using old-style alias declarations (i.e. alias type
 identifier
    instead of alias identifier = type)
 ** Warns when using deprecated complex number literals.
 ** Warns on empty statements (i.e. spare semicolons)
 ** Warns when using large number literals without underscores
 ** Warns on violations of the Phobos naming conventions (e.g. mixed case
    package names, lowercase class names, etc)
 * Fixed many issues in the parser
 * Fixed issues with the AST dump not correctly printing several expression
 node
   types
 * Rewrote lexer, parser, and AST code. The new lexer generator should be
 ready
   for another Phobos review very soon.

 About DCD:

 DCD is the D Completion Daemon, a text editor and IDE-neutral
 autocompletion engine for the D programming language. DCD has plugins for
 several editors such as Textadept, Kate, Vim, Emacs, Zeus, and Sublime Text
 3.

 About DScanner:

 DScanner is a Swiss army knife for D source code. It can perform various
 tasks such as
 * Source line of code counting
 * Import listing
 * HTML syntax highlighting
 * Syntax checking
 * Some basic static analysis
 * Generating CTAGS
 * Generating an outline of a D file
 * Dumping the AST of a D file into an XML file.

 P.S. Only the Textadept module has support for the new --symbolLocation
 and --doc switches. If you're one of the excellent people who wrote one of
 the other plugins, I'd appreciate your help adding support for these
 features to your favorite editor before a non-beta release is tagged.
Jan 29 2014
prev sibling next sibling parent reply "Brian Schott" <briancschott gmail.com> writes:
DCD 0.3.0-beta2 has been tagged.

https://github.com/Hackerpilot/DCD/tree/0.3.0-beta2

Changes since last beta:

member variables.
* Updated DScanner dependency to fix a parser bug.
Jan 29 2014
parent reply "Brian Schott" <briancschott gmail.com> writes:
New tags:
https://github.com/Hackerpilot/Dscanner/tree/0.1.0-beta2
https://github.com/Hackerpilot/DCD/tree/0.3.0-beta3

DScanner Changes:



DCD Changes:
* DScanner updated to 0.1.0-beta2

at a time

bug





README.md

P.S.

I'm still waiting for some brave/foolish Emacs and Vim users to 
step up and update the DCD plugins for their favorite editors. 
Textadept, Zeus, Sublime, and Kate are up to date as far as I 
know.
Jan 31 2014
next sibling parent "Jussi Jumppanen" <jussij zeusedit.com> writes:
On Friday, 31 January 2014 at 08:26:49 UTC, Brian Schott wrote:

 Textadept, Zeus, Sublime, and Kate are up to date as far as I 
 know.
All the updated Zeus scripts can be found here: http://www.zeusedit.com/z300/dcd_scripts.zip These latest scripts also include the first cut of a Doc Comment script. While the dot, brace, intellisense and goto definition scripts seem to be working fine, the Doc Comment script still requires a few enhancements. The Doc Comment script will require a binary change to the Zeus editor itself and that should happen with the next release. Details on how to use all these scripts can be found here: http://www.zeusedit.com/zforum/viewtopic.php?t=7020
Jan 31 2014
prev sibling next sibling parent "Idan Arye" <GenericNPC gmail.com> writes:
On Friday, 31 January 2014 at 08:26:49 UTC, Brian Schott wrote:
 P.S.

 I'm still waiting for some brave/foolish Emacs and Vim users to 
 step up and update the DCD plugins for their favorite editors. 
 Textadept, Zeus, Sublime, and Kate are up to date as far as I 
 know.
I just completed the modifications to the Vim plugin and sent a pull request - https://github.com/Hackerpilot/DCD/pull/104. I've also fixed the bug fra mentioned about only autocompleting after dots.
Jan 31 2014
prev sibling parent reply Andrej Mitrovic <andrej.mitrovich gmail.com> writes:
On 1/31/14, Brian Schott <briancschott gmail.com> wrote:
 Textadept, Zeus, Sublime, and Kate are up to date as far as I
 know.
It doesn't really work for me using TextAdept 7.1 on Win7. A console window quicky pops up and vanishes when I press the period, or ctrl+enter (I'm assuming this is TA's autocomplete shortcut). The DCD server started and runs fine though. But what I really want to do is use it with Scite, not TA.
Jan 31 2014
parent reply "Brian Schott" <briancschott gmail.com> writes:
The popen function in Lua on Windows has been a pain for a while 
now. I think until a better fix is added to Textadept's process 
handling code I'm going to have to say that TA is not supported 
on Windows.

If you do manage to make a SciTE plugin, let me know.


On Friday, 31 January 2014 at 22:26:04 UTC, Andrej Mitrovic wrote:
 On 1/31/14, Brian Schott <briancschott gmail.com> wrote:
 Textadept, Zeus, Sublime, and Kate are up to date as far as I
 know.
It doesn't really work for me using TextAdept 7.1 on Win7. A console window quicky pops up and vanishes when I press the period, or ctrl+enter (I'm assuming this is TA's autocomplete shortcut). The DCD server started and runs fine though. But what I really want to do is use it with Scite, not TA.
Jan 31 2014
next sibling parent reply Andrej Mitrovic <andrej.mitrovich gmail.com> writes:
On 2/1/14, Brian Schott <briancschott gmail.com> wrote:
 The popen function in Lua on Windows has been a pain for a while
 now. I think until a better fix is added to Textadept's process
 handling code I'm going to have to say that TA is not supported
 on Windows.
Fair enough, I don't really use TA, I was just testing it.
 If you do manage to make a SciTE plugin, let me know.
Well TA is really just a glorified version of Scite anyway, the scripts should be close to compatible methinks. I'll give it a go tomorrow.
Jan 31 2014
parent "Andrej Mitrovic" <andrej.mitrovich gmail.com> writes:
On Friday, 31 January 2014 at 23:30:19 UTC, Andrej Mitrovic wrote:
 On 2/1/14, Brian Schott <briancschott gmail.com> wrote:
 If you do manage to make a SciTE plugin, let me know.
I'll give it a go tomorrow.
Well I can make it work, but the problem is the command window pops up for a split second, which is extremely annoying. Apparently Lua only has APIs for calling into system(), which basically invokes cmd.exe and spawns a window. Apparently there's no equivalent to D's execute() in Lua which doesn't spawn any windows. The only alternative I can think of is to implement the client (dcd-client) in Lua itself, but that's too much work especially since I barely know the language..
Feb 01 2014
prev sibling next sibling parent Andrej Mitrovic <andrej.mitrovich gmail.com> writes:
On 2/1/14, Brian Schott <briancschott gmail.com> wrote:
 If you do manage to make a SciTE plugin, let me know.
Well I'm getting close. I've managed to configure a Lua script that gets run and can emit a listbox with suggestions, I just have to figure out how to call the DCD client from within Lua. Never used Lua before.
Feb 01 2014
prev sibling parent Andrej Mitrovic <andrej.mitrovich gmail.com> writes:
On 2/1/14, Andrej Mitrovic <andrej.mitrovich gmail.com> wrote:
 On 2/1/14, Brian Schott <briancschott gmail.com> wrote:
 If you do manage to make a SciTE plugin, let me know.
Well I'm getting close. I've managed to configure a Lua script that gets run and can emit a listbox with suggestions, I just have to figure out how to call the DCD client from within Lua. Never used Lua before.
Eh what am I saying, the TextAdept script is also a Lua script. I can adapt that. Will see if it works..
Feb 01 2014
prev sibling next sibling parent reply "Jussi Jumppanen" <jussij zeusedit.com> writes:
On Tuesday, 28 January 2014 at 09:58:27 UTC, Brian Schott wrote:
 New DCD and DScanner betas are ready for testing.
I'm no D expert so I'm not really sure if this is a bug with DCD or with the DMD compiler itself? I suspect it might be the later? I was testing your latest DCD against the Zeus IDE but came across the following issue when trying to build DCD. I tried doing the build using the zip files as follows: 1) Download the dmd.2.064.2.zip from here: http://dlang.org/download.html 2) Download the DCD, DScanner and msgpack source zip files from these pages: https://github.com/Hackerpilot/DCD/tree/0.3.0-beta1 https://github.com/Hackerpilot/Dscanner/tree/0.1.0-beta1 https://github.com/msgpack/msgpack-d When I run the BUILD.BAT the client exe builds just fine but the build of the server exe hangs. So I played around with the BUILD.BAT and found the build was hanging on this file: dscanner/stdx/d/lexer.d I then ran this command to just build that one file: dmd -v -wi dscanner/stdx/d/lexer.d -Imsgpack-d/src -Idscanner -O -release -noboundscheck -inline -ofdcd-server.exe That command gives the compiler trace output shown below. It appears that the dmd.exe hang on this file with this as the last line of trace output: TTY_FUNCTION__", "__TIME__", "__TIMESTAMP__", "__traits", "__vector", "__VENDOR__", "__VERSION__"]).advance The task manager shows the dmd.exe running but just continually consuming more and more memory. Compiler Trace Output --------------------- NOTE: Some excessive trace output trimmed with ... characters. D:\projects\dcd\DCD-0.3.0-beta2>dmd -v -wi dscanner/stdx/d/lexer.d -Imsgpack-d/src -Idscanner -O -release -noboundscheck -inline -ofdcd-server.exe binary c:\dmd2\windows\bin\dmd.exe version v2.064 config c:\dmd2\windows\bin\sc.ini parse lexer importall lexer import std.uni (c:\dmd2\windows\bin\..\..\src\phobos\std\uni.d) ... import core.sys.windows.windows (c:\dmd2\windows\bin\..\..\src\druntime\import\core\sys\windows\windows.d) import stdx.lexer (dscanner\stdx\lexer.d) semantic lexer semantic2 lexer semantic3 lexer import std.stdio (c:\dmd2\windows\bin\..\..\src\phobos\std\stdio.d) ... import std.internal.uni_tab (c:\dmd2\windows\bin\..\..\src\phobos\std\internal\uni_tab.d) semantic3 lexer ... semantic3 utf semantic3 uni import std.internal.unicode_comp (c:\dmd2\windows\bin\..\..\src\phobos\std\internal\unicode_comp.d) ... import std.internal.unicode_decomp (c:\dmd2\windows\bin\..\..\src\phobos\std\internal\unicode_decomp.d) semantic3 unicode_tables ... inline scan lexer code lexer function stdx.d.lexer.LexerConfig.__xopEquals ... function stdx.d.lexer.DLexer.Lexer!(ubyte, TokenStructure!(ubyte, "\x0a\x09string comment;\x0a\x0a\x09int opCmp(size_t i) const pure nothrow safe {\x0a\x09\x09if (index < i) return -1;\x0a\x09\x09if (index > i) return 1;\x0a\x09\x09return ... "with", "__DATE__", "__EOF__", "__FILE__", "__FUNCTION__", "__gshared", "__LINE__", "__MODULE__", "__parameters", "__PRE TTY_FUNCTION__", "__TIME__", "__TIMESTAMP__", "__traits", "__vector", "__VENDOR__", "__VERSION__"]).generateMask function stdx.d.lexer.DLexer.Lexer!(ubyte, TokenStructure!(ubyte, "\x0a\x09string comment;\x0a\x0a\x09int opCmp(size_t i) const pure nothrow safe {\x0a\x09\x09if (index < i) return -1;\x0a\x09\x09if (index > i) return 1;\x0a\x09\x09return ... "with", "__DATE__", "__EOF__", "__FILE__", "__FUNCTION__", "__gshared", "__LINE__", "__MODULE__", "__parameters", "__PRE TTY_FUNCTION__", "__TIME__", "__TIMESTAMP__", "__traits", "__vector", "__VENDOR__", "__VERSION__"]).generateByteMask function stdx.d.lexer.DLexer.Lexer!(ubyte, TokenStructure!(ubyte, "\x0a\x09string comment;\x0a\x0a\x09int opCmp(size_t i) const pure nothrow safe {\x0a\x09\x09if (index < i) return -1;\x0a\x09\x09if (index > i) return 1;\x0a\x09\x09return ... of", "ubyte", "ucent", "uint", "ulong", "union", "unittest", "ushort", "version", "void", "volatile", "wchar", "while", "with", "__DATE__", "__EOF__", "__FILE__", "__FUNCTION__", "__gshared", "__LINE__", "__MODULE__", "__parameters", "__PRE TTY_FUNCTION__", "__TIME__", "__TIMESTAMP__", "__traits", "__vector", "__VENDOR__", "__VERSION__"]).generateCaseStatemen ts function stdx.d.lexer.DLexer.Lexer!(ubyte, TokenStructure!(ubyte, "\x0a\x09string comment;\x0a\x0a\x09int opCmp(size_t i) const pure nothrow safe {\x0a\x09\x09if (index < i) return -1;\x0a\x09\x09if (index > i) return 1;\x0a\x09\x09return ... "with", "__DATE__", "__EOF__", "__FILE__", "__FUNCTION__", "__gshared", "__LINE__", "__MODULE__", "__parameters", "__PRE TTY_FUNCTION__", "__TIME__", "__TIMESTAMP__", "__traits", "__vector", "__VENDOR__", "__VERSION__"]).printCase function stdx.d.lexer.DLexer.Lexer!(ubyte, TokenStructure!(ubyte, "\x0a\x09string comment;\x0a\x0a\x09int opCmp(size_t i) const pure nothrow safe {\x0a\x09\x09if (index < i) return -1;\x0a\x09\x09if (index > i) return 1;\x0a\x09\x09return ... "with", "__DATE__", "__EOF__", "__FILE__", "__FUNCTION__", "__gshared", "__LINE__", "__MODULE__", "__parameters", "__PRE TTY_FUNCTION__", "__TIME__", "__TIMESTAMP__", "__traits", "__vector", "__VENDOR__", "__VERSION__"]).front function stdx.d.lexer.DLexer.Lexer!(ubyte, TokenStructure!(ubyte, "\x0a\x09string comment;\x0a\x0a\x09int opCmp(size_t i) const pure nothrow safe {\x0a\x09\x09if (index < i) return -1;\x0a\x09\x09if (index > i) return 1;\x0a\x09\x09return ... "with", "__DATE__", "__EOF__", "__FILE__", "__FUNCTION__", "__gshared", "__LINE__", "__MODULE__", "__parameters", "__PRE TTY_FUNCTION__", "__TIME__", "__TIMESTAMP__", "__traits", "__vector", "__VENDOR__", "__VERSION__"])._popFront function stdx.d.lexer.DLexer.Lexer!(ubyte, TokenStructure!(ubyte, "\x0a\x09string comment;\x0a\x0a\x09int opCmp(size_t i) const pure nothrow safe {\x0a\x09\x09if (index < i) return -1;\x0a\x09\x09if (index > i) return 1;\x0a\x09\x09return ... "with", "__DATE__", "__EOF__", "__FILE__", "__FUNCTION__", "__gshared", "__LINE__", "__MODULE__", "__parameters", "__PRE TTY_FUNCTION__", "__TIME__", "__TIMESTAMP__", "__traits", "__vector", "__VENDOR__", "__VERSION__"]).empty function stdx.d.lexer.DLexer.Lexer!(ubyte, TokenStructure!(ubyte, "\x0a\x09string comment;\x0a\x0a\x09int opCmp(size_t i) const pure nothrow safe {\x0a\x09\x09if (index < i) return -1;\x0a\x09\x09if (index > i) return 1;\x0a\x09\x09return ... "with", "__DATE__", "__EOF__", "__FILE__", "__FUNCTION__", "__gshared", "__LINE__", "__MODULE__", "__parameters", "__PRE TTY_FUNCTION__", "__TIME__", "__TIMESTAMP__", "__traits", "__vector", "__VENDOR__", "__VERSION__"]).escape function stdx.d.lexer.DLexer.Lexer!(ubyte, TokenStructure!(ubyte, "\x0a\x09string comment;\x0a\x0a\x09int opCmp(size_t ... "with", "__DATE__", "__EOF__", "__FILE__", "__FUNCTION__", "__gshared", "__LINE__", "__MODULE__", "__parameters", "__PRE TTY_FUNCTION__", "__TIME__", "__TIMESTAMP__", "__traits", "__vector", "__VENDOR__", "__VERSION__"]).getFront function stdx.d.lexer.DLexer.Lexer!(ubyte, TokenStructure!(ubyte, "\x0a\x09string comment;\x0a\x0a\x09int opCmp(size_t i) const pure nothrow safe {\x0a\x09\x09if (index < i) return -1;\x0a\x09\x09if (index > i) return 1;\x0a\x09\x09return ... "with", "__DATE__", "__EOF__", "__FILE__", "__FUNCTION__", "__gshared", "__LINE__", "__MODULE__", "__parameters", "__PRE TTY_FUNCTION__", "__TIME__", "__TIMESTAMP__", "__traits", "__vector", "__VENDOR__", "__VERSION__"]).advance
Jan 29 2014
next sibling parent reply "Brian Schott" <briancschott gmail.com> writes:
On Thursday, 30 January 2014 at 00:26:47 UTC, Jussi Jumppanen 
wrote:
 On Tuesday, 28 January 2014 at 09:58:27 UTC, Brian Schott wrote:
 New DCD and DScanner betas are ready for testing.
I'm no D expert so I'm not really sure if this is a bug with DCD or with the DMD compiler itself? I suspect it might be the later?
https://github.com/Hackerpilot/DCD/issues
Jan 29 2014
parent "Jussi Jumppanen" <jussij zeusedit.com> writes:
Created this issue:

https://github.com/Hackerpilot/DCD/issues/93
Jan 29 2014
prev sibling parent reply Rory McGuire <rjmcguire gmail.com> writes:
Could you try build with the dmd beta?
On 30 Jan 2014 02:30, "Jussi Jumppanen" <jussij zeusedit.com> wrote:

 On Tuesday, 28 January 2014 at 09:58:27 UTC, Brian Schott wrote:

 New DCD and DScanner betas are ready for testing.
I'm no D expert so I'm not really sure if this is a bug with DCD or with the DMD compiler itself? I suspect it might be the later? I was testing your latest DCD against the Zeus IDE but came across the following issue when trying to build DCD. I tried doing the build using the zip files as follows: 1) Download the dmd.2.064.2.zip from here: http://dlang.org/download.html 2) Download the DCD, DScanner and msgpack source zip files from these pages: https://github.com/Hackerpilot/DCD/tree/0.3.0-beta1 https://github.com/Hackerpilot/Dscanner/tree/0.1.0-beta1 https://github.com/msgpack/msgpack-d When I run the BUILD.BAT the client exe builds just fine but the build of the server exe hangs. So I played around with the BUILD.BAT and found the build was hanging on this file: dscanner/stdx/d/lexer.d I then ran this command to just build that one file: dmd -v -wi dscanner/stdx/d/lexer.d -Imsgpack-d/src -Idscanner -O -release -noboundscheck -inline -ofdcd-server.exe That command gives the compiler trace output shown below. It appears that the dmd.exe hang on this file with this as the last line of trace output: TTY_FUNCTION__", "__TIME__", "__TIMESTAMP__", "__traits", "__vector", "__VENDOR__", "__VERSION__"]).advance The task manager shows the dmd.exe running but just continually consuming more and more memory. Compiler Trace Output --------------------- NOTE: Some excessive trace output trimmed with ... characters. D:\projects\dcd\DCD-0.3.0-beta2>dmd -v -wi dscanner/stdx/d/lexer.d -Imsgpack-d/src -Idscanner -O -release -noboundscheck -inline -ofdcd-server.exe binary c:\dmd2\windows\bin\dmd.exe version v2.064 config c:\dmd2\windows\bin\sc.ini parse lexer importall lexer import std.uni (c:\dmd2\windows\bin\..\..\src\phobos\std\uni.d) ... import core.sys.windows.windows (c:\dmd2\windows\bin\..\..\src\druntime\import\core\sys\windows\windows.d) import stdx.lexer (dscanner\stdx\lexer.d) semantic lexer semantic2 lexer semantic3 lexer import std.stdio (c:\dmd2\windows\bin\..\..\src\phobos\std\stdio.d) ... import std.internal.uni_tab (c:\dmd2\windows\bin\..\..\src\phobos\std\internal\uni_tab.d) semantic3 lexer ... semantic3 utf semantic3 uni import std.internal.unicode_comp (c:\dmd2\windows\bin\..\..\src\phobos\std\internal\unicode_comp.d) ... import std.internal.unicode_decomp (c:\dmd2\windows\bin\..\..\src\phobos\std\internal\unicode_decomp.d) semantic3 unicode_tables ... inline scan lexer code lexer function stdx.d.lexer.LexerConfig.__xopEquals ... function stdx.d.lexer.DLexer.Lexer!(ubyte, TokenStructure!(ubyte, "\x0a\x09string comment;\x0a\x0a\x09int opCmp(size_t i) const pure nothrow safe {\x0a\x09\x09if (index < i) return -1;\x0a\x09\x09if (index > i) return 1;\x0a\x09\x09return ... "with", "__DATE__", "__EOF__", "__FILE__", "__FUNCTION__", "__gshared", "__LINE__", "__MODULE__", "__parameters", "__PRE TTY_FUNCTION__", "__TIME__", "__TIMESTAMP__", "__traits", "__vector", "__VENDOR__", "__VERSION__"]).generateMask function stdx.d.lexer.DLexer.Lexer!(ubyte, TokenStructure!(ubyte, "\x0a\x09string comment;\x0a\x0a\x09int opCmp(size_t i) const pure nothrow safe {\x0a\x09\x09if (index < i) return -1;\x0a\x09\x09if (index > i) return 1;\x0a\x09\x09return ... "with", "__DATE__", "__EOF__", "__FILE__", "__FUNCTION__", "__gshared", "__LINE__", "__MODULE__", "__parameters", "__PRE TTY_FUNCTION__", "__TIME__", "__TIMESTAMP__", "__traits", "__vector", "__VENDOR__", "__VERSION__"]).generateByteMask function stdx.d.lexer.DLexer.Lexer!(ubyte, TokenStructure!(ubyte, "\x0a\x09string comment;\x0a\x0a\x09int opCmp(size_t i) const pure nothrow safe {\x0a\x09\x09if (index < i) return -1;\x0a\x09\x09if (index > i) return 1;\x0a\x09\x09return ... of", "ubyte", "ucent", "uint", "ulong", "union", "unittest", "ushort", "version", "void", "volatile", "wchar", "while", "with", "__DATE__", "__EOF__", "__FILE__", "__FUNCTION__", "__gshared", "__LINE__", "__MODULE__", "__parameters", "__PRE TTY_FUNCTION__", "__TIME__", "__TIMESTAMP__", "__traits", "__vector", "__VENDOR__", "__VERSION__"]).generateCaseStatemen ts function stdx.d.lexer.DLexer.Lexer!(ubyte, TokenStructure!(ubyte, "\x0a\x09string comment;\x0a\x0a\x09int opCmp(size_t i) const pure nothrow safe {\x0a\x09\x09if (index < i) return -1;\x0a\x09\x09if (index > i) return 1;\x0a\x09\x09return ... "with", "__DATE__", "__EOF__", "__FILE__", "__FUNCTION__", "__gshared", "__LINE__", "__MODULE__", "__parameters", "__PRE TTY_FUNCTION__", "__TIME__", "__TIMESTAMP__", "__traits", "__vector", "__VENDOR__", "__VERSION__"]).printCase function stdx.d.lexer.DLexer.Lexer!(ubyte, TokenStructure!(ubyte, "\x0a\x09string comment;\x0a\x0a\x09int opCmp(size_t i) const pure nothrow safe {\x0a\x09\x09if (index < i) return -1;\x0a\x09\x09if (index > i) return 1;\x0a\x09\x09return ... "with", "__DATE__", "__EOF__", "__FILE__", "__FUNCTION__", "__gshared", "__LINE__", "__MODULE__", "__parameters", "__PRE TTY_FUNCTION__", "__TIME__", "__TIMESTAMP__", "__traits", "__vector", "__VENDOR__", "__VERSION__"]).front function stdx.d.lexer.DLexer.Lexer!(ubyte, TokenStructure!(ubyte, "\x0a\x09string comment;\x0a\x0a\x09int opCmp(size_t i) const pure nothrow safe {\x0a\x09\x09if (index < i) return -1;\x0a\x09\x09if (index > i) return 1;\x0a\x09\x09return ... "with", "__DATE__", "__EOF__", "__FILE__", "__FUNCTION__", "__gshared", "__LINE__", "__MODULE__", "__parameters", "__PRE TTY_FUNCTION__", "__TIME__", "__TIMESTAMP__", "__traits", "__vector", "__VENDOR__", "__VERSION__"])._popFront function stdx.d.lexer.DLexer.Lexer!(ubyte, TokenStructure!(ubyte, "\x0a\x09string comment;\x0a\x0a\x09int opCmp(size_t i) const pure nothrow safe {\x0a\x09\x09if (index < i) return -1;\x0a\x09\x09if (index > i) return 1;\x0a\x09\x09return ... "with", "__DATE__", "__EOF__", "__FILE__", "__FUNCTION__", "__gshared", "__LINE__", "__MODULE__", "__parameters", "__PRE TTY_FUNCTION__", "__TIME__", "__TIMESTAMP__", "__traits", "__vector", "__VENDOR__", "__VERSION__"]).empty function stdx.d.lexer.DLexer.Lexer!(ubyte, TokenStructure!(ubyte, "\x0a\x09string comment;\x0a\x0a\x09int opCmp(size_t i) const pure nothrow safe {\x0a\x09\x09if (index < i) return -1;\x0a\x09\x09if (index > i) return 1;\x0a\x09\x09return ... "with", "__DATE__", "__EOF__", "__FILE__", "__FUNCTION__", "__gshared", "__LINE__", "__MODULE__", "__parameters", "__PRE TTY_FUNCTION__", "__TIME__", "__TIMESTAMP__", "__traits", "__vector", "__VENDOR__", "__VERSION__"]).escape function stdx.d.lexer.DLexer.Lexer!(ubyte, TokenStructure!(ubyte, "\x0a\x09string comment;\x0a\x0a\x09int opCmp(size_t ... "with", "__DATE__", "__EOF__", "__FILE__", "__FUNCTION__", "__gshared", "__LINE__", "__MODULE__", "__parameters", "__PRE TTY_FUNCTION__", "__TIME__", "__TIMESTAMP__", "__traits", "__vector", "__VENDOR__", "__VERSION__"]).getFront function stdx.d.lexer.DLexer.Lexer!(ubyte, TokenStructure!(ubyte, "\x0a\x09string comment;\x0a\x0a\x09int opCmp(size_t i) const pure nothrow safe {\x0a\x09\x09if (index < i) return -1;\x0a\x09\x09if (index > i) return 1;\x0a\x09\x09return ... "with", "__DATE__", "__EOF__", "__FILE__", "__FUNCTION__", "__gshared", "__LINE__", "__MODULE__", "__parameters", "__PRE TTY_FUNCTION__", "__TIME__", "__TIMESTAMP__", "__traits", "__vector", "__VENDOR__", "__VERSION__"]).advance
Jan 29 2014
parent "Jussi Jumppanen" <jussij zeusedit.com> writes:
On Thursday, 30 January 2014 at 04:18:12 UTC, Rory McGuire wrote:

 Could you try build with the dmd beta?
The latest beta produced the same results. But with help form Brian Schott it turns out it just takes a lot longer to compile that one lexer.d file. So the fix is to just be very patient ;) For anyone that might be interested, I added some more details to the DCD bug report: https://github.com/Hackerpilot/DCD/issues/93
Jan 30 2014
prev sibling next sibling parent "Andrea Fontana" <nospam example.com> writes:
On Tuesday, 28 January 2014 at 09:58:27 UTC, Brian Schott wrote:
 New DCD and DScanner betas are  ready for testing. The tags can 
 be found here:

 https://github.com/Hackerpilot/DCD/tree/0.3.0-beta1
 https://github.com/Hackerpilot/Dscanner/tree/0.1.0-beta1
 [...]
On github i read: "Import paths can be added to the server without restarting it. To accomplish this, run the client with the -I option" Is there a way to remove or set include paths too?
Jan 30 2014
prev sibling next sibling parent reply "Casper =?UTF-8?B?RsOmcmdlbWFuZCI=?= <shorttail hotmail.com> writes:
Is it possible to get an updated build.bat file that doesn't rely 
on 64bit? There also seems to be files mentioned in the script 
that don't exist anymore.
Jan 30 2014
parent reply "Casper =?UTF-8?B?RsOmcmdlbWFuZCI=?= <shorttail hotmail.com> writes:
On Thursday, 30 January 2014 at 13:02:53 UTC, Casper Færgemand 
wrote:
 Is it possible to get an updated build.bat file that doesn't 
 rely on 64bit? There also seems to be files mentioned in the 
 script that don't exist anymore.
And that would be "style.d". After removing it from the script along with "-m64", I get this: $ build.bat OPTLINK (R) for Win32 Release 8.00.13 Copyright (C) Digital Mars 1989-2010 All rights reserved. http://www.digitalmars.com/ctg/optlink.html dscanner.obj(dscanner) Error 42: Symbol Undefined _D8analysis3run7analyzeFS3std5stdio4FileAAyabZv dscanner.obj(dscanner) Error 42: Symbol Undefined _D8analysis3run11syntaxCheckFS3std5stdio4FileAAyaZv dscanner.obj(dscanner) Error 42: Symbol Undefined _D8analysis3run12__ModuleInfoZ --- errorlevel 3
Jan 30 2014
parent "Brian Schott" <briancschott gmail.com> writes:
On Thursday, 30 January 2014 at 13:07:33 UTC, Casper Færgemand 
wrote:
 On Thursday, 30 January 2014 at 13:02:53 UTC, Casper Færgemand 
 wrote:
 Is it possible to get an updated build.bat file that doesn't 
 rely on 64bit? There also seems to be files mentioned in the 
 script that don't exist anymore.
And that would be "style.d". After removing it from the script along with "-m64", I get this:
Try again now. https://github.com/Hackerpilot/Dscanner/issues/90
Jan 30 2014
prev sibling next sibling parent "Jussi Jumppanen" <jussij zeusedit.com> writes:
On Tuesday, 28 January 2014 at 09:58:27 UTC, Brian Schott wrote:

 New DCD and DScanner betas are  ready for testing.
The Zeus IDE dot completion, parenthesis completion and goto declaration scripts have been updated and are all working fine with this latest DCD release. As yet there is no script for the new DCD Doc Comment display feature. For more details see here: http://www.zeusedit.com/zforum/viewtopic.php?t=7020
Jan 30 2014
prev sibling next sibling parent David <d dav1d.de> writes:
 P.S. Only the Textadept module has support for the new --symbolLocation
 and --doc switches. If you're one of the excellent people who wrote one
 of the other plugins, I'd appreciate your help adding support for these
 features to your favorite editor before a non-beta release is tagged.
I adedd support for --doc yesterday to lumen (the Kate/Kdevelop plugin). But I have even better news, lumen will most likely be included in the next Kate and Kdevelop release!
Jan 31 2014
prev sibling next sibling parent Jordi Sayol <g.sayol yahoo.es> writes:
New Dscanner v0.1.0-beta2 deb package available at "d-apt":

http://d-apt.sourceforge.net/

-- 
Jordi Sayol
Jan 31 2014
prev sibling next sibling parent Russel Winder <russel winder.org.uk> writes:
On Fri, 2014-01-31 at 21:14 +0100, Jordi Sayol wrote:
 New Dscanner v0.1.0-beta2 deb package available at "d-apt":
 
 http://d-apt.sourceforge.net/
 
Thanks Jordi. Duly installed :-) -- Russel. ============================================================================= Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.net 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Feb 01 2014
prev sibling next sibling parent Jordi Sayol <g.sayol yahoo.es> writes:
Adding gtkd2 sources to "dcd-server" takes more than 6 minutes. Is this correct?

-- 
Jordi Sayol
Feb 02 2014
prev sibling next sibling parent reply "Suliman" <evermind live.ru> writes:
It's look like Sublime do not understand from which folder module 
should be imported.

It's do not colorized
import readconfig;
if readconfig.d are putted in folder with main file.
Feb 04 2014
parent reply "yazd" <yazan.dabain gmail.com> writes:
On Tuesday, 4 February 2014 at 10:19:46 UTC, Suliman wrote:
 It's look like Sublime do not understand from which folder 
 module should be imported.

 It's do not colorized
 import readconfig;
 if readconfig.d are putted in folder with main file.
Try running 'DKit: Update Import Paths' command in Sublime. If that doesn't resolve it, please submit a bug https://github.com/yazd/DKit.
Feb 04 2014
parent reply "Suliman" <evermind live.ru> writes:
On Tuesday, 4 February 2014 at 20:09:18 UTC, yazd wrote:
 On Tuesday, 4 February 2014 at 10:19:46 UTC, Suliman wrote:
 It's look like Sublime do not understand from which folder 
 module should be imported.

 It's do not colorized
 import readconfig;
 if readconfig.d are putted in folder with main file.
Try running 'DKit: Update Import Paths' command in Sublime. If that doesn't resolve it, please submit a bug https://github.com/yazd/DKit.
Should I past it's here? http://snag.gy/h6b0f.jpg
Feb 05 2014
parent reply "yazd" <yazan.dabain gmail.com> writes:
On Wednesday, 5 February 2014 at 11:55:59 UTC, Suliman wrote:
 On Tuesday, 4 February 2014 at 20:09:18 UTC, yazd wrote:
 On Tuesday, 4 February 2014 at 10:19:46 UTC, Suliman wrote:
 It's look like Sublime do not understand from which folder 
 module should be imported.

 It's do not colorized
 import readconfig;
 if readconfig.d are putted in folder with main file.
Try running 'DKit: Update Import Paths' command in Sublime. If that doesn't resolve it, please submit a bug https://github.com/yazd/DKit.
Should I past it's here? http://snag.gy/h6b0f.jpg
Use Sublime's Command Palette. Press Ctrl+Shift+P, and start writing 'update import paths', you'll get it in a drop-down list.
Feb 05 2014
parent reply "Suliman" <evermind live.ru> writes:
On Wednesday, 5 February 2014 at 12:45:28 UTC, yazd wrote:
 On Wednesday, 5 February 2014 at 11:55:59 UTC, Suliman wrote:
 On Tuesday, 4 February 2014 at 20:09:18 UTC, yazd wrote:
 On Tuesday, 4 February 2014 at 10:19:46 UTC, Suliman wrote:
 It's look like Sublime do not understand from which folder 
 module should be imported.

 It's do not colorized
 import readconfig;
 if readconfig.d are putted in folder with main file.
Try running 'DKit: Update Import Paths' command in Sublime. If that doesn't resolve it, please submit a bug https://github.com/yazd/DKit.
Should I past it's here? http://snag.gy/h6b0f.jpg
Use Sublime's Command Palette. Press Ctrl+Shift+P, and start writing 'update import paths', you'll get it in a drop-down list.
I still can't get it's work. http://dynamic.dlang.ru/Files/2014/20e81184-9e39-427e-b06e-dd4de73bcce2.png Before I would report a bug, could anybody try it? Maybe it's just my issue. My steps: 1. open SL 2. open 2 tabs 3. write code 4. try to compile the code. result on the screenshot. I also tried to run this command, but without result.
Mar 02 2014
parent reply "Suliman" <evermind live.ru> writes:
I tried a lot of times, but without result.

One man report that for him all works fine, but I do not 
understand what's wrong in my situation.
Mar 02 2014
parent reply "yazd" <yazan.dabain gmail.com> writes:
On Sunday, 2 March 2014 at 10:58:04 UTC, Suliman wrote:
 I tried a lot of times, but without result.

 One man report that for him all works fine, but I do not 
 understand what's wrong in my situation.
I originally thought that the issue was with the autocompletion. Now I understand that it's with the compilation of a multiple-file project. The sublime build file provides three variants for building. The first one uses dmd, the second rdmd, and the third is dub. For multiple-file projects, use the rdmd build variant, by instead of building, just run. You can press ctrl-shift-b for that or goto Tools -> Run. To use the dub build, press ctrl-alt-p, then type dub. You'll get a command that says `Build: dub`
Mar 03 2014
parent reply "Suliman" <evermind live.ru> writes:
 I originally thought that the issue was with the 
 autocompletion. Now I understand that it's with the compilation 
 of a multiple-file project. The sublime build file provides 
 three variants for building. The first one uses dmd, the second 
 rdmd, and the third is dub. For multiple-file projects, use the 
 rdmd build variant, by instead of building, just run. You can 
 press ctrl-shift-b for that or goto Tools -> Run.
 To use the dub build, press ctrl-alt-p, then type dub. You'll 
 get a command that says `Build: dub`
Can I use DMD build?
Mar 05 2014
parent reply "Suliman" <evermind live.ru> writes:
I originally thought that the issue was with the autocompletion.
Yes it was, but I tested it's on one file project, and only after it decided to try import modules.
Mar 05 2014
parent reply "Suliman" <evermind live.ru> writes:
Sublime integration update 
http://dynamic.dlang.ru/Files/2014/Sublime-D-integration-plugin-linux-31-05-2014.zip

Screenshot 
http://dynamic.dlang.ru/Files/2014/87800e29-2dca-49c4-ae79-9f44a2dfe913.png
May 31 2014
parent "Suliman" <evermind live.ru> writes:
sorry, I will repost it's to actual thread.
May 31 2014
prev sibling next sibling parent reply Jordi Sayol <g.sayol yahoo.es> writes:
Including basic dmd "phobos" "druntime/import" when dcd-server is loaded, in my
system takes about 10 seconds, and much more if I add i.e. gtkd (about 6
minutes!).

Is it possible to include them to the dcd-server cache by demand? This should
be much faster.

i.e. dcd-server can read "only" the module names in the included paths at start
up, and then load everything else when a specific module is imported in the
source code. When a source file is open by the editor, add its imports to
update dcd-server cache. If imported module has public imports, these modules
should be loaded too.

-- 
Jordi Sayol
Feb 05 2014
parent reply "Brian Schott" <briancschott gmail.com> writes:
On Wednesday, 5 February 2014 at 09:48:21 UTC, Jordi Sayol wrote:
 Including basic dmd "phobos" "druntime/import" when dcd-server 
 is loaded, in my system takes about 10 seconds, and much more 
 if I add i.e. gtkd (about 6 minutes!).

 Is it possible to include them to the dcd-server cache by 
 demand? This should be much faster.

 i.e. dcd-server can read "only" the module names in the 
 included paths at start up, and then load everything else when 
 a specific module is imported in the source code. When a source 
 file is open by the editor, add its imports to update 
 dcd-server cache. If imported module has public imports, these 
 modules should be loaded too.
If the server takes 6 minutes to do anything, that's a bug. Can you file this please?
Feb 05 2014
parent Jordi Sayol <g.sayol yahoo.es> writes:
El 05/02/14 19:18, Brian Schott ha escrit:
 If the server takes 6 minutes to do anything, that's a bug. Can you file this
please?
https://github.com/Hackerpilot/DCD/issues/108 -- Jordi Sayol
Feb 05 2014
prev sibling parent Jordi Sayol <g.sayol yahoo.es> writes:
New DCD and Textadept deb packages on d-apt.

http://d-apt.sourceforge.net/

-- 
Jordi Sayol
Feb 06 2014