From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3594 invoked by alias); 14 Nov 2007 17:00:24 -0000 Received: (qmail 3542 invoked by uid 367); 14 Nov 2007 17:00:21 -0000 Date: Wed, 14 Nov 2007 17:00:00 -0000 Message-ID: <20071114170021.3527.qmail@sourceware.org> From: cagney@sourceware.org To: frysk-cvs@sourceware.org Subject: [SCM] master: Fix file name completion on second arg. X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: 16bda633871baa0b3bcc450af73a5e7c2ed37621 X-Git-Newrev: fb20dde8b9c322b77e642ba0d6f360deb3e9ee13 Mailing-List: contact frysk-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: frysk-cvs-owner@sourceware.org Reply-To: frysk@sourceware.org X-SW-Source: 2007-q4/txt/msg00360.txt.bz2 The branch, master has been updated via fb20dde8b9c322b77e642ba0d6f360deb3e9ee13 (commit) from 16bda633871baa0b3bcc450af73a5e7c2ed37621 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit fb20dde8b9c322b77e642ba0d6f360deb3e9ee13 Author: Andrew Cagney Date: Wed Nov 14 09:14:00 2007 -0500 Fix file name completion on second arg. frysk-core/frysk/hpd/ChangeLog 2007-11-14 Andrew Cagney * TestCompletionFactory.java: New. * Input.java (base(int)): New. (cursor(int,int)): New. * Command.java (complete(CLI,Input,int,List)): Make abstract. * ParameterizedCommand.java (complete(CLI,Input,int,List)): Delete. (complete(CLI,PTSet,String,int,List)): Delete. * CompletionFactory.java (completeExpression(CLI,Input,int,List)): Replace completeExpression(CLI,PTSet,String,int,List). (completeFileName(CLI,Input,int,List)): Replace completeFileName(CLI,String,int,List); handle multiple arguments. * WhichsetsCommand.java: Update. * WhatCommand.java: Update. * ViewsetCommand.java: Update. * UndefsetCommand.java: Update. * TestParameterizedCommand.java: Update. * StepNextiCommand.java: Update. * StepNextCommand.java: Update. * StepInstructionCommand.java: Update. * StepFinishCommand.java: Update. * StepCommand.java: Update. * RunCommand.java: Update. * StackCommands.java: Update. * QuitCommand.java: Update. * RegsCommand.java: Update. * PtypeCommand.java: Update. * PlocationCommand.java: Update. * PeekCommand.java: Update. * LoadCommand.java: Update. * ListCommand.java: Update. * HaltCommand.java: Update. * GoCommand.java: Update. * FocusCommand.java: Update. * EvalCommands.java: Update. * ExamineCommand.java: Update. * DisplayCommand.java: Update. * DisassembleCommand.java: Update. * DetachCommand.java: Update. * CoreCommand.java: Update. * DefsetCommand.java: Update. * DebuginfoCommand.java: Update. * AttachCommand.java: Update. * ActionPointCommands.java: Update. * BreakpointCommand.java: Update. * DbgVariableCommands.java: Update. ----------------------------------------------------------------------- Summary of changes: frysk-core/frysk/hpd/ActionPointCommands.java | 3 +- frysk-core/frysk/hpd/AliasCommands.java | 6 +- frysk-core/frysk/hpd/AttachCommand.java | 2 +- frysk-core/frysk/hpd/BreakpointCommand.java | 7 +-- frysk-core/frysk/hpd/ChangeLog | 47 ++++++++++++++++++ frysk-core/frysk/hpd/Command.java | 4 +- frysk-core/frysk/hpd/CompletionFactory.java | 50 +++++++++++++++++-- frysk-core/frysk/hpd/CoreCommand.java | 5 +- frysk-core/frysk/hpd/DbgVariableCommands.java | 8 ++- frysk-core/frysk/hpd/DebuginfoCommand.java | 3 +- frysk-core/frysk/hpd/DefsetCommand.java | 3 +- frysk-core/frysk/hpd/DetachCommand.java | 3 +- frysk-core/frysk/hpd/DisassembleCommand.java | 7 +-- frysk-core/frysk/hpd/DisplayCommand.java | 7 +-- frysk-core/frysk/hpd/EvalCommands.java | 7 +-- frysk-core/frysk/hpd/ExamineCommand.java | 7 +-- frysk-core/frysk/hpd/FocusCommand.java | 3 +- frysk-core/frysk/hpd/GoCommand.java | 3 +- frysk-core/frysk/hpd/HaltCommand.java | 3 +- frysk-core/frysk/hpd/Input.java | 25 ++++++++++ frysk-core/frysk/hpd/ListCommand.java | 3 +- frysk-core/frysk/hpd/LoadCommand.java | 5 +- frysk-core/frysk/hpd/ParameterizedCommand.java | 25 ---------- frysk-core/frysk/hpd/PeekCommand.java | 7 +-- frysk-core/frysk/hpd/PlocationCommand.java | 7 +-- frysk-core/frysk/hpd/PtypeCommand.java | 7 +-- frysk-core/frysk/hpd/QuitCommand.java | 3 +- frysk-core/frysk/hpd/RegsCommand.java | 3 +- frysk-core/frysk/hpd/RunCommand.java | 6 ++ frysk-core/frysk/hpd/StackCommands.java | 8 +--- frysk-core/frysk/hpd/StepCommand.java | 3 +- frysk-core/frysk/hpd/StepFinishCommand.java | 3 +- frysk-core/frysk/hpd/StepInstructionCommand.java | 3 +- frysk-core/frysk/hpd/StepNextCommand.java | 3 +- frysk-core/frysk/hpd/StepNextiCommand.java | 3 +- ...LoadCommand.java => TestCompletionFactory.java} | 40 +++++++++------ frysk-core/frysk/hpd/TestCoreCommand.java | 1 + frysk-core/frysk/hpd/TestParameterizedCommand.java | 4 +- frysk-core/frysk/hpd/UndefsetCommand.java | 3 +- frysk-core/frysk/hpd/ViewsetCommand.java | 3 +- frysk-core/frysk/hpd/WhatCommand.java | 7 +-- frysk-core/frysk/hpd/WhichsetsCommand.java | 3 +- 42 files changed, 209 insertions(+), 144 deletions(-) copy frysk-core/frysk/hpd/{TestLoadCommand.java => TestCompletionFactory.java} (75%) First 500 lines of diff: diff --git a/frysk-core/frysk/hpd/ActionPointCommands.java b/frysk-core/frysk/hpd/ActionPointCommands.java index dc45628..217970a 100644 --- a/frysk-core/frysk/hpd/ActionPointCommands.java +++ b/frysk-core/frysk/hpd/ActionPointCommands.java @@ -121,8 +121,7 @@ abstract class ActionPointCommands extends ParameterizedCommand { }); } - int complete(CLI cli, PTSet ptset, String incomplete, int base, - List alternatives) { + int complete(CLI cli, Input incomplete, int base, List alternatives) { return -1; } diff --git a/frysk-core/frysk/hpd/AliasCommands.java b/frysk-core/frysk/hpd/AliasCommands.java index aba2b26..84fdb56 100644 --- a/frysk-core/frysk/hpd/AliasCommands.java +++ b/frysk-core/frysk/hpd/AliasCommands.java @@ -45,15 +45,15 @@ import java.util.Iterator; abstract class AliasCommands extends ParameterizedCommand { - int complete(CLI cli, PTSet ptset, String incomplete, int base, - List completions) { + int complete(CLI cli, Input input, int cursor, List completions) { + String incomplete = input.stringValue(); for (Iterator i = cli.aliases.keySet().iterator(); i.hasNext(); ) { String key = (String)i.next(); if (key.startsWith(incomplete)) completions.add(key); } CompletionFactory.padSingleCandidate(completions); - return 0; + return input.cursor(0, cursor); } AliasCommands(String name, String description, String syntax, diff --git a/frysk-core/frysk/hpd/AttachCommand.java b/frysk-core/frysk/hpd/AttachCommand.java index b87ec91..489993e 100644 --- a/frysk-core/frysk/hpd/AttachCommand.java +++ b/frysk-core/frysk/hpd/AttachCommand.java @@ -104,7 +104,7 @@ class AttachCommand extends ParameterizedCommand { } } - int complete(CLI cli, PTSet ptset, String input, int base, + int complete(CLI cli, Input input, int base, List completions) { return -1; } diff --git a/frysk-core/frysk/hpd/BreakpointCommand.java b/frysk-core/frysk/hpd/BreakpointCommand.java index c00e240..13b379d 100644 --- a/frysk-core/frysk/hpd/BreakpointCommand.java +++ b/frysk-core/frysk/hpd/BreakpointCommand.java @@ -186,9 +186,8 @@ class BreakpointCommand extends ParameterizedCommand { outWriter.println(); } - int complete(CLI cli, PTSet ptset, String incomplete, int base, - List completions) { - return CompletionFactory.completeExpression(cli, ptset, incomplete, - base, completions); + int complete(CLI cli, Input input, int cursor, List completions) { + return CompletionFactory.completeExpression(cli, input, cursor, + completions); } } diff --git a/frysk-core/frysk/hpd/ChangeLog b/frysk-core/frysk/hpd/ChangeLog index 4a1a67e..b833658 100644 --- a/frysk-core/frysk/hpd/ChangeLog +++ b/frysk-core/frysk/hpd/ChangeLog @@ -1,3 +1,50 @@ +2007-11-14 Andrew Cagney + + * TestCompletionFactory.java: New. + * Input.java (base(int)): New. + (cursor(int,int)): New. + * Command.java (complete(CLI,Input,int,List)): Make abstract. + * ParameterizedCommand.java (complete(CLI,Input,int,List)): Delete. + (complete(CLI,PTSet,String,int,List)): Delete. + * CompletionFactory.java (completeExpression(CLI,Input,int,List)): + Replace completeExpression(CLI,PTSet,String,int,List). + (completeFileName(CLI,Input,int,List)): Replace + completeFileName(CLI,String,int,List); handle multiple arguments. + * WhichsetsCommand.java: Update. + * WhatCommand.java: Update. + * ViewsetCommand.java: Update. + * UndefsetCommand.java: Update. + * TestParameterizedCommand.java: Update. + * StepNextiCommand.java: Update. + * StepNextCommand.java: Update. + * StepInstructionCommand.java: Update. + * StepFinishCommand.java: Update. + * StepCommand.java: Update. + * RunCommand.java: Update. + * StackCommands.java: Update. + * QuitCommand.java: Update. + * RegsCommand.java: Update. + * PtypeCommand.java: Update. + * PlocationCommand.java: Update. + * PeekCommand.java: Update. + * LoadCommand.java: Update. + * ListCommand.java: Update. + * HaltCommand.java: Update. + * GoCommand.java: Update. + * FocusCommand.java: Update. + * EvalCommands.java: Update. + * ExamineCommand.java: Update. + * DisplayCommand.java: Update. + * DisassembleCommand.java: Update. + * DetachCommand.java: Update. + * CoreCommand.java: Update. + * DefsetCommand.java: Update. + * DebuginfoCommand.java: Update. + * AttachCommand.java: Update. + * ActionPointCommands.java: Update. + * BreakpointCommand.java: Update. + * DbgVariableCommands.java: Update. + 2007-11-14 Mark Wielaard * CLI.java (addMessage): New variant that takes a possible diff --git a/frysk-core/frysk/hpd/Command.java b/frysk-core/frysk/hpd/Command.java index 943a1a7..aa55f78 100644 --- a/frysk-core/frysk/hpd/Command.java +++ b/frysk-core/frysk/hpd/Command.java @@ -71,9 +71,7 @@ public abstract class Command { * "foobar" can be inserted. Rreturn -1 when completion isn't * supported. */ - int complete(CLI cli, Input buffer, int cursor, List candidates) { - return -1; - } + abstract int complete(CLI cli, Input buffer, int cursor, List candidates); /** * Print a full "help" message (syntax and then details) for this diff --git a/frysk-core/frysk/hpd/CompletionFactory.java b/frysk-core/frysk/hpd/CompletionFactory.java index ccf172e..9f07922 100644 --- a/frysk-core/frysk/hpd/CompletionFactory.java +++ b/frysk-core/frysk/hpd/CompletionFactory.java @@ -90,15 +90,17 @@ class CompletionFactory { } } - static int completeExpression(CLI cli, PTSet ptset, - String incomplete, int base, + static int completeExpression(CLI cli, Input input, int cursor, List candidates) { + PTSet ptset = cli.getCommandPTSet(input); Iterator i = ptset.getTasks(); if (!i.hasNext()) { // Should still be able to complete $variables. return -1; } else { int newCursor = -1; + String incomplete = input.stringValue(); + int base = input.base(cursor); do { Task task = (Task)i.next(); DebugInfoFrame frame = cli.getTaskFrame(task); @@ -114,13 +116,49 @@ class CompletionFactory { // System.out.println("base=" + base); // System.out.println("candidates=" + candidates); // System.out.println("newCursor=" + newCursor); - return newCursor; + return input.cursor(newCursor, cursor); } } - static int completeFileName(CLI cli, String incomplete, int base, + static int completeFileName(CLI cli, Input input, int cursor, List candidates) { - return new FileNameCompletor().complete(incomplete, base, - candidates); + // System.out.println("input.stringValue()=" + input.stringValue()); + // System.out.println("cursor=" + cursor); + // System.out.println("input.size()=" + input.size()); + if (input.size() == 0) { + int newBase + = new FileNameCompletor().complete("", 0, candidates); + if (newBase < 0) + return -1; + else + return newBase + cursor; + } else { + // Need to find the parameter that contains the cursor and + // have that completed. + Input.Token token = null; + for (int i = 0; i < input.size(); i++) { + Input.Token t = input.token(i); + // System.out.println("token " + i + "=" + t); + if (cursor >= t.start && cursor <= t.end) { + token = t; + break; + } + } + if (token == null) + return -1; + Input.Token token0 = input.token(0); + String incomplete + = input.stringValue().substring(token.start - token0.start, + token.end - token0.start); + // System.out.println("incomplete=" + incomplete); + int newBase + = new FileNameCompletor().complete(incomplete, + cursor - token.start, + candidates); + if (newBase < 0) + return -1; + else + return newBase + token.start; + } } } diff --git a/frysk-core/frysk/hpd/CoreCommand.java b/frysk-core/frysk/hpd/CoreCommand.java index 0ffefaf..e043aa1 100644 --- a/frysk-core/frysk/hpd/CoreCommand.java +++ b/frysk-core/frysk/hpd/CoreCommand.java @@ -169,9 +169,8 @@ public class CoreCommand extends ParameterizedCommand { exeFile = new File(cli.parameter(1)); } - int complete(CLI cli, PTSet set, String incomplete, int base, - List completions) { - return CompletionFactory.completeFileName(cli, incomplete, base, + int complete(CLI cli, Input input, int cursor, List completions) { + return CompletionFactory.completeFileName(cli, input, cursor, completions); } } diff --git a/frysk-core/frysk/hpd/DbgVariableCommands.java b/frysk-core/frysk/hpd/DbgVariableCommands.java index e8c90d2..bfee9a2 100644 --- a/frysk-core/frysk/hpd/DbgVariableCommands.java +++ b/frysk-core/frysk/hpd/DbgVariableCommands.java @@ -48,9 +48,11 @@ abstract class DbgVariableCommands extends ParameterizedCommand { super(name, description, syntax, full); } - int complete(CLI cli, PTSet ptset, String incomplete, int base, - List completions) { - return cli.dbgvars.complete(incomplete, base, completions); + int complete(CLI cli, Input input, int cursor, List completions) { + int base = input.base(cursor); + String incomplete = input.stringValue(); + int newBase = cli.dbgvars.complete(incomplete, base, completions); + return input.cursor(newBase, cursor); } static class Set extends DbgVariableCommands { diff --git a/frysk-core/frysk/hpd/DebuginfoCommand.java b/frysk-core/frysk/hpd/DebuginfoCommand.java index bab4d3d..9d6b27d 100644 --- a/frysk-core/frysk/hpd/DebuginfoCommand.java +++ b/frysk-core/frysk/hpd/DebuginfoCommand.java @@ -53,8 +53,7 @@ class DebuginfoCommand extends ParameterizedCommand { + "for a process and its shared modules."); } - int complete(CLI cli, PTSet ptset, String incomplete, int base, - List completions) { + int complete(CLI cli, Input input, int cursor, List completions) { return -1; } diff --git a/frysk-core/frysk/hpd/DefsetCommand.java b/frysk-core/frysk/hpd/DefsetCommand.java index e3759d3..24764ac 100644 --- a/frysk-core/frysk/hpd/DefsetCommand.java +++ b/frysk-core/frysk/hpd/DefsetCommand.java @@ -78,8 +78,7 @@ class DefsetCommand extends ParameterizedCommand { } } - int complete(CLI cli, PTSet ptset, String incomplete, int base, - List completions) { + int complete(CLI cli, Input input, int cursor, List completions) { return -1; } } diff --git a/frysk-core/frysk/hpd/DetachCommand.java b/frysk-core/frysk/hpd/DetachCommand.java index acf26f0..3fa0092 100644 --- a/frysk-core/frysk/hpd/DetachCommand.java +++ b/frysk-core/frysk/hpd/DetachCommand.java @@ -85,8 +85,7 @@ class DetachCommand extends ParameterizedCommand { } } - int complete(CLI cli, PTSet ptset, String incomplete, int base, - List completions) { + int complete(CLI cli, Input input, int cursor, List completions) { return -1; } } diff --git a/frysk-core/frysk/hpd/DisassembleCommand.java b/frysk-core/frysk/hpd/DisassembleCommand.java index 4c303e4..0740d09 100644 --- a/frysk-core/frysk/hpd/DisassembleCommand.java +++ b/frysk-core/frysk/hpd/DisassembleCommand.java @@ -294,10 +294,9 @@ public class DisassembleCommand extends ParameterizedCommand { } - int complete(CLI cli, PTSet ptset, String incomplete, int base, - List completions) { - return CompletionFactory.completeExpression(cli, ptset, incomplete, - base, completions); + int complete(CLI cli, Input input, int cursor, List completions) { + return CompletionFactory.completeExpression(cli, input, cursor, + completions); } } diff --git a/frysk-core/frysk/hpd/DisplayCommand.java b/frysk-core/frysk/hpd/DisplayCommand.java index 391385a..ae84429 100644 --- a/frysk-core/frysk/hpd/DisplayCommand.java +++ b/frysk-core/frysk/hpd/DisplayCommand.java @@ -144,9 +144,8 @@ public class DisplayCommand extends ParameterizedCommand { } } - int complete(CLI cli, PTSet ptset, String incomplete, int base, - List completions) { - return CompletionFactory.completeExpression(cli, ptset, incomplete, - base, completions); + int complete(CLI cli, Input input, int cursor, List completions) { + return CompletionFactory.completeExpression(cli, input, cursor, + completions); } } diff --git a/frysk-core/frysk/hpd/EvalCommands.java b/frysk-core/frysk/hpd/EvalCommands.java index d9679db..ff1d46c 100644 --- a/frysk-core/frysk/hpd/EvalCommands.java +++ b/frysk-core/frysk/hpd/EvalCommands.java @@ -73,10 +73,9 @@ abstract class EvalCommands extends ParameterizedCommand { }); } - int complete(CLI cli, PTSet ptset, String incomplete, int base, - List candidates) { - return CompletionFactory.completeExpression(cli, ptset, incomplete, - base, candidates); + int complete(CLI cli, Input input, int cursor, List candidates) { + return CompletionFactory.completeExpression(cli, input, cursor, + candidates); } static private void eval(CLI cli, PTSet ptset, String expression, diff --git a/frysk-core/frysk/hpd/ExamineCommand.java b/frysk-core/frysk/hpd/ExamineCommand.java index 348f6ab..8372bb0 100644 --- a/frysk-core/frysk/hpd/ExamineCommand.java +++ b/frysk-core/frysk/hpd/ExamineCommand.java @@ -78,9 +78,8 @@ public class ExamineCommand extends ParameterizedCommand { } } - int complete(CLI cli, PTSet ptset, String incomplete, int base, - List completions) { - return CompletionFactory.completeExpression(cli, ptset, incomplete, - base, completions); + int complete(CLI cli, Input input, int cursor, List completions) { + return CompletionFactory.completeExpression(cli, input, cursor, + completions); } } diff --git a/frysk-core/frysk/hpd/FocusCommand.java b/frysk-core/frysk/hpd/FocusCommand.java index 8d2bbe9..e265c23 100644 --- a/frysk-core/frysk/hpd/FocusCommand.java +++ b/frysk-core/frysk/hpd/FocusCommand.java @@ -77,8 +77,7 @@ class FocusCommand extends ParameterizedCommand { } } - int complete(CLI cli, PTSet ptset, String incomplete, int base, - List completions) { + int complete(CLI cli, Input input, int cursor, List completions) { return -1; } } diff --git a/frysk-core/frysk/hpd/GoCommand.java b/frysk-core/frysk/hpd/GoCommand.java index 4bbcdbe..effc63d 100644 --- a/frysk-core/frysk/hpd/GoCommand.java +++ b/frysk-core/frysk/hpd/GoCommand.java @@ -70,8 +70,7 @@ class GoCommand extends ParameterizedCommand { cli.addMessage("Not attached to any process", Message.TYPE_ERROR); } - int complete(CLI cli, PTSet ptset, String incomplete, int base, - List completions) { + int complete(CLI cli, Input input, int cursor, List completions) { return -1; } } diff --git a/frysk-core/frysk/hpd/HaltCommand.java b/frysk-core/frysk/hpd/HaltCommand.java index 72cc051..7ac37e6 100644 --- a/frysk-core/frysk/hpd/HaltCommand.java +++ b/frysk-core/frysk/hpd/HaltCommand.java @@ -71,8 +71,7 @@ class HaltCommand extends ParameterizedCommand { cli.addMessage("Not attached to any process", Message.TYPE_ERROR); } - int complete(CLI cli, PTSet ptset, String incomplete, int base, - List completions) { + int complete(CLI cli, Input input, int cursor, List completions) { return -1; } } diff --git a/frysk-core/frysk/hpd/Input.java b/frysk-core/frysk/hpd/Input.java index e8f450f..3e98244 100644 --- a/frysk-core/frysk/hpd/Input.java +++ b/frysk-core/frysk/hpd/Input.java @@ -257,4 +257,29 @@ class Input { } return tokens; } + + /** + * Given the input "cursor", return the offset or base into + * stringValue() - the remaining parameters. + */ + int base(int cursor) { + if (size() == 0) + return 0; + else + return cursor - token(0).start; + } + + /** + * The reverse of base; given a base, return a corresponding + * cursor. + */ + int cursor(int base, int cursor) { + if (base < 0) { + return -1; + } else if (size() == 0) { + return cursor + base; + } else { + return base + token(0).start; + } + } } diff --git a/frysk-core/frysk/hpd/ListCommand.java b/frysk-core/frysk/hpd/ListCommand.java index 81dbd74..e059b65 100644 --- a/frysk-core/frysk/hpd/ListCommand.java +++ b/frysk-core/frysk/hpd/ListCommand.java @@ -204,8 +204,7 @@ class ListCommand extends ParameterizedCommand { } - int complete(CLI cli, PTSet ptset, String incomplete, int base, - List candidates) { + int complete(CLI cli, Input input, int cursor, List candidates) { return -1; } } diff --git a/frysk-core/frysk/hpd/LoadCommand.java b/frysk-core/frysk/hpd/LoadCommand.java index 7117833..c24d815 100644 --- a/frysk-core/frysk/hpd/LoadCommand.java +++ b/frysk-core/frysk/hpd/LoadCommand.java @@ -100,9 +100,8 @@ public class LoadCommand extends ParameterizedCommand { } - int complete(CLI cli, PTSet set, String incomplete, int base, - List completions) { - return CompletionFactory.completeFileName(cli, incomplete, base, + int complete(CLI cli, Input input, int cursor, List completions) { + return CompletionFactory.completeFileName(cli, input, cursor, completions); } } diff --git a/frysk-core/frysk/hpd/ParameterizedCommand.java b/frysk-core/frysk/hpd/ParameterizedCommand.java index 12fe094..91329ea 100644 --- a/frysk-core/frysk/hpd/ParameterizedCommand.java +++ b/frysk-core/frysk/hpd/ParameterizedCommand.java @@ -42,7 +42,6 @@ package frysk.hpd; import java.util.TreeMap; import java.util.Iterator; import java.util.SortedMap; -import java.util.List; abstract class ParameterizedCommand extends Command { private final SortedMap longOptions = new TreeMap(); @@ -166,28 +165,4 @@ abstract class ParameterizedCommand extends Command { * Interpret command, using options. */ abstract void interpret(CLI cli, Input input, Object options); - - /** - * Complete the input. - */ - final int complete(CLI cli, Input input, int cursor, List candidates) { - int start; - if (input.size() == 0) - start = cursor; - else - start = input.token(0).start; - int pos = complete(cli, cli.getCommandPTSet(input), - input.stringValue(), cursor - start, candidates); - if (pos >= 0) { - return pos + start; - } else { - return -1; hooks/post-receive -- frysk system monitor/debugger