-
Notifications
You must be signed in to change notification settings - Fork 13
Advanced interactive input
In interactive mode by default advanced command input with command history and auto-completion is used.
Note: Auto-completion is not supported in normal/tool mode.
Command history is provided by InputHistoryProvider
that (if needed) can be accessed with InputHistory
property from ICliContext
.
Access to InputHistoryProvider
is useful when you want to, e.g., disable history, clear it manually, or get all entries.
Entries from the history are accessed using up/down arrows in interactive mode. Escape key clears the input and resets history selection.
To used command auto-completion simply press Tab
or Shift + Tab
as in normal terminal like bash or cmd.
When advanced interactive input is used builder.UseInteractiveMode(useAdvancedInput: true);
the default behavior of the terminal is lost, e.g., Ctrl + Delete won't delete a word on the left side of the cursor. To overcome this problem, Typin comes with its own shortcut/key/input handling system.
Key/Shortcut | Action |
---|---|
Home |
Moves cursor to the beginning of the line. |
End |
Moves cursor to the end of the line. |
Escape |
Clear line. |
Enter |
Line feed. |
Backspace |
Delete previous character. |
Delete |
Delete next word or whitespace. |
Ctrl + Delete
|
Delete next character. |
Ctrl + Backspace
|
Delete previous word or whitespace. |
Tab |
Start forward or next command line completion. |
Shift + Tab
|
Start backward or previous command line completion. |
Insert |
currently not supported :( |
← |
Go backward one character. |
→ |
Go forward one character. |
Ctrl + ←
|
Move cursor to the next word on the left. |
Ctrl + →
|
Move cursor to the next word on the right. |
Ctrl + ↑
|
Move backward in the history. |
Ctrl + ↓
|
Move forward in the history. |
Acknowledgments: ReadLine library was an inspiration for history and auto-completion in Typin. Its source code was partially used and modified to fit into Typin.
Getting started
Advanced features
- Reporting errors
- Exception handling
- Metadata and startup message
- Graceful cancellation
- Dependency injection
- Middleware pipeline
- Environment variables
Utilities
Tests
Misc