假设我在缓冲区中有以下文字
CMM-3: Description
CMM-91: Description 2
我希望CMM-XX成为可调用自定义功能的可点击区域
(defun jira-ticket-view (&optional jira-ticket)
"Open Jira Ticket Inside Emacs"
(interactive)
....)
答案 0 :(得分:5)
创建一个新的键盘映射,将mouse-1
绑定到要调用的函数,然后将键盘映射作为文本属性添加到链接文本中。将mouse-face
设置为highlight
并添加help-echo
可以提高用户友好度-当用户将鼠标指针悬停在文本上方时,这些设置才会生效。
(defun my-function ()
(interactive)
(message "You've clicked the text!"))
(let ((map (make-sparse-keymap)))
(define-key map [mouse-1] 'my-function)
(insert "Foo: "
(propertize "bar" 'keymap map 'mouse-face 'highlight 'help-echo "Click here!")
"\n"))
有关更多信息,请参见elisp参考手册中的Clickable text部分。