summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBozhidar Batsov <bozhidar@batsov.com>2018-03-23 20:09:41 +0700
committerBozhidar Batsov <bozhidar@batsov.com>2018-03-23 20:09:41 +0700
commit432078e98f7a758ba41f9a084014546f349f5026 (patch)
tree69065526215ed755d7f96d90de006923ec4e0e6e
parent85bbdb9663ba828f01949bf07c1a215ccb413438 (diff)
Refactor some lame duplicated code
-rw-r--r--cider.el62
1 files changed, 11 insertions, 51 deletions
diff --git a/cider.el b/cider.el
index e317c0e3..e1f0175d 100644
--- a/cider.el
+++ b/cider.el
@@ -325,11 +325,11 @@ Sub-match 1 must be the project path.")
Throws an error if PROJECT-TYPE is unknown. Known types are
\"lein\", \"boot\", and \"gradle\"."
(pcase project-type
- ("lein" (cider--lein-resolve-command))
- ("boot" (cider--boot-resolve-command))
- ("clojure-cli" (cider--clojure-cli-resolve-command))
- ("shadow-cljs" (cider--shadow-cljs-resolve-command))
- ("gradle" (cider--gradle-resolve-command))
+ ("lein" (cider--resolve-command cider-lein-command))
+ ("boot" (cider--resolve-command cider-boot-command))
+ ("clojure-cli" (cider--resolve-command cider-clojure-cli-command))
+ ("shadow-cljs" (cider--resolve-command cider-shadow-cljs-command))
+ ("gradle" (cider--resolve-command cider-gradle-command))
(_ (user-error "Unsupported project type `%s'" project-type))))
(defun cider-jack-in-global-options (project-type)
@@ -976,54 +976,14 @@ choose."
(t cider-default-repl-command))))
-;; TODO: Implement a check for `cider-lein-command' over tramp
-(defun cider--lein-resolve-command ()
- "Find `cider-lein-command' on `exec-path' if possible, or return nil.
+;; TODO: Implement a check for command presence over tramp
+(defun cider--resolve-command (command)
+ "Find COMMAND on `exec-path' if possible, or return nil.
In case `default-directory' is non-local we assume the command is available."
- (when-let* ((command (or (and (file-remote-p default-directory) cider-lein-command)
- (executable-find cider-lein-command)
- (executable-find (concat cider-lein-command ".bat")))))
- (shell-quote-argument command)))
-
-;; TODO: Implement a check for `cider-boot-command' over tramp
-(defun cider--boot-resolve-command ()
- "Find `cider-boot-command' on `exec-path' if possible, or return nil.
-
-In case `default-directory' is non-local we assume the command is available."
- (when-let* ((command (or (and (file-remote-p default-directory) cider-boot-command)
- (executable-find cider-boot-command)
- (executable-find (concat cider-boot-command ".exe")))))
- (shell-quote-argument command)))
-
-;; TODO: Implement a check for `cider-gradle-command' over tramp
-(defun cider--gradle-resolve-command ()
- "Find `cider-gradle-command' on `exec-path' if possible, or return nil.
-
-In case `default-directory' is non-local we assume the command is available."
- (when-let* ((command (or (and (file-remote-p default-directory) cider-gradle-command)
- (executable-find cider-gradle-command)
- (executable-find (concat cider-gradle-command ".exe")))))
- (shell-quote-argument command)))
-
-;; TODO: Implement a check for `cider-clojure-cli-command' over tramp
-(defun cider--clojure-cli-resolve-command ()
- "Find `cider-clojure-cli-command' on `exec-path' if possible, or return nil.
-
-In case `default-directory' is non-local we assume the command is available."
- (when-let* ((command (or (and (file-remote-p default-directory) cider-clojure-cli-command)
- (executable-find cider-clojure-cli-command)
- (executable-find (concat cider-clojure-cli-command ".exe")))))
- (shell-quote-argument command)))
-
-;; TODO: Implement a check for `cider-shadow-cljs-command' over tramp
-(defun cider--shadow-cljs-resolve-command ()
- "Find `cider-shadow-cljs-command' on `exec-path' if possible, or return nil.
-
-In case `default-directory' is non-local we assume the command is available."
- (when-let* ((command (or (and (file-remote-p default-directory) cider-shadow-cljs-command)
- (executable-find cider-shadow-cljs-command)
- (executable-find (concat cider-shadow-cljs-command ".exe")))))
+ (when-let* ((command (or (and (file-remote-p default-directory) command)
+ (executable-find command)
+ (executable-find (concat command ".bat")))))
(shell-quote-argument command)))