www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - Descent 0.5.3 released

reply Ary Borenszweig <ary esperanto.org.ar> writes:
The Descent plugin for Eclipse provides an IDE for writing, launching 
and debugging code in D.

Explanations on how to get it from within Eclipse are here:

http://www.dsource.org/projects/descent

(There's no need to do the nightly-build manual stuff for this. If you 
previously had a nightly-build, you must need to remove it before 
updating. Anyway, the current nightly-build reflects this release, so 
you can just do it manually if it turns out easier for you.)

This release is just an accumulation of small features and bug fixes 
since the last (official, not nightly-build) version. But since I don't 
want everyone to think "Aww, nothing new, just a new number", this 
release also includes support for array "extension methods" in 
autocompletion. For this to work, the function that you want to use as 
an extension must be in the current module, or already imported (so for 
example you won't get methods from std.algorithm, tango.core.Array or 
tango.text.Util until you have an import for them in the module you are 
currently typing in).

Here's a video that shows this functionality: 
http://www.youtube.com/watch?v=FBj0wu9dbnA

And a question: what would you like to see next in Descent?

Any suggestion, critic or bug report is welcome. You can use:
- the forums: http://www.dsource.org/forums/viewforum.php?f=107
- trac: http://www.dsource.org/projects/descent/report?action=new
- irc: at freenode, #d.descent

Enjoy!
Dec 20 2008
next sibling parent reply dsimcha <dsimcha yahoo.com> writes:
== Quote from Ary Borenszweig (ary esperanto.org.ar)'s article
 The Descent plugin for Eclipse provides an IDE for writing, launching
 and debugging code in D.
 Explanations on how to get it from within Eclipse are here:
 http://www.dsource.org/projects/descent
 (There's no need to do the nightly-build manual stuff for this. If you
 previously had a nightly-build, you must need to remove it before
 updating. Anyway, the current nightly-build reflects this release, so
 you can just do it manually if it turns out easier for you.)
 This release is just an accumulation of small features and bug fixes
 since the last (official, not nightly-build) version. But since I don't
 want everyone to think "Aww, nothing new, just a new number", this
 release also includes support for array "extension methods" in
 autocompletion. For this to work, the function that you want to use as
 an extension must be in the current module, or already imported (so for
 example you won't get methods from std.algorithm, tango.core.Array or
 tango.text.Util until you have an import for them in the module you are
 currently typing in).
 Here's a video that shows this functionality:
 http://www.youtube.com/watch?v=FBj0wu9dbnA
 And a question: what would you like to see next in Descent?
 Any suggestion, critic or bug report is welcome. You can use:
 - the forums: http://www.dsource.org/forums/viewforum.php?f=107
 - trac: http://www.dsource.org/projects/descent/report?action=new
 - irc: at freenode, #d.descent
 Enjoy!

Awesome! How far along is semantic support for D2? I'd really like a real IDE for D2, but I guess not having one is the price I pay for living on the bleeding edge.
Dec 20 2008
next sibling parent reply "Tim M" <a b.com> writes:
I dont think the allround ide is a problem anymore with eclipse available.  
Whats missing is a good gui builder. If you know of one other than entice  
though can you please reply with the links.

On Sun, 21 Dec 2008 18:50:31 +1300, dsimcha <dsimcha yahoo.com> wrote:

 == Quote from Ary Borenszweig (ary esperanto.org.ar)'s article
 The Descent plugin for Eclipse provides an IDE for writing, launching
 and debugging code in D.
 Explanations on how to get it from within Eclipse are here:
 http://www.dsource.org/projects/descent
 (There's no need to do the nightly-build manual stuff for this. If you
 previously had a nightly-build, you must need to remove it before
 updating. Anyway, the current nightly-build reflects this release, so
 you can just do it manually if it turns out easier for you.)
 This release is just an accumulation of small features and bug fixes
 since the last (official, not nightly-build) version. But since I don't
 want everyone to think "Aww, nothing new, just a new number", this
 release also includes support for array "extension methods" in
 autocompletion. For this to work, the function that you want to use as
 an extension must be in the current module, or already imported (so for
 example you won't get methods from std.algorithm, tango.core.Array or
 tango.text.Util until you have an import for them in the module you are
 currently typing in).
 Here's a video that shows this functionality:
 http://www.youtube.com/watch?v=FBj0wu9dbnA
 And a question: what would you like to see next in Descent?
 Any suggestion, critic or bug report is welcome. You can use:
 - the forums: http://www.dsource.org/forums/viewforum.php?f=107
 - trac: http://www.dsource.org/projects/descent/report?action=new
 - irc: at freenode, #d.descent
 Enjoy!

