HalFrgrd/flyline
https://github.com/HalFrgrd/flyline📌 Flyline:用 Rust 重寫 Bash readline,讓指令列編輯更順手
TL;DR:Flyline 用 Rust + ratatui 替換 Bash 內建 readline,提供自動建議、模糊歷史、滑鼠支援等功能,適合想省掉繁雜外掛設定的終端高手。
在 Bash 需要輸入指令時,背後由 readline 處理按鍵。可惜 readline 功能有限,常讓使用者自行安裝多個外掛來彌補。Flyline 直接以 Rust 實作一套完整的替代方案,讓指令列即開即用,同時提供許多現代化的編輯特性。
🧩 功能概覽:從自動建議到動畫 UI
- Intellisense 風格的 autosuggestions:根據歷史與檔案系統即時顯示建議。
- 即時變更目錄:在提示列直接輸入路徑即可切換目錄。
- 豐富的提示列自訂:支援非同步小工具、動畫與游標樣式。
- 模糊歷史搜尋:以模糊比對快速找回過去指令。
- 滑鼠支援:點選移動游標、選取文字。
- 增強 tab 完成:結合
flycomp合成建議,提升補全品質。 - 代理輔助指令撰寫:提供工具提示與自動關閉括號/引號。
- 語法高亮與文字選取:即時顯示語法顏色,支援區塊選取。
- 游標動畫與樣式:使用
ratatui.rs繪製動態 UI,與 Bash 同程式執行。
⚙️ 技術亮點:Rust + ratatui
Flyline 的核心以 Rust 撰寫,與類似的 ble.sh 不同,它利用 ratatui.rs(Rust 版 TUI 框架)來繪製複雜介面,減少 Bash script 的維護負擔,同時提升效能與安全性。
🎣 適合物件:想要即插即用的高階終端使用者
- 想省去安裝多個外掛、管理外掛與自訂快捷鍵的麻煩。
- 喜歡以現代語言(Rust)作為擴充點的「終端電力玩家」。
- 需要完整、可自訂的提示列體驗,同時保持與 Bash 同程式執行。
🚀 快速上手
- 執行官方提供的安裝指令碼
install.sh。 - 安裝後跑
flyline run-tutorial觀看教學。 - 如不需要滑鼠捕獲,可使用
flyline mouse --mode disabled取消。
💡 實務啟示
- 以 Rust 重寫底層編輯庫,可在保持相容性的同時,引入高效能 UI 元件。
ratatui.rs的抽象層讓開發者不必自行處理終端字元繪製,降低實作門檻。- 若你的工作流程依賴 Bash,且希望在同一個終端環境內即時取得自動建議與視覺化提示,直接切換到 Flyline 可省去多個外掛的組合設定。
🔗 來源
- 標題:HalFrgrd/flyline
- 作者/機構:HalFrgrd
- 連結:https://github.com/HalFrgrd/flyline
#Bash #Rust #TUI #CommandLine #ReadlineReplacement #Flyline #Terminal #ShellEnhancement #ratatui #CLI #OpenSource
由 google/gemma-4-31b-it:free 自動生成