org.jline.keymap.KeyMap.<init>()方法的使用及代码示例

x33g5p2x  于2022-01-24 转载在 其他  
字(12.5k)|赞(0)|评价(0)|浏览(107)

本文整理了Java中org.jline.keymap.KeyMap.<init>()方法的一些代码示例,展示了KeyMap.<init>()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。KeyMap.<init>()方法的具体详情如下:
包路径:org.jline.keymap.KeyMap
类名称:KeyMap
方法名:<init>

KeyMap.<init>介绍

暂无

代码示例

代码示例来源:origin: apache/flink

@Override
protected KeyMap<RowOperation> getKeys() {
  final KeyMap<RowOperation> keys = new KeyMap<>();
  keys.setAmbiguousTimeout(200); // make ESC quicker
  keys.bind(RowOperation.QUIT, "q", "Q", esc());
  keys.bind(RowOperation.UP, "w", "W", key(client.getTerminal(), Capability.key_up));
  keys.bind(RowOperation.DOWN, "s", "S", key(client.getTerminal(), Capability.key_down));
  keys.bind(RowOperation.LEFT, "a", "A", key(client.getTerminal(), Capability.key_left));
  keys.bind(RowOperation.RIGHT, "d", "D", key(client.getTerminal(), Capability.key_right));
  return keys;
}

代码示例来源:origin: apache/flink

@Override
protected KeyMap<InputOperation> getKeys() {
  final KeyMap<InputOperation> keys = new KeyMap<>();
  keys.setUnicode(INSERT);
  keys.setAmbiguousTimeout(200); // make ESC quicker
  for (char i = 32; i < 256; i++) {
    keys.bind(INSERT, Character.toString(i));
  }
  keys.bind(LEFT, key(client.getTerminal(), Capability.key_left));
  keys.bind(RIGHT, key(client.getTerminal(), Capability.key_right));
  keys.bind(BACKSPACE, del());
  if (client.isPlainTerminal()) {
    keys.bind(ENTER, "\r", "$");
    keys.bind(QUIT, key(client.getTerminal(), Capability.key_exit), "!");
  } else {
    keys.bind(ENTER, "\r");
    keys.bind(QUIT, esc());
  }
  return keys;
}

代码示例来源:origin: apache/flink

@Override
protected KeyMap<ResultChangelogOperation> getKeys() {
  final KeyMap<ResultChangelogOperation> keys = new KeyMap<>();
  keys.setAmbiguousTimeout(200); // make ESC quicker
  keys.bind(ResultChangelogOperation.QUIT, "q", "Q", esc(), ctrl('c'));
  keys.bind(ResultChangelogOperation.REFRESH, "r", "R", key(client.getTerminal(), Capability.key_f5));
  keys.bind(ResultChangelogOperation.UP, "w", "W", key(client.getTerminal(), Capability.key_up));
  keys.bind(ResultChangelogOperation.DOWN, "s", "S", key(client.getTerminal(), Capability.key_down));
  keys.bind(ResultChangelogOperation.LEFT, "a", "A", key(client.getTerminal(), Capability.key_left));
  keys.bind(ResultChangelogOperation.RIGHT, "d", "D", key(client.getTerminal(), Capability.key_right));
  keys.bind(ResultChangelogOperation.OPEN, "o", "O", "\r");
  keys.bind(ResultChangelogOperation.INC_REFRESH, "+");
  keys.bind(ResultChangelogOperation.DEC_REFRESH, "-");
  return keys;
}

代码示例来源:origin: apache/flink