Awesome! How far along is semantic support for D2? I'd really like a real IDE for D2, but I guess not having one is the price I pay for living on the bleeding edge.

Dec 20 2008
parent Christopher Wright <dhasenan gmail.com> writes:
Tim M wrote:
 I dont think the allround ide is a problem anymore with eclipse 
 available. Whats missing is a good gui builder. If you know of one other 
 than entice though can you please reply with the links.

No top-posting, please. I use Glade. It works reasonably well for small projects.
Dec 22 2008
prev sibling next sibling parent "Denis Koroskin" <2korden gmail.com> writes:
On Tue, 23 Dec 2008 04:54:11 +0300, Christopher Wright <dhasenan gmail.com>
wrote:

 Tim M wrote:
 I dont think the allround ide is a problem anymore with eclipse  
 available. Whats missing is a good gui builder. If you know of one  
 other than entice though can you please reply with the links.

No top-posting, please.

What do you mean? His post is not a top-level message.
 I use Glade. It works reasonably well for small projects.

Dec 22 2008
prev sibling parent "Jarrett Billingsley" <jarrett.billingsley gmail.com> writes:
On Mon, Dec 22, 2008 at 9:01 PM, Denis Koroskin <2korden gmail.com> wrote:
 On Tue, 23 Dec 2008 04:54:11 +0300, Christopher Wright <dhasenan gmail.com>
 wrote:

 Tim M wrote:
 I dont think the allround ide is a problem anymore with eclipse
 available. Whats missing is a good gui builder. If you know of one other
 than entice though can you please reply with the links.

No top-posting, please.

What do you mean? His post is not a top-level message.

Top-posting is putting your reply at the top, with the quoted post below it.
Dec 22 2008
prev sibling next sibling parent reply BCS <ao pathlink.com> writes:
Reply to Ary,

 And a question: what would you like to see next in Descent?
 

Better template support. I now have 2 libs that are just flat uneditable under descent (scrapple.units and scrapple.dparse) both bring it down to a stand still if not crash and hand it out right. I'd love to see it just work at all for those files even if it doesn't support any template specific goodies.
Dec 20 2008
parent Christopher Wright <dhasenan gmail.com> writes:
BCS wrote:
 Reply to Ary,
 
 And a question: what would you like to see next in Descent?

Better template support. I now have 2 libs that are just flat uneditable under descent (scrapple.units and scrapple.dparse) both bring it down to a stand still if not crash and hand it out right. I'd love to see it just work at all for those files even if it doesn't support any template specific goodies.

I agree entirely. Using templates turns Descent into a very large text editor. I still use Descent for any application or library level development. (When I use D as a scripting language, I still use vim.)
Dec 22 2008
prev sibling next sibling parent Lutger <lutger.blijdestijn gmail.com> writes:
Thank you so much, I really appreciate this IDE. 

What would make me most happy, personally, is getting Descent to parse command
line output from dmd and jump to errors in the source file. 

Next up the wishlist is actually building from Descent, but this is less
important. Dsss support would be awesome too. 
Dec 21 2008
prev sibling next sibling parent reply Jacob Carlborg <doobnet gmail.com> writes:
Ary Borenszweig wrote:
 The Descent plugin for Eclipse provides an IDE for writing, launching 
 and debugging code in D.
 
 Explanations on how to get it from within Eclipse are here:
 
 http://www.dsource.org/projects/descent
 
 (There's no need to do the nightly-build manual stuff for this. If you 
 previously had a nightly-build, you must need to remove it before 
 updating. Anyway, the current nightly-build reflects this release, so 
 you can just do it manually if it turns out easier for you.)
 
 This release is just an accumulation of small features and bug fixes 
 since the last (official, not nightly-build) version. But since I don't 
 want everyone to think "Aww, nothing new, just a new number", this 
 release also includes support for array "extension methods" in 
 autocompletion. For this to work, the function that you want to use as 
 an extension must be in the current module, or already imported (so for 
 example you won't get methods from std.algorithm, tango.core.Array or 
 tango.text.Util until you have an import for them in the module you are 
 currently typing in).
 
 Here's a video that shows this functionality: 
 http://www.youtube.com/watch?v=FBj0wu9dbnA
 
 And a question: what would you like to see next in Descent?
 
 Any suggestion, critic or bug report is welcome. You can use:
 - the forums: http://www.dsource.org/forums/viewforum.php?f=107
 - trac: http://www.dsource.org/projects/descent/report?action=new
 - irc: at freenode, #d.descent
 
 Enjoy!

