Hi,
Let me introduce myself to the list:
I am an eclipse enthusiast and hacker.
I maintain a few open source projects , including a new Eclipse distro,
called EasyEclipse.
First I would like to mention that we ship RDT in EasyEclipse (and
RadRails too ) and I think you guys all did a fantastic job! :-)
I hope you guys are fine with that.
The EasyEclipse project is still in early beta, and you can check the
pages at:
http://easyeclipse.org/site/plugins/rubyeclipse.html
And there is also a full distro that contains RDT, Radrails and more:
http://easyeclipse.org/site/distributions/lamp.html

Feedback and critique is welcomed!
Now I like also to help when possible, and submit patches and
enhancements suggestions on occasion, which leads me to this email....

I wrote a small patch (see attached just for reference) to address the
issue in bug:
http://sourceforge.net/tracker/index.php?func=detail&aid=1477353&group_i
d=50233&atid=459015
While I was at it, I did add a tiny provisional change to support
autoinsert of single content assist proposals...based on a chat on IRC.

Last night, I was readying that patch to submit here, I saw that RDT
0.8.0 was released in GA.
So I though that was cool, because my patch was based on CVS HEAD.
But I was bitten badly by Sf.net.
My patch was completely out of sync with the sources in the release
drop, applying to classes that were worked on and refactored since :-\
Sf.net anonymous pserver seems completely out of sync with HEAD, which
can only be accessed by ssh, and requires you to be a committer.

So here is the patch anyway, and it is worth nothing, and it is
completely stale. 
For instance you guys had already added the auto insert capabilities and
refactored the prefs significantly.

So if I could get committer access that would be great.
So that I can submit patches to the list for review without those
annoyances.
You do not know me, so I can promise that I will not commit any code
until you tell me it is OK, but just submit patches here until you think
I am cool to make real commits.
Getting commit rights would allow me to get the *real* CVS HEAD through
ssh and avoid that pitiful adventure!
And resubmit a proposed patch with the proper HEAD references.

Cordially
Keep on rocking

-- 
Cheers
Philippe

philippe ombredanne | 1 650 799 0949 | pombredanne at nexb.com 
nexB - Open by Design (tm) - http://www.nexb.com 
http://EasyEclipse.org  -  [EMAIL PROTECTED]



Index: src/org/rubypeople/rdt/internal/ui/preferences/PreferencesMessages.java
===================================================================
RCS file: 
/cvsroot/rubyeclipse/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/preferences/PreferencesMessages.java,v
retrieving revision 1.4
diff -u -r1.4 PreferencesMessages.java
--- src/org/rubypeople/rdt/internal/ui/preferences/PreferencesMessages.java     
30 Mar 2006 02:56:45 -0000      1.4
+++ src/org/rubypeople/rdt/internal/ui/preferences/PreferencesMessages.java     
27 Apr 2006 03:03:36 -0000
@@ -52,6 +52,7 @@
     public static String TodoTaskInputDialog_error_enterName;
     public static String RubyEditorPreferencePage_link_tooltip;
     public static String RubyEditorPreferencePage_link;
+    public static String 
RubyEditorPreferencePage_insertSingleProposalsAutomatically;
     public static String RiPreferencePage_ripath_label;
     public static String RiPreferencePage_rdocpath_label;
     public static String TodoTaskConfigurationBlock_tasks_default;
Index: 
src/org/rubypeople/rdt/internal/ui/preferences/PreferencesMessages.properties
===================================================================
RCS file: 
/cvsroot/rubyeclipse/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/preferences/PreferencesMessages.properties,v
retrieving revision 1.7
diff -u -r1.7 PreferencesMessages.properties
--- 
src/org/rubypeople/rdt/internal/ui/preferences/PreferencesMessages.properties   
    30 Mar 2006 02:56:45 -0000      1.7
+++ 
src/org/rubypeople/rdt/internal/ui/preferences/PreferencesMessages.properties   
    27 Apr 2006 03:03:36 -0000
@@ -12,6 +12,8 @@
 RubyEditorPreferencePage_link=General text editor preferences can be set on 
the <a>Text Editors</a> page.
 RubyEditorPreferencePage_link_tooltip=Show the shared text editor preferences

+RubyEditorPreferencePage_insertSingleProposalsAutomatically=Insert single code 
assist &proposals automatically
+
 CodeFormatterPreferencePage_title=Code Formatter
 CodeFormatterPreferencePage_description=Sele&ct a profile:

Index: 
src/org/rubypeople/rdt/internal/ui/preferences/TextEditorPreferencePage2.java
===================================================================
RCS file: 
/cvsroot/rubyeclipse/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/preferences/TextEditorPreferencePage2.java,v
retrieving revision 1.23
diff -u -r1.23 TextEditorPreferencePage2.java
--- 
src/org/rubypeople/rdt/internal/ui/preferences/TextEditorPreferencePage2.java   
    10 Feb 2006 19:52:26 -0000      1.23
+++ 
src/org/rubypeople/rdt/internal/ui/preferences/TextEditorPreferencePage2.java   
    27 Apr 2006 03:03:37 -0000
@@ -103,6 +104,8 @@

                overlayKeys.add(new 
OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.INT, 
PreferenceConstants.FORMAT_INDENTATION));
                overlayKeys.add(new 
OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, 
PreferenceConstants.FORMAT_USE_TAB));
+               overlayKeys.add(new 
OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN,
+                               
PreferenceConstants.EDITOR_CODEASSIST_INSERT_SINGLE_PROPOSAL_AUTOMATICALLY));

                OverlayPreferenceStore.OverlayKey[] keys = new 
OverlayPreferenceStore.OverlayKey[overlayKeys.size()];
                overlayKeys.toArray(keys);
