[autocomplete] 24/143: Fixed bug in SyntaxScheme.toCommaSeparatedString() parsing. Added utility methods to Token class. Improved documentation of getAlreadyEnteredText() for CompletionProviders.

Benjamin Mesing ben at alioth.debian.org
Sat Oct 19 12:53:11 UTC 2013


This is an automated email from the git hooks/post-receive script.

ben pushed a commit to branch master
in repository autocomplete.

commit 30c718f4a9fda32c98cbb6733bdea5e56c25068a
Author: bobbylight <robert at fifesoft.com>
Date:   Sat Oct 10 20:34:33 2009 +0000

    Fixed bug in SyntaxScheme.toCommaSeparatedString() parsing.
    Added utility methods to Token class.
    Improved documentation of getAlreadyEnteredText() for CompletionProviders.
---
 .../autocomplete/AbstractCompletionProvider.java   |   26 +++++++++++---------
 .../fife/ui/autocomplete/CompletionProvider.java   |    5 +++-
 .../ui/autocomplete/DefaultCompletionProvider.java |    5 ++--
 3 files changed, 21 insertions(+), 15 deletions(-)

diff --git a/src/org/fife/ui/autocomplete/AbstractCompletionProvider.java b/src/org/fife/ui/autocomplete/AbstractCompletionProvider.java
index 24b098e..20fd031 100644
--- a/src/org/fife/ui/autocomplete/AbstractCompletionProvider.java
+++ b/src/org/fife/ui/autocomplete/AbstractCompletionProvider.java
@@ -177,20 +177,24 @@ public abstract class AbstractCompletionProvider
 		List retVal = new ArrayList();
 		String text = getAlreadyEnteredText(comp);
 
-		int index = Collections.binarySearch(completions, text, comparator);
-		if (index<0) {
-			index = -index - 1;
-		}
+		if (text!=null) {
 
-		while (index<completions.size()) {
-			Completion c = (Completion)completions.get(index);
-			if (startsWithIgnoreCase(c.getInputText(), text)) {
-				retVal.add(c);
-				index++;
+			int index = Collections.binarySearch(completions, text, comparator);
+			if (index<0) {
+				index = -index - 1;
 			}
-			else {
-				break;
+
+			while (index<completions.size()) {
+				Completion c = (Completion)completions.get(index);
+				if (startsWithIgnoreCase(c.getInputText(), text)) {
+					retVal.add(c);
+					index++;
+				}
+				else {
+					break;
+				}
 			}
+
 		}
 
 		return retVal;
diff --git a/src/org/fife/ui/autocomplete/CompletionProvider.java b/src/org/fife/ui/autocomplete/CompletionProvider.java
index 0e9d69b..7bea05c 100644
--- a/src/org/fife/ui/autocomplete/CompletionProvider.java
+++ b/src/org/fife/ui/autocomplete/CompletionProvider.java
@@ -58,7 +58,10 @@ public interface CompletionProvider {
 	 * the start of something auto-completable.
 	 *
 	 * @param comp The text component.
-	 * @return The text.
+	 * @return The text.  A return value of <code>null</code> means nothing
+	 *         should be auto-completed; a value of an empty string
+	 *         (<code>""</code>) means auto-completion should still be
+	 *         considered (i.e., all possible choices are valid).
 	 */
 	public String getAlreadyEnteredText(JTextComponent comp);
 
diff --git a/src/org/fife/ui/autocomplete/DefaultCompletionProvider.java b/src/org/fife/ui/autocomplete/DefaultCompletionProvider.java
index d701689..3f6e5e7 100644
--- a/src/org/fife/ui/autocomplete/DefaultCompletionProvider.java
+++ b/src/org/fife/ui/autocomplete/DefaultCompletionProvider.java
@@ -99,8 +99,7 @@ public class DefaultCompletionProvider extends AbstractCompletionProvider {
 	 * This method returns all characters before the caret that are matched
 	 * by  {@link #isValidChar(char)}.
 	 *
-	 * @param comp The text component.
-	 * @return The text.
+	 * {@inheritDoc}
 	 */
 	public String getAlreadyEnteredText(JTextComponent comp) {
 		
@@ -162,7 +161,7 @@ public class DefaultCompletionProvider extends AbstractCompletionProvider {
 			}
 
 			// Get the valid chars at and after the specified offset.
-			int endOffs = s.offset;
+			int endOffs = s.offset + (offset-start);
 			while (endOffs<s.offset+s.count && isValidChar(s.array[endOffs])) {
 				endOffs++;
 			}

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/autocomplete.git



More information about the pkg-java-commits mailing list