First I have to say that you're doing a great job with descent. Here are a few suggestions: Remove "." as insertion of autocompletion. Yes I know that it's like that in JDT, BUT Java doesn't have slicing ".." and variadic functions "..." Add an option, when enabled, if you're in a slice [|] and pressing "." don't show the autocompletion list (| is cursor). Ctrl+Space is still available. "Go to definition" using Ctrl+click doesn't work in Eclipse 3.4 and newer, ticket #106 Add "Libraries" for project properties, including "User Library". See JDT, right click on project -> Properties -> Java Build Path -> Libraries -> Add Library ... -> User Library. This is a must after removing "Installed Compilers" in one of the latest nightly builds. If not too much work, getting Descent to parse command line output from dmd/gdc/ldc and jump to errors in the source file. Not so important, creation of dsss.conf file in project It would be really great if the semantic analyzer could get better performance, it works great in files with around 200-300 lines of code. If the files are larger than that it can get really slow. For some reason, I haven't found out yet, many features like "go to definition", highlighting class fields in blue, highlight same occurrences of variable and so on stops working in larger files, it's probably something specific in the code that makes it not working. For example in this file, http://www.dsource.org/projects/dwt-mac/browser/dwt/widgets/Display.d , everything works as it should until line 766, after that line none of the above mentioned features work. The semantic analyzer highlights this piece of code as an error: System.arraycopy (contexts, 0, newContexts, 0, contexts.length); Error message: Function expected before (), not 'arraycopy' File: http://www.dsource.org/projects/dwt-mac/browser/dwt/widgets/Display.d Line: 397 Included from file: http://www.dsource.org/projects/dwt-mac/browser/dwt/dwthelper/System.d Line: 126 Pleas let me know if I should make a ticket for any of these suggestions, problems
Dec 23 2008
parent reply Ary Borenszweig <ary esperanto.org.ar> writes:
Jacob Carlborg escribió:
 Ary Borenszweig wrote:
 The Descent plugin for Eclipse provides an IDE for writing, launching 
 and debugging code in D.

 Explanations on how to get it from within Eclipse are here:

 http://www.dsource.org/projects/descent

 (There's no need to do the nightly-build manual stuff for this. If you 
 previously had a nightly-build, you must need to remove it before 
 updating. Anyway, the current nightly-build reflects this release, so 
 you can just do it manually if it turns out easier for you.)

 This release is just an accumulation of small features and bug fixes 
 since the last (official, not nightly-build) version. But since I 
 don't want everyone to think "Aww, nothing new, just a new number", 
 this release also includes support for array "extension methods" in 
 autocompletion. For this to work, the function that you want to use as 
 an extension must be in the current module, or already imported (so 
 for example you won't get methods from std.algorithm, tango.core.Array 
 or tango.text.Util until you have an import for them in the module you 
 are currently typing in).

 Here's a video that shows this functionality: 
 http://www.youtube.com/watch?v=FBj0wu9dbnA

 And a question: what would you like to see next in Descent?

 Any suggestion, critic or bug report is welcome. You can use:
 - the forums: http://www.dsource.org/forums/viewforum.php?f=107
 - trac: http://www.dsource.org/projects/descent/report?action=new
 - irc: at freenode, #d.descent

 Enjoy!

First I have to say that you're doing a great job with descent. Here are a few suggestions: Remove "." as insertion of autocompletion. Yes I know that it's like that in JDT, BUT Java doesn't have slicing ".." and variadic functions "..."

You can remove it in Windows -> Preferences -> D -> Editor -> Content Assist, in "Auto activation triggers for D" (just remove the dot).
 
 
 Add an option, when enabled, if you're in a slice [|] and pressing "." 
 don't show the autocompletion list (| is cursor). Ctrl+Space is still 
 available.

I'll do it, that seems a reasonable solution.
 
 
 Add "Libraries" for project properties, including "User Library". See 
 JDT, right click on project -> Properties -> Java Build Path -> 
 Libraries -> Add Library ... -> User Library. This is a must after 
 removing "Installed Compilers" in one of the latest nightly builds.

Done!
 (...)

