code: private boolean executeCommand(final LineReader reader) throws Exception {
  		String prompt = new AttributedStringBuilder()
  				.style(AttributedStyle.BOLD.foreground(AttributedStyle.GREEN))
  				.ansiAppend("uroborosql")
  				.style(AttributedStyle.DEFAULT)
  				.append(" > ")
  				.toAnsi();
  		String line = reader.readLine(prompt);
  		if (line == null || line.isEmpty()) {
  			// 空なら何もせずにループ
  			return true;
  		}
  
  		String[] parts = line.split("\\s+");
  		Optional<ReplCommand> command = commands.stream().filter(c -> c.is(parts[0])).findFirst();
  		if (command.isPresent()) {
  			return command.get().execute(reader, parts, sqlConfig, props);
  		} else {
  			showHelp(reader.getTerminal());
  			return true;
  		}
  	}
docs: 入力から指定されたコマンドを判定し実行する。
  
  @param reader LineReader
  @return 入力を継続する場合は<code>true</code>
  @throws Exception 実行時例外