Kampfgnom
Lt. Commander
- Registriert
- Jan. 2005
- Beiträge
- 1.075
Hi,
ich arbeite an einem Projekt, welches unter Anderem auch eine Commandozeilen Schnittstelle bietet.
Diese soll selbstverständlich auch Dinge wie CommandHistory und Tabvervollständigung beherrschen.
Unser jetziger selbstgeschriebener Ansatz ist leicht fehlerhaft. Daher würden wir gerne auf eine gut getestete und viel verwendete Library umsteigen.
Die einzige Bibliothek, die ich gefunden habe und Tabvervollständigung bietet, ist JLine. Allerdings ist die vervollständigung entweder zu kompliziert zu verstehen, oder einfach nicht mächtig genug.
Hier Beispielcode unseres Completors:
So "komplizierte" Sequenzen bekomme ich mit Jline nicht hin.
Jedenfalls bin ich auf der Suche nach einer anderen Library à la GNU getline ;-) Sowas MUSS es doch geben.
Danke für alle Tips
ich arbeite an einem Projekt, welches unter Anderem auch eine Commandozeilen Schnittstelle bietet.
Diese soll selbstverständlich auch Dinge wie CommandHistory und Tabvervollständigung beherrschen.
Unser jetziger selbstgeschriebener Ansatz ist leicht fehlerhaft. Daher würden wir gerne auf eine gut getestete und viel verwendete Library umsteigen.
Die einzige Bibliothek, die ich gefunden habe und Tabvervollständigung bietet, ist JLine. Allerdings ist die vervollständigung entweder zu kompliziert zu verstehen, oder einfach nicht mächtig genug.
Hier Beispielcode unseres Completors:
Code:
SequenceElement seq = new SequenceElement();
seq.add("mln");
seq.add("query");
seq.add(new OptionalElement("-optional"));
ChoiceElement cho = new ChoiceElement();
cho.add("-choice1");
cho.add("-choice2");
SequenceElement seq2 = new SequenceElement();
seq2.add(cho);
seq2.add(new AnyStringElement());
seq.add(new OptionalElement(seq2));
seq.add(new FileElement());
seq.add(new AnyStringElement());
seq.add(new FileElement());
this.add(seq);
So "komplizierte" Sequenzen bekomme ich mit Jline nicht hin.
Jedenfalls bin ich auf der Suche nach einer anderen Library à la GNU getline ;-) Sowas MUSS es doch geben.
Danke für alle Tips