Thanks for the feedback.
Dec 30 2008
parent reply Jacob Carlborg <doobnet gmail.com> writes:
Ary Borenszweig wrote:
 Jacob Carlborg escribió:
 Ary Borenszweig wrote:
 The Descent plugin for Eclipse provides an IDE for writing, launching 
 and debugging code in D.

 Explanations on how to get it from within Eclipse are here:

 http://www.dsource.org/projects/descent

 (There's no need to do the nightly-build manual stuff for this. If 
 you previously had a nightly-build, you must need to remove it before 
 updating. Anyway, the current nightly-build reflects this release, so 
 you can just do it manually if it turns out easier for you.)

 This release is just an accumulation of small features and bug fixes 
 since the last (official, not nightly-build) version. But since I 
 don't want everyone to think "Aww, nothing new, just a new number", 
 this release also includes support for array "extension methods" in 
 autocompletion. For this to work, the function that you want to use 
 as an extension must be in the current module, or already imported 
 (so for example you won't get methods from std.algorithm, 
 tango.core.Array or tango.text.Util until you have an import for them 
 in the module you are currently typing in).

 Here's a video that shows this functionality: 
 http://www.youtube.com/watch?v=FBj0wu9dbnA

 And a question: what would you like to see next in Descent?

 Any suggestion, critic or bug report is welcome. You can use:
 - the forums: http://www.dsource.org/forums/viewforum.php?f=107
 - trac: http://www.dsource.org/projects/descent/report?action=new
 - irc: at freenode, #d.descent

 Enjoy!

First I have to say that you're doing a great job with descent. Here are a few suggestions: Remove "." as insertion of autocompletion. Yes I know that it's like that in JDT, BUT Java doesn't have slicing ".." and variadic functions "..."

You can remove it in Windows -> Preferences -> D -> Editor -> Content Assist, in "Auto activation triggers for D" (just remove the dot).

I'm not sure if you understand what I mean but the biggest problem is not the activation of the content assist, it's the insertion of the selected element in the list when the content assist is active, when you press dot the second time. I still want to use dot as the activation of content assist when accessing class members and similar.
 Add an option, when enabled, if you're in a slice [|] and pressing "." 
 don't show the autocompletion list (| is cursor). Ctrl+Space is still 
 available.

I'll do it, that seems a reasonable solution.

Thanks, I think that this will also solve the above problem. This is also a better solution than the above.
 
 Add "Libraries" for project properties, including "User Library". See 
 JDT, right click on project -> Properties -> Java Build Path -> 
 Libraries -> Add Library ... -> User Library. This is a must after 
 removing "Installed Compilers" in one of the latest nightly builds.

Done! > (...) Thanks for the feedback.

Dec 31 2008
parent reply Ary Borenszweig <ary esperanto.org.ar> writes:
Jacob Carlborg escribió:
 Ary Borenszweig wrote:
 Jacob Carlborg escribió:
 Ary Borenszweig wrote:
 The Descent plugin for Eclipse provides an IDE for writing, 
 launching and debugging code in D.

 Explanations on how to get it from within Eclipse are here:

 http://www.dsource.org/projects/descent

 (There's no need to do the nightly-build manual stuff for this. If 
 you previously had a nightly-build, you must need to remove it 
 before updating. Anyway, the current nightly-build reflects this 
 release, so you can just do it manually if it turns out easier for 
 you.)

 This release is just an accumulation of small features and bug fixes 
 since the last (official, not nightly-build) version. But since I 
 don't want everyone to think "Aww, nothing new, just a new number", 
 this release also includes support for array "extension methods" in 
 autocompletion. For this to work, the function that you want to use 
 as an extension must be in the current module, or already imported 
 (so for example you won't get methods from std.algorithm, 
 tango.core.Array or tango.text.Util until you have an import for 
 them in the module you are currently typing in).

 Here's a video that shows this functionality: 
 http://www.youtube.com/watch?v=FBj0wu9dbnA

 And a question: what would you like to see next in Descent?

 Any suggestion, critic or bug report is welcome. You can use:
 - the forums: http://www.dsource.org/forums/viewforum.php?f=107
 - trac: http://www.dsource.org/projects/descent/report?action=new
 - irc: at freenode, #d.descent

 Enjoy!

First I have to say that you're doing a great job with descent. Here are a few suggestions: Remove "." as insertion of autocompletion. Yes I know that it's like that in JDT, BUT Java doesn't have slicing ".." and variadic functions "..."

You can remove it in Windows -> Preferences -> D -> Editor -> Content Assist, in "Auto activation triggers for D" (just remove the dot).

I'm not sure if you understand what I mean but the biggest problem is not the activation of the content assist, it's the insertion of the selected element in the list when the content assist is active, when you press dot the second time. I still want to use dot as the activation of content assist when accessing class members and similar.