@Override
protected KeyMap<ResultTableOperation> getKeys() {
  final KeyMap<ResultTableOperation> keys = new KeyMap<>();
  keys.setAmbiguousTimeout(200); // make ESC quicker
  keys.bind(ResultTableOperation.QUIT, "q", "Q", esc(), ctrl('c'));
  keys.bind(ResultTableOperation.REFRESH, "r", "R", key(client.getTerminal(), Capability.key_f5));
  keys.bind(ResultTableOperation.UP, "w", "W", key(client.getTerminal(), Capability.key_up));
  keys.bind(ResultTableOperation.DOWN, "s", "S", key(client.getTerminal(), Capability.key_down));
  keys.bind(ResultTableOperation.LEFT, "a", "A", key(client.getTerminal(), Capability.key_left));
  keys.bind(ResultTableOperation.RIGHT, "d", "D", key(client.getTerminal(), Capability.key_right));
  keys.bind(ResultTableOperation.OPEN, "o", "O", "\r");
  keys.bind(ResultTableOperation.GOTO, "g", "G");
  keys.bind(ResultTableOperation.NEXT, "n", "N");
  keys.bind(ResultTableOperation.PREV, "p", "P");
  keys.bind(ResultTableOperation.LAST, "l", "L", key(client.getTerminal(), Capability.key_end));
  keys.bind(ResultTableOperation.INC_REFRESH, "+");
  keys.bind(ResultTableOperation.DEC_REFRESH, "-");
  return keys;
}

代码示例来源:origin: org.jline/jline

@SuppressWarnings("unchecked")
private static <T> void bind(KeyMap<T> map, CharSequence keySeq, T function, boolean onlyIfNotBound) {
  if (keySeq != null && keySeq.length() > 0) {
    for (int i = 0; i < keySeq.length(); i++) {
      char c = keySeq.charAt(i);
      if (c >= map.mapping.length) {
        return;
      }
      if (i < keySeq.length() - 1) {
        if (!(map.mapping[c] instanceof KeyMap)) {
          KeyMap<T> m = new KeyMap<>();
          m.anotherKey = (T) map.mapping[c];
          map.mapping[c] = m;
        }
        map = (KeyMap) map.mapping[c];
      } else {
        if (map.mapping[c] instanceof KeyMap) {
          ((KeyMap) map.mapping[c]).anotherKey = function;
        } else {
          Object op = map.mapping[c];
          if (!onlyIfNotBound || op == null) {
            map.mapping[c] = function;
          }
        }
      }
    }
  }
}

代码示例来源:origin: apache/samza

private KeyMap<Action> bindActionKey() {
 KeyMap<Action> keyMap = new KeyMap<>();
 keyMap.bind(Action.QUIT, "Q", "q", ctrl('c'));
 keyMap.bind(Action.SPACE, " ");
 return keyMap;
}

代码示例来源:origin: org.jline/jline-builtins

private Operation getYNC(String message) {
  String oldEditMessage = editMessage;
  String oldEditBuffer = editBuffer.toString();
  LinkedHashMap<String, String> oldShortcuts = shortcuts;
  try {
    editMessage = message;
    editBuffer.setLength(0);
    KeyMap<Operation> yncKeyMap = new KeyMap<>();
    yncKeyMap.bind(Operation.YES, "y", "Y");
    yncKeyMap.bind(Operation.NO, "n", "N");
    yncKeyMap.bind(Operation.CANCEL, ctrl('C'));
    shortcuts = new LinkedHashMap<>();
    shortcuts.put(" Y", "Yes");
    shortcuts.put(" N", "No");
    shortcuts.put("^C", "Cancel");
    display();
    return readOperation(yncKeyMap);
  } finally {
    editMessage = oldEditMessage;
    editBuffer.append(oldEditBuffer);
    shortcuts = oldShortcuts;
  }
}

代码示例来源:origin: org.jline/jline

private Operation getYNC(String message) {
  String oldEditMessage = editMessage;
  String oldEditBuffer = editBuffer.toString();
  LinkedHashMap<String, String> oldShortcuts = shortcuts;
  try {
    editMessage = message;
    editBuffer.setLength(0);
    KeyMap<Operation> yncKeyMap = new KeyMap<>();
    yncKeyMap.bind(Operation.YES, "y", "Y");
    yncKeyMap.bind(Operation.NO, "n", "N");
    yncKeyMap.bind(Operation.CANCEL, ctrl('C'));
    shortcuts = new LinkedHashMap<>();
    shortcuts.put(" Y", "Yes");
    shortcuts.put(" N", "No");
    shortcuts.put("^C", "Cancel");
    display();
    return readOperation(yncKeyMap);
  } finally {
    editMessage = oldEditMessage;
    editBuffer.append(oldEditBuffer);
    shortcuts = oldShortcuts;
  }
}

代码示例来源:origin: org.jline/jline

