【问题标题】:Why doesn't button-lock-mode work with python-mode in Emacs?为什么按钮锁定模式不能与 Emacs 中的 python 模式一起使用?
【发布时间】:2015-07-29 22:47:27
【问题描述】:

我希望在 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。我找到了button-lock-mode,效果很好!但是,这个 elisp 可以在 python 模式的所有模式下工作除了

(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 模式下工作。那么,有谁知道可能导致冲突的原因是什么?

【问题讨论】:

    标签: emacs elisp python-mode


    【解决方案1】:

    我对@9​​87654322@一无所知,但是Emacs自带了bug-reference-mode,还有非常有用的子模式bug-reference-prog-mode。我建议改用这些。为了您的使用,您需要通过bug-reference-bug-regexpbug-reference-url-format 进行配置。

    bug-reference-prog-mode 很方便,因为它将其按钮行为限制为 cmets 和字符串——非常适合编程模式。

    【讨论】:

    • 太完美了。谢谢!我可能会使用它,但我会留下这个问题,以防我弄清楚按钮锁定模式,因为我仍然可以设想它的其他一些用途。
    • 太棒了,我能够使用这个实现多个错误跟踪器超链接:gist.github.com/EnigmaCurry/487e2ec34258c68dd48a
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多