我正在運行一個命令compile
,所以我可以從錯誤消息鏈接到關聯的源,但我需要轉換匹配行的內容塊來獲取文件鏈接到。 (實線表示一個Clojure的命名空間,等foo-bar.quux
,需要被轉化爲foo_bar/quux.clj
。)如何從編譯錯誤 - 正則表達式文件函數獲取當前匹配的行?
的compilation-error-regexp-alist
文檔說,部分
每個ELT具有形式(REGEXP FILE [LINE COLUMN TYPE HYPERLINK HIGHLIGHT ...])。 ... FILE也可以具有表格(FILE FORMAT ...),其中FORMAT(例如\「%s.c \」)將依次應用於識別的文件 名稱,直到找到該名稱的文件。或FILE也可以是一個返回(FILENAME)或(RELATIVE-FILENAME。DIRNAME)的函數。在前一種情況下,FILENAME可能是相對的或絕對的。
當我添加條目compilation-error-regexp-alist-alist
和compilation-error-regexp-alist
在FILE
位置的功能,我的函數被調用時不帶參數。如何獲得該函數內的匹配行?
調用函數是正確的行爲(雖然我同意這不是很聰明)。至於得到匹配的錯誤,你有沒有嘗試過使用'(match-string 0)'? – Malabarba