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); } /** |