www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - Descent, now with Open Type Hierarchy

reply Ary Borenszweig <ary esperanto.org.ar> writes:
Hi!

I just uploaded a new version of Descent that implements the "Open Type 
Hierarchy" funcionality. You can see a video of it here:

http://www.youtube.com/watch?v=d2rR53hUrG8

Enjoy :-)
Ary

P.S.: replies about YouTube being a crap are not accepted :-P
P.S.2: although missing in the video, pressing ctrl+t on a type opens 
the quick-type-hiearchy view, just like in JDT. It's a popup window like 
the outline, but shows the hierarchy and quickly allows to navigate it.
P.S.3: performance of this is good, as you can see in the video, but can 
be further optimized
P.S.4: from minute 1:39 to 1:53 you can perpare youself a coffee
Jul 24 2009
next sibling parent reply Robert Clipsham <robert octarineparrot.com> writes:
Ary Borenszweig wrote:
 Hi!
 
 I just uploaded a new version of Descent that implements the "Open Type 
 Hierarchy" funcionality. You can see a video of it here:
 
 http://www.youtube.com/watch?v=d2rR53hUrG8
 
 Enjoy :-)
 Ary
 
 P.S.: replies about YouTube being a crap are not accepted :-P
 P.S.2: although missing in the video, pressing ctrl+t on a type opens 
 the quick-type-hiearchy view, just like in JDT. It's a popup window like 
 the outline, but shows the hierarchy and quickly allows to navigate it.
 P.S.3: performance of this is good, as you can see in the video, but can 
 be further optimized
 P.S.4: from minute 1:39 to 1:53 you can perpare youself a coffee

Descent just keeps getting better and better! I do have one question though, is there and special set up needed that isn't mentioned on the wiki? I finally got around to having a play with it, and import statements weren't automatically written out for me. I also guess there's a key combo to suggest the type as shown in the first few seconds of that video, as I was wondering why that wasn't working. Thanks!
Jul 24 2009
parent Ary Borenszweig <ary esperanto.org.ar> writes:
Robert Clipsham wrote:
 Ary Borenszweig wrote:
 Hi!

 I just uploaded a new version of Descent that implements the "Open 
 Type Hierarchy" funcionality. You can see a video of it here:

 http://www.youtube.com/watch?v=d2rR53hUrG8

 Enjoy :-)
 Ary

Descent just keeps getting better and better! I do have one question though, is there and special set up needed that isn't mentioned on the wiki?

I guess these, but there are links in the front page: http://www.dsource.org/projects/descent/wiki/Configuring http://www.dsource.org/projects/descent/wiki/ConfiguringProject
 I finally got around to having a play with it, and import 
 statements weren't automatically written out for me. 

You can check the Error Log in Eclipse if something goes wrong. Window -> Show View, and depending on the version of Eclipse it can be under General or PDE Runtime.
 I also guess 
 there's a key combo to suggest the type as shown in the first few 
 seconds of that video, as I was wondering why that wasn't working.

F4, it's mentioned here: http://www.dsource.org/projects/descent/wiki/Shortcuts
Jul 24 2009
prev sibling next sibling parent reply Piotrek <starpit tlen.pl> writes:
Ary Borenszweig pisze:
 Hi!
 
 I just uploaded a new version of Descent that implements the "Open Type 
 Hierarchy" funcionality. You can see a video of it here:
 

Looks nice. But I get this error during installation: Cannot complete the install because one or more required items could not be found. Software currently installed: Descent 0.5.6.20090725 (descent.ui.feature.group 0.5.6.20090725) Missing requirement: Descent UI Plug-in 0.5.6.20090725 (descent.ui 0.5.6.20090725) requires 'bundle org.eclipse.jdt.core 0.0.0' but it could not be found Cannot satisfy dependency: From: AST View Plug-in 0.5.6.20090722 (descent.astview 0.5.6.20090722) To: bundle descent.ui 0.0.0 Cannot satisfy dependency: From: Descent 0.5.6.20090725 (descent.ui.feature.group 0.5.6.20090725) To: descent.astview [0.5.6.20090722] BTW. I'm impressed by your work on Descent. Cheers Piotrek
Jul 24 2009
parent reply Ary Borenszweig <ary esperanto.org.ar> writes:
Piotrek escribió:
 Ary Borenszweig pisze:
 Hi!

 I just uploaded a new version of Descent that implements the "Open 
 Type Hierarchy" funcionality. You can see a video of it here:

