为什么按钮锁模式在Emacs中不能与python-mode一起使用?

时间:2015-07-29 22:47:27

标签: emacs elisp python-mode

我想在Emacs中使用我的Python代码中的JIRA票证点击链接。

例如,我在集成测试代码中使用了doxygen docstrings,它连接了一个票号:

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。我找到了button-lock-mode,效果很好!但是,这个elisp适用于除以外的所有模式 for 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中包含的示例都没有在python-mode中工作。那么,有谁知道可能导致冲突的原因是什么?

1 个答案:

答案 0 :(得分:1)

我对testval := test{ MyMap: make(map[string]string), } 一无所知,但Emacs附带button-lock-mode,以及非常有用的子模式bug-reference-mode。我建议改用它们。为了您的使用,您需要通过bug-reference-prog-modebug-reference-bug-regexp配置此功能。

bug-reference-url-format非常方便,因为它将按钮化行为限制为注释和字符串 - 非常适合编程模式。