我已經建立了一些具體的工作輔助功能,可能是我的團隊& MDASH的其他成員是有用的。但是我已經將它們全部寫入了Emacs的Elisp,並且讓它們從Notepad ++進行轉換不會發生。Emacs的ido完成是否有Perl等價物?
所以,我想轉換功能的Perl。沒問題。
除非我用IDO完成所有的時間限制響應:
(setq client (ido-completing-read "Select a Client: " '("IniTrade" "HedgeCorp" "GlobalTech" "OCP") nil t))
編輯:IDO-完成讀取類似於completing-read,除了所有的選項都是可見的,並且可以通過騎自行車來選擇[箭頭鍵,通常]或打字完成。在上面的例子中,提示看起來像
Select a Client: {IniTrade | HedgeCorp | GlobalTech | OCP}
選擇可以在最左邊的項目擊中RET進行,或通過部分輸入(在這種情況下,第一個字母都是唯一的,所以這是所有那將是需要的,匹配項目將成爲最左邊的)。
零的例子是一個未使用的PARAM,但「T」要求完全匹配 - 例如,用戶必須做出的選擇之一。該函數返回一個字符串,如「IniTrade」。
我的「輔助功能」是用於內部需求 - 打開一個特定的錯誤日誌,批量還原到的服務器,等等。對於這些操作,用戶需要指定測試或生產環境,客戶端,舞臺等。在幾乎所有情況下,這些都是用於構建另一個shell命令的字符串選擇。如果返回一個數字項目,那麼可以將其重新轉換爲一個字符串 - 但由於選擇通常是必需的字符串,如果可以跳過該步驟,那將會很不錯。 [編輯完]
是否有一個Perl相當於?我看過Term::Prompt,它提供了一個編號菜單......離我最近的地方。這不像ido完成那樣漂亮,我仍然必須將數字結果向後轉換爲字符串(不是主要問題;只是煩人)。
在撰寫本文時,我注意到我使用了術語「菜單」,所以做了一些更多的搜索,並提出了Term::Menus.我還沒有試過這個。
如果您解釋ido完成,它可能有助於獲得答案。 – Schwern 2009-01-03 20:41:47
這將有助於瞭解您編寫的幫助函數的類型。他們是否適應Term :: Menus方法? – 2009-01-04 13:46:46