Now I see what you meen. I'll add an option for it. :-)
Dec 31 2008
parent Jacob Carlborg <doobnet gmail.com> writes:
Ary Borenszweig wrote:
 Jacob Carlborg escribió:
 Ary Borenszweig wrote:
 Jacob Carlborg escribió:
 Ary Borenszweig wrote:
 The Descent plugin for Eclipse provides an IDE for writing, 
 launching and debugging code in D.

 Explanations on how to get it from within Eclipse are here:

 http://www.dsource.org/projects/descent

 (There's no need to do the nightly-build manual stuff for this. If 
 you previously had a nightly-build, you must need to remove it 
 before updating. Anyway, the current nightly-build reflects this 
 release, so you can just do it manually if it turns out easier for 
 you.)

 This release is just an accumulation of small features and bug 
 fixes since the last (official, not nightly-build) version. But 
 since I don't want everyone to think "Aww, nothing new, just a new 
 number", this release also includes support for array "extension 
 methods" in autocompletion. For this to work, the function that you 
 want to use as an extension must be in the current module, or 
 already imported (so for example you won't get methods from 
 std.algorithm, tango.core.Array or tango.text.Util until you have 
 an import for them in the module you are currently typing in).

 Here's a video that shows this functionality: 
 http://www.youtube.com/watch?v=FBj0wu9dbnA

 And a question: what would you like to see next in Descent?

 Any suggestion, critic or bug report is welcome. You can use:
 - the forums: http://www.dsource.org/forums/viewforum.php?f=107
 - trac: http://www.dsource.org/projects/descent/report?action=new
 - irc: at freenode, #d.descent

 Enjoy!

First I have to say that you're doing a great job with descent. Here are a few suggestions: Remove "." as insertion of autocompletion. Yes I know that it's like that in JDT, BUT Java doesn't have slicing ".." and variadic functions "..."

You can remove it in Windows -> Preferences -> D -> Editor -> Content Assist, in "Auto activation triggers for D" (just remove the dot).

I'm not sure if you understand what I mean but the biggest problem is not the activation of the content assist, it's the insertion of the selected element in the list when the content assist is active, when you press dot the second time. I still want to use dot as the activation of content assist when accessing class members and similar.

Now I see what you meen. I'll add an option for it. :-)

:) Thanks
Dec 31 2008
prev sibling next sibling parent reply Ary Borenszweig <ary esperanto.org.ar> writes:
Ary Borenszweig escribió:
 The Descent plugin for Eclipse provides an IDE for writing, launching 
 and debugging code in D.

Thank you all for the feedback! I just uploaded a new release (0.5.3.20081230) which adds support for user libraries: http://dsource.org/projects/descent/wiki/Configuring Next I'll try to work on making the cool things work inside templates (and not stop working on big files) and maybe dsss integration or a simple builder.
Dec 30 2008
next sibling parent Olli Aalto <oaalto gmail.com> writes:
Ary Borenszweig wrote:
 Ary Borenszweig escribió:
 The Descent plugin for Eclipse provides an IDE for writing, launching 
 and debugging code in D.

Thank you all for the feedback! I just uploaded a new release (0.5.3.20081230) which adds support for user libraries: http://dsource.org/projects/descent/wiki/Configuring Next I'll try to work on making the cool things work inside templates (and not stop working on big files) and maybe dsss integration or a simple builder.

It seems that the new build is missing some stuff. Tried both the daily build zip and the update site. There are no descent features and only descent.launching, descent.debug.core and descent.ui.metrics plugins show up in the plugins list. (Unrelated note, both descent.launching and descent.debug.core have the same name; Descent Launching Plug-in) O.
Dec 30 2008
prev sibling next sibling parent Jacob Carlborg <doobnet gmail.com> writes:
Ary Borenszweig wrote:
 Ary Borenszweig escribió:
 The Descent plugin for Eclipse provides an IDE for writing, launching 
 and debugging code in D.

Thank you all for the feedback! I just uploaded a new release (0.5.3.20081230) which adds support for user libraries:

Thanks
 
 http://dsource.org/projects/descent/wiki/Configuring
 
 Next I'll try to work on making the cool things work inside templates 
 (and not stop working on big files) and maybe dsss integration or a 
 simple builder.

Sounds good
Dec 31 2008
prev sibling parent reply Ary Borenszweig <ary esperanto.org.ar> writes:
Ary Borenszweig escribió:
 Ary Borenszweig escribió:
 The Descent plugin for Eclipse provides an IDE for writing, launching 
 and debugging code in D.

