[vim ] errormarker + AsyncCommand ?
errormarker
http://www.vim.org/scripts/script.php?script_id=1861
可以把 compile error 用 highlight 標示出來,而且 gvim 還附有 tooltip
圖示 http://mh21.piware.de/vim-error-markers-doxygen.png
AsyncCommand
http://www.vim.org/scripts/script.php?script_id=3431
可以在背景執行動作,執行完還可以把結果送回來
其中有一個 AsyncMake,可以在背景 make
make 結束以後錯誤會被讀入到 QuickFixList
=============================================================================
我現在希望把這兩個東西混合在一起用,
這樣比方說我只要按一下 <F5> 背景就在 make,
而且 make 完以後,錯誤也會自動被標示出來。
我把兩個 script 都裝起來了,不過卻沒有效果,
我爬了一下原始碼,發現 errormarker 是去 hook QuickFixCmd event,
augroup errormarker
autocmd QuickFixCmdPost make call <SID>SetErrorMarkers()
augroup END
然後呼叫 SetErrorMarkers() 函數,
但是 AsyncMake 好像不會觸發 QuickFixCmd event,
所以 errormarker 就沒有呼叫到 SetErrorMarkers() 函數,
我嘗試亂改了一下 script,不過沒有任何進展,主要也是因為我不太知道怎麼改,
不知道有沒有前輩願意投入一點時間嘗試看看?
=============================================================================
如果這邊能突破的話,
接下來我打算加上在背景每隔固定時間(或每次存檔)AsyncMake 一次的功能,
這樣就可以持續的讓畫面上顯示出錯誤的地方。
如果能作到的話,這樣會比 Eclipse CDT 的語意分析還要好,
因為 Eclipse CDT 的語意分析準確度並不是 100%,
尤其是在 template 頻繁使用的狀況下。
--
To iterate is human, to recurse, divine.
遞迴只應天上有, 凡人該當用迴圈. L. Peter Deutsch
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 182.235.170.158
→
11/02 12:19, , 1F
11/02 12:19, 1F
→
11/02 12:20, , 2F
11/02 12:20, 2F
→
11/02 12:20, , 3F
11/02 12:20, 3F
推
11/02 15:14, , 4F
11/02 15:14, 4F
→
11/05 02:18, , 5F
11/05 02:18, 5F
→
11/05 02:18, , 6F
11/05 02:18, 6F
推
11/05 05:02, , 7F
11/05 05:02, 7F
→
11/05 05:05, , 8F
11/05 05:05, 8F
→
11/05 05:06, , 9F
11/05 05:06, 9F
→
11/05 05:06, , 10F
11/05 05:06, 10F
→
11/05 05:06, , 11F
11/05 05:06, 11F
→
11/05 05:08, , 12F
11/05 05:08, 12F
→
11/06 01:49, , 13F
11/06 01:49, 13F
→
11/06 01:50, , 14F
11/06 01:50, 14F
推
11/06 05:19, , 15F
11/06 05:19, 15F
→
11/06 17:29, , 16F
11/06 17:29, 16F
→
11/06 17:29, , 17F
11/06 17:29, 17F
推
11/07 02:45, , 18F
11/07 02:45, 18F
→
11/07 23:31, , 19F
11/07 23:31, 19F
Editor 近期熱門文章
PTT數位生活區 即時熱門文章