www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - Descent 0.4 released

reply Ary Manzana <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

The new features for this release are:
- Awsome, flexible formatter, almost as good as the one in JDT. This was 
done by Robert Fraser, which spent lots of hours making the formatter as 
flexible as possible. The formatter also allows templates like for, 
foreach, if, etc., to be well formatted (in 0.3 they were not).
- Spell checking, with two built-in dictionaries english dictionaries 
(US and UK). Enable from Windows -> Preferences -> General -> Editors -> 
Text Editors -> Spelling (select "D spelling engine" to configure).
- Better support for ddbg and gdb.
- Ddoc view. This is very helpful for ddoc writers to see how ddoc will 
look like as they type, without the need to compile the file and open a 
browser. Macros processing is fully supported, as well as sections and 
code sections (text between "---").
- Highlighting of all occurrences of the token under the cursor. This is 
less powerful than the one in JDT, but in a future it could be as 
powerful. Also, Ctrl+2 Ctrl+R allows to rename in-line all of these 
ocurrences.
- Todo tasks: "// TODO something" makes "TODO something" appear in the 
task list. This is configurable exactly like in JDT.
- trace.log viewer: where you can filter function names, sort according 
to different criterias, and show/hide fans-in and fans-out. You can 
recursively expand fans to see theyre associated function's fans.
- Updated parser for DMD 1.020 and 2.003. You can now select the 
compiler version for each project.

If you used Descent before, make sure to uninstall it first. Also delete 
the .project and .classpath files for the projects you had, otherwise 
you won't have todo tasks support. Also, don't forget to run eclipse 
with "-clean" so that the new version of the plugin appears in the 
update dialog.

The plugin still doesn't integrate with a compiler. We are looking at 
the best way to seamlessly integrate it, so that compiling programs is 
as easy as it can be.

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
Aug 12 2007
next sibling parent Frank Benoit <keinfarbton googlemail.com> writes:
erm, .. wow.
this is so cool.
:)
Aug 12 2007
prev sibling next sibling parent reply "Vladimir Panteleev" <thecybershadow gmail.com> writes:
On Sun, 12 Aug 2007 20:30:55 +0300, Ary Manzana <ary esperanto.org.ar> w=
rote:

 - trac: http://www.dsource.org/projects/descent/report?action=3Dnew

I noticed that visiting the above link gives me a "Forbidden" error:
 REPORT_CREATE privileges are required to perform this operation

So, I decided to give Descent a shot, and tried to import my current pro= ject (created a new project based on an existing source directory). Howe= ver, after clicking "Finish", Eclipse seemed to freeze and started eatin= g tons of resources. I almost gave up on it finishing, when it finally "= unfroze". Given that I was running Eclipse in a Linux VM (although my ho= st is a decent machine), and the project being fairly sizeable (over 800= 0 lines of code), the ~5 minute analysis time doesn't sound too unreason= able - however, is it possible to add some kind of visual feedback, or i= f not - detect that the processing may take a long time and display a wa= rning or something? Anyway, this is really something - especially the code formatter :D As a minor feature request, I'd like to see an option to format classes = like this: class Foo { int x; private: int y; public: int z; } This indentation style is used quite often in Phobos, and I use it as we= ll. I guess it might require adding "negative" indentation for certain eleme= nts to the formatter engine... From what I understood, things like code completion, "Open Declaration"= and stuff pertaining to Quick Assist isn't implemented yet, is it? If a= ny of it is supposed to be working, it didn't work for me... -- = Best regards, Vladimir mailto:thecybershadow gmail.com
Aug 12 2007
next sibling parent reply Ary Manzana <ary esperanto.org.ar> writes:
Vladimir Panteleev escribio':
 On Sun, 12 Aug 2007 20:30:55 +0300, Ary Manzana <ary esperanto.org.ar> wrote:
 
 - trac: http://www.dsource.org/projects/descent/report?action=new

I noticed that visiting the above link gives me a "Forbidden" error:
 REPORT_CREATE privileges are required to perform this operation


Ok, now you should be able to do it.
 
 So, I decided to give Descent a shot, and tried to import my current project
(created a new project based on an existing source directory). However, after
clicking "Finish", Eclipse seemed to freeze and started eating tons of
resources. I almost gave up on it finishing, when it finally "unfroze". Given
that I was running Eclipse in a Linux VM (although my host is a decent
machine), and the project being fairly sizeable (over 8000 lines of code), the
~5 minute analysis time doesn't sound too unreasonable - however, is it
possible to add some kind of visual feedback, or if not - detect that the
processing may take a long time and display a warning or something?

I'll try to see why it takes so long. Even if it is a big project, it shouldn't take that long.
 
 Anyway, this is really something - especially the code formatter :D
 As a minor feature request, I'd like to see an option to format classes like
this:
 
 class Foo
 {
 	int x;
 
 private:
 	int y;
 
 public:
 	int z;
 }
 
 This indentation style is used quite often in Phobos, and I use it as well.
 I guess it might require adding "negative" indentation for certain elements to
the formatter engine...

I think this is doable. I'll ask Robert. :-)
 
  From what I understood, things like code completion, "Open Declaration" and