Thank you all for the feedback! I just uploaded a new release (0.5.3.20081230)...

Ok, I promise this is the last one in this year. I just uploaded another release (0.5.3.20081231) which adds some kind of support for autocompletion, go-to-definition and semantic highlighting inside templates. It is far from perfect, but comparing this to nothing I think it's ok. This release also has an option to not insert completion proposals when a dot is typed (as was suggested by Jacob Carlborg). I also changed the Eclipse Update site to this one: http://downloads.dsource.org/projects/descent/update-site So beware that you won't be able to update this time from the update manager, but you can uninstall the previous one and add this as a new update site. Happy new year! Ary
Dec 31 2008
parent reply Jacob Carlborg <doobnet gmail.com> writes:
Ary Borenszweig wrote:
 Ary Borenszweig escribió:
 Ary Borenszweig escribió:
 The Descent plugin for Eclipse provides an IDE for writing, launching 
 and debugging code in D.

Thank you all for the feedback! I just uploaded a new release (0.5.3.20081230)...

Ok, I promise this is the last one in this year. I just uploaded another release (0.5.3.20081231) which adds some kind of support for autocompletion, go-to-definition and semantic highlighting inside templates. It is far from perfect, but comparing this to nothing I think it's ok. This release also has an option to not insert completion proposals when a dot is typed (as was suggested by Jacob Carlborg).

Almost there. When pressing dot the second time the cursor is moved back one letter and ends up between the two dots instead of after the second dot.
 I also changed the Eclipse Update site to this one:
 
 http://downloads.dsource.org/projects/descent/update-site
 
 So beware that you won't be able to update this time from the update 
 manager, but you can uninstall the previous one and add this as a new 
 update site.
 
 Happy new year!
 Ary

Jan 01 2009
parent reply Ary Borenszweig <ary esperanto.org.ar> writes:
Jacob Carlborg Wrote:

 Ary Borenszweig wrote:
 Ary Borenszweig escribió:
 Ary Borenszweig escribió:
 The Descent plugin for Eclipse provides an IDE for writing, launching 
 and debugging code in D.

Thank you all for the feedback! I just uploaded a new release (0.5.3.20081230)...

Ok, I promise this is the last one in this year. I just uploaded another release (0.5.3.20081231) which adds some kind of support for autocompletion, go-to-definition and semantic highlighting inside templates. It is far from perfect, but comparing this to nothing I think it's ok. This release also has an option to not insert completion proposals when a dot is typed (as was suggested by Jacob Carlborg).

Almost there. When pressing dot the second time the cursor is moved back one letter and ends up between the two dots instead of after the second dot.

Can you check this happens all the time? It happened to me in some cases, but I corrected them. I probably missed some others.
Jan 01 2009
parent reply Jacob Carlborg <doobnet gmail.com> writes:
Ary Borenszweig wrote:
 Jacob Carlborg Wrote:
 
 Ary Borenszweig wrote:
 Ary Borenszweig escribió:
 Ary Borenszweig escribió:
 The Descent plugin for Eclipse provides an IDE for writing, launching 
 and debugging code in D.

I just uploaded a new release (0.5.3.20081230)...

I just uploaded another release (0.5.3.20081231) which adds some kind of support for autocompletion, go-to-definition and semantic highlighting inside templates. It is far from perfect, but comparing this to nothing I think it's ok. This release also has an option to not insert completion proposals when a dot is typed (as was suggested by Jacob Carlborg).

one letter and ends up between the two dots instead of after the second dot.

Can you check this happens all the time? It happened to me in some cases, but I corrected them. I probably missed some others.

I have this example: void main () { char[] str; char[] s = str[3.|] } "|" is the cursor, as usual. When I press dot here the cursor is moved back one letter or not moved forward and end up between the two dots like this: void main () { char[] str; char[] s = str[3.|.] } /Jacob
Jan 02 2009
parent reply Ary Borenszweig <ary esperanto.org.ar> writes:
Jacob Carlborg escribió:
 Ary Borenszweig wrote:
 Jacob Carlborg Wrote:

 Ary Borenszweig wrote:
 Ary Borenszweig escribió:
 Ary Borenszweig escribió:
 The Descent plugin for Eclipse provides an IDE for writing, 
 launching and debugging code in D.

I just uploaded a new release (0.5.3.20081230)...

I just uploaded another release (0.5.3.20081231) which adds some kind of support for autocompletion, go-to-definition and semantic highlighting inside templates. It is far from perfect, but comparing this to nothing I think it's ok. This release also has an option to not insert completion proposals when a dot is typed (as was suggested by Jacob Carlborg).