Looks nice. But I get this error during installation: Cannot complete the install because one or more required items could not be found. Software currently installed: Descent 0.5.6.20090725 (descent.ui.feature.group 0.5.6.20090725) Missing requirement: Descent UI Plug-in 0.5.6.20090725 (descent.ui 0.5.6.20090725) requires 'bundle org.eclipse.jdt.core 0.0.0' but it could not be found Cannot satisfy dependency: From: AST View Plug-in 0.5.6.20090722 (descent.astview 0.5.6.20090722) To: bundle descent.ui 0.0.0 Cannot satisfy dependency: From: Descent 0.5.6.20090725 (descent.ui.feature.group 0.5.6.20090725) To: descent.astview [0.5.6.20090722]

I forgot to remove the dependency with org.eclipse.jdt.core. I add it for debugging JDT code to see where I need to stop copying and pasting their code and start implementing the logic for D. I removed that dependency and uploaded a new version. (I also fixed some things concerning the hierarchy building, it wasn't working quite well with templated types, now it should work perfectly, so everybody is adviced to download this new version) Also, for bmn24, who changed the wiki in Descent about Installing: that's why it doesn't work for you with Eclipse for C/C++. Now it should work, I'll revert it to what it said before (if it wasn't because of that, please add the text again).
Jul 24 2009
parent Piotrek <starpit tlen.pl> writes:
Ary Borenszweig pisze:
 
 I removed that dependency and uploaded a new version.
 

Thanks. Now it works. Cheers Piotrek
Jul 24 2009
prev sibling next sibling parent reply Ary Borenszweig <ary esperanto.org.ar> writes:
Ary Borenszweig escribió:
 Hi!
 
 I just uploaded a new version of Descent that implements the "Open Type 
 Hierarchy" funcionality.

And now that type hierarchy funcionality is in place, I implemented the "override indicators", and "override method" proposals, just like in the Java plugin for Eclipse. I uploaded a new version. Here's a video about it: http://www.youtube.com/watch?v=E_CUTimf9jE
Jul 24 2009
parent Sergey Gromov <snake.scaly gmail.com> writes:
Sat, 25 Jul 2009 02:55:51 -0300, Ary Borenszweig wrote:

 Ary Borenszweig escribió:
 Hi!
 
 I just uploaded a new version of Descent that implements the "Open Type 
 Hierarchy" funcionality.

And now that type hierarchy funcionality is in place, I implemented the "override indicators", and "override method" proposals, just like in the Java plugin for Eclipse. I uploaded a new version. Here's a video about it: http://www.youtube.com/watch?v=E_CUTimf9jE

This is simply great, thank you! Too bad I'm not using IDEs... I might just start, after all.
Jul 29 2009
prev sibling next sibling parent Lutger <lutger.blijdestijn gmail.com> writes:
Just updated, this is such a great feature :) Since a couple of versions 
ago, Descent seems much more stable too, fortunately.

You made my day, thanks so much!
Jul 26 2009
prev sibling next sibling parent Trass3r <mrmocool gmx.de> writes:
Ary Borenszweig schrieb:
 I just uploaded a new version of Descent that implements the "Open Type 
 Hierarchy" funcionality. You can see a video of it here:
 

Works like a charm, thanks!
Jul 26 2009
prev sibling next sibling parent reply Trass3r <mrmocool gmx.de> writes:
btw, would be very cool if the code formatter would also format pasted code!

VisualAssistX has this feature and it's a pleasure to use it, esp. if 
you use some code written by other guys with strange code style. I just 
cut the whole file, paste it again and voila it's nicely formatted ;)
Jul 26 2009
parent reply Ary Borenszweig <ary esperanto.org.ar> writes:
Trass3r escribió:
 btw, would be very cool if the code formatter would also format pasted 
 code!
 
 VisualAssistX has this feature and it's a pleasure to use it, esp. if 
 you use some code written by other guys with strange code style. I just 
 cut the whole file, paste it again and voila it's nicely formatted ;)

Or you can press ctrl+shift+F and that's it. :-P
Jul 26 2009
parent Trass3r <mrmocool gmx.de> writes:
Ary Borenszweig schrieb:
 Or you can press ctrl+shift+F and that's it. :-P

Just what I needed, thanks :)
Jul 26 2009
prev sibling next sibling parent reply Qian Xu <quian.xu stud.tu-ilmenau.de> writes:
Ary Borenszweig wrote:
 
 Enjoy :-)

