philadelphia-client: Fix command completion
Currently, command completion in Philadelphia Terminal Client is broken. Command completion should only take place on the first token. For example:
```
# Input:
> sen<TAB>

# Output:
> send
```
However, currently it takes place on subsequent tokens as well. This doesn't make sense, because the command is always the first token. For example:
```
# Input:
> send sen<TAB>

# Output:
> send send
```
It looks like this bug got introduced when we upgraded from JLine 2 to JLine 3 (369f7754d1c6a71b30f963232cb1777ce65475da).
diff --git a/applications/client/src/main/java/com/paritytrading/philadelphia/client/TerminalClient.java b/applications/client/src/main/java/com/paritytrading/philadelphia/client/TerminalClient.java
index 784cfb9..93dea2a 100644
--- a/applications/client/src/main/java/com/paritytrading/philadelphia/client/TerminalClient.java
+++ b/applications/client/src/main/java/com/paritytrading/philadelphia/client/TerminalClient.java
@@ -39,6 +39,8 @@ import org.jline.reader.EndOfFileException;
 import org.jline.reader.LineReader;
 import org.jline.reader.LineReaderBuilder;
 import org.jline.reader.UserInterruptException;
+import org.jline.reader.impl.completer.ArgumentCompleter;
+import org.jline.reader.impl.completer.NullCompleter;
 import org.jline.reader.impl.completer.StringsCompleter;
 import org.jvirtanen.config.Configs;
 
@@ -88,7 +90,9 @@ class TerminalClient implements Closeable {
 
     void run(List<String> lines) throws IOException {
         LineReader reader = LineReaderBuilder.builder()
-            .completer(new StringsCompleter(COMMAND_NAMES))
+            .completer(new ArgumentCompleter(
+                        new StringsCompleter(COMMAND_NAMES),
+                        new NullCompleter()))
             .build();
 
         if (lines.isEmpty())
['applications/client/src/main/java/com/paritytrading/philadelphia/client/TerminalClient.java']