back one letter and ends up between the two dots instead of after the second dot.

Can you check this happens all the time? It happened to me in some cases, but I corrected them. I probably missed some others.

I have this example: void main () { char[] str; char[] s = str[3.|] } "|" is the cursor, as usual. When I press dot here the cursor is moved back one letter or not moved forward and end up between the two dots like this: void main () { char[] str; char[] s = str[3.|.] } /Jacob

There, I've fixed it. Updating from the update manager will be enough. I've removed the nightly builds page because now it's easier for me just to upload new versions to the update site.
Jan 02 2009
parent Jacob Carlborg <doob me.com> writes:
Ary Borenszweig Wrote:

 Jacob Carlborg escribió:
 Ary Borenszweig wrote:
 Jacob Carlborg Wrote:

 Ary Borenszweig wrote:
 Ary Borenszweig escribió:
 Ary Borenszweig escribió:
 The Descent plugin for Eclipse provides an IDE for writing, 
 launching and debugging code in D.

I just uploaded a new release (0.5.3.20081230)...

I just uploaded another release (0.5.3.20081231) which adds some kind of support for autocompletion, go-to-definition and semantic highlighting inside templates. It is far from perfect, but comparing this to nothing I think it's ok. This release also has an option to not insert completion proposals when a dot is typed (as was suggested by Jacob Carlborg).

back one letter and ends up between the two dots instead of after the second dot.

Can you check this happens all the time? It happened to me in some cases, but I corrected them. I probably missed some others.

I have this example: void main () { char[] str; char[] s = str[3.|] } "|" is the cursor, as usual. When I press dot here the cursor is moved back one letter or not moved forward and end up between the two dots like this: void main () { char[] str; char[] s = str[3.|.] } /Jacob

There, I've fixed it. Updating from the update manager will be enough. I've removed the nightly builds page because now it's easier for me just to upload new versions to the update site.

Thanks
Jan 03 2009
prev sibling parent reply Trass3r <mrmocool gmx.de> writes:
Ary Borenszweig schrieb:
 And a question: what would you like to see next in Descent?
 

#1: the "preprocessed"-source output discussed in the learn newsgroup! ("...output a copy of what the source files look like after things like mixins, CTFE and versions are applied? (Sort of like running a C compiler with a "preprocess-only" flag)...) #2: parse command line output from dmd and jump to errors in the source file
Jan 19 2009
parent reply Ary Borenszweig <ary esperanto.org.ar> writes:
Trass3r wrote:
 Ary Borenszweig schrieb:
 And a question: what would you like to see next in Descent?

#1: the "preprocessed"-source output discussed in the learn newsgroup! ("...output a copy of what the source files look like after things like mixins, CTFE and versions are applied? (Sort of like running a C compiler with a "preprocess-only" flag)...)

I think this point is pretty feasible. I can probably implement it as a view. The only "problem" is that if I do that, I'll also have to show the optimized version of the code (which might be very interesting). So if you have: -- int foo(int x) { return 2 * x; } int bar() { return 3 * foo(4); } -- you might end up seeing in that view: -- int foo(int x) { return 2 * x; } int bar() { return 24; } --
 
 #2: parse command line output from dmd and jump to errors in the source 
 file

Yeah... This seems like the favorite one.
Jan 19 2009
parent reply Trass3r <mrmocool gmx.de> writes:
Ary Borenszweig schrieb:
 I think this point is pretty feasible. I can probably implement it as a 
 view. The only "problem" is that if I do that, I'll also have to show 
 the optimized version of the code (which might be very interesting). So 
 if you have:

Hey good idea, would be interesting to see what stuff gets optimized, inlined and stuff! :)
Jan 20 2009
parent reply Ary Borenszweig <ary esperanto.org.ar> writes:
Trass3r wrote:
 Ary Borenszweig schrieb:
 I think this point is pretty feasible. I can probably implement it as 
 a view. The only "problem" is that if I do that, I'll also have to 
 show the optimized version of the code (which might be very 
 interesting). So if you have:

Hey good idea, would be interesting to see what stuff gets optimized, inlined and stuff! :)