stuff pertaining to Quick Assist isn't implemented yet, is it? If any of it is
supposed to be working, it didn't work for me...

No, they don't work yet. Only the featues I mentioned are the new stuff. Regards, Ary
Aug 12 2007
parent reply Brad Anderson <brad dsource.org> writes:
Ary Manzana wrote:
 Vladimir Panteleev escribio':
 On Sun, 12 Aug 2007 20:30:55 +0300, Ary Manzana <ary esperanto.org.ar>
 wrote:

 - trac: http://www.dsource.org/projects/descent/report?action=new

I noticed that visiting the above link gives me a "Forbidden" error:
 REPORT_CREATE privileges are required to perform this operation


Ok, now you should be able to do it.

Um, I think you want to create a new ticket, not a report. http://www.dsource.org/projects/descent/newticket BA
Aug 12 2007
parent "Vladimir Panteleev" <thecybershadow gmail.com> writes:
On Mon, 13 Aug 2007 03:11:45 +0300, Brad Anderson <brad dsource.org> wrote:

 Um, I think you want to create a new ticket, not a report.

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

Oh, that's right. I just clicked the link in the OP :) -- Best regards, Vladimir mailto:thecybershadow gmail.com
Aug 13 2007
prev sibling next sibling parent Robert Fraser <fraserofthenight gmail.com> writes:
Vladimir Panteleev Wrote:

 Anyway, this is really something - especially the code formatter :D
 As a minor feature request, I'd like to see an option to format classes like
this:
 
 class Foo
 {
 	int x;
 
 private:
 	int y;
 
 public:
 	int z;
 }
 
 This indentation style is used quite often in Phobos, and I use it as well.
 I guess it might require adding "negative" indentation for certain elements to
the formatter engine...
 

Not hard at all; I'll get on that!
Aug 13 2007
prev sibling parent reply "Simen Haugen" <simen norstat.no> writes:
"Vladimir Panteleev" <thecybershadow gmail.com> wrote in message 
news:op.twyuciosm02fvl irc.irastex.local...
On Sun, 12 Aug 2007 20:30:55 +0300, Ary Manzana <ary esperanto.org.ar> 
wrote:

 So, I decided to give Descent a shot, and tried to import my current 
 project (created a new project based on an existing source directory). 
 However, after clicking "Finish", Eclipse seemed to freeze and started 
 eating tons of resources. I almost gave up on it finishing, when it 
 finally "unfroze". Given that I was running Eclipse in a Linux VM 
 (although my host is a decent machine), and the project being fairly 
 sizeable (over 8000 lines of code), the ~5 minute analysis time doesn't 
 sound too unreasonable - however, is it possible to add some kind of 
 visual feedback, or if not - detect that the processing may take a long 
 time and display a warning or something?

I'm also having this problem on a project of about 5000 lines. It seems to kick in every now and then and lockes up for a couple of minutes.
Aug 21 2007
parent Ary Manzana <ary esperanto.org.ar> writes:
Simen Haugen wrote:
 "Vladimir Panteleev" <thecybershadow gmail.com> wrote in message 
 news:op.twyuciosm02fvl irc.irastex.local...
 On Sun, 12 Aug 2007 20:30:55 +0300, Ary Manzana <ary esperanto.org.ar> 
 wrote:
 
 So, I decided to give Descent a shot, and tried to import my current 
 project (created a new project based on an existing source directory). 
 However, after clicking "Finish", Eclipse seemed to freeze and started 
 eating tons of resources. I almost gave up on it finishing, when it 
 finally "unfroze". Given that I was running Eclipse in a Linux VM 
 (although my host is a decent machine), and the project being fairly 
 sizeable (over 8000 lines of code), the ~5 minute analysis time doesn't 
 sound too unreasonable - however, is it possible to add some kind of 
 visual feedback, or if not - detect that the processing may take a long 
 time and display a warning or something?

I'm also having this problem on a project of about 5000 lines. It seems to kick in every now and then and lockes up for a couple of minutes.

Do you mean it happens also after the project has been created? Vladimir was talking about the freeze at the project creation.
Aug 21 2007
prev sibling next sibling parent reply Witold Baryluk <baryluk smp.if.uj.edu.pl> writes:
Dnia Sun, 12 Aug 2007 15:30:55 -0200
Ary Manzana <ary esperanto.org.ar> napisa=B3/a:

 The Descent plugin for Eclipse provides an IDE for writing, launching=20
 and debugging code in D.

I just installed Descent 0.3 about 6 hour ago :) But easly upgraded to 0.4. Nice work.
 The new features for this release are:
 - Awsome, flexible formatter, almost as good as the one in JDT. This
 was done by Robert Fraser, which spent lots of hours making the
 formatter as flexible as possible. The formatter also allows
 templates like for, foreach, if, etc., to be well formatted (in 0.3
 they were not).

It is great. It's the BEST formatter i have ever seen. It is _first_ formater which is completly compatible with my coding style (JDT, CDT, gnu indent and many others always had some missing points).
 - Better support for ddbg and gdb.

 - Ddoc view. This is very helpful for ddoc writers to see how ddoc
 will look like as they type, without the need to compile the file and
 open a browser. Macros processing is fully supported, as well as
 sections and code sections (text between "---").

