org.jline.terminal.Attributes类的使用及代码示例

x33g5p2x  于2022-01-17 转载在 其他  
字(9.9k)|赞(0)|评价(0)|浏览(91)

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

Attributes介绍

暂无

代码示例

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

private Tuple2<Attributes, Map<Signal, SignalHandler>> prepareTerminal() {
  final Terminal terminal = client.getTerminal();
  final Attributes prevAttributes = terminal.getAttributes();
  // adopted from org.jline.builtins.Nano
  // see also https://en.wikibooks.org/wiki/Serial_Programming/termios#Basic_Configuration_of_a_Serial_Interface
  // no line processing
  // canonical mode off, echo off, echo newline off, extended input processing off
  Attributes newAttr = new Attributes(prevAttributes);
  newAttr.setLocalFlags(EnumSet.of(LocalFlag.ICANON, LocalFlag.ECHO, LocalFlag.IEXTEN), false);
  // turn off input processing
  newAttr.setInputFlags(EnumSet.of(Attributes.InputFlag.IXON, Attributes.InputFlag.ICRNL, Attributes.InputFlag.INLCR), false);
  // one input byte is enough to return from read, inter-character timer off
  newAttr.setControlChar(Attributes.ControlChar.VMIN, 1);
  newAttr.setControlChar(Attributes.ControlChar.VTIME, 0);
  newAttr.setControlChar(Attributes.ControlChar.VINTR, 0);
  terminal.setAttributes(newAttr);
  final Map<Signal, SignalHandler> prevSignals = new HashMap<>();
  prevSignals.put(Signal.WINCH, terminal.handle(Signal.WINCH, this::handleSignal));
  prevSignals.put(Signal.INT, terminal.handle(Signal.INT, this::handleSignal));
  prevSignals.put(Signal.QUIT, terminal.handle(Signal.QUIT, this::handleSignal));
  return Tuple2.of(prevAttributes, prevSignals);
}

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

c_iflag = setFlag(t.getInputFlag(InputFlag.IGNBRK),           IGNBRK,     c_iflag);
c_iflag = setFlag(t.getInputFlag(InputFlag.BRKINT),           BRKINT,     c_iflag);
c_iflag = setFlag(t.getInputFlag(InputFlag.IGNPAR),           IGNPAR,     c_iflag);
c_iflag = setFlag(t.getInputFlag(InputFlag.PARMRK),           PARMRK,     c_iflag);
c_iflag = setFlag(t.getInputFlag(InputFlag.INPCK),            INPCK,      c_iflag);
c_iflag = setFlag(t.getInputFlag(InputFlag.ISTRIP),           ISTRIP,     c_iflag);
c_iflag = setFlag(t.getInputFlag(InputFlag.INLCR),            INLCR,      c_iflag);
c_iflag = setFlag(t.getInputFlag(InputFlag.IGNCR),            IGNCR,      c_iflag);
c_iflag = setFlag(t.getInputFlag(InputFlag.ICRNL),            ICRNL,      c_iflag);
c_iflag = setFlag(t.getInputFlag(InputFlag.IXON),             IXON,       c_iflag);
c_iflag = setFlag(t.getInputFlag(InputFlag.IXOFF),            IXOFF,      c_iflag);
c_iflag = setFlag(t.getInputFlag(InputFlag.IXANY),            IXANY,      c_iflag);
c_iflag = setFlag(t.getInputFlag(InputFlag.IMAXBEL),          IMAXBEL,    c_iflag);
c_oflag = setFlag(t.getOutputFlag(OutputFlag.OPOST),          OPOST,      c_oflag);
c_oflag = setFlag(t.getOutputFlag(OutputFlag.ONLCR),          ONLCR,      c_oflag);
c_oflag = setFlag(t.getOutputFlag(OutputFlag.OCRNL),          OCRNL,      c_oflag);
c_oflag = setFlag(t.getOutputFlag(OutputFlag.ONLRET),         ONLRET,     c_oflag);
c_oflag = setFlag(t.getOutputFlag(OutputFlag.TABDLY),         TABDLY,     c_oflag);
c_cflag = setFlag(t.getControlFlag(ControlFlag.CS5),          CS5,        c_cflag);
c_cflag = setFlag(t.getControlFlag(ControlFlag.CS6),          CS6,        c_cflag);
c_cflag = setFlag(t.getControlFlag(ControlFlag.CS7),          CS7,        c_cflag);
c_cflag = setFlag(t.getControlFlag(ControlFlag.CS8),          CS8,        c_cflag);
c_cflag = setFlag(t.getControlFlag(ControlFlag.CSTOPB),       CSTOPB,     c_cflag);
c_cflag = setFlag(t.getControlFlag(ControlFlag.CREAD),        CREAD,      c_cflag);
c_cflag = setFlag(t.getControlFlag(ControlFlag.PARENB),       PARENB,     c_cflag);
c_cflag = setFlag(t.getControlFlag(ControlFlag.PARODD),       PARODD,     c_cflag);
c_cflag = setFlag(t.getControlFlag(ControlFlag.HUPCL),        HUPCL,      c_cflag);

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