Great work. BTW: Is there any plan to make a "Organize Imports" feature? It would be very helpful.
Jul 27 2009
next sibling parent Ary Borenszweig <ary esperanto.org.ar> writes:
Qian Xu escribió:
 Ary Borenszweig wrote:
 Enjoy :-)

Great work.

:)
 BTW: Is there any plan to make a "Organize Imports" feature? It would be
 very helpful.

I'll give it a try. But maybe some imports are removed that are unused by the current debug/version/static-if conditions. But I think that's not a big deal. I'll start by using normal imports, maybe later I'll do selective imports (but I remember them being buggy).
Jul 27 2009
prev sibling parent reply Ary Borenszweig <ary esperanto.org.ar> writes:
Qian Xu escribió:
 Ary Borenszweig wrote:
 Enjoy :-)

Great work. BTW: Is there any plan to make a "Organize Imports" feature? It would be very helpful.

Well... now that I've looked at some of JDT's code about this, seems a pretty hard thing to implement (to translate from Java to D, actually). But I'll try to do it, little by little. One question about this. Imagine you have: void foo() { auto name = readln(); writefln("Hello %s!", name); } When requesting "Organize Imports", which one would you prefer? 1. import std.stdio; void foo() { auto name = readln(); writefln("Hello %s!", name); } 2. import std.stdio: readln, writefln; void foo() { auto name = readln(); writefln("Hello %s!", name); } I think the second one is better because it's easier to understand the code, but the list of names might get very long. But I remember there were bugs related to selective imports, and I can't remember which were them. (and maybe it's also harder to implement)
Jul 29 2009
parent reply "Saaa" <empty needmail.com> writes:
2 is very nice towards the namespace
how will you do regex.find vs string.find?

"Ary Borenszweig" <ary esperanto.org.ar> wrote in message 
news:h4pcpc$2ef6$1 digitalmars.com...
 Qian Xu escribió:
 Ary Borenszweig wrote:
 Enjoy :-)

Great work. BTW: Is there any plan to make a "Organize Imports" feature? It would be very helpful.

Well... now that I've looked at some of JDT's code about this, seems a pretty hard thing to implement (to translate from Java to D, actually). But I'll try to do it, little by little. One question about this. Imagine you have: void foo() { auto name = readln(); writefln("Hello %s!", name); } When requesting "Organize Imports", which one would you prefer? 1. import std.stdio; void foo() { auto name = readln(); writefln("Hello %s!", name); } 2. import std.stdio: readln, writefln; void foo() { auto name = readln(); writefln("Hello %s!", name); } I think the second one is better because it's easier to understand the code, but the list of names might get very long. But I remember there were bugs related to selective imports, and I can't remember which were them. (and maybe it's also harder to implement)

Jul 29 2009
parent reply Ary Borenszweig <ary esperanto.org.ar> writes:
Saaa escribió:
 2 is very nice towards the namespace
 how will you do regex.find vs string.find?

