|
From: <caw...@us...> - 2007-02-10 20:00:20
|
Revision: 1944
http://svn.sourceforge.net/rubyeclipse/?rev=1944&view=rev
Author: cawilliams
Date: 2007-02-10 12:00:17 -0800 (Sat, 10 Feb 2007)
Log Message:
-----------
fix xome more cases for completion (don't read back until a sapce for full prefix, read back until space, comma, or opening bracket/brace/paren
Modified Paths:
--------------
trunk/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/codeassist/CompletionContext.java
trunk/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/codeassist/CompletionEngine.java
Modified: trunk/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/codeassist/CompletionContext.java
===================================================================
--- trunk/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/codeassist/CompletionContext.java 2007-02-09 15:08:44 UTC (rev 1943)
+++ trunk/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/codeassist/CompletionContext.java 2007-02-10 20:00:17 UTC (rev 1944)
@@ -45,7 +45,8 @@
offset = i - 1;
if (partialPrefix == null) this.partialPrefix = tmpPrefix.toString();
}
- if (Character.isWhitespace(curChar)) {
+ // FIXME This logic is very much like RubyWordDetector in the UI!
+ if (Character.isWhitespace(curChar) || curChar == ',' || curChar == '(' || curChar == '[' || curChar == '{') {
offset = i + 1;
break;
}
Modified: trunk/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/codeassist/CompletionEngine.java
===================================================================
--- trunk/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/codeassist/CompletionEngine.java 2007-02-09 15:08:44 UTC (rev 1943)
+++ trunk/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/codeassist/CompletionEngine.java 2007-02-10 20:00:17 UTC (rev 1944)
@@ -1,6 +1,5 @@
package org.rubypeople.rdt.internal.codeassist;
-import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
@@ -75,11 +74,11 @@
}
if (context.isMethodInvokation()) {
ITypeInferrer inferrer = new DefaultTypeInferrer();
- List<ITypeGuess> guesses = inferrer.infer(context.getSource(), context.getOffset());
+ List<ITypeGuess> guesses = inferrer.infer(context.getCorrectedSource(), context.getOffset());
RubyElementRequestor requestor = new RubyElementRequestor(script);
for (ITypeGuess guess : guesses) {
String name = guess.getType();
- IType[] types = requestor.findType(name);
+ IType[] types = requestor.findType(name); // FIXME When syntax is broken, grabbing type that is defined in same script like this just doesn't work!
for (int i = 0; i < types.length; i++) {
suggestMethods(guess.getConfidence(), types[i]);
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|