public Attributes toAttributes() {
  Attributes attr = new Attributes();
  EnumSet<InputFlag> iflag = attr.getInputFlags();
  addFlag(c_iflag, iflag, InputFlag.IGNBRK,   IGNBRK);
  addFlag(c_iflag, iflag, InputFlag.IGNBRK, IGNBRK);
  addFlag(c_iflag, iflag, InputFlag.IMAXBEL, IMAXBEL);
  EnumSet<OutputFlag> oflag = attr.getOutputFlags();
  addFlag(c_oflag, oflag, OutputFlag.OPOST, OPOST);
  addFlag(c_oflag, oflag, OutputFlag.ONLCR, ONLCR);
  addFlag(c_oflag, oflag, OutputFlag.TABDLY, TABDLY);
  EnumSet<ControlFlag> cflag = attr.getControlFlags();
  addFlag(c_cflag, cflag, ControlFlag.CS5, CS5);
  addFlag(c_cflag, cflag, ControlFlag.CS6, CS6);
  addFlag(c_cflag, cflag, ControlFlag.CLOCAL, CLOCAL);
  EnumSet<LocalFlag> lflag = attr.getLocalFlags();
  addFlag(c_lflag, lflag, LocalFlag.ECHOKE, ECHOKE);
  addFlag(c_lflag, lflag, LocalFlag.ECHOE, ECHOE);
  EnumMap<ControlChar, Integer> cc = attr.getControlChars();
  cc.put(ControlChar.VEOF,         (int) c_cc[VEOF]);
  cc.put(ControlChar.VEOL,         (int) c_cc[VEOL]);

代码示例来源:origin: com.github.fonimus/spring-boot-ssh-shell-starter

switch (e.getKey()) {
case VINTR:
  attr.setControlChar(Attributes.ControlChar.VINTR, e.getValue());
  break;
case VQUIT:
  attr.setControlChar(Attributes.ControlChar.VQUIT, e.getValue());
  break;
case VERASE:
  attr.setControlChar(Attributes.ControlChar.VERASE, e.getValue());
  break;
case VKILL:
  attr.setControlChar(Attributes.ControlChar.VKILL, e.getValue());
  break;
case VEOF:
  attr.setControlChar(Attributes.ControlChar.VEOF, e.getValue());
  break;
case VEOL:
  attr.setControlChar(Attributes.ControlChar.VEOL, e.getValue());
  break;
case VEOL2:
  attr.setControlChar(Attributes.ControlChar.VEOL2, e.getValue());
  break;
case VSTART:
  attr.setControlChar(Attributes.ControlChar.VSTART, e.getValue());
  break;
case VSTOP:
  attr.setControlChar(Attributes.ControlChar.VSTOP, e.getValue());
  break;
case VSUSP:

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

public void copy(Attributes attributes) {
  setControlFlags(attributes.getControlFlags());
  setInputFlags(attributes.getInputFlags());
  setLocalFlags(attributes.getLocalFlags());
  setOutputFlags(attributes.getOutputFlags());
  setControlChars(attributes.getControlChars());
}

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

static Attributes doGetAttr(String cfg) throws IOException {
  Attributes attributes = new Attributes();
  for (InputFlag flag : InputFlag.values()) {
    Boolean value = doGetFlag(cfg, flag);
    if (value != null) {
      attributes.setInputFlag(flag, value);
    Boolean value = doGetFlag(cfg, flag);
    if (value != null) {
      attributes.setOutputFlag(flag, value);
    Boolean value = doGetFlag(cfg, flag);
    if (value != null) {
      attributes.setControlFlag(flag, value);
    Boolean value = doGetFlag(cfg, flag);
    if (value != null) {
      attributes.setLocalFlag(flag, value);
      attributes.setControlChar(cchar, parseControlChar(matcher.group(1).toUpperCase()));

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

public void processInputChar(char c) throws IOException {
  if (attributes.getLocalFlag(Attributes.LocalFlag.ISIG)) {
    if (c == attributes.getControlChar(Attributes.ControlChar.VINTR)) {
      raise(Signal.INT);
      return;
    } else if (c == attributes.getControlChar(Attributes.ControlChar.VQUIT)) {
      raise(Signal.QUIT);
      return;
    } else if (c == attributes.getControlChar(Attributes.ControlChar.VSUSP)) {
      raise(Signal.TSTP);
      return;
    } else if (c == attributes.getControlChar(Attributes.ControlChar.VSTATUS)) {
      raise(Signal.INFO);
    if (attributes.getInputFlag(Attributes.InputFlag.IGNCR)) {
      return;
    if (attributes.getInputFlag(Attributes.InputFlag.ICRNL)) {
      c = '\n';
  } else if (c == '\n' && attributes.getInputFlag(Attributes.InputFlag.INLCR)) {
    c = '\r';

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

private String display(ControlChar c) {
  String value;
  int ch = getControlChar(c);
  if (c == ControlChar.VMIN || c == ControlChar.VTIME) {
    value = Integer.toString(ch);
  } else if (ch < 0) {
    value = "<undef>";
  } else if (ch < 32) {
    value = "^" + (char) (ch + 'A' - 1);
  } else if (ch == 127) {
    value = "^?";
  } else if (ch >= 128) {
    value = String.format("\\u%04x", ch);
  } else {
    value = String.valueOf((char) ch);
  }
  return c.name().toLowerCase().substring(1) + "=" + value;
}

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

private void setNonBlocking() {
    if (current == null
        || current.getControlChar(Attributes.ControlChar.VMIN) != 0
        || current.getControlChar(Attributes.ControlChar.VTIME) != 1) {
      try {
        Attributes attr = getAttr();
        attr.setControlChar(Attributes.ControlChar.VMIN, 0);
        attr.setControlChar(Attributes.ControlChar.VTIME, 1);
        setAttr(attr);
      } catch (IOException e) {
        throw new IOError(e);
      }
    }
  }
}

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

} else {
  Attributes attr = new Attributes(originalAttributes);
  attr.setInputFlag(Attributes.InputFlag.IGNCR, true);
  terminal.setAttributes(attr);
if (buf.length() == 0 && getLastBinding().charAt(0) == originalAttributes.getControlChar(ControlChar.VEOF)) {
  throw new EndOfFileException();

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

private static int getFlag(Attributes attributes, LocalFlag flag) {
  return attributes.getLocalFlag(flag) ? 1 : 0;
}

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

this.reader = NonBlocking.nonBlocking(getName(), input, encoding());
this.writer = new PrintWriter(new OutputStreamWriter(output, encoding()));
this.attributes = new Attributes();
this.attributes.setControlChar(ControlChar.VERASE,  (char) 127);
this.attributes.setControlChar(ControlChar.VWERASE, (char) 23);
this.attributes.setControlChar(ControlChar.VKILL,   (char) 21);
this.attributes.setControlChar(ControlChar.VLNEXT,  (char) 22);
this.size = new Size();
parseInfoCmp();

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

private static int getFlag(Attributes attributes, OutputFlag flag) {
  return attributes.getOutputFlag(flag) ? 1 : 0;
}

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

public Attributes getAttributes() {
  int mode = getConsoleMode();
  if ((mode & ENABLE_ECHO_INPUT) != 0) {
    attributes.setLocalFlag(Attributes.LocalFlag.ECHO, true);
  }
  if ((mode & ENABLE_LINE_INPUT) != 0) {
    attributes.setLocalFlag(Attributes.LocalFlag.ICANON, true);
  }
  return new Attributes(attributes);
}

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

attributes.setLocalFlag(Attributes.LocalFlag.ISIG, true);
attributes.setControlChar(Attributes.ControlChar.VINTR, ctrl('C'));
attributes.setControlChar(Attributes.ControlChar.VEOF,  ctrl('D'));
attributes.setControlChar(Attributes.ControlChar.VSUSP, ctrl('Z'));

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

private static int getFlag(Attributes attributes, InputFlag flag) {
  return attributes.getInputFlag(flag) ? 1 : 0;
}

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

public boolean echo(boolean echo) {
  Attributes attr = getAttributes();
  boolean prev = attr.getLocalFlag(LocalFlag.ECHO);
  if (prev != echo) {
    attr.setLocalFlag(LocalFlag.ECHO, echo);
    setAttributes(attr);
  }
  return prev;
}

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

public Attributes getAttributes() {
  Attributes attr = new Attributes();
  attr.copy(attributes);
  return attr;
}

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

@Override
public void setAttr(Attributes attr) throws IOException {
  current = new Attributes(attr);
  doSetAttr(attr);
}

代码示例来源:origin: jpos/jPOS-EE

termAttrs.setLocalFlag(Attributes.LocalFlag.ECHO, false);
term.setAttributes(termAttrs);

相关文章