Just what JDT does: show you the matches of "find" and allow you to choose one of them.
Jul 29 2009
parent "Saaa" <empty needmail.com> writes:
 2 is very nice towards the namespace
 how will you do regex.find vs string.find?

Just what JDT does: show you the matches of "find" and allow you to choose one of them.

never used JDT for anything but your descent :) but I should have known this is handled nicely already
Jul 29 2009
prev sibling next sibling parent reply Trass3r <mrmocool gmx.de> writes:
Descent seems to have some problems with multiline `` comments though.

void foo()
{
	writefln(`
			`);
	version(Windows)
	{
	}
}

everything following the 2nd ` is highlighted incorrectly.
Or is it some configuration mistake?
Jul 27 2009
parent Ary Borenszweig <ary esperanto.org.ar> writes:
Trass3r escribió:
 Descent seems to have some problems with multiline `` comments though.
 
 void foo()
 {
     writefln(`
             `);
     version(Windows)
     {
     }
 }
 
 everything following the 2nd ` is highlighted incorrectly.
 Or is it some configuration mistake?

True. This will be fixed in the next release.
Jul 27 2009
prev sibling next sibling parent reply Trass3r <mrmocool gmx.de> writes:
Also the hover feature/Open Declaration sometimes behaves incorrectly.
Unfortunately I couldn't really track down its cause yet :(

Usually when hovering over a function call the ddoc output is correct.
Then holding shift to see the source suddenly shows another function. F3 
also jumps to that false one then.

Sometimes Open Declaration makes eclipse get stuck (where sometimes that 
extra window "operation pending" or whatever it was reading is opened, 
sometimes not)
Jul 28 2009
parent reply Trass3r <mrmocool gmx.de> writes:
Suddenly I got a StackOverflow error, maybe it's connected to those 
other problems.

java.lang.StackOverflowError
	at 
descent.internal.compiler.parser.FuncDeclaration.overloadInsert(FuncDeclaration.java:801)
	at 
descent.internal.compiler.parser.FuncDeclaration.overloadInsert(FuncDeclaration.java:827)


!ENTRY descent.core 4 4 2009-07-28 18:41:17.421
!MESSAGE descent.core.JavaModelException: exists(creal) [in Win32 [in 
file.d [in std [in D:\dmd\src\phobos]]]] does not exist
!STACK 1
Java Model Exception: Java Model Status [exists(creal) [in Win32 [in 
file.d [in std [in D:\dmd\src\phobos]]]] does not exist]
	at 
descent.internal.core.JavaElement.newNotPresentException(JavaElement.java:518)



Couldn't attach the log, so here's the full one: http://ul.to/w50etf



btw, here are some screens showing the strange errors with mixed up 
functions etc:

http://s2.directupload.net/file/d/1869/fzqwpdsq_jpg.htm
http://s8.directupload.net/file/d/1869/z4ecelfd_jpg.htm
Jul 28 2009
parent reply Ary Borenszweig <ary esperanto.org.ar> writes:
Trass3r wrote:
 Suddenly I got a StackOverflow error, maybe it's connected to those 
 other problems.
 
 java.lang.StackOverflowError
     at 
 descent.internal.compiler.parser.FuncDeclaration.overloadInsert(FuncD
claration.java:801) 
 
     at 
 descent.internal.compiler.parser.FuncDeclaration.overloadInsert(FuncD
claration.java:827) 
 
 
 
 !ENTRY descent.core 4 4 2009-07-28 18:41:17.421
 !MESSAGE descent.core.JavaModelException: exists(creal) [in Win32 [in 
 file.d [in std [in D:\dmd\src\phobos]]]] does not exist
 !STACK 1
 Java Model Exception: Java Model Status [exists(creal) [in Win32 [in 
 file.d [in std [in D:\dmd\src\phobos]]]] does not exist]
     at 
 descent.internal.core.JavaElement.newNotPresentException(JavaElement.java:518) 
 
 
 
 
 Couldn't attach the log, so here's the full one: http://ul.to/w50etf
 
 
 
 btw, here are some screens showing the strange errors with mixed up 
 functions etc:
 
 http://s2.directupload.net/file/d/1869/fzqwpdsq_jpg.htm
 http://s8.directupload.net/file/d/1869/z4ecelfd_jpg.htm

