|
22 | 22 | [nil "--emacs" "Shorthand for --cider-nrepl --refactor-nrepl --cider-connect"]])
|
23 | 23 |
|
24 | 24 | (def default-nrepl-version "1.0.0")
|
25 |
| -(def default-cider-version "0.28.3") |
26 |
| -(def default-refactor-nrepl-version "3.5.2") |
| 25 | + |
| 26 | +;; Unless we have a mechanism of automatically updating these I would use |
| 27 | +;; `RELEASE` here, so non-emacs user always default to the latest version. This |
| 28 | +;; is a good candidate for making this configurable, for explicitness. |
| 29 | +(def default-cider-version "RELEASE") |
| 30 | +(def default-refactor-nrepl-version "RELEASE") |
27 | 31 |
|
28 | 32 | (def classpath-coords {:mvn/version "0.4.44"})
|
29 | 33 | (def jnr-posix-coords {:mvn/version "3.1.15"})
|
|
88 | 92 | "Load/require an emacs package, will return `true` on success, `false` on failure.
|
89 | 93 | Throws if `emacsclient` is not found."
|
90 | 94 | [lib]
|
91 |
| - (= (str lib) (str/trim (eval-emacs `(~'require '~lib))))) |
| 95 | + (try |
| 96 | + (= (str lib) (str/trim (eval-emacs `(~'require '~lib)))) |
| 97 | + (catch java.io.IOException e |
| 98 | + ;; We swallow this because if Emacs isn't installed we want to simply |
| 99 | + ;; return `nil`. People might want the CIDER or refactor-nrepl middlewares |
| 100 | + ;; even though they are not running Emacs. |
| 101 | + ))) |
92 | 102 |
|
93 | 103 | (defn emacs-cider-version
|
94 | 104 | "Find the CIDER version that is currently in use by the running Emacs instance."
|
95 | 105 | []
|
96 |
| - (if (emacs-require 'cider) |
| 106 | + (when (emacs-require 'cider) |
97 | 107 | (read-string
|
98 | 108 | (eval-emacs '(if (boundp 'cider-required-middleware-version)
|
99 | 109 | cider-required-middleware-version
|
100 |
| - (upcase cider-version)))) |
101 |
| - (warn "Failed to load `cider` in Emacs, is it installed?"))) |
| 110 | + (upcase cider-version)))))) |
102 | 111 |
|
103 | 112 | (defn emacs-refactor-nrepl-version
|
104 | 113 | "Find the refactor-nrepl version that is required by the `clj-refactor` version
|
105 | 114 | installed in Emacs."
|
106 | 115 | []
|
107 |
| - (if (emacs-require 'clj-refactor) |
| 116 | + (when (emacs-require 'clj-refactor) |
108 | 117 | (read-string
|
109 |
| - (eval-emacs 'cljr-injected-middleware-version)) |
110 |
| - (warn "Failed to load `clj-refactor` in Emacs, is it installed?"))) |
| 118 | + (eval-emacs 'cljr-injected-middleware-version)))) |
111 | 119 |
|
112 | 120 | (defn compute-middleware
|
113 | 121 | "Figure out the nREPL middleware based on CLI flags"
|
|
0 commit comments