|
From: SVN by r. <sv...@ca...> - 2008-03-18 21:18:54
|
Author: roy
Date: 2008-03-18 22:18:43 +0100 (Tue, 18 Mar 2008)
New Revision: 255
Modified:
src/main/java/nl/improved/sqlclient/SQLShell.java
src/main/java/nl/improved/sqlclient/SQLUtil.java
src/main/java/nl/improved/sqlclient/TabCompletionInfo.java
src/main/java/nl/improved/sqlclient/commands/ShowCommand.java
Log:
small refector step to rename UNKNOWN to OTHER
added tab completion for connect @..
Modified: src/main/java/nl/improved/sqlclient/SQLShell.java
===================================================================
--- src/main/java/nl/improved/sqlclient/SQLShell.java 2008-03-18 20:56:18 UTC (rev 254)
+++ src/main/java/nl/improved/sqlclient/SQLShell.java 2008-03-18 21:18:43 UTC (rev 255)
@@ -22,6 +22,7 @@
import java.util.Arrays;
import java.util.ArrayList;
import java.util.Iterator;
+import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.LinkedHashMap;
@@ -720,7 +721,7 @@
if (info.getMatchType() == TabCompletionInfo.MatchType.COLUMN_NAMES) {
return nullToEmpty(findMatch(getColumnNames(info.getPossibleMatches()), info.getStart()));
}
- if (info.getMatchType() == TabCompletionInfo.MatchType.UNKNOWN) {
+ if (info.getMatchType() == TabCompletionInfo.MatchType.OTHER) {
return nullToEmpty(findMatch(info.getPossibleMatches(), info.getStart()));
}
Toolkit.beep();
@@ -964,6 +965,15 @@
*/
@Override
public TabCompletionInfo getTabCompletionInfo(SQLCommand command, Point commandPoint) {
+ List commandInfo = command.getLines();
+
+ String startOfCommand = SQLUtil.getStartOfCommand(commandInfo, commandPoint);
+ if (startOfCommand.indexOf('@') >= 0) {
+ String end = startOfCommand.substring(startOfCommand.lastIndexOf('@')+1);
+ List<String> identifiers = new ArrayList<String>(DBConnector.getInstance().getPredefinedConnectionIdentifiers());
+ Collections.sort(identifiers);
+ return new TabCompletionInfo(TabCompletionInfo.MatchType.OTHER, identifiers, end);
+ }
return null;
}
@@ -1448,7 +1458,7 @@
dirName = ".";
}
}
- return new TabCompletionInfo(TabCompletionInfo.MatchType.UNKNOWN,Arrays.asList(new File(dirName).list()) , fileName);
+ return new TabCompletionInfo(TabCompletionInfo.MatchType.OTHER,Arrays.asList(new File(dirName).list()) , fileName);
}
@Override
Modified: src/main/java/nl/improved/sqlclient/SQLUtil.java
===================================================================
--- src/main/java/nl/improved/sqlclient/SQLUtil.java 2008-03-18 20:56:18 UTC (rev 254)
+++ src/main/java/nl/improved/sqlclient/SQLUtil.java 2008-03-18 21:18:43 UTC (rev 255)
@@ -275,7 +275,7 @@
String columns = startOfCommand.substring(upperStart.indexOf("SELECT")+"SELECT".length(), upperStart.indexOf("FROM")).replaceAll(" ","");
return new TabCompletionInfo(TabCompletionInfo.MatchType.COLUMN_NAMES, Arrays.asList(columns.split(",")));
}
- return new TabCompletionInfo(TabCompletionInfo.MatchType.UNKNOWN, Arrays.asList(new String[0]));
+ return new TabCompletionInfo(TabCompletionInfo.MatchType.OTHER, Arrays.asList(new String[0]));
}
public static String getStartOfCommand(List<? extends CharSequence> commandInfo, Point commandPoint) {
Modified: src/main/java/nl/improved/sqlclient/TabCompletionInfo.java
===================================================================
--- src/main/java/nl/improved/sqlclient/TabCompletionInfo.java 2008-03-18 20:56:18 UTC (rev 254)
+++ src/main/java/nl/improved/sqlclient/TabCompletionInfo.java 2008-03-18 21:18:43 UTC (rev 255)
@@ -18,7 +18,7 @@
import java.util.List;
public class TabCompletionInfo {
- public enum MatchType {SQL_KEYWORD, TABLE_NAMES, COLUMN_NAMES, FILE_NAMES, UNKNOWN}
+ public enum MatchType {SQL_KEYWORD, TABLE_NAMES, COLUMN_NAMES, FILE_NAMES, OTHER}
private MatchType type;
private List<String> possibleMatches;
Modified: src/main/java/nl/improved/sqlclient/commands/ShowCommand.java
===================================================================
--- src/main/java/nl/improved/sqlclient/commands/ShowCommand.java 2008-03-18 20:56:18 UTC (rev 254)
+++ src/main/java/nl/improved/sqlclient/commands/ShowCommand.java 2008-03-18 21:18:43 UTC (rev 255)
@@ -122,9 +122,9 @@
String startOfCommand = SQLUtil.getStartOfCommand(command.getLines(), commandPoint);
String end = startOfCommand.substring(startOfCommand.lastIndexOf(' ')+1);
if (commandStringUpper.matches("SHOW[\\s]+(|T|TA|TAB|TABL|TABLE)")) {
- return new TabCompletionInfo(TabCompletionInfo.MatchType.UNKNOWN, Arrays.asList(new String[]{"TABLES"}), end);
+ return new TabCompletionInfo(TabCompletionInfo.MatchType.OTHER, Arrays.asList(new String[]{"TABLES"}), end);
}
- return new TabCompletionInfo(TabCompletionInfo.MatchType.UNKNOWN, Arrays.asList(new String[]{"HAVING"}), end);
+ return new TabCompletionInfo(TabCompletionInfo.MatchType.OTHER, Arrays.asList(new String[]{"HAVING"}), end);
}
/**
|