Skip to content

Commit

Permalink
Small improvement in builtins Example
Browse files Browse the repository at this point in the history
  • Loading branch information
mattirn committed Dec 7, 2019
1 parent e85af0e commit 43c8928
Showing 1 changed file with 25 additions and 26 deletions.
51 changes: 25 additions & 26 deletions builtins/src/test/java/org/jline/example/Example.java
Expand Up @@ -8,6 +8,10 @@
*/
package org.jline.example;

import static java.time.temporal.ChronoField.HOUR_OF_DAY;
import static java.time.temporal.ChronoField.MINUTE_OF_HOUR;
import static org.jline.builtins.Completers.TreeCompleter.node;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.nio.file.Paths;
Expand All @@ -23,17 +27,18 @@

import org.jline.builtins.Builtins;
import org.jline.builtins.Builtins.Command;
import org.jline.builtins.CommandRegistry;
import org.jline.builtins.Completers;
import org.jline.builtins.Completers.TreeCompleter;
import org.jline.builtins.Completers.SystemCompleter;
import org.jline.builtins.Completers.TreeCompleter;
import org.jline.builtins.Options.HelpException;
import org.jline.builtins.Widgets.ArgDesc;
import org.jline.builtins.Widgets.AutopairWidgets;
import org.jline.builtins.Widgets.AutosuggestionWidgets;
import org.jline.builtins.Widgets.TailTipWidgets;
import org.jline.builtins.Widgets.TailTipWidgets.TipType;
import org.jline.builtins.Widgets.ArgDesc;
import org.jline.builtins.Widgets.CmdDesc;
import org.jline.builtins.Widgets.CmdLine;
import org.jline.builtins.Widgets.TailTipWidgets;
import org.jline.builtins.Widgets.TailTipWidgets.TipType;
import org.jline.keymap.KeyMap;
import org.jline.reader.*;
import org.jline.reader.LineReader.Option;
Expand All @@ -54,11 +59,6 @@
import org.jline.utils.InfoCmp.Capability;
import org.jline.utils.Status;

import static java.time.temporal.ChronoField.HOUR_OF_DAY;
import static java.time.temporal.ChronoField.MINUTE_OF_HOUR;
import static org.jline.builtins.Completers.TreeCompleter.node;


public class Example
{
public static void usage() {
Expand Down Expand Up @@ -94,22 +94,21 @@ public static void usage() {
}
}

public static void help() {
String[] help = {
public static void help(CommandRegistry builtins) {
TreeSet<String> commands = new TreeSet<>(builtins.commandNames());
List<String> help = new ArrayList<String>(Arrays.asList(
"List of available commands:"
, " Builtin:"
, " complete UNAVAILABLE"
, " history list history of commands"
, " keymap manipulate keymaps"
, " less file pager"
, " nano nano editor"
, " setopt set options"
, " setvar set lineReader variable"
, " tmux UNAVAILABLE"
, " ttop display and update sorted information about threads"
, " unsetopt unset options"
, " widget ~UNAVAILABLE, has been created without widgetCreator"
, " Example:"
, " Builtin:"));
for (String c: commands) {
AttributedStringBuilder asb = new AttributedStringBuilder().tabs(Arrays.asList(4,20));
asb.append("\t");
asb.append(c);
asb.append("\t");
asb.append(builtins.commandInfo(c).get(0));
help.add(asb.toString());
}
help.addAll(Arrays.asList(
" Example:"
, " autopair toggle brackets/quotes autopair key bindings"
, " autosuggestion history, completer, tailtip [tailtip|completer|combined] or none"
, " cls clear screen"
Expand All @@ -119,7 +118,7 @@ public static void help() {
, " testkey display key events"
, " tput set terminal capability"
, " Additional help:"
, " <command> --help"};
, " <command> --help"));
for (String u: help) {
System.out.println(u);
}
Expand Down Expand Up @@ -541,7 +540,7 @@ public void complete(LineReader reader, ParsedLine line, List<Candidate> candida
String[] argv = pl.words().subList(1, pl.words().size()).toArray(new String[0]);
String cmd = Parser.getCommand(pl.word());
if ("help".equals(cmd) || "?".equals(cmd)) {
help();
help(builtins);
}
else if (builtins.hasCommand(cmd)) {
builtins.execute(cmd, argv, System.in, System.out, System.err);
Expand Down

0 comments on commit 43c8928

Please sign in to comment.