I'd be glad to enhance eCompletion for 3.9. In fact, I'm working on an new release. It'll include:
1) Improved receiver guessing (including constants such as boolean, blocks, strings etc.). 2) Instance variable type guessing: I looked at the RoelTyper, but unfortunatly I don't understand everything as it is VW specific. To get to know squeak bytecodes I wrote a simple version of a guesser based on the idea of InstVarRefLocator and it works quite well for eCompletion (it doesn't need everything that Roeltyper does). I'll integrate with RoelTyper as it comes to Squeak. 3) Completion will be possible without a typing the first character. 4) Override completion: If you are at the first word in the source, You get the completion of all methods you can override. The completion then inserts the method with all its parameters and a super. 5) Assignment completion: complete and get an assignment to a new local variable. 6) TestCases, BugFixes and a first Model <-> Morph separation to support different UIs.
Please tell me: What is a super cool completion system for you? What ideas are around?
I'm working with 3.7 and don't know about 3.8/3.9, yet. What's the difference anyway? How is eCompletion doing on this versions?
Ruben
On Dec 6, 2004, at 3:32 PM, Ruben Bakker wrote:
I'd be glad to enhance eCompletion for 3.9. In fact, I'm working on an new release. It'll include:
- Improved receiver guessing (including constants such as boolean,
blocks, strings etc.). 2) Instance variable type guessing: I looked at the RoelTyper, but unfortunatly I don't understand everything as it is VW specific. To get to know squeak bytecodes I wrote a simple version of a guesser based on the idea of InstVarRefLocator and it works quite well for eCompletion (it doesn't need everything that Roeltyper does). I'll integrate with RoelTyper as it comes to Squeak. 3) Completion will be possible without a typing the first character. 4) Override completion: If you are at the first word in the source, You get the completion of all methods you can override. The completion then inserts the method with all its parameters and a super.
This is a very nice idea ! keep the good work ...
- Assignment completion: complete and get an assignment to a new
local variable. 6) TestCases, BugFixes and a first Model <-> Morph separation to support different UIs.
Please tell me: What is a super cool completion system for you? What ideas are around?
I'm working with 3.7 and don't know about 3.8/3.9, yet. What's the difference anyway? How is eCompletion doing on this versions?
Ruben
I just downloaded 3.8g and 3.9a. After a very quick check, it seems that eCompletion is working in 3.8g.
In 3.9a I get walkbacks about deprecated methods. It's happening without eCompletion installed. For example when I type a key in a workspace I get: PluggableTextMorph(ScrollPane)>>scrollBarValue: has been deprecated. Please use vScrollBarValue: or hScrollBarValue: instead.
After I installed eCompletion, I opened a fresh browser and was able complete. But the font is much bigger than in 3.7/3.8g and I've got some textpane refreshing problems in the browser. BTW: I'm using build 6523.
Ruben.
On Mon, 06 Dec 2004 15:32:44 +0100, you wrote:
I'd be glad to enhance eCompletion for 3.9. In fact, I'm working on an new release. It'll include:
- Improved receiver guessing (including constants such as boolean, blocks, strings etc.).
- Instance variable type guessing: I looked at the RoelTyper, but unfortunatly I don't understand everything as it is VW specific. To get to know squeak bytecodes I wrote a simple version of a guesser based on the idea of InstVarRefLocator and it works quite well for eCompletion (it doesn't need everything that Roeltyper does). I'll integrate with RoelTyper as it comes to Squeak.
- Completion will be possible without a typing the first character.
- Override completion: If you are at the first word in the source, You get the completion of all methods you can override. The completion then inserts the method with all its parameters and a super.
- Assignment completion: complete and get an assignment to a new local variable.
- TestCases, BugFixes and a first Model <-> Morph separation to support different UIs.
Please tell me: What is a super cool completion system for you? What ideas are around?
I'm working with 3.7 and don't know about 3.8/3.9, yet. What's the difference anyway? How is eCompletion doing on this versions?
Ruben
In 3.8 turn the preference that show you deprecated methods because those have been removed in 3.9 :) I guess Stef
On 6 déc. 04, at 22:57, Ruben Bakker wrote:
I just downloaded 3.8g and 3.9a. After a very quick check, it seems that eCompletion is working in 3.8g.
In 3.9a I get walkbacks about deprecated methods. It's happening without eCompletion installed. For example when I type a key in a workspace I get: PluggableTextMorph(ScrollPane)>>scrollBarValue: has been deprecated. Please use vScrollBarValue: or hScrollBarValue: instead.
After I installed eCompletion, I opened a fresh browser and was able complete. But the font is much bigger than in 3.7/3.8g and I've got some textpane refreshing problems in the browser. BTW: I'm using build 6523.
Ruben.
On Mon, 06 Dec 2004 15:32:44 +0100, you wrote:
I'd be glad to enhance eCompletion for 3.9. In fact, I'm working on an new release. It'll include:
- Improved receiver guessing (including constants such as boolean,
blocks, strings etc.). 2) Instance variable type guessing: I looked at the RoelTyper, but unfortunatly I don't understand everything as it is VW specific. To get to know squeak bytecodes I wrote a simple version of a guesser based on the idea of InstVarRefLocator and it works quite well for eCompletion (it doesn't need everything that Roeltyper does). I'll integrate with RoelTyper as it comes to Squeak. 3) Completion will be possible without a typing the first character. 4) Override completion: If you are at the first word in the source, You get the completion of all methods you can override. The completion then inserts the method with all its parameters and a super. 5) Assignment completion: complete and get an assignment to a new local variable. 6) TestCases, BugFixes and a first Model <-> Morph separation to support different UIs.
Please tell me: What is a super cool completion system for you? What ideas are around?
I'm working with 3.7 and don't know about 3.8/3.9, yet. What's the difference anyway? How is eCompletion doing on this versions?
Ruben
Am 07.12.2004 um 08:58 schrieb stéphane ducasse:
In 3.8 turn the preference that show you deprecated methods because those have been removed in 3.9 :) I guess
No, nothing has been removed. I Just turned on the warning. (The warnings should have been enabled in all alpha/beta phases).
Marcus
On 6 déc. 04, at 15:32, Ruben Bakker wrote:
I'd be glad to enhance eCompletion for 3.9. In fact, I'm working on an new release. It'll include:
- Improved receiver guessing (including constants such as boolean,
blocks, strings etc.). 2) Instance variable type guessing: I looked at the RoelTyper, but unfortunatly I don't understand everything as it is VW specific. To get to know squeak bytecodes I wrote a simple version of a guesser based on the idea of InstVarRefLocator and it works quite well for eCompletion (it doesn't need everything that Roeltyper does). I'll integrate with RoelTyper as it comes to Squeak.
Marcus sent me the code so I should look at it but I'm terribly busy now.
- Completion will be possible without a typing the first character.
- Override completion: If you are at the first word in the source,
You get the completion of all methods you can override. The completion then inserts the method with all its parameters and a super. 5) Assignment completion: complete and get an assignment to a new local variable. 6) TestCases, BugFixes and a first Model <-> Morph separation to support different UIs.
Please tell me: What is a super cool completion system for you? What ideas are around?
I have the impression that in java you also have a lot of iti + ... produce iterator code. With my key bindings I added self halt and others But I think those are at the level of the key mapper.
I'm working with 3.7 and don't know about 3.8/3.9, yet. What's the difference anyway? How is eCompletion doing on this versions?
lot of bug fixes :)
Thanks anyway this is good to see Squeak IDE moving again. Stef
I have the impression that in java you also have a lot of iti + ... produce iterator code.
I'm not sure if I understood it right: Is this a comment to point 5)? I have written a test for completion assigments and I'm getting the idea that this will not save much typing in Smalltalk. In java it is much more verbose. I'll omit it from eCompletion 2.0...
With my key bindings I added self halt and others But I think those are at the level of the key mapper.
Sounds as if keymapper would be nice for eCompletion, so people could customize their own key bindings. Is that the purpose of keymapper?
With my key bindings I added self halt and others But I think those are at the level of the key mapper.
That's more like an abbreviation, isn't it. Maybe we could complete abbreviations, too. What do you think?
Ruben
On Tuesday, December 07, 2004, at 08:59AM, stéphane ducasse ducasse@iam.unibe.ch wrote:
On 6 déc. 04, at 15:32, Ruben Bakker wrote:
I'd be glad to enhance eCompletion for 3.9. In fact, I'm working on an new release. It'll include:
- Improved receiver guessing (including constants such as boolean,
blocks, strings etc.). 2) Instance variable type guessing: I looked at the RoelTyper, but unfortunatly I don't understand everything as it is VW specific. To get to know squeak bytecodes I wrote a simple version of a guesser based on the idea of InstVarRefLocator and it works quite well for eCompletion (it doesn't need everything that Roeltyper does). I'll integrate with RoelTyper as it comes to Squeak.
Marcus sent me the code so I should look at it but I'm terribly busy now.
- Completion will be possible without a typing the first character.
- Override completion: If you are at the first word in the source,
You get the completion of all methods you can override. The completion then inserts the method with all its parameters and a super. 5) Assignment completion: complete and get an assignment to a new local variable. 6) TestCases, BugFixes and a first Model <-> Morph separation to support different UIs.
Please tell me: What is a super cool completion system for you? What ideas are around?
I have the impression that in java you also have a lot of iti + ... produce iterator code. With my key bindings I added self halt and others But I think those are at the level of the key mapper.
I'm working with 3.7 and don't know about 3.8/3.9, yet. What's the difference anyway? How is eCompletion doing on this versions?
lot of bug fixes :)
Thanks anyway this is good to see Squeak IDE moving again. Stef
On 7 déc. 04, at 10:43, Ruben Bakker wrote:
I have the impression that in java you also have a lot of iti + ... produce iterator code.
I'm not sure if I understood it right: Is this a comment to point 5)? I have written a test for completion assigments and I'm getting the idea that this will not save much typing in Smalltalk. In java it is much more verbose. I'll omit it from eCompletion 2.0...
I do not know eclipse. A friend of mine just complained that in eclipse you can do all kind of cool stuff so I thought about that but this is true that it may not be important for Smalltalk.
With my key bindings I added self halt and others But I think those are at the level of the key mapper.
Sounds as if keymapper would be nice for eCompletion, so people could customize their own key bindings. Is that the purpose of keymapper?
Yes.
With my key bindings I added self halt and others But I think those are at the level of the key mapper.
That's more like an abbreviation, isn't it. Maybe we could complete abbreviations, too. What do you think?
Yes But again I think that we should learn how to work with your tools and do not improve it beforehand. I will start to use it regularly and give you feedback.
Stef
Here is some report I have gathered from basic use of eCompletion:
- eCompletion has redraw problem when the selector gets word-wrapped. (Utilities updateFromServerThroughUpdateNumber:) - only without Shout? - eCompletion doesn't work at all in the Browser 'find...' (should)
- If the cursor is 'update:| with: ' here, after eCompletion, pressing Tab should go to the next argument (inputting them /quite/ faster and natural. would be very nice!) - eCompletion/Shout: show values under pointer in debugger (balloon)
Is it aware of Workspace variables?
----- Original Message ----- From: "Ruben Bakker" ruben_bakker@mac.com To: squeak-dev@lists.squeakfoundation.org Sent: Monday, December 06, 2004 6:32 AM Subject: Re: About a cool key mapper pakage for 3.9
I'd be glad to enhance eCompletion for 3.9. In fact, I'm working on an new
release. It'll include:
- Improved receiver guessing (including constants such as boolean,
blocks, strings etc.).
- Instance variable type guessing: I looked at the RoelTyper, but
unfortunatly I don't understand everything as it is VW specific. To get to know squeak bytecodes I wrote a simple version of a guesser based on the idea of InstVarRefLocator and it works quite well for eCompletion (it doesn't need everything that Roeltyper does). I'll integrate with RoelTyper as it comes to Squeak.
- Completion will be possible without a typing the first character.
- Override completion: If you are at the first word in the source, You
get the completion of all methods you can override. The completion then inserts the method with all its parameters and a super.
- Assignment completion: complete and get an assignment to a new local
variable.
- TestCases, BugFixes and a first Model <-> Morph separation to support
different UIs.
Please tell me: What is a super cool completion system for you? What ideas
are around?
I'm working with 3.7 and don't know about 3.8/3.9, yet. What's the
difference anyway? How is eCompletion doing on this versions?
Ruben
On Tue, 07 Dec 2004 11:00:36 -0800, you wrote:
Here is some report I have gathered from basic use of eCompletion:
- eCompletion has redraw problem when the selector gets word-wrapped.
(Utilities updateFromServerThroughUpdateNumber:) - only without Shout?
Couldn't reproduce this one. Does it maybe seem as a redraw problem, as the width of the ECompletionMorph is limited to 200 pixels?
I'm aware of a redraw problem when no selector match the word you complete: I've fixed that one for 2.0.
- eCompletion doesn't work at all in the Browser 'find...' (should)
Do you mean in the "find class..." or/and "find method..."?
- If the cursor is 'update:| with: ' here, after eCompletion, pressing Tab
should go to the next argument (inputting them /quite/ faster and natural. would be very nice!)
- eCompletion/Shout: show values under pointer in debugger (balloon)
Good points. I put these onto my list.
Is it aware of Workspace variables?
Yes it is. They show up in the Morph and then eCompletion knows the type of the workspace variables.
Ruben
----- Original Message ----- From: "Ruben Bakker" ruben_bakker@mac.com To: "The general-purpose Squeak developers list" squeak-dev@lists.squeakfoundation.org Sent: Tuesday, December 07, 2004 2:14 PM Subject: Re: About a cool key mapper pakage for 3.9
On Tue, 07 Dec 2004 11:00:36 -0800, you wrote:
Here is some report I have gathered from basic use of eCompletion:
- eCompletion has redraw problem when the selector gets word-wrapped.
(Utilities updateFromServerThroughUpdateNumber:) - only without Shout?
Couldn't reproduce this one. Does it maybe seem as a redraw problem, as the width of the ECompletionMorph is limited to 200 pixels?
Perhaps the redraw issue was because it was at the bottom of the display, I cannot test this right now.
I'm aware of a redraw problem when no selector match the word you complete: I've fixed that one for 2.0.
- eCompletion doesn't work at all in the Browser 'find...' (should)
Do you mean in the "find class..." or/and "find method..."?
Both, really. =)
- If the cursor is 'update:| with: ' here, after eCompletion, pressing Tab
should go to the next argument (inputting them /quite/ faster and natural. would be very nice!)
- eCompletion/Shout: show values under pointer in debugger (balloon)
Good points. I put these onto my list.
I think the tabbing across arguments may be a plain editor feature.
Is it aware of Workspace variables?
Yes it is. They show up in the Morph and then eCompletion knows the type of the workspace variables.
Okay, this is related to the debugger though. (DoIts)
Ruben
One more thing. Pressing Tab multiple times to cycle through possible completion matches is quite common for such a tool. Say if it highlighted all of the text it entered (which it should possibly do anyway, because the text is modified outside of the user's hands really) and pressing tab would cycle through these, merely needing to replace the selection from then on.
Thanks for the great work on eCompletion so far, lyndon
One more thing. Pressing Tab multiple times to cycle through possible completion matches is quite common for such a tool. Say if it highlighted all of the text it entered (which it should possibly do anyway, because the text is modified outside of the user's hands really) and pressing tab would cycle through these, merely needing to replace the selection from then on.
As the user just choose from the completion menu, there seem to me no need to cycle thru completions when the menu has been closed. When using eclipse at work I don't miss (or use) such a feature, really.
Ruben
I refer to when the window listing completions is still open, of course. The rest is skepticism on if 'selecting text' was used to keep a note on what text was last modified outside of the user's hand. (therefore free to be modified again before selection changes - which would indicate the user's satisfied choice, if started to enter text etc)
----- Original Message ----- From: "Ruben Bakker" ruben_bakker@mac.com To: "The general-purpose Squeak developers list" squeak-dev@lists.squeakfoundation.org Sent: Wednesday, December 08, 2004 4:01 AM Subject: Re: About a cool key mapper pakage for 3.9
One more thing. Pressing Tab multiple times to cycle through possible completion matches is quite common for such a tool. Say if it
highlighted
all of the text it entered (which it should possibly do anyway, because
the
text is modified outside of the user's hands really) and pressing tab
would
cycle through these, merely needing to replace the selection from then
on.
As the user just choose from the completion menu, there seem to me no need
to cycle thru
completions when the menu has been closed. When using eclipse at work I
don't miss (or use)
such a feature, really.
Ruben
I refer to when the window listing completions is still open, of course. The rest is skepticism on if 'selecting text' was used to keep a note on what text was last modified outside of the user's hand. (therefore free to be modified again before selection changes - which would indicate the user's satisfied choice, if started to enter text etc)
I'm not convinced, yet. As eCompletion never changes the source while it is open. Only when accepting an entry in the menu, the choice gets inserted. But then the menu (listing of entries) is closed. But then the user discovers he has choosen the wrong entry. Suppose he could press an Key and re-open the menu pointing at the choosen entry and replace it with another entry? Would that solve the problem?
Ruben
Okay, this has gotten to the point where code would help explain things. But you basically understand it. (I think 'convinced' is the wrong chosen word here), except the menu will stay open while they choose. Perhaps just replace text while navigating the menu. Whatever is more natural, obviously.
I refer to when the window listing completions is still open, of course.
The
rest is skepticism on if 'selecting text' was used to keep a note on what text was last modified outside of the user's hand. (therefore free to be modified again before selection changes - which would indicate the user's satisfied choice, if started to enter text etc)
I'm not convinced, yet. As eCompletion never changes the source while it
is open. Only when accepting an entry in the
menu, the choice gets inserted. But then the menu (listing of entries) is
closed. But then the user discovers he has
choosen the wrong entry. Suppose he could press an Key and re-open the
menu pointing at the choosen entry and replace
it with another entry? Would that solve the problem?
Ruben
squeak-dev@lists.squeakfoundation.org