2015-01-29 2 views
1

자동 완성 기능을 갖춘 간단한 셸 응용 프로그램을 구현하려고합니다. 나는 그것에 대해 JLine 라이브러리를 사용한다. 아마도 일반적인 문제 일지 모르지만 매개 변수에 값을 추가하려고하면 자동 완성 기능이 작동하지 않습니다.키에 값을 추가하고 JLine으로 자동 완성을 저장하는 방법은 무엇입니까?

여기에 내가 자동 완성 password에 대한 탭 키를 사용할 수 아니에요

login --url http://localhost:8080/server

를 쓸 때 내 코드

public class ConsoleDemo {  
    public static void main(String[] args) { 
     try { 
      ConsoleReader console = new ConsoleReader(); 
      console.setPrompt("> "); 

      StringsCompleter exit = new StringsCompleter("exit"); 

      StringsCompleter login = new StringsCompleter("connect"); 
      StringsCompleter loginParams = new StringsCompleter("--url", "--username", "--password"); 

      StringsCompleter export = new StringsCompleter("export"); 
      StringsCompleter exportParam = new StringsCompleter("to"); 

      ArgumentCompleter loginCompleter = new ArgumentCompleter(login, loginParams); 
      ArgumentCompleter exportCompleter = new ArgumentCompleter(export, exportParam); 

      console.addCompleter(loginCompleter); 
      console.addCompleter(exportCompleter); 
      console.addCompleter(exit); 

      String line; 
      while ((line = console.readLine()) != null) { 
       if ("exit".equals(line.trim())) { 
        exit(1); 
       } 
       console.println(line.trim() + valueOf(-1)); 
      } 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 
} 

스 니펫입니다.

login --url http://localhost:8080/server --us (완료를 눌러 탭) < - 너무 내가 --username--password에 대한 다음의 힌트를 얻기 위해 무엇을해야

를 작동하지 않는 이유는 무엇입니까?

답변

0

로그인 완료자가 로그인이 아닌 식별자로 "연결"문자열을 사용 중입니다 ...