;繼續打開終端窗口並鍵入:如何在Swift 4中編寫一個命令行界面,其功能類似於Unix手冊頁?例如:
man ls
查看;請注意,您可以使用箭頭鍵在文本中上下移動,並且現在缺少終端歷史記錄。
使用「q」退出。
現在返回終端歷史記錄。
我試圖瞭解如何編寫一個上面的界面:終端歷史消失並重新出現在退出和最重要的是接口能夠將按鍵作爲輸入而不是使用readLine( )。
在清屏前,我管理的ANSI轉義代碼:
從而清除屏幕並從底部開始的光標,但只有真正實現換行和推動舊內容關閉屏幕不同於刪除可滾動歷史的手冊頁。所以目前不是我想要實現的。
至於以按鍵輸入,我一直沒能找到很多,但基金會有3個引用:
standardInput
開發者文檔列出他們FileHandle,NSUserUnixTask &進程。我希望他們中的一個可能可以聽按鍵,然後用一個通知來響應,我可以用正確的屏幕更新我的界面,清除並重新定位文本或者執行一個動作(如退出並返回到正常提示爲「man」對「q」的按下)。
希望對此有所幫助,謝謝!
僅供參考 - 當你運行'男人ls',然後與輸出互動,你實際上是現在運行取決於'PAGER'環境的價值'more'(或'less')命令變量。所以你要問的是如何實現類似'more'或'less'命令的東西。 – rmaddy
@rmaddy這是正確的;但我主要是在他們如何實現上面列出的兩個主要功能之後。 – ANoobSwiftly