Please report these things into the bug tracket: http://www.dsource.org/projects/descent/newticket Thanks!
Jul 28 2009
parent reply Trass3r <mrmocool gmx.de> writes:
Ary Borenszweig schrieb:
 Please report these things into the bug tracket:
 
 http://www.dsource.org/projects/descent/newticket
 

I'd have done that, if I had managed to narrow down the problem.
Jul 28 2009
parent reply Ary Borenszweig <ary esperanto.org.ar> writes:
Trass3r wrote:
 Ary Borenszweig schrieb:
 Please report these things into the bug tracket:

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

I'd have done that, if I had managed to narrow down the problem.

If you close and open all the projects, does it still happen?
Jul 29 2009
parent Trass3r <mrmocool gmx.de> writes:
Just created a fresh project with a single file to test:

/**
  *
  */
module main;

import std.file;
import std.stdio;

void main()
{
	writefln("");
	
	read("test");
}

Hovering over writefln works like a charm, also with Shift or Ctrl+Shift.
Normal hovering over read also works, but if I then hover over writefln 
again, I get 2
descent.core.JavaModelException: read(creal) [in Win32 [in file.d [in 
std [in D:\dmd\src\phobos]]]] does not exist

After that every time hovering over read yields 6 of those exceptions. 
Closing and reopening the project "resets" this.




Java Model Exception: Java Model Status [read(creal) [in Win32 [in 
file.d [in std [in D:\dmd\src\phobos]]]] does not exist]
	at 
descent.internal.core.JavaElement.newNotPresentException(JavaElement.java:518)
	at descent.internal.core.JavaElement.openWhenClosed(JavaElement.java:549)
	at descent.internal.core.JavaElement.getElementInfo(JavaElement.java:276)
	at descent.internal.core.JavaElement.getElementInfo(JavaElement.java:259)
	at descent.internal.core.Member.getFlags(Member.java:176)
	at descent.internal.core.SourceMethod.isConstructor(SourceMethod.java:220)
	at [...]
Jul 29 2009
prev sibling next sibling parent reply The Anh Tran <trtheanh gmail.com> writes:
Minor suggestion:

import tango.text.Regex;
int main()
{
	// tango.text.Regex.
	return 0;
}

When i type "tango.text.Regex", then '.', Descent should list only 
elements inside module/namespace tango.text.Regex.

Thanks.
Jul 29 2009
parent Ary Borenszweig <ary esperanto.org.ar> writes:
The Anh Tran wrote:
 Minor suggestion:
 
 import tango.text.Regex;
 int main()
 {
     // tango.text.Regex.
     return 0;
 }
 
 When i type "tango.text.Regex", then '.', Descent should list only 
 elements inside module/namespace tango.text.Regex.

You are right, it wasn't working well. I've fixed this, there's a new version. The new version also changed the "Open Type" dialog to "Open Declaration" dialog. So now you can quickly jump to any top-level function, alias, typedef or varaible you declared. :)
Jul 30 2009
prev sibling next sibling parent reply BCS <ao pathlink.com> writes:
Major suggestion:

The auto compleat drop down is very un-aggressive. I'd love to see it be 
Google style sort based rather than ordered-list/browse based.