Well, now I'm not sure about this... I've just played around with this. If you give DMD's front end this: --- module main; class Foo { } int main(char[][] args) { scope(exit) { char[] x = "exit"; } scope(failure) { char[] x = "failure"; } scope(success) { char[] x = "success"; } Foo foo = new Foo(); return 0; } --- it transforms it to this: --- module main; import object; class Foo : Object { } int main(char[][] args) { try { try { int __osf15 = 0; try try { Foo foo = new Foo; return 0; } catch(Object __o2) { __osf15 = 1; throw __o2; } finally if(!__osf15) char[] x = "success"; } catch(Object __o1) { char[] x = "failure"; throw __o1; } } finally char[] x = "exit"; } --- I'm not sure you want to see that, heh. I think I'll stick with the "hover over a symbol to see it's compile-time representation" solution...
Jan 20 2009
next sibling parent Trass3r <mrmocool gmx.de> writes:
 I'm not sure you want to see that, heh. I think I'll stick with the 
 "hover over a symbol to see it's compile-time representation" solution...

Cool, didn't know scope was just syntactic sugar for such a construct. Well the question is what the output looks like for a test scenario that is more practical, such as mixins and stuff.
Jan 20 2009
prev sibling next sibling parent reply Trass3r <mrmocool gmx.de> writes:
btw how do you get these information? Do you directly use the dmd 
frontend source code?
Jan 20 2009
parent reply Ary Borenszweig <ary esperanto.org.ar> writes:
Trass3r wrote:
 btw how do you get these information? Do you directly use the dmd 
 frontend source code?

Descent has a port of DMD's frontend code to Java. It also implements the visitor pattern in the provided AST, so it can output it as text.
Jan 20 2009
next sibling parent Ary Borenszweig <ary esperanto.org.ar> writes:
Ary Borenszweig wrote:
 Trass3r wrote:
 btw how do you get these information? Do you directly use the dmd 
 frontend source code?

Descent has a port of DMD's frontend code to Java. It also implements the visitor pattern in the provided AST, so it can output it as text.

Ummm... So I apply the semantic routines, which transforms the original AST, and then I output it. You can see all the ugly stuff that happens under the hood. :-)
Jan 20 2009
prev sibling parent Trass3r <mrmocool gmx.de> writes:
Ary Borenszweig schrieb:
 Trass3r wrote:
 btw how do you get these information? Do you directly use the dmd 
 frontend source code?

Descent has a port of DMD's frontend code to Java. It also implements the visitor pattern in the provided AST, so it can output it as text.

Yeah I thought so. Wasn't that quite time-consuming?
Jan 20 2009
prev sibling parent reply Robert Fraser <fraserofthenight gmail.com> writes:
Ary Borenszweig wrote:
 Trass3r wrote:
 Ary Borenszweig schrieb:
 I think this point is pretty feasible. I can probably implement it as 
 a view. The only "problem" is that if I do that, I'll also have to 
 show the optimized version of the code (which might be very 
 interesting). So if you have:

Hey good idea, would be interesting to see what stuff gets optimized, inlined and stuff! :)

Well, now I'm not sure about this... I've just played around with this. If you give DMD's front end this: --- module main; class Foo { } int main(char[][] args) { scope(exit) { char[] x = "exit"; } scope(failure) { char[] x = "failure"; } scope(success) { char[] x = "success"; } Foo foo = new Foo(); return 0; } --- it transforms it to this: --- module main; import object; class Foo : Object { } int main(char[][] args) { try { try { int __osf15 = 0; try try { Foo foo = new Foo; return 0; } catch(Object __o2) { __osf15 = 1; throw __o2; } finally if(!__osf15) char[] x = "success"; } catch(Object __o1) { char[] x = "failure"; throw __o1; } } finally char[] x = "exit"; } --- I'm not sure you want to see that, heh. I think I'll stick with the "hover over a symbol to see it's compile-time representation" solution...

That doesn't look entirely useless, especially for optimization. Perhaps hard to read, but easier than reading the assembly output ;-P!
Jan 20 2009
parent reply BCS <ao pathlink.com> writes:
Reply to Robert,

 That doesn't look entirely useless, especially for optimization.
 Perhaps hard to read, but easier than reading the assembly output ;-P!
 

ditto; now that you have it might as well make it available.
Jan 20 2009
parent reply Ary Borenszweig <ary esperanto.org.ar> writes:
BCS wrote:
 Reply to Robert,
 
 That doesn't look entirely useless, especially for optimization.
 Perhaps hard to read, but easier than reading the assembly output ;-P!

ditto; now that you have it might as well make it available.

Ok, I'll work on it. :-)
Jan 20 2009
parent Trass3r <mrmocool gmx.de> writes:
Ary Borenszweig schrieb:
 Ok, I'll work on it. :-)

Hope you'll release it soon ;)
Jan 22 2009