protected KeyMap<Object> createEmptyKeyMap(String prefix) {
  KeyMap<Object> keyMap = new KeyMap<>();
  keyMap.setUnicode(Binding.SelfInsert);
  keyMap.setNomatch(Binding.SelfInsert);
  for (int i = 0; i < 255; i++) {
    keyMap.bind(Binding.Discard, prefix + (char)(i));
  }
  keyMap.bind(Binding.Mouse, key(terminal, Capability.key_mouse));
  return keyMap;
}

代码示例来源:origin: org.jline/jline

public KeyMap<Binding> menu() {
  KeyMap<Binding> menu = new KeyMap<>();
  bind(menu, MENU_COMPLETE,                     "\t");
  bind(menu, REVERSE_MENU_COMPLETE,             key(Capability.back_tab));
  bind(menu, ACCEPT_LINE,                       "\r", "\n");
  bindArrowKeys(menu);
  return menu;
}

代码示例来源:origin: org.jline/jline

public KeyMap<Binding> safe() {
  KeyMap<Binding> safe = new KeyMap<>();
  bind(safe, SELF_INSERT,                 range("^@-^?"));
  bind(safe, ACCEPT_LINE,                 "\r", "\n");
  bind(safe, SEND_BREAK,                  ctrl('G'));
  return safe;
}

代码示例来源:origin: org.jline/jline

public boolean beginPaste() {
  final Object SELF_INSERT = new Object();
  final Object END_PASTE = new Object();
  KeyMap<Object> keyMap = new KeyMap<>();
  keyMap.setUnicode(SELF_INSERT);
  keyMap.setNomatch(SELF_INSERT);
  keyMap.setAmbiguousTimeout(0);
  keyMap.bind(END_PASTE, BRACKETED_PASTE_END);
  StringBuilder sb = new StringBuilder();
  while (true) {
    Object b = bindingReader.readBinding(keyMap);
    if (b == END_PASTE) {
      break;
    }
    String s = getLastBinding();
    if ("\r".equals(s)) {
      s = "\n";
    }
    sb.append(s);
  }
  regionActive = RegionType.PASTE;
  regionMark = getBuffer().cursor();
  getBuffer().write(sb);
  return true;
}

代码示例来源:origin: org.jline/jline-builtins

protected KeyMap<Object> createEmptyKeyMap(String prefix) {
  KeyMap<Object> keyMap = new KeyMap<>();
  keyMap.setUnicode(Binding.SelfInsert);
  keyMap.setNomatch(Binding.SelfInsert);
  for (int i = 0; i < 255; i++) {
    keyMap.bind(Binding.Discard, prefix + (char)(i));
  }
  keyMap.bind(Binding.Mouse, key(terminal, Capability.key_mouse));
  return keyMap;
}

代码示例来源:origin: org.jline/jline

public KeyMap<Binding> viOpp() {
  KeyMap<Binding> viOpp = new KeyMap<>();
  bind(viOpp, UP_LINE,                    key(Capability.key_up),     "k");
  bind(viOpp, DOWN_LINE,                  key(Capability.key_down),   "j");
  bind(viOpp, VI_CMD_MODE,                esc());
  return viOpp;
}

代码示例来源:origin: org.jline/jline-builtins

public TTop(Terminal terminal) {
  this.terminal = terminal;
  this.display = new Display(terminal, true);
  this.bindingReader = new BindingReader(terminal.reader());
  DecimalFormatSymbols dfs = new DecimalFormatSymbols();
  dfs.setDecimalSeparator('.');
  DecimalFormat perc = new DecimalFormat("0.00%", dfs);
  register(STAT_TID,             Right, "TID",             o -> String.format("%3d", (Long) o));
  register(STAT_NAME,            Left,  "NAME",            padcut(40));
  register(STAT_STATE,           Left,  "STATE",           o -> o.toString().toLowerCase());
  register(STAT_BLOCKED_TIME,    Right, "T-BLOCKED",       o -> millis((Long) o));
  register(STAT_BLOCKED_COUNT,   Right, "#-BLOCKED",       Object::toString);
  register(STAT_WAITED_TIME,     Right, "T-WAITED",        o -> millis((Long) o));
  register(STAT_WAITED_COUNT,    Right, "#-WAITED",        Object::toString);
  register(STAT_LOCK_NAME,       Left,  "LOCK-NAME",       Object::toString);
  register(STAT_LOCK_OWNER_ID,   Right, "LOCK-OWNER-ID",   id -> ((Long) id) >= 0 ? id.toString() : "");
  register(STAT_LOCK_OWNER_NAME, Left,  "LOCK-OWNER-NAME", name -> name != null ? name.toString() : "");
  register(STAT_USER_TIME,       Right, "T-USR",           o -> nanos((Long) o));
  register(STAT_CPU_TIME,        Right, "T-CPU",           o -> nanos((Long) o));
  register(STAT_USER_TIME_PERC,  Right, "%-USR",           perc::format);
  register(STAT_CPU_TIME_PERC,   Right, "%-CPU",           perc::format);
  keys = new KeyMap<>();
  bindKeys(keys);
}