@@ -138,11 +141,16 @@
                                PreferencesUtil.createPreferenceDialogOn(shell, 
"org.eclipse.ui.preferencePages.GeneralTextEditor", null, null); //$NON-NLS-1$
                        }
                });
-               
link.setToolTipText(PreferencesMessages.RubyEditorPreferencePage_link_tooltip);
+               
link.setToolTipText(PreferencesMessages.RubyEditorPreferencePage_link_tooltip);
+
+               addCheckBox(appearanceComposite,
+                               
PreferencesMessages.RubyEditorPreferencePage_insertSingleProposalsAutomatically,
+                               
PreferenceConstants.EDITOR_CODEASSIST_INSERT_SINGLE_PROPOSAL_AUTOMATICALLY,0);

                return appearanceComposite;
        }

+
        private Control createCodeFormatterPage(Composite parent) {

                Composite codeFormatterComposite = new Composite(parent, 
SWT.NONE);
Index: src/org/rubypeople/rdt/internal/ui/text/RubyContentAssistPreference.java
===================================================================
RCS file: 
/cvsroot/rubyeclipse/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/text/RubyContentAssistPreference.java,v
retrieving revision 1.1
diff -u -r1.1 RubyContentAssistPreference.java
--- src/org/rubypeople/rdt/internal/ui/text/RubyContentAssistPreference.java    
20 Jul 2002 03:16:57 -0000      1.1
+++ src/org/rubypeople/rdt/internal/ui/text/RubyContentAssistPreference.java    
27 Apr 2006 03:03:37 -0000
@@ -2,6 +2,7 @@

 import org.eclipse.jface.preference.IPreferenceStore;
 import org.eclipse.jface.text.contentassist.ContentAssistant;
+import org.rubypeople.rdt.ui.PreferenceConstants;

 public class RubyContentAssistPreference {
        protected static ContentAssistant contentAssistant;
@@ -10,8 +11,9 @@
        public static void configure(ContentAssistant aContentAssistant, 
IPreferenceStore aPreferenceStore) {
                contentAssistant = aContentAssistant;
                preferenceStore = aPreferenceStore;
-
+
                contentAssistant.enableAutoActivation(true);
                contentAssistant.setAutoActivationDelay(500);
+               
contentAssistant.enableAutoInsert(preferenceStore.getBoolean(PreferenceConstants.EDITOR_CODEASSIST_INSERT_SINGLE_PROPOSAL_AUTOMATICALLY));
        }
 }
Index: src/org/rubypeople/rdt/internal/ui/text/ruby/RubyCompletionProcessor.java
===================================================================
RCS file: 
/cvsroot/rubyeclipse/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/text/ruby/RubyCompletionProcessor.java,v
retrieving revision 1.18
diff -u -r1.18 RubyCompletionProcessor.java
--- src/org/rubypeople/rdt/internal/ui/text/ruby/RubyCompletionProcessor.java   
24 Feb 2006 02:02:20 -0000      1.18
+++ src/org/rubypeople/rdt/internal/ui/text/ruby/RubyCompletionProcessor.java   
27 Apr 2006 03:03:37 -0000
@@ -247,15 +247,12 @@

                        IRubyCompletionProposal[] keyWordResults = 
getKeywordProposals(documentOffset);
                        if (keyWordResults.length > 0) {
-                               List removals = new ArrayList();
-
                                // update relevance of template proposals that 
match with a
                                // keyword
                                // give those templates slightly more relevance 
than the keyword
                                // to
                                // sort them first
-                               // remove keyword templates that don't have an 
equivalent
-                               // keyword proposal
+                               //pombredanne: removed the keyword removal 
which is more a pain than a feature.
                                if (keyWordResults.length > 0) {
                                        outer: for (int k = 0; k < 
templateProposals.length; k++) {
                                                TemplateProposal curr = 
templateProposals[k];
@@ -269,12 +266,8 @@
                                                                continue outer;
                                                        }
                                                }
-                                               if (isKeyword(name))
-                                                       removals.add(curr);
                                        }
                                }
-
-                               result.removeAll(removals);
                        }
                        return result;
                }
Index: src/org/rubypeople/rdt/ui/PreferenceConstants.java
===================================================================
RCS file: 
/cvsroot/rubyeclipse/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/ui/PreferenceConstants.java,v
retrieving revision 1.14
diff -u -r1.14 PreferenceConstants.java
--- src/org/rubypeople/rdt/ui/PreferenceConstants.java  30 Mar 2006 03:05:01 
-0000      1.14
+++ src/org/rubypeople/rdt/ui/PreferenceConstants.java  27 Apr 2006 03:03:38 
-0000
@@ -148,12 +148,22 @@
      * <p>
      * Value is of type <code>Boolean</code>.
      * </p>
-     *
+     *
      * @since 0.8.0
      */
     public final static String EDITOR_SYNC_OUTLINE_ON_CURSOR_MOVE = 
"RubyEditor.SyncOutlineOnCursorMove"; //$NON-NLS-1$

     /**
+        * A named preference that controls if a single proposal is 
automatically
+        * inserted when invoking code assist
+        * <p>
+        * Value is of type <code>Boolean</code>.
+        * </p>
+        * @since 0.8.0
+        */
+       public static final String 
EDITOR_CODEASSIST_INSERT_SINGLE_PROPOSAL_AUTOMATICALLY= 
"org.rubypeople.rdt.ui.editor.insertsingleproposalauto"; //$NON-NLS-1$
+
+    /**
      * A named preference that defines how member elements are ordered by the
      * Ruby views using the <code>RubyElementSorter</code>.
      * <p>

Reply via email to