为什么 button-lock-mode 在 Emacs 中不能与 python-mode 一起使用?
Why doesn't button-lock-mode work with python-mode in Emacs?
我希望在 Emacs 中的 Python 代码中有指向 JIRA 票证的可点击链接。
例如,我在我的集成测试代码中使用了 doxygen 文档字符串,它链接了一个票号:
def test_user_type_isolation(self):
"""
Ensure UDT cannot be used from another keyspace
@jira_ticket CASSANDRA-9409
@since 2.2
"""
....
我希望能够单击 CASSANDRA-9409 并将其直接转到 JIRA ticket it's referencing. I found button-lock-mode,效果很好!然而,这个 elisp 在每个模式下都有效 除了 对于 python-mode:
(require 'button-lock)
(global-button-lock-mode 1)
(setq cassandra-jira-button
(button-lock-set-button "CASSANDRA-[0-9]+"
#'(lambda ()
(interactive)
(browse-url (concat "https://issues.apache.org/jira/browse/"
(thing-at-point 'symbol)))
)
:face 'link :face-policy 'prepend))
不仅是我的代码,button-lock.el 中包含的示例中的 none 也可以在 python 模式下工作。那么,有谁知道可能导致冲突的原因吗?
我对button-lock-mode
一无所知,但Emacs自带bug-reference-mode
,还有非常有用的子模式bug-reference-prog-mode
。我建议改用那些。为了您的使用,您需要通过 bug-reference-bug-regexp
和 bug-reference-url-format
.
进行配置
bug-reference-prog-mode
很方便,因为它将其按钮化行为限制为注释和字符串——非常适合编程模式。
我希望在 Emacs 中的 Python 代码中有指向 JIRA 票证的可点击链接。
例如,我在我的集成测试代码中使用了 doxygen 文档字符串,它链接了一个票号:
def test_user_type_isolation(self):
"""
Ensure UDT cannot be used from another keyspace
@jira_ticket CASSANDRA-9409
@since 2.2
"""
....
我希望能够单击 CASSANDRA-9409 并将其直接转到 JIRA ticket it's referencing. I found button-lock-mode,效果很好!然而,这个 elisp 在每个模式下都有效 除了 对于 python-mode:
(require 'button-lock)
(global-button-lock-mode 1)
(setq cassandra-jira-button
(button-lock-set-button "CASSANDRA-[0-9]+"
#'(lambda ()
(interactive)
(browse-url (concat "https://issues.apache.org/jira/browse/"
(thing-at-point 'symbol)))
)
:face 'link :face-policy 'prepend))
不仅是我的代码,button-lock.el 中包含的示例中的 none 也可以在 python 模式下工作。那么,有谁知道可能导致冲突的原因吗?
我对button-lock-mode
一无所知,但Emacs自带bug-reference-mode
,还有非常有用的子模式bug-reference-prog-mode
。我建议改用那些。为了您的使用,您需要通过 bug-reference-bug-regexp
和 bug-reference-url-format
.
bug-reference-prog-mode
很方便,因为它将其按钮化行为限制为注释和字符串——非常适合编程模式。