Useful. How about supporting this: /// Simple class class B { int x; /// position int y; /// ditto }
 - Highlighting of all occurrences of the token under the cursor. This
 is less powerful than the one in JDT, but in a future it could be as=20
 powerful. Also, Ctrl+2 Ctrl+R allows to rename in-line all of these=20
 ocurrences.

Nice but: void a() { int a; } int a; a =3D 5; ^ - puting cursor here, will highlight all "a"s. These feature needs more semantic knowledge. It will also be usefull in refactoring module.
 - trace.log viewer: where you can filter function names, sort
 according to different criterias, and show/hide fans-in and fans-out.
 You can recursively expand fans to see theyre associated function's
 fans.

Very useful.
 - Updated parser for DMD 1.020 and 2.003. You can now select the=20
 compiler version for each project.

feature is really nice. I have problem with seting paths to compiler dmd and phobos. Binary is in /usr/bin/dmd and phobos headers/source in /usr/lib/dmd/src/phobos/{std, c,...}, and configuration dialog have problems with this. Thanks. And keep going. --=20 Witold Baryluk MAIL: baryluk smp.if.uj.edu.pl, baryluk mpi.int.pl JID: movax jabber.autocom.pl
Aug 12 2007
parent Ary Manzana <ary esperanto.org.ar> writes:
Witold Baryluk escribió:
 Dnia Sun, 12 Aug 2007 15:30:55 -0200
 Ary Manzana <ary esperanto.org.ar> napisa³/a:
 
 The Descent plugin for Eclipse provides an IDE for writing, launching 
 and debugging code in D.

I just installed Descent 0.3 about 6 hour ago :) But easly upgraded to 0.4. Nice work.
 The new features for this release are:
 - Awsome, flexible formatter, almost as good as the one in JDT. This
 was done by Robert Fraser, which spent lots of hours making the
 formatter as flexible as possible. The formatter also allows
 templates like for, foreach, if, etc., to be well formatted (in 0.3
 they were not).

It is great. It's the BEST formatter i have ever seen. It is _first_ formater which is completly compatible with my coding style (JDT, CDT, gnu indent and many others always had some missing points).

Thank Robert. ;-)
 
 - Better support for ddbg and gdb.


Cool! Actually I've fixed it without knowing if it works or not (I have linux in a VM, but with Eclipse it dies)... So now I know it does work.
 
 
 - Ddoc view. This is very helpful for ddoc writers to see how ddoc
 will look like as they type, without the need to compile the file and
 open a browser. Macros processing is fully supported, as well as
 sections and code sections (text between "---").

Useful. How about supporting this: /// Simple class class B { int x; /// position int y; /// ditto }

"ditto"s are also supported. If you position the cursor over y, in the ddoc view it shows "position". Is that it or something else I'm missing?
 
 
 
 - Highlighting of all occurrences of the token under the cursor. This
 is less powerful than the one in JDT, but in a future it could be as 
 powerful. Also, Ctrl+2 Ctrl+R allows to rename in-line all of these 
 ocurrences.

Nice but: void a() { int a; } int a; a = 5; ^ - puting cursor here, will highlight all "a"s. These feature needs more semantic knowledge. It will also be usefull in refactoring module.

I know. As semantic analysis improves (actually, starts), this will become more powerful, as well as other things. But at least for long names it has a chance to work.
 
 
 - trace.log viewer: where you can filter function names, sort
 according to different criterias, and show/hide fans-in and fans-out.
 You can recursively expand fans to see theyre associated function's
 fans.

Very useful.
 - Updated parser for DMD 1.020 and 2.003. You can now select the 
 compiler version for each project.

feature is really nice. I have problem with seting paths to compiler dmd and phobos. Binary is in /usr/bin/dmd and phobos headers/source in /usr/lib/dmd/src/phobos/{std, c,...}, and configuration dialog have problems with this.

I didn't know that. So I'll make the standard library's source location configurable if a guess fails. But don't worry about this because this isn't used yet. We've just started to work on it... You'll have to compile using an external tool ( http://www.dsource.org/projects/descent/wiki/CompilingPrograms ) or use the command line. Thanks for the feedback!
 
 
 Thanks. And keep going.
 

Aug 12 2007
prev sibling next sibling parent reply Gregor Richards <Richards codu.org> writes:
Ary Manzana wrote:
 The plugin still doesn't integrate with a compiler. We are looking at 
 the best way to seamlessly integrate it, so that compiling programs is 
 as easy as it can be.

[Warning!! Shameless plug levels at critical!] May I suggest integrating with DSSS? This would make your job much easier, since you wouldn't have to worry about specific compiler quirks or differences in making libraries etc on different platforms. - Gregor Richards
Aug 12 2007
parent reply Robert Fraser <fraserofthenight gmail.com> writes:
Gregor Richards Wrote:

 Ary Manzana wrote:
 The plugin still doesn't integrate with a compiler. We are looking at 
 the best way to seamlessly integrate it, so that compiling programs is 
 as easy as it can be.

