2014-01-21 104 views
2

啓動並鍵入tern-ac-complete,我得到了想要的結果:完成候選人+旁邊的候選文檔的列表。燕鷗自動完成不會自動

但是,我無法讓Tern完成自動觸發。該ac-auto-start設置爲3和自動完成的作品如預期的其他情況下(我的字典文件,我已經在,jQuery的文檔類型的話,等)

+0

你可以發佈你的'tern'配置嗎? – 2014-01-21 12:44:37

+0

如果你在考慮我的.emacs文件,這裏是: (加鉤'js-mode-hook(lambda()(tern-mode t))) (eval-after-load'tern '( progn這個 (需要「燕鷗,自動完成) (燕鷗-AC-設置))) –

回答

0

的問題是,tern不提供ac-source然而。從tern-auto-complete.el

該程序不提供任意時間的交流源。

+0

,我很困惑該行是否意味着你說的是什麼意思:)謝謝。 –

+0

不客氣。你想把這個命令綁定到'tab'或者某個鍵。 – 2014-01-21 14:26:02

1

您應該嘗試company-mode與第三方company-tern

它自動開始完成,沒有問題。

+0

+1。這裏是我的Emacs的前奏段:'''(全球公司模式+1) (EVAL-後負荷 '公司 '(添加到列表 '公司後端' 公司燕鷗))''' – opyate

0

調用函數'edebug-defun for function'ac-start of auto-complete.el, 並按照調用追蹤找出導致此問題的原因。

在我的情況下,變量「交流使用詞典,作爲一站式的話呈丁且在我的自動完成字典的言語, 所以自動完成被中止。

tern.el   : Version: 0.0.1 
auto-complete.el : Version: 1.4.0 

line。 1559(ac-abort));; < =這被稱爲!

$ node --version # v0.11.13-pre (on Linux) 
0

發生這種情況是因爲tern-emacs必須從tern-server(異步操作)請求完成。只有當服務器返回時,它纔會使用tern源自動完成。

我通過建議自動完成等待燕鷗請求,如果自定義變量設置爲t固定它。通過這種方式,您可以完成任務以顯示在正常的自動完成工作流程中。

這是pull request(或只是diff)我對燕鷗回購。

我在這裏添加這個以防萬一有人通過搜索在這裏絆倒,就像我做的一樣。