code: private void listen(final Terminal terminal) throws IOException {
  		List<Completer> completers = new ArrayList<>();
  
  		// コマンドのコード補完
  		completers.add(new ReplCommandCompleter(commands));
  		// SQL名のコード補完
  		completers.add(new SqlNameCompleter(commands, sqlConfig.getSqlManager()));
  		// バインドパラメータのコード補完
  		completers.add(new BindParamCompleter(commands, sqlConfig.getSqlManager()));
  		// テーブル名のコード補完
  		completers.add(new TableNameCompleter(commands, sqlConfig.getConnectionSupplier()));
  		// SQLキーワードのコード補完
  		completers.add(new SqlKeywordCompleter(commands));
  
  		LineReader reader = LineReaderBuilder.builder()
  				.appName("uroborosql")
  				.terminal(terminal)
  				.completer(new AggregateCompleter(completers))
  				.highlighter(new DefaultHighlighter())
  				.option(LineReader.Option.CASE_INSENSITIVE, true)
  				.build();
  		while (true) { // ユーザの一行入力を待つ
  			try {
  				if (!executeCommand(reader)) {
  					break;
  				}
  			} catch (UserInterruptException | EndOfFileException ex) {
  				break;
  			} catch (Exception e) {
  				e.printStackTrace(System.err);
  			}
  		}
  	}
docs: コンソールからの入力のリスン
  
  @param terminal Terminal
  @throws IOException I/O例外