[Warning!! Shameless plug levels at critical!] May I suggest integrating with DSSS? This would make your job much easier, since you wouldn't have to worry about specific compiler quirks or differences in making libraries etc on different platforms. - Gregor Richards

That's certainly a good idea. However, since descent will be internally tracking changes, dependencies, etc., I'm not sure exactly how this'll work I was thinking that DSSS integration for libraries, (perhaps even for symbol lookup if that's feasible - so if a user enters an unrecognized symbol, they could click a button to look it up in all DSSS-installed libraries, automatically add the library to the build path, and automatically add the necessary imports to the source file... libraries already on the build path and modules internal to the project and other projects in the workspace will of course also be considered, like in the JDT). Integration with the net feature would be even crazier. Imagine how awesome (if not _that_ useful...) it'd be to enter "IMG_LoadPNG_RW" or something, have a red squiggle appear below it, click three times, and have DerlictSDL-Image automatically be downloaded (in the background), installed and added to the build path, and have the import statement added to the source file. And with all that it would be trivial to have the IDE generate "dsss.conf" files. If you have the time, I'd like to meet up at the conference to discuss all this. That being said, this is Ary's brainchild, so I'll leave the final say up to him. Also, looking over DSSS, it doesn't seem to internally keep lists of symbols, so the IDE would need to be aware of the DSSS paths and keep its own symbol:module mapings, perhaps in the workspace directory.
Aug 13 2007
parent reply Ary Manzana <ary esperanto.org.ar> writes:
Robert Fraser escribió:
 Gregor Richards Wrote:
 
 Ary Manzana wrote:
 The plugin still doesn't integrate with a compiler. We are looking at 
 the best way to seamlessly integrate it, so that compiling programs is 
 as easy as it can be.

May I suggest integrating with DSSS? This would make your job much easier, since you wouldn't have to worry about specific compiler quirks or differences in making libraries etc on different platforms. - Gregor Richards

That's certainly a good idea. However, since descent will be internally tracking changes, dependencies, etc., I'm not sure exactly how this'll work I was thinking that DSSS integration for libraries, (perhaps even for symbol lookup if that's feasible - so if a user enters an unrecognized symbol, they could click a button to look it up in all DSSS-installed libraries, automatically add the library to the build path, and automatically add the necessary imports to the source file... libraries already on the build path and modules internal to the project and other projects in the workspace will of course also be considered, like in the JDT). Integration with the net feature would be even crazier. Imagine how awesome (if not _that_ useful...) it'd be to enter "IMG_LoadPNG_RW" or something, have a red squiggle appear below it, click three times, and have DerlictSDL-Image automatically be downloaded (in the background), installed and added to the build path, and have the import statement added to the source file. And with all that it would be trivial to have the IDE generate "dsss.conf" files. If you have the time, I'd like to meet up at the conference to discuss all this. That being said, this is Ary's brainchild, so I'll leave the final say up to him. Also, looking over DSSS, it doesn't seem to internally keep lists of symbols, so the IDE would need to be aware of the DSSS paths and keep its own symbol:module mapings, perhaps in the workspace directory.

I also like the idea of intergrating with dsss, but integrating with a compiler comes first.
Aug 13 2007
parent davidl <davidl 126.com> writes:
------------cE9LhI3all8gGCkJBVyiGs
Content-Type: text/plain; format=flowed; delsp=yes; charset=utf-8
Content-Transfer-Encoding: Quoted-Printable

I created a patch for setting breakpoints. This patch fix a problem of n=
ot  =

being able to set breakpoint correctly when i get the binary moved to  =

somewhere which is not right under the ${workspace_loc} or something.

http://www.dsource.org/forums/viewtopic.php?p=3D16025#16025

there umm indentation lost, you can get my patch in this post

------------cE9LhI3all8gGCkJBVyiGs
Content-Disposition: attachment; filename=log
Content-Type: application/octet-stream; name=log
Content-Transfer-Encoding: Base64

