====== Flyline - ein Bash-Plugin, das readline ersetzt, um ein modernes Line-Editing-Erlebnis zu ermöglichen ======
{{https://github.com/HalFrgrd/flyline/releases/download/assets/demo_overview.gif?400}}
Flyline ist ein Bash-Plugin, das readline ersetzt, um ein modernes Line-Editing-Erlebnis zu ermöglichen. Es bietet unteranderem:
* Syntax-Hervorhebung
* Agenten-Integration
* reichhaltige Prompts
* Tooltips
* Fuzzy-History-Suche
* und mehr!
===== Installation =====
==== Arch Linux ====
[[aw>Install|Installiert]] das [[aur>flyline]]AUR Paket.
===== Verwendung =====
Vor der Verwendung muss das flyline Plugin in den aktuellen Bash Prozess geladen werden:
''enable -f /usr/lib/libflyline.so flyline''
Flyline ist nicht mit allen Shell Widget kompatible insbesondere die eine Manipulation der Kommandozeile durchführen. Um flyline für diese vorübergehend zu deaktivieren siehe [[https://github.com/HalFrgrd/flyline#launching-third-party-apps|Launching third party apps]].
* Für eine Erkläung und Nutzungs Beispiele siehe die die Offenzielle [[https://github.com/HalFrgrd/flyline|Projekt Seite]]
==== Navi Kompatibilität wiederherstellen ====
Um flyline mit dem [[..:navi:navi]] Shell Widget kompatible zu machen. Muss flyline mitgeteilt werden das es bei der Standard Tastenkombination zum Aufrufen von [[..:navi:navi]] (''STRG+G'') kurz pausiert werden muss:
# flyline must pause when the navi widget is use
if [[ "$(type -t flyline)" == builtin ]]; then
flyline key bind Ctrl+G 'always=runBashCommand(_navi_widget)'
fi
===== Beispiel Konfiguration für die .bashrc =====
flyline_config() {
local _flyline="/usr/lib/libflyline.so"
if [[ -f "${_flyline}" ]]; then
# Enable flyline
enable -f "${_flyline}" flyline
flyline_theming() {
# Set Prompt Ruler for each command
PROMPT_RULER='─'
# duration widget
flyline create-prompt-widget last-command-duration
RPS1=' FLYLINE_LAST_COMMAND_DURATION'
# Disable Cursor Animation
flyline set-cursor --backend terminal
# Set Color
[[ -v KONSOLE_VERSION ]] && flyline set-style secondary-text=#7d7d7d
}
flyline_theming
fi
}
flyline_config
Diese ''flyline_config'' Funktion macht folgendes:
* Sie aktiviert flyline im aktuellen bash Prozess wenn flyline installiert ist
* Setzt eine Trennline nach jedem Befehlsaufruf (//PROMPT_RULER//)
* Aktiviert das [[https://github.com/HalFrgrd/flyline#last-command-duration-widget|last-command-duration]] Widget und setzt dieses in den [[https://github.com/HalFrgrd/flyline#rps1--rprompt|RPS1 Prompt]]
* Wenn bash im Terminal Emulator **Konsole** läuft wird die Sekundäre Text Farbe in Grau eingestellt.
===== siehe auch =====
* [[https://github.com/HalFrgrd/flyline|Projekt Homepage]]
* [[https://www.suletuxe.de/forum/index.php?board=18;action=display;threadid=1146|Diskussionsthread im Suletuxe Forum]]