summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--init.el29
-rw-r--r--lisp/km-snakemake.el53
2 files changed, 10 insertions, 72 deletions
diff --git a/init.el b/init.el
index 4c503d4..e3ce03d 100644
--- a/init.el
+++ b/init.el
@@ -1691,31 +1691,22 @@
:load-path "~/src/emacs/snakemake-mode/"
:defer t
:init
- (require 'snakemake-mode-autoloads)
- (autoload 'snakemake-compile-command "snakemake-mode")
- (setq snakemake-compile-command-options '("-p"))
+ (require 'snakemake-autoloads)
+ (define-key km/compile-map "s" #'snakemake-popup)
+ (after 'dired
+ (define-key dired-mode-map "b" #'snakemake-popup))
:config
+ (setq snakemake-root-dir-function #'projectile-project-root)
+
(defun km/snakemake-set-local-vars ()
- (set (make-local-variable 'compile-command)
- (snakemake-compile-command))
(set (make-local-variable 'imenu-create-index-function)
#'snakemake-imenu-create-index))
-
- ;; Although `compile-command' and `imenu-create-index-function' are
- ;; set when snakemake-mode is derived from Python mode, I need to
- ;; define them again here because I have a Python mode hook that
- ;; overrides the Python versions.
+ ;; Although `imenu-create-index-function' is set when snakemake-mode
+ ;; is derived from Python mode, I need to define it again here
+ ;; because I have a Python mode hook that overrides the Python
+ ;; version.
(add-hook 'snakemake-mode-hook #'km/snakemake-set-local-vars))
-(use-package km-snakemake
- :defer t
- :init
- (bind-keys :map km/compile-map
- ("b" . km/snakemake-compile-project-rule)
- ("p" . km/snakemake-compile-project-file))
- (after 'dired
- (define-key dired-mode-map "b" #'km/snakemake-compile-project-file)))
-
(use-package ess-site
:mode ("\\.[rR]\\'" . R-mode)
:config
diff --git a/lisp/km-snakemake.el b/lisp/km-snakemake.el
deleted file mode 100644
index 01fa7f1..0000000
--- a/lisp/km-snakemake.el
+++ /dev/null
@@ -1,53 +0,0 @@
-;;; km-snakemake.el --- Extensions for Snakemake mode
-
-;; Copyright (C) 2012-2016 Kyle Meyer <kyle@kyleam.com>
-
-;; Author: Kyle Meyer <kyle@kyleam.com>
-;; URL: https://github.com/kyleam/emacs.d
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Code:
-
-(require 'projectile)
-(require 'km-projectile)
-(require 'snakemake-mode)
-
-;;;###autoload
-(defun km/snakemake-compile-project-file (jobs)
- "Run Snakemake to produce project file at point.
-The numeric prefix JOBS controls the number of jobs that
-Snakemake runs (defaults to 1). If JOBS is zero, perform a dry
-run. If JOBS is negative, just touch the output files."
- (interactive "p")
- (let* ((fname (or (km/project-filename-at-point)
- (read-file-name "File: ")))
- (job-flag (cond
- ((> jobs 0) (format " -j%s " jobs))
- ((zerop jobs) " -n ")
- (t " -t ")))
- (compile-command (concat (snakemake-compile-command) job-flag
- fname))
- (default-directory (projectile-project-root)))
- (call-interactively 'compile)))
-
-;;;###autoload
-(defun km/snakemake-compile-project-rule ()
- "Run `snakemake-compile-rule' from project root."
- (interactive)
- (let ((default-directory (projectile-project-root)))
- (call-interactively #'snakemake-compile-rule)))
-
-(provide 'km-snakemake)
-;;; km-snakemake.el ends here