SW5kZXg6IGR0b29sLy5jbGFzc3BhdGgNCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0t
LSBkdG9vbC8uY2xhc3NwYXRoCShyZXZpc2lvbiA2MzMpDQorKysgZHRvb2wvLmNs
YXNzcGF0aAkod29ya2luZyBjb3B5KQ0KQEAgLTMsNyArMyw3IEBADQogCTxjbGFz
c3BhdGhlbnRyeSBraW5kPSJzcmMiIHBhdGg9InNyYy1kZXNjZW50Ii8+DQogCTxj
bGFzc3BhdGhlbnRyeSBraW5kPSJzcmMiIHBhdGg9InNyYyIvPg0KIAk8Y2xhc3Nw
YXRoZW50cnkga2luZD0ic3JjIiBwYXRoPSJzcmMtdXRpbCIvPg0KLQk8Y2xhc3Nw
YXRoZW50cnkga2luZD0iY29uIiBwYXRoPSJvcmcuZWNsaXBzZS5qZHQubGF1bmNo
aW5nLkpSRV9DT05UQUlORVIvb3JnLmVjbGlwc2UuamR0LmludGVybmFsLmRlYnVn
LnVpLmxhdW5jaGVyLlN0YW5kYXJkVk1UeXBlL2pkazEuNi4wIi8+DQorCTxjbGFz
c3BhdGhlbnRyeSBraW5kPSJjb24iIHBhdGg9Im9yZy5lY2xpcHNlLmpkdC5sYXVu
Y2hpbmcuSlJFX0NPTlRBSU5FUiIvPg0KIAk8Y2xhc3NwYXRoZW50cnkga2luZD0i
Y29uIiBwYXRoPSJvcmcuZWNsaXBzZS5wZGUuY29yZS5yZXF1aXJlZFBsdWdpbnMi
Lz4NCiAJPGNsYXNzcGF0aGVudHJ5IGV4cG9ydGVkPSJ0cnVlIiBraW5kPSJsaWIi
IHBhdGg9ImxpYnMvYW50bHItMy4wYjUuamFyIi8+DQogCTxjbGFzc3BhdGhlbnRy
eSBleHBvcnRlZD0idHJ1ZSIga2luZD0ibGliIiBwYXRoPSJsaWJzL2luaTRqLmph
ciIgc291cmNlcGF0aD0ibGlicy9pbmk0ai0wLjIuNi9zcmMvY2xhc3NlcyI+DQpJ
bmRleDogZGVzY2VudC50ZXN0cy9kZXNjZW50L3Rlc3RzL2xhdW5jaGluZy9EbWRD
b21waWxlclR5cGVfVGVzdHMuY2xhc3MNCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCkNh
bm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLg0Kc3Zu
Om1pbWUtdHlwZSA9IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQ0KSW5kZXg6IGRl
c2NlbnQuZGVidWcudWkvc3JjL2Rlc2NlbnQvaW50ZXJuYWwvZGVidWcvdWkvbW9k
ZWwvRGVzY2VudExpbmVCcmVha3BvaW50QWRhcHRlci5qYXZhDQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09DQotLS0gZGVzY2VudC5kZWJ1Zy51aS9zcmMvZGVzY2VudC9pbnRl
cm5hbC9kZWJ1Zy91aS9tb2RlbC9EZXNjZW50TGluZUJyZWFrcG9pbnRBZGFwdGVy
LmphdmEJKHJldmlzaW9uIDYzMykNCisrKyBkZXNjZW50LmRlYnVnLnVpL3NyYy9k
ZXNjZW50L2ludGVybmFsL2RlYnVnL3VpL21vZGVsL0Rlc2NlbnRMaW5lQnJlYWtw
b2ludEFkYXB0ZXIuamF2YQkod29ya2luZyBjb3B5KQ0KQEAgLTE4LDYgKzE4LDgg
QEANCiBpbXBvcnQgZGVzY2VudC5jb3JlLkphdmFDb3JlOw0KIGltcG9ydCBkZXNj
ZW50LmRlYnVnLmNvcmUuSURlc2NlbnRMYXVuY2hDb25maWd1cmF0aW9uQ29uc3Rh
bnRzOw0KIGltcG9ydCBkZXNjZW50LmRlYnVnLmNvcmUubW9kZWwuRGVzY2VudExp
bmVCcmVha3BvaW50Ow0KK2ltcG9ydCBkZXNjZW50LmNvcmUuZG9tLio7DQoraW1w
b3J0IGRlc2NlbnQuaW50ZXJuYWwuY29tcGlsZXIucGFyc2VyLio7DQogDQogcHVi
bGljIGNsYXNzIERlc2NlbnRMaW5lQnJlYWtwb2ludEFkYXB0ZXIgaW1wbGVtZW50
cyBJVG9nZ2xlQnJlYWtwb2ludHNUYXJnZXQgew0KIA0KQEAgLTU4LDkgKzYwLDI2
IEBADQogCQkJfSBjYXRjaCAoQmFkTG9jYXRpb25FeGNlcHRpb24gZSkgew0KIAkJ
CQllLnByaW50U3RhY2tUcmFjZSgpOw0KIAkJCX0NCi0JCQkNCisJCQkvLyBGSVhN
RTogZ2V0IGRvY3VtZW50IGQgdmVyc2lvbiAhIQ0KKwkJCUFTVCBhc3QgPSBBU1Qu
bmV3QVNUKEFTVC5EMSk7DQorCQkJUGFyc2VyIHBhcnNlciA9IG5ldyBQYXJzZXIo
YXN0LCBkb2N1bWVudC5nZXQoKSk7DQorCQkJTW9kdWxlIG1vZCA9IHBhcnNlci5w
YXJzZU1vZHVsZU9iaigpOw0KKwkJCVN0cmluZ0J1aWxkZXIgc2IgPSBuZXcgU3Ry
aW5nQnVpbGRlcigpOw0KKwkJCVN0cmluZyBtb2RuYW1lOw0KKwkJCWlmIChtb2Qu
bWQgIT0gbnVsbCl7DQorCQkJCWZvcihJZGVudGlmaWVyRXhwIHBhY2sgOiBtb2Qu
bWQucGFja2FnZXMpIHsNCisJCQkJCXNiLmFwcGVuZChwYWNrKTsNCisJCQkJCXNi
LmFwcGVuZCgiLyIpOw0KKwkJCQl9DQorCQkJCXNiLmFwcGVuZChtb2QubWQuaWQp
Ow0KKwkJCQltb2RuYW1lID0gc2IudG9TdHJpbmcoKTsNCisJCQkJbW9kbmFtZSA9
IG1vZG5hbWUgKyAiLmQiOw0KKwkJCX0NCisJCQllbHNlDQorCQkJCW1vZG5hbWUg
PSByZXNvdXJjZS5nZXRMb2NhdGlvbigpLmxhc3RTZWdtZW50KCk7DQorCQkJCQ0K
IAkJCS8vIGNyZWF0ZSBsaW5lIGJyZWFrcG9pbnQgKGRvYyBsaW5lIG51bWJlcnMg
c3RhcnQgYXQgMCkNCi0JCQlEZXNjZW50TGluZUJyZWFrcG9pbnQgbGluZUJyZWFr
cG9pbnQgPSBuZXcgRGVzY2VudExpbmVCcmVha3BvaW50KHJlc291cmNlLCBsaW5l
TnVtYmVyICsgMSwgY2hhclN0YXJ0LCBjaGFyRW5kKTsNCisJCQlEZXNjZW50TGlu
ZUJyZWFrcG9pbnQgbGluZUJyZWFrcG9pbnQgPSBuZXcgRGVzY2VudExpbmVCcmVh
a3BvaW50KHJlc291cmNlLCBtb2RuYW1lLCBsaW5lTnVtYmVyICsgMSwgY2hhclN0
YXJ0LCBjaGFyRW5kKTsNCiAJCQlEZWJ1Z1BsdWdpbi5nZXREZWZhdWx0KCkuZ2V0
QnJlYWtwb2ludE1hbmFnZXIoKS5hZGRCcmVha3BvaW50KGxpbmVCcmVha3BvaW50
KTsNCiAJCX0NCiAJfQ0KSW5kZXg6IGRlc2NlbnQudWkvc3JjL2Rlc2NlbnQvaW50
ZXJuYWwvdWkvd2l6YXJkcy9KYXZhUHJvamVjdFdpemFyZEZpcnN0UGFnZS5qYXZh
DQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09DQotLS0gZGVzY2VudC51aS9zcmMvZGVzY2Vu
dC9pbnRlcm5hbC91aS93aXphcmRzL0phdmFQcm9qZWN0V2l6YXJkRmlyc3RQYWdl
LmphdmEJKHJldmlzaW9uIDYzMykNCisrKyBkZXNjZW50LnVpL3NyYy9kZXNjZW50
L2ludGVybmFsL3VpL3dpemFyZHMvSmF2YVByb2plY3RXaXphcmRGaXJzdFBhZ2Uu
amF2YQkod29ya2luZyBjb3B5KQ0KQEAgLTU0Myw3ICs1NDMsNyBAQA0KIAkJCX0g
ZWxzZSB7CiAJCQkJZkhpbnRUZXh0LnNldFZpc2libGUoZmFsc2UpOwogCQkJfQot
CQkJqCovCisJCQkqLwogCQl9CiAJCQogCQlwdWJsaWMgdm9pZCB1cGRhdGUoT2Jz
ZXJ2YWJsZSBvLCBPYmplY3QgYXJnKSB7CkluZGV4OiBkZXNjZW50LmRlYnVnLmNv
cmUvc3JjL2Rlc2NlbnQvZGVidWcvY29yZS9tb2RlbC9EZXNjZW50TGluZUJyZWFr
cG9pbnQuamF2YQ0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIGRlc2NlbnQuZGVi
dWcuY29yZS9zcmMvZGVzY2VudC9kZWJ1Zy9jb3JlL21vZGVsL0Rlc2NlbnRMaW5l
QnJlYWtwb2ludC5qYXZhCShyZXZpc2lvbiA2MzMpDQorKysgZGVzY2VudC5kZWJ1
Zy5jb3JlL3NyYy9kZXNjZW50L2RlYnVnL2NvcmUvbW9kZWwvRGVzY2VudExpbmVC
cmVha3BvaW50LmphdmEJKHdvcmtpbmcgY29weSkNCkBAIC0xMCwxOCArMTAsMjYg
QEANCiANCiBpbXBvcnQgZGVzY2VudC5kZWJ1Zy5jb3JlLkRlc2NlbnREZWJ1Z1Bs
dWdpbjsNCiBpbXBvcnQgZGVzY2VudC5kZWJ1Zy5jb3JlLklEZXNjZW50TGF1bmNo
Q29uZmlndXJhdGlvbkNvbnN0YW50czsNCitpbXBvcnQgZGVzY2VudC5kZWJ1Zy5j
b3JlLklEZXNjZW50TGluZUJyZWFrcG9pbnQ7DQogDQotcHVibGljIGNsYXNzIERl
c2NlbnRMaW5lQnJlYWtwb2ludCBleHRlbmRzIExpbmVCcmVha3BvaW50IHsNCitw
dWJsaWMgY2xhc3MgRGVzY2VudExpbmVCcmVha3BvaW50IGV4dGVuZHMgTGluZUJy
ZWFrcG9pbnQgaW1wbGVtZW50cyBJRGVzY2VudExpbmVCcmVha3BvaW50ew0KKw0K
KwlTdHJpbmcgbW9kdWxlbmFtZTsNCiAJDQorCXB1YmxpYyBTdHJpbmcgZ2V0TW9k
dWxlTmFtZSgpew0KKwkJcmV0dXJuIG1vZHVsZW5hbWU7DQorCX0NCisJDQogCXB1
YmxpYyBEZXNjZW50TGluZUJyZWFrcG9pbnQoKSB7DQogCX0NCiAJDQotCXB1Ymxp
YyBEZXNjZW50TGluZUJyZWFrcG9pbnQoZmluYWwgSVJlc291cmNlIHJlc291cmNl
LCBmaW5hbCBpbnQgbGluZU51bWJlciwgZmluYWwgaW50IGNoYXJTdGFydCwgZmlu
YWwgaW50IGNoYXJFbmQpIHRocm93cyBDb3JlRXhjZXB0aW9uIHsNCisJcHVibGlj
IERlc2NlbnRMaW5lQnJlYWtwb2ludChmaW5hbCBJUmVzb3VyY2UgcmVzb3VyY2Us
ZmluYWwgU3RyaW5nIEZpbGVOYW1lLCBmaW5hbCBpbnQgbGluZU51bWJlciwgZmlu
YWwgaW50IGNoYXJTdGFydCwgZmluYWwgaW50IGNoYXJFbmQpIHRocm93cyBDb3Jl
RXhjZXB0aW9uIHsNCiAJCUlXb3Jrc3BhY2VSdW5uYWJsZSBydW5uYWJsZSA9IG5l
dyBJV29ya3NwYWNlUnVubmFibGUoKSB7DQogCQkJcHVibGljIHZvaWQgcnVuKElQ
cm9ncmVzc01vbml0b3IgbW9uaXRvcikgdGhyb3dzIENvcmVFeGNlcHRpb24gew0K
IAkJCQlJTWFya2VyIG1hcmtlciA9IHJlc291cmNlDQogCQkJCQkJLmNyZWF0ZU1h
cmtlcihEZXNjZW50RGVidWdQbHVnaW4uUExVR0lOX0lEICsgIi5kZXNjZW50TGlu
ZUJyZWFrcG9pbnRNYXJrZXIiKTsgLy8kTk9OLU5MUy0xJA0KIAkJCQlzZXRNYXJr
ZXIobWFya2VyKTsNCisJCQkJbW9kdWxlbmFtZSA9IEZpbGVOYW1lOw0KIAkJCQlt
YXJrZXIuc2V0QXR0cmlidXRlKElCcmVha3BvaW50LklELCBnZXRNb2RlbElkZW50
aWZpZXIoKSk7DQogCQkJCW1hcmtlci5zZXRBdHRyaWJ1dGUoSUJyZWFrcG9pbnQu
RU5BQkxFRCwgQm9vbGVhbi5UUlVFKTsNCiAJCQkJbWFya2VyLnNldEF0dHJpYnV0
ZShJTWFya2VyLkxJTkVfTlVNQkVSLCBsaW5lTnVtYmVyKTsNCkluZGV4OiBkZXNj
ZW50LmRlYnVnLmNvcmUvc3JjL2Rlc2NlbnQvaW50ZXJuYWwvZGVidWcvY29yZS9t
b2RlbC9EZXNjZW50RGVidWdUYXJnZXQuamF2YQ0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQ0KLS0tIGRlc2NlbnQuZGVidWcuY29yZS9zcmMvZGVzY2VudC9pbnRlcm5hbC9k
ZWJ1Zy9jb3JlL21vZGVsL0Rlc2NlbnREZWJ1Z1RhcmdldC5qYXZhCShyZXZpc2lv
biA2MzMpDQorKysgZGVzY2VudC5kZWJ1Zy5jb3JlL3NyYy9kZXNjZW50L2ludGVy
bmFsL2RlYnVnL2NvcmUvbW9kZWwvRGVzY2VudERlYnVnVGFyZ2V0LmphdmEJKHdv
cmtpbmcgY29weSkNCkBAIC0yNSw2ICsyNSw3IEBADQogaW1wb3J0IGRlc2NlbnQu
ZGVidWcuY29yZS5EZXNjZW50RGVidWdQbHVnaW47DQogaW1wb3J0IGRlc2NlbnQu
ZGVidWcuY29yZS5JRGVzY2VudExhdW5jaENvbmZpZ3VyYXRpb25Db25zdGFudHM7
DQogaW1wb3J0IGRlc2NlbnQuZGVidWcuY29yZS5JRGVzY2VudExhdW5jaGluZ1By
ZWZlcmVuY2VDb25zdGFudHM7DQoraW1wb3J0IGRlc2NlbnQuZGVidWcuY29yZS5J
RGVzY2VudExpbmVCcmVha3BvaW50Ow0KIGltcG9ydCBkZXNjZW50LmRlYnVnLmNv
cmUubW9kZWwuSURlYnVnRWxlbWVudEZhY3Rvcnk7DQogaW1wb3J0IGRlc2NlbnQu
ZGVidWcuY29yZS5tb2RlbC5JRGVidWdnZXI7DQogaW1wb3J0IGRlc2NlbnQuZGVi
dWcuY29yZS5tb2RlbC5JRGVidWdnZXJMaXN0ZW5lcjsNCkBAIC04NSw3ICs4Niw3
IEBADQogCQkJSUJyZWFrcG9pbnRbXSBicmVha3BvaW50cyA9IG1hbmFnZXIuZ2V0
QnJlYWtwb2ludHMoSURlc2NlbnRMYXVuY2hDb25maWd1cmF0aW9uQ29uc3RhbnRz
LklEX0RfREVCVUdfTU9ERUwpOw0KIAkJCWZvcihJQnJlYWtwb2ludCBicmVha3Bv
aW50IDogYnJlYWtwb2ludHMpIHsNCiAJCQkJaWYgKGJyZWFrcG9pbnQuaXNFbmFi
bGVkKCkpIHsNCi0JCQkJCWZEZWJ1Z2dlci5hZGRCcmVha3BvaW50KGJyZWFrcG9p
bnQuZ2V0TWFya2VyKCkuZ2V0UmVzb3VyY2UoKS5nZXRMb2NhdGlvbigpLnRvT1NT
dHJpbmcoKSwgKChJTGluZUJyZWFrcG9pbnQpIGJyZWFrcG9pbnQpLmdldExpbmVO
dW1iZXIoKSk7DQorCQkJCQlmRGVidWdnZXIuYWRkQnJlYWtwb2ludCgoKElEZXNj
ZW50TGluZUJyZWFrcG9pbnQpYnJlYWtwb2ludCkuZ2V0TW9kdWxlTmFtZSgpLCAo
KElMaW5lQnJlYWtwb2ludCkgYnJlYWtwb2ludCkuZ2V0TGluZU51bWJlcigpKTsN
CiAJCQkJfQ0KIAkJCX0NCiAJCX0gY2F0Y2ggKElPRXhjZXB0aW9uIGUpIHsNCg==