The kind of thing I'm thinking of is having a live sort of the options based 
on (among other things) what you have typed and the current context. For 
instance, pull things to the top of the list that are of the correct type 
for this context (or to a lesser extent, if they have members that are of 
the correct type), and do infix matches rather than just prefix matches. 
Also nice would be history based sorting (the more often I use something, 
the higher up it is).
Jul 29 2009
parent reply Robert Fraser <fraserofthenight gmail.com> writes:
BCS wrote:
 Major suggestion:
 
 The auto compleat drop down is very un-aggressive. I'd love to see it be 
 Google style sort based rather than ordered-list/browse based.

JDT definitely has this and Descent has some.
 The kind of thing I'm thinking of is having a live sort of the options 
 based on (among other things) what you have typed and the current 
 context. For instance, pull things to the top of the list that are of 
 the correct type for this context 

Already (sorta) does this.
 (or to a lesser extent, if they have 
 members that are of the correct type), and do infix matches rather than 
 just prefix matches. 

Infix matches would be cool, but... where should they be presented in the list? There is a feature in the Open Type dialog where you can type acronyms, i.e. "DQL" and get "DatabaseQueryListener" as a suggestion. Not sure how practical/useful this would be to implement in autocomplete.
 Also nice would be history based sorting (the more 
 often I use something, the higher up it is).

VS has this & it's a nice feature.
Jul 30 2009
next sibling parent Ary Borenszweig <ary esperanto.org.ar> writes:
Robert Fraser escribió:
 BCS wrote:
 Major suggestion:

 The auto compleat drop down is very un-aggressive. I'd love to see it 
 be Google style sort based rather than ordered-list/browse based.

JDT definitely has this and Descent has some.

Yes, but maybe in Descent it is not fine-tuned. So if you have a case where you'd like Descent to sort things in another way (not based on history), report an enchancement feature.
 The kind of thing I'm thinking of is having a live sort of the options 
 based on (among other things) what you have typed and the current 
 context. For instance, pull things to the top of the list that are of 
 the correct type for this context 

Already (sorta) does this.

Yes. See this: http://www.youtube.com/watch?v=ZCcedd9EfHI Starting from minute 1:30 it'll show you how the order of the options change depending on the expected type of the expression.
 (or to a lesser extent, if they have members that are of the correct 
 type), and do infix matches rather than just prefix matches. 

Infix matches would be cool, but... where should they be presented in the list? There is a feature in the Open Type dialog where you can type acronyms, i.e. "DQL" and get "DatabaseQueryListener" as a suggestion. Not sure how practical/useful this would be to implement in autocomplete.

Autocompletion already works like that (I just tested it, couldn't remember if it worked like that or not :-P). So for example if you have a function named "someLongMethod", when you type any sequence of prefixes of those words (some, long, method, with correct capitals), for example "sLM", "soLoMet" or "someLoM", etc., it'll show you "someLongMethod" to autocomplete.
 Also nice would be history based sorting (the more often I use 
 something, the higher up it is).

VS has this & it's a nice feature.

I agree, it's a really nice feature. But to make it work in Descent is harder because it's based in JDT, and JDT doesn't work like that. :(
Jul 30 2009
prev sibling next sibling parent reply BCS <ao pathlink.com> writes:
Reply to Robert,

 BCS wrote:
 
 Major suggestion:
 
 The auto compleat drop down is very un-aggressive. I'd love to see it
 be Google style sort based rather than ordered-list/browse based.
 


(I'll admit I don't know much about how the auto-compleat works in descent because I've never gotten it to work correctly at all)
 (or to a lesser extent, if they have members that are of the correct
 type), and do infix matches rather than just prefix matches.
 

the list?

Sort based on how close to the start of the name the match is: prefix matches end up at the top, suffix matches just above non matches.
 
 There is a feature in the Open Type dialog where you can type
 acronyms, i.e. "DQL" and get "DatabaseQueryListener" as a suggestion.
 Not sure how practical/useful this would be to implement in
 autocomplete.
 

will it find it if I ask out of order? Say, QDL?
 Also nice would be history based sorting (the more often I use
 something, the higher up it is).
 


Only kind of. I've never seen VS reorder entries in the drop down, so it can only places the start location on the most recent item. I'd want that one at the top of the list and then the rest sorted based on how recently I used them and how often I've used them in the last few hours or days.
Jul 30 2009
parent reply Robert Fraser <fraserofthenight gmail.com> writes:
BCS wrote:
 will it find it if I ask out of order? Say, QDL?

No... what's the use case there? JDT does have auto-corrections for misspellings of variables, though (I think based on Levishien distance, so it's dictionary-independent)... this might be intersting to add to autocomplete. So if you try to autocomplete "f*ei*ldN" it will suggest "f*ie*ldName". Also in an ideal world it would be capitalization-independent.
Jul 30 2009
parent reply BCS <ao pathlink.com> writes:
Reply to Robert,

 BCS wrote:
 
 will it find it if I ask out of order? Say, QDL?
 


While working with an API I'm not used to, I'd like the autocomplete to work even if I get the word order wrong.
Jul 30 2009
parent Ary Borenszweig <ary esperanto.org.ar> writes:
BCS wrote:
 Reply to Robert,
 
 BCS wrote:

 will it find it if I ask out of order? Say, QDL?


While working with an API I'm not used to, I'd like the autocomplete to work even if I get the word order wrong.

What you want is the matrix helmet. :)
Jul 30 2009
prev sibling parent Ary Borenszweig <ary esperanto.org.ar> writes:
Robert Fraser escribió:
 BCS wrote:
 Major suggestion:
 Also nice would be history based sorting (the more often I use 
 something, the higher up it is).

