Thread: [Pydev-code] Contribution: Launching from Run->Run... menu
Brought to you by:
fabioz
From: Bill W. <ww...@bb...> - 2004-03-27 23:38:41
Attachments:
Image1.jpg
|
Hi Pydev guys. As I think Dana mentioned elsewhere, I've been working on running python apps using the Run entry under the Eclipse Run menu. This supplements the current Run action and behaves more like a Java configuration. CTRL-F11 runs the last config, etc. I've attached a picture of the config type to give you an idea what I'm talking about. On the left, there is a new run configuration called "Python" and I've made one run config called "Hello config" The tabbed pane looks a lot like the one on the Python->Run context menu, but is different code because it doesn't have the location context. There is probably some refactoring that could unify the panels, but I wanted to do this initial cut without modifying other code. The code consists of two new java files and some additions to the debug plugin's plugin.xml. What's the procedure for contributing? I'd also like to be added as a developer to pydev. Thanks, Bill Wright |
From: Fabio Z. <fa...@in...> - 2004-03-29 11:24:16
Attachments:
python_code_completion.txt
|
Hi all... I had some ideas on code completion (attached)... []s Fabio |
From: Aleks T. <a...@to...> - 2004-03-29 19:06:57
|
Fabio Zadrozny wrote: > Hi all... > > I had some ideas on code completion (attached)... Good points on completion. Having a database that holds latest completion info is one good way to get around lack of types. We can get type information from the user, or for advanced fun, from the debugger. We could save this info as hidden Eclipse markers, or in some other form. I am trying not to think about completion too much since it is a complex subject, and debugger is keeping me plenty busy. > Allied with simple text-completion, it would make for a really good enviroment for editing python (I've been using > the lunar-eclipse plug-in and it has already done python editing in eclipse almost unbeatable - maybe we could > try to get in contact with its authors and distribute it toghether with pydev - if it's ok with you, I'll get in thouch > with its authors and integrate it in pydev...) What cool features does lunar-eclipse has? I have not used it, and their website is not very transparent about what they are. Aleks PS: Good luck on your project, Fabio > I think that having that, to be the 'BEST' python editing enviroment, it would only require: debug, refactoring and some kind > of macro extension... |
From: Aleks T. <a...@to...> - 2004-03-29 17:59:43
|
Sounds good. I've had that running when I started working on the debugger, but for the release I turned it off because I did not have a real framework yet. Then I wanted to turn it back on, and I forgot how. Thanks for doing this. I've been doing some more work on the debugger. I've checked in my latest round of changes. Right now, the "Run..." option works as it used to. The "Debug..." option launches the program under jpydbg and you can't do anything with it. I hope to have some better communication between jpydbg & pydev this week. I think that the context of the 2 panes can be unified, since I started off that way. I'll look at your classes after the checkin to see how it can be done. I'll add you to the developers. What's your slashdot id? Aleks Bill Wright wrote: > Hi Pydev guys. > > As I think Dana mentioned elsewhere, I've been working on running python > apps using the Run entry under the Eclipse Run menu. This supplements the > current Run action and behaves more like a Java configuration. CTRL-F11 > runs the last config, etc. I've attached a picture of the config type to > give you an idea what I'm talking about. On the left, there is a new run > configuration called "Python" and I've made one run config called "Hello > config" The tabbed pane looks a lot like the one on the Python->Run context > menu, but is different code because it doesn't have the location context. > There is probably some refactoring that could unify the panels, but I wanted > to do this initial cut without modifying other code. > > The code consists of two new java files and some additions to the debug > plugin's plugin.xml. What's the procedure for contributing? I'd also like > to be added as a developer to pydev. |
From: Bill W. <ww...@bb...> - 2004-03-29 18:27:24
|
The main difference between what I wrote and the context-menu run is in how it handles passing the name of the script to the interpreter. I do some trickery to build a command line like the interpreter wants and undo it to display on the config tab so I can use the standard launcher. I'm interested to see what you're doing with the debugger. This seems to be coming together nicely. My sourceforge ID is wrwright. Thanks, Bill -----Original Message----- From: pyd...@li... [mailto:pyd...@li...]On Behalf Of Aleks Totic Sent: Monday, March 29, 2004 12:57 PM To: pyd...@li... Cc: ww...@bb...; Dana Moore Subject: Re: [Pydev-code] Contribution: Launching from Run->Run... menu Sounds good. I've had that running when I started working on the debugger, but for the release I turned it off because I did not have a real framework yet. Then I wanted to turn it back on, and I forgot how. Thanks for doing this. I've been doing some more work on the debugger. I've checked in my latest round of changes. Right now, the "Run..." option works as it used to. The "Debug..." option launches the program under jpydbg and you can't do anything with it. I hope to have some better communication between jpydbg & pydev this week. I think that the context of the 2 panes can be unified, since I started off that way. I'll look at your classes after the checkin to see how it can be done. I'll add you to the developers. What's your slashdot id? Aleks Bill Wright wrote: > Hi Pydev guys. > > As I think Dana mentioned elsewhere, I've been working on running python > apps using the Run entry under the Eclipse Run menu. This supplements the > current Run action and behaves more like a Java configuration. CTRL-F11 > runs the last config, etc. I've attached a picture of the config type to > give you an idea what I'm talking about. On the left, there is a new run > configuration called "Python" and I've made one run config called "Hello > config" The tabbed pane looks a lot like the one on the Python->Run context > menu, but is different code because it doesn't have the location context. > There is probably some refactoring that could unify the panels, but I wanted > to do this initial cut without modifying other code. > > The code consists of two new java files and some additions to the debug > plugin's plugin.xml. What's the procedure for contributing? I'd also like > to be added as a developer to pydev. ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click _______________________________________________ Pydev-code mailing list Pyd...@li... https://lists.sourceforge.net/lists/listinfo/pydev-code |
From: Dana M. <da...@bb...> - 2004-03-29 18:33:50
|
This is preferable,. We don't want the developer to have to think much. = Since they possibly coming from a JDT / JDE background, making things = look as much like the Java environment as possible is a good thing. >-----Original Message----- >From: Bill Wright [mailto:ww...@bb...] >Sent: Monday, March 29, 2004 1:27 PM >To: pyd...@li... >Cc: Dana Moore >Subject: RE: [Pydev-code] Contribution: Launching from Run->Run... menu > > >The main difference between what I wrote and the context-menu run is in = how >it handles passing the name of the script to the interpreter. I do = some >trickery to build a command line like the interpreter wants and undo it = to >display on the config tab so I can use the standard launcher. > >I'm interested to see what you're doing with the debugger. This seems = to be >coming together nicely. > >My sourceforge ID is wrwright. > >Thanks, >Bill > > >-----Original Message----- >From: pyd...@li... >[mailto:pyd...@li...]On Behalf Of Aleks Totic >Sent: Monday, March 29, 2004 12:57 PM >To: pyd...@li... >Cc: ww...@bb...; Dana Moore >Subject: Re: [Pydev-code] Contribution: Launching from Run->Run... menu > > >Sounds good. I've had that running when I started working on the >debugger, but for the release I turned it off because I did not >have a real framework yet. Then I wanted to turn it back on, and >I forgot how. Thanks for doing this. > >I've been doing some more work on the debugger. I've checked in >my latest round of changes. Right now, the "Run..." option works >as it used to. The "Debug..." option launches the program under >jpydbg and you can't do anything with it. I hope to have some >better communication between jpydbg & pydev this week. > >I think that the context of the 2 panes can be unified, since I >started off that way. I'll look at your classes after the checkin >to see how it can be done. > >I'll add you to the developers. What's your slashdot id? > >Aleks > >Bill Wright wrote: >> Hi Pydev guys. >> >> As I think Dana mentioned elsewhere, I've been working on running = python >> apps using the Run entry under the Eclipse Run menu. This=20 >supplements the >> current Run action and behaves more like a Java configuration. = CTRL-F11 >> runs the last config, etc. I've attached a picture of the config = type to >> give you an idea what I'm talking about. On the left, there is a new = run >> configuration called "Python" and I've made one run config called = "Hello >> config" The tabbed pane looks a lot like the one on the Python->Run >context >> menu, but is different code because it doesn't have the location = context. >> There is probably some refactoring that could unify the panels, but I >wanted >> to do this initial cut without modifying other code. >> >> The code consists of two new java files and some additions to the = debug >> plugin's plugin.xml. What's the procedure for contributing? I'd = also >like >> to be added as a developer to pydev. > > >------------------------------------------------------- >This SF.Net email is sponsored by: IBM Linux Tutorials >Free Linux tutorial presented by Daniel Robbins, President and CEO of >GenToo technologies. Learn everything from fundamentals to system >administration.http://ads.osdn.com/?ad_id=3D1470&alloc_id=3D3638&op=3Dcl= ick >_______________________________________________ >Pydev-code mailing list >Pyd...@li... >https://lists.sourceforge.net/lists/listinfo/pydev-code |
From: Aleks T. <a...@to...> - 2004-03-29 18:52:46
|
Bill Wright wrote: > The main difference between what I wrote and the context-menu run is in how > it handles passing the name of the script to the interpreter. I do some > trickery to build a command line like the interpreter wants and undo it to > display on the config tab so I can use the standard launcher. I just simplified the command-line generation in the new code. It is all being done inside the PythonRunnerConfig. I think I understand what you are doing. You are probably doing another interpretation of PythonRunActionDelegate that works from inside the debugger context. That sounds like the right thing to do. > I'm interested to see what you're doing with the debugger. This seems to be > coming together nicely. The debugger is a big pain. Eclipse docs are very vague (their usage of getAdaptable drives me nuts), jpydbg is in release 0.5 and lacks documentation/features I need. The good news is that jpydbg author is pretty responsive. Right now I realized I'll need to have a deep understanding of bdb.py/pdb.py to get this stuff going properly. Aleks |
From: Dana M. <da...@bb...> - 2004-03-29 18:23:38
|
Aleks, I am sneaking some time to work on autocompletion at the moment. Might as well add me to the developers' list. My SFid =3D=3D dana_virtual Bill, Thanks for getting something working. It prods me into keeping up with = the rest of the group. Fabio,=20 Thanks for the very comprehensive discussion of autocomplete = requirements. Although I had thought about imports, I had not even thought about the = situation of subclassing. Thanks for reminding us! Right at the moment, I am just trying to hook Aleks parsed methods tree = and using that to try to completion for the current document. If I can = get to that level of sophistication, then I will look at imports and = subclassing. Fabio,=20 You said: "Allied with simple text-completion, it would make for a really good=20 environment for editing python (I've been using the lunar-eclipse plug-in and it has already done python editing in=20 eclipse almost unbeatable - maybe we could try to get in contact with its authors and distribute it together with=20 pydev - if it's ok with you, I'll get in touch with its authors and integrate it in pydev...)" When you say 'text completion' are you thinking about the kind of text = completion like scintilla does, where if you enter the word 'toto' in = the text, and some time later begin typing 'to', it offers a suggestion = of 'toto'. You can then hit TAB or ENTER and it deposits the text for = you? OR Do you mean autocompletion such as we are working one? ALSO, I would add to your list the kind of code generation that you get when = you enter 'if'-CTRL-SPaceBar in the Java Dev Toolkit. when you do that, = the editor offers several kinds of if, if-else constructions. You choose = one and it deposits the code and positions the cursor in the right = place. I know how to do that and can finish it after we get further on = with the autocompletion work. ALSO,=20 Can you say more about the lunar-eclipse stuff. What can we use from it? Regards,=20 >-----Original Message----- >From: Aleks Totic [mailto:a...@to...] >Sent: Monday, March 29, 2004 12:57 PM >To: pyd...@li... >Cc: ww...@bb...; Dana Moore >Subject: Re: [Pydev-code] Contribution: Launching from Run->Run... menu > > >Sounds good. I've had that running when I started working on the=20 >debugger, but for the release I turned it off because I did not=20 >have a real framework yet. Then I wanted to turn it back on, and=20 >I forgot how. Thanks for doing this. > >I've been doing some more work on the debugger. I've checked in=20 >my latest round of changes. Right now, the "Run..." option works=20 >as it used to. The "Debug..." option launches the program under=20 >jpydbg and you can't do anything with it. I hope to have some=20 >better communication between jpydbg & pydev this week. > >I think that the context of the 2 panes can be unified, since I=20 >started off that way. I'll look at your classes after the checkin=20 >to see how it can be done. > >I'll add you to the developers. What's your slashdot id? > >Aleks > >Bill Wright wrote: >> Hi Pydev guys. >>=20 >> As I think Dana mentioned elsewhere, I've been working on running = python >> apps using the Run entry under the Eclipse Run menu. This=20 >supplements the >> current Run action and behaves more like a Java configuration. = CTRL-F11 >> runs the last config, etc. I've attached a picture of the config = type to >> give you an idea what I'm talking about. On the left, there is a new = run >> configuration called "Python" and I've made one run config called = "Hello >> config" The tabbed pane looks a lot like the one on the=20 >Python->Run context >> menu, but is different code because it doesn't have the location = context. >> There is probably some refactoring that could unify the panels,=20 >but I wanted >> to do this initial cut without modifying other code. >>=20 >> The code consists of two new java files and some additions to the = debug >> plugin's plugin.xml. What's the procedure for contributing? =20 >I'd also like >> to be added as a developer to pydev. |
From: Fabio Z. <fa...@in...> - 2004-03-29 19:25:39
|
I am not familiar with scintilla, but I think it is something similar to what you said, but it doesn't pop any suggestions. Example: If I have 'to' and press, let's say Alt+Space (that's what I use) It puts 'toto' (without any pop up...) if I press it again, it goes to the next suggestion - toBlaBla until it gets to the point where it goes back to 'to'.=20 Sometimes it works better than real code completion, because it tends to = be faster, because it is simpler to implement and it doesn't have to pop = any suggestion (and when editing something, most of the time, you just want = to complete simple words from the same editor and don't want to know about comments or anything else, since you are working on it).=20 Netbeans has something similar with Ctrl+K. The lunar-eclipse plugin has this functionality; it looks in all the = open editors and uses any text that completes it. It also has some nice = features on Rectangular editing things (http://lunar-eclipse.sourceforge.net/ ) Have you already checked http://www.zclipse.org/CompleteClipse/ ? I = didn't see it in too much detail, but it seemed useful for code completion. Regards, Fabio -----Original Message----- From: pyd...@li... [mailto:pyd...@li...] On Behalf Of Dana Moore Sent: segunda-feira, 29 de mar=E7o de 2004 15:23 To: pyd...@li...; Aleks Totic Cc: Kevin Altis; ww...@bb... Subject: RE: [Pydev-code] Contribution: Launching from Run->Run... menu Aleks, I am sneaking some time to work on autocompletion at the moment. Might as well add me to the developers' list. My SFid =3D=3D dana_virtual Bill, Thanks for getting something working. It prods me into keeping up with = the rest of the group. Fabio,=20 Thanks for the very comprehensive discussion of autocomplete = requirements. Although I had thought about imports, I had not even thought about the situation of subclassing. Thanks for reminding us! Right at the moment, I am just trying to hook Aleks parsed methods tree = and using that to try to completion for the current document. If I can get = to that level of sophistication, then I will look at imports and = subclassing. Fabio,=20 You said: "Allied with simple text-completion, it would make for a really good=20 environment for editing python (I've been using the lunar-eclipse plug-in and it has already done python editing in=20 eclipse almost unbeatable - maybe we could try to get in contact with its authors and distribute it together with=20 pydev - if it's ok with you, I'll get in touch with its authors and integrate it in pydev...)" When you say 'text completion' are you thinking about the kind of text completion like scintilla does, where if you enter the word 'toto' in = the text, and some time later begin typing 'to', it offers a suggestion of 'toto'. You can then hit TAB or ENTER and it deposits the text for you? OR Do you mean autocompletion such as we are working one? ALSO, I would add to your list the kind of code generation that you get when = you enter 'if'-CTRL-SPaceBar in the Java Dev Toolkit. when you do that, the editor offers several kinds of if, if-else constructions. You choose one = and it deposits the code and positions the cursor in the right place. I know = how to do that and can finish it after we get further on with the = autocompletion work. ALSO,=20 Can you say more about the lunar-eclipse stuff. What can we use from it? Regards,=20 >-----Original Message----- >From: Aleks Totic [mailto:a...@to...] >Sent: Monday, March 29, 2004 12:57 PM >To: pyd...@li... >Cc: ww...@bb...; Dana Moore >Subject: Re: [Pydev-code] Contribution: Launching from Run->Run... menu > > >Sounds good. I've had that running when I started working on the=20 >debugger, but for the release I turned it off because I did not=20 >have a real framework yet. Then I wanted to turn it back on, and=20 >I forgot how. Thanks for doing this. > >I've been doing some more work on the debugger. I've checked in=20 >my latest round of changes. Right now, the "Run..." option works=20 >as it used to. The "Debug..." option launches the program under=20 >jpydbg and you can't do anything with it. I hope to have some=20 >better communication between jpydbg & pydev this week. > >I think that the context of the 2 panes can be unified, since I=20 >started off that way. I'll look at your classes after the checkin=20 >to see how it can be done. > >I'll add you to the developers. What's your slashdot id? > >Aleks > >Bill Wright wrote: >> Hi Pydev guys. >>=20 >> As I think Dana mentioned elsewhere, I've been working on running = python >> apps using the Run entry under the Eclipse Run menu. This=20 >supplements the >> current Run action and behaves more like a Java configuration. = CTRL-F11 >> runs the last config, etc. I've attached a picture of the config = type to >> give you an idea what I'm talking about. On the left, there is a new = run >> configuration called "Python" and I've made one run config called = "Hello >> config" The tabbed pane looks a lot like the one on the=20 >Python->Run context >> menu, but is different code because it doesn't have the location = context. >> There is probably some refactoring that could unify the panels,=20 >but I wanted >> to do this initial cut without modifying other code. >>=20 >> The code consists of two new java files and some additions to the = debug >> plugin's plugin.xml. What's the procedure for contributing? =20 >I'd also like >> to be added as a developer to pydev. ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id638&op=3Dick _______________________________________________ Pydev-code mailing list Pyd...@li... https://lists.sourceforge.net/lists/listinfo/pydev-code |
From: Aleks T. <a...@to...> - 2004-03-29 19:43:15
|
Hi everyone, we've got Dana & Bill as the official developers! Feel free to=20 check in. On Friday I realized that I needed to fully understand bdb.py &=20 pdb.py, and that required lots of code navigation. Being bored=20 with trying to decipher what debugger APIs are, I took a look on=20 what it would take to implement cmd-click hyperlinks in pydev. It=20 is one my favorite features in the Java editor, and something I=20 could really use right now. Java editor implements it in about 600 lines of code inside a=20 MouseListener. I think I can lift most of it. The other requirement for context navigation is a database of=20 defined symbols inside a file being edited. Right now I am=20 working on implementing this. Here are my design notes: ### DESIGN NOTES To implement navigation/completion. - Each editor needs a vocabulary. The vocabulary is hierarchical=20 in structure, and has items: Top-level (file vocabulary) has: classes functions globals? Class vocabulary has: documentation string classes methods (functions) instance variables (inferred from self.) Method/function vocabulary has: documentation string locals classes functions Each definition in the vocabulary describes: - where is it defined (file, char span) - character range where it is applicable Vocabulary usage: Find an innermost vocabulary containing current selection. Then quiz it for whatever is needed Questions: can vocabularies be overlapping? That would make things hard. ### Dana, this sounds like it overlaps with your work a bit. Any=20 suggestions about what I am doing so that we do not conflict? Aleks Dana Moore wrote: > Aleks, > I am sneaking some time to work on autocompletion at the moment. > Might as well add me to the developers' list. > My SFid =3D=3D dana_virtual >=20 > Bill, > Thanks for getting something working. It prods me into keeping up with = the rest of the group. >=20 > Fabio,=20 > Thanks for the very comprehensive discussion of autocomplete requiremen= ts. > Although I had thought about imports, I had not even thought about the = situation of subclassing. Thanks for reminding us! > Right at the moment, I am just trying to hook Aleks parsed methods tree= and using that to try to completion for the current document. If I can g= et to that level of sophistication, then I will look at imports and subcl= assing. >=20 > Fabio,=20 > You said: > "Allied with simple text-completion, it would make for a really good=20 > environment for editing python (I've been using > the lunar-eclipse plug-in and it has already done python editing in=20 > eclipse almost unbeatable - maybe we could > try to get in contact with its authors and distribute it together with = > pydev - if it's ok with you, I'll get in touch > with its authors and integrate it in pydev...)" >=20 > When you say 'text completion' are you thinking about the kind of text = completion like scintilla does, where if you enter the word 'toto' in the= text, and some time later begin typing 'to', it offers a suggestion of '= toto'. You can then hit TAB or ENTER and it deposits the text for you? >=20 > OR > Do you mean autocompletion such as we are working one? >=20 > ALSO, > I would add to your list the kind of code generation that you get when = you enter 'if'-CTRL-SPaceBar in the Java Dev Toolkit. when you do that, t= he editor offers several kinds of if, if-else constructions. You choose o= ne and it deposits the code and positions the cursor in the right place. = I know how to do that and can finish it after we get further on with the = autocompletion work. >=20 >=20 > ALSO,=20 > Can you say more about the lunar-eclipse stuff. What can we use from it= ? >=20 > Regards,=20 >=20 >=20 >>-----Original Message----- >>From: Aleks Totic [mailto:a...@to...] >>Sent: Monday, March 29, 2004 12:57 PM >>To: pyd...@li... >>Cc: ww...@bb...; Dana Moore >>Subject: Re: [Pydev-code] Contribution: Launching from Run->Run... menu= >> >> >>Sounds good. I've had that running when I started working on the=20 >>debugger, but for the release I turned it off because I did not=20 >>have a real framework yet. Then I wanted to turn it back on, and=20 >>I forgot how. Thanks for doing this. >> >>I've been doing some more work on the debugger. I've checked in=20 >>my latest round of changes. Right now, the "Run..." option works=20 >>as it used to. The "Debug..." option launches the program under=20 >>jpydbg and you can't do anything with it. I hope to have some=20 >>better communication between jpydbg & pydev this week. >> >>I think that the context of the 2 panes can be unified, since I=20 >>started off that way. I'll look at your classes after the checkin=20 >>to see how it can be done. >> >>I'll add you to the developers. What's your slashdot id? >> >>Aleks >> >>Bill Wright wrote: >> >>>Hi Pydev guys. >>> >>>As I think Dana mentioned elsewhere, I've been working on running pyth= on >>>apps using the Run entry under the Eclipse Run menu. This=20 >> >>supplements the >> >>>current Run action and behaves more like a Java configuration. CTRL-F= 11 >>>runs the last config, etc. I've attached a picture of the config type= to >>>give you an idea what I'm talking about. On the left, there is a new = run >>>configuration called "Python" and I've made one run config called "Hel= lo >>>config" The tabbed pane looks a lot like the one on the=20 >> >>Python->Run context >> >>>menu, but is different code because it doesn't have the location conte= xt. >>>There is probably some refactoring that could unify the panels,=20 >> >>but I wanted >> >>>to do this initial cut without modifying other code. >>> >>>The code consists of two new java files and some additions to the debu= g >>>plugin's plugin.xml. What's the procedure for contributing? =20 >> >>I'd also like >> >>>to be added as a developer to pydev. >=20 >=20 >=20 >=20 > ------------------------------------------------------- > This SF.Net email is sponsored by: IBM Linux Tutorials > Free Linux tutorial presented by Daniel Robbins, President and CEO of > GenToo technologies. Learn everything from fundamentals to system > administration.http://ads.osdn.com/?ad_id=1470&alloc_id638&op=CCk > _______________________________________________ > Pydev-code mailing list > Pyd...@li... > https://lists.sourceforge.net/lists/listinfo/pydev-code >=20 >=20 |
From: Aleks T. <a...@to...> - 2004-03-30 01:25:53
|
Hi, moving right along on the PyDictionary implementation. I've just checked in the latest bunch of changes to pydev. There are few notable changes: 1) PyVocabulary was called PyDictionary. Goodbye grammar school, hello college. The definitions dictionary (PyDictionary) is now associated with every PyEdit. Whenever parser completes, the definitions get updated. Every PyDictionary holds classes/methods/locals defined inside the containing PyItem. The implementation still lacks a few things: - locals are duplicated - no methods for traversal/query 2) I've also made Parser reparse immediately after every newline. This gives it a much better feel. 3) Also added for all the completion enthusiasts out there are PyContentAssistant & PyContentAssistantProvider. These are the shell classes that need to be implemented for code completion. Aleks Aleks Totic wrote: > Hi everyone, > we've got Dana & Bill as the official developers! Feel free to check in. > > On Friday I realized that I needed to fully understand bdb.py & pdb.py, > and that required lots of code navigation. Being bored with trying to > decipher what debugger APIs are, I took a look on what it would take to > implement cmd-click hyperlinks in pydev. It is one my favorite features > in the Java editor, and something I could really use right now. > > Java editor implements it in about 600 lines of code inside a > MouseListener. I think I can lift most of it. > > The other requirement for context navigation is a database of defined > symbols inside a file being edited. Right now I am working on > implementing this. Here are my design notes: > > ### DESIGN NOTES > To implement navigation/completion. > - Each editor needs a vocabulary. The vocabulary is hierarchical in > structure, and has items: > Top-level (file vocabulary) has: > classes > functions > globals? > Class vocabulary has: > documentation string > classes > methods (functions) > instance variables (inferred from self.) > Method/function vocabulary has: > documentation string > locals > classes > functions > > Each definition in the vocabulary describes: > - where is it defined (file, char span) > - character range where it is applicable > > Vocabulary usage: > Find an innermost vocabulary containing current selection. > Then quiz it for whatever is needed > > Questions: > can vocabularies be overlapping? That would make things hard. > ### |