summaryrefslogtreecommitdiff
path: root/snakemake-mode.el
diff options
context:
space:
mode:
Diffstat (limited to 'snakemake-mode.el')
-rw-r--r--snakemake-mode.el19
1 files changed, 19 insertions, 0 deletions
diff --git a/snakemake-mode.el b/snakemake-mode.el
index a598aca..a8d0539 100644
--- a/snakemake-mode.el
+++ b/snakemake-mode.el
@@ -206,6 +206,23 @@ forward rather than backward."
"Move to end of current rule block or function."
(or (snakemake-end-of-block)
(python-nav-end-of-defun)))
+
+(defun snakemake-block-name ()
+ "Return rule name for current block."
+ (let ((bounds (snakemake-block-bounds)))
+ (when bounds
+ (save-excursion
+ (goto-char (car bounds))
+ (and (looking-at snakemake-rule-or-subworkflow-re)
+ (match-string-no-properties 2))))))
+
+(defun snakemake-block-or-defun-name ()
+ "Return name of current rule or function.
+This function is appropriate to use as the value of
+`add-log-current-defun-function'."
+ (or (snakemake-block-name)
+ (python-info-current-defun)))
+
;;; Indentation
@@ -400,6 +417,8 @@ embedded R, you need to set mmm-global-mode to a non-nil value such as 'maybe.")
#'snakemake-beginning-of-defun)
(set (make-local-variable 'end-of-defun-function)
#'snakemake-end-of-defun)
+ (set (make-local-variable 'add-log-current-defun-function)
+ #'python-info-current-defun)
(set (make-local-variable 'font-lock-defaults)
`(,(append snakemake-font-lock-keywords python-font-lock-keywords))))