VS has this & it's a nice feature.

Descent also has it, I just tried it. :)
Aug 03 2009
prev sibling next sibling parent clayasaurus <clayasaurus gmail.com> writes:
Ary Borenszweig wrote:
 Hi!
 
 I just uploaded a new version of Descent that implements the "Open Type 
 Hierarchy" funcionality. You can see a video of it here:
 
 http://www.youtube.com/watch?v=d2rR53hUrG8
 
 Enjoy :-)
 Ary
 
 P.S.: replies about YouTube being a crap are not accepted :-P
 P.S.2: although missing in the video, pressing ctrl+t on a type opens 
 the quick-type-hiearchy view, just like in JDT. It's a popup window like 
 the outline, but shows the hierarchy and quickly allows to navigate it.
 P.S.3: performance of this is good, as you can see in the video, but can 
 be further optimized
 P.S.4: from minute 1:39 to 1:53 you can perpare youself a coffee

Thanks for the great and excellent work on the plug-in! - Clay
Jul 30 2009
prev sibling parent reply Qian Xu <quian.xu stud.tu-ilmenau.de> writes:
Hi Again,

A small feature request to code formatter:
the brace position after "unittest"-keyword is not configurable. Is it
simple to make it configurable?

Thanks in advance
Qian Xu
Aug 05 2009
next sibling parent Ary Borenszweig <ary esperanto.org.ar> writes:
Qian Xu escribió:
 Hi Again,
 
 A small feature request to code formatter:
 the brace position after "unittest"-keyword is not configurable. Is it
 simple to make it configurable?
 
 Thanks in advance
 Qian Xu

Ni hao! Yes, it should be easy. I'll see if I have a little time to do it today. I already started, but the list of options is now huge and doesn't fit in the screen. I'll have to put a scroll somewhere...
Aug 06 2009
prev sibling parent reply Ary Borenszweig <ary esperanto.org.ar> writes:
Qian Xu escribió:
 Hi Again,
 
 A small feature request to code formatter:
 the brace position after "unittest"-keyword is not configurable. Is it
 simple to make it configurable?
 
 Thanks in advance
 Qian Xu

There! I've uploaded a new version with this feature. ;-)
Aug 07 2009
parent Qian Xu <quian.xu stud.tu-ilmenau.de> writes:
Ary Borenszweig wrote:

 I've uploaded a new version with this feature. ;-)

Great and 1 ton of thanks ^^)
Aug 07 2009