2010-12-14 47 views
2

我構建tfs.el允許開發人員在emacs中執行TFS事物(簽出,簽入等)。我應該如何爲相關的一組功能提供幫助?

在tfs包中有13個交互命令,如tfs/checkout,tfs/rename,tfs/diff等等,我希望能夠在一個地方爲所有人提供幫助。所有可用功能的概述。

這樣做的「emacs方式」是什麼?我想過定義一個額外的函數,如tfs/help,它將在每個tfs函數上調用describe-function-1,然後在TFS-Help緩衝區中顯示所有這些函數。

有沒有更好的方法?

+1

關於tfs,爲什麼不把它與Emacs的vc整合? – 2010-12-14 18:44:54

+0

這對我來說太嚇人了,我可以打開蠕蟲......我的意思是......調查這種可能性。 – Cheeso 2010-12-14 22:51:48

回答

1

您可以使用

(describe-bindings "\C-xv") 
2

那麼,有很多「Emacs方式」。

最拋光是寫一個信息頁面,看到頁面"Info for Experts",基本上說,使用Texinfo和轉換是爲信息頁。你可以像你想要的那樣冗長,用戶可以搜索,使用超鏈接等。用戶可以通過C-h F tfs /結帳輕鬆到達那裏。

的另一種方式,一些人似乎做的是寫簡短的文檔字符串每個命令,以「看文檔tfs-mode瞭解詳細信息」結束,並把所有的共同文件中的docstring的TFS模式。

某些軟件包記錄文件的另一種方式是在tfs.el文件的頂部發表一個大評論。

隨你挑,他們都有權衡。

1

你有多個相關的命令。我猜,到目前爲止,他們只與他們的名字有關。

兩種可能性浮現在腦海中:

  • 創建這個東西的模式。記錄打開/關閉模式的命令的文檔字符串中的所有內容。它可能是主要模式或次要模式。如果是次要模式,它可能是緩衝區本地或全局。

  • 爲這個東西創建一個組(defgroup)並在其文檔字符串中記錄所有內容。

的基本思路是,以某種方式實際上涉及這些命令:以某種方式捆綁在一起,所以你可以爲文檔的捆在一起,記錄它們。

非正式,不知道更多,我的猜測是,你可能想創建一個全球次要模式。

+0

小模式聽起來像是要走的路。另外,也許可以考慮將函數從'tfs/thing'重命名爲'tfs-thing',以更好地符合Emacs約定。 – tripleee 2011-08-20 20:00:26

+0

這是否真的有資格作爲次要模式?這些命令不會影響當前緩衝區的編輯,就像自動填充一樣,或者flymake都會這樣做。這些命令在當前緩衝區上運行。我不確定它會升到小模式狀態。 FEEL對我來說不像一個小模式。關於命名,我使用'tfs/thing',因爲我非常喜歡'yas/etcetc'的命名。 – Cheeso 2011-09-08 00:40:57