代码示例来源:origin: org.jline/jline

public TTop(Terminal terminal) {
  this.terminal = terminal;
  this.display = new Display(terminal, true);
  this.bindingReader = new BindingReader(terminal.reader());
  DecimalFormatSymbols dfs = new DecimalFormatSymbols();
  dfs.setDecimalSeparator('.');
  DecimalFormat perc = new DecimalFormat("0.00%", dfs);
  register(STAT_TID,             Right, "TID",             o -> String.format("%3d", (Long) o));
  register(STAT_NAME,            Left,  "NAME",            padcut(40));
  register(STAT_STATE,           Left,  "STATE",           o -> o.toString().toLowerCase());
  register(STAT_BLOCKED_TIME,    Right, "T-BLOCKED",       o -> millis((Long) o));
  register(STAT_BLOCKED_COUNT,   Right, "#-BLOCKED",       Object::toString);
  register(STAT_WAITED_TIME,     Right, "T-WAITED",        o -> millis((Long) o));
  register(STAT_WAITED_COUNT,    Right, "#-WAITED",        Object::toString);
  register(STAT_LOCK_NAME,       Left,  "LOCK-NAME",       Object::toString);
  register(STAT_LOCK_OWNER_ID,   Right, "LOCK-OWNER-ID",   id -> ((Long) id) >= 0 ? id.toString() : "");
  register(STAT_LOCK_OWNER_NAME, Left,  "LOCK-OWNER-NAME", name -> name != null ? name.toString() : "");
  register(STAT_USER_TIME,       Right, "T-USR",           o -> nanos((Long) o));
  register(STAT_CPU_TIME,        Right, "T-CPU",           o -> nanos((Long) o));
  register(STAT_USER_TIME_PERC,  Right, "%-USR",           perc::format);
  register(STAT_CPU_TIME_PERC,   Right, "%-CPU",           perc::format);
  keys = new KeyMap<>();
  bindKeys(keys);
}

代码示例来源:origin: org.jline/jline

public KeyMap<Binding> visual() {
  KeyMap<Binding> visual = new KeyMap<>();
  bind(visual, UP_LINE,                   key(Capability.key_up),     "k");
  bind(visual, DOWN_LINE,                 key(Capability.key_down),   "j");
  bind(visual, this::deactivateRegion,    esc());
  bind(visual, EXCHANGE_POINT_AND_MARK,   "o");
  bind(visual, PUT_REPLACE_SELECTION,     "p");
  bind(visual, VI_DELETE,                 "x");
  bind(visual, VI_OPER_SWAP_CASE,         "~");
  return visual;
}

代码示例来源:origin: org.jline/jline

void read() {
  KeyMap<Operation> readKeyMap = new KeyMap<>();
  readKeyMap.setUnicode(Operation.INSERT);
  for (char i = 32; i < 256; i++) {

代码示例来源:origin: org.jline/jline-builtins

void search() throws IOException {
  KeyMap<Operation> searchKeyMap = new KeyMap<>();
  searchKeyMap.setUnicode(Operation.INSERT);
  for (char i = 'A'; i <= 'Z'; i++) {

代码示例来源:origin: org.jline/jline

public KeyMap<Binding> viInsertion() {
  KeyMap<Binding> viins = new KeyMap<>();
  bind(viins, SELF_INSERT,                            range("^@-^_"));
  bind(viins, LIST_CHOICES,                           ctrl('D'));

相关文章