------------cE9LhI3all8gGCkJBVyiGs--
Aug 15 2007
prev sibling next sibling parent Lutger <lutger.blijdestijn gmail.com> writes:
Wow, this is becoming very nice, my compliments. I agree with everbody 
that the formatter is just awesome, never seen something like this.

DSSS integration would be a great feature (also for the net commands and 
doc building), I'd like to see that very much.
Aug 13 2007
prev sibling parent reply BCS <ao pathlink.com> writes:
Fun. Firt thing I try breaks

pragma(msg,">>" __FILE__ ":");

it compiles under DMD
Aug 13 2007
parent reply Ary Manzana <ary esperanto.org.ar> writes:
BCS escribió:
 Fun. Firt thing I try breaks
 
 pragma(msg,">>" __FILE__ ":");
 
 it compiles under DMD
 
 

That's a tricky one. You can only concatenate string literals in that way, but it happen that DMD's lexer replaces __FILE__ with the current filename and treat it is a string literal token (instead of identifier)... but Descent not. Well, now it does! :-) Uninstall Descent and reinstall it. Remeber to run eclipse with "-clean" so the update manager refreshes the update site. You should see the new version: 0.4.20070813 (the previous one was 0.4.20070812). Thanks for the bug report, Ary P.D.: It didn't break, there were just the red squiggles.
Aug 13 2007
parent BCS <ao pathlink.com> writes:
Reply to Ary,

 BCS escribió:
 
 Fun. Firt thing I try breaks
 
 pragma(msg,">>" __FILE__ ":");
 
 it compiles under DMD
 

way, but it happen that DMD's lexer replaces __FILE__ with the current filename and treat it is a string literal token (instead of identifier)... but Descent not.

I expected as much (IIRC, my lexer treat __FILE__, __LINE__ and friends as special tokens)
 
 Well, now it does! :-)

Thanks
 
 Uninstall Descent and reinstall it. Remeber to run eclipse with
 "-clean" so the update manager refreshes the update site. You should
 see the new version: 0.4.20070813 (the previous one was 0.4.20070812).
 
 Thanks for the bug report,
 Ary
 P.D.: It didn't break, there were just the red squiggles.
 

OK.... <rolls eyes> It didn't /actualy/ break anything :o) p.s. for code formatting; could we get a "add newline between static "else" and "static if" static if(foo == 1) bar(); else static if(foo == 2) baz(); else static if(foo == 3) bil(); else static if(foo == 4) bat(); it makes commenting stuff out faster sometimes //static if(foo == 1) bar(); //else static if(foo == 2) baz(); //else //static if(foo == 3) bil(); else static if(foo == 4) bat(); vs. //static if(foo == 1) bar(); /*else*/ static if(foo == 2) baz(); //else static if(foo == 3) bil(); else tatic if(foo == 4) bat();
Aug 13 2007