-
-
Notifications
You must be signed in to change notification settings - Fork 642
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cannot start repl outside of a project when not using Lein #1835
Comments
What happens when you execute this bit of Elisp |
It's "/usr/local/scripts/boot", which is correct. Running '/usr/local/scripts/boot repl' from a command line works perfectly. It seems like it's only checking for the presence of Lein, and never getting to the point of checking for Boot... |
I started poking around into the source again, to try to figure this out. It looks like Cider needs a better way of figuring out what kind of build tooling you're using. I suggest actually looking for lein, boot, etc. before trying to call one of them. Currently Cider only looks for build files - project.clj for lein, build.boot for boot, build.gradle for gradle. If it doesn't find one, it assumes lein. I made an empty, useless build.boot file, and now Cider is working perfectly, from within this 'project'. This shouldn't be required to start a repl using boot. The function cider--identify-buildtools-present really needs to be more thorough. If that function stays as-is, it shouldn't default to lein - it should default to searching for any tooling that's actually present on the system. (executable-find "blah") seems to work very well, so I'll start working on a pull request to fix this. I would appreciate it if more experienced devs would do the same, I may not be successful. |
As an absolute beginner, this took a while to figure out, and eventually required reading through Cider's source files. Currently, there *must* be a build.boot file present - an empty one works - if you want to start a repl through cider with boot. clojure-emacs/cider#1835
Moved to develop branch, original pull request - syl20bnr#7003 As an absolute beginner, this took a while to figure out, and eventually required reading through Cider's source files. Currently, there must be a build.boot file present - an empty one works - if you want to start a repl through cider with boot. clojure-emacs/cider#1835
Okay, to fix this, it looks like I would have to completely tear apart the
That returns the first of the three that is present, and should be the default executable if no project.clj, build.boot, or build.gradle is present. |
I guess this should be easy to fix. I'll look into it. |
Ah, seems I forgot about how this was supposed to be used - just set |
Moved to develop branch, original pull request - #7003 As an absolute beginner, this took a while to figure out, and eventually required reading through Cider's source files. Currently, there must be a build.boot file present - an empty one works - if you want to start a repl through cider with boot. clojure-emacs/cider#1835
Moved to develop branch, original pull request - #7003 As an absolute beginner, this took a while to figure out, and eventually required reading through Cider's source files. Currently, there must be a build.boot file present - an empty one works - if you want to start a repl through cider with boot. clojure-emacs/cider#1835
Moved to develop branch, original pull request - syl20bnr#7003 As an absolute beginner, this took a while to figure out, and eventually required reading through Cider's source files. Currently, there must be a build.boot file present - an empty one works - if you want to start a repl through cider with boot. clojure-emacs/cider#1835
Expected behavior
cider-jack-in should work when using boot, with leiningen absent
Actual behavior
Its value is
("/usr/local/scripts" "/usr/local/bin/" "/usr/bin/"...)
boot.sh and a symlink to it named boot are in /usr/local/scripts
cider-lein-command is "lein"
cider-boot-command is "boot", I have also tried "boot.sh"
I have experienced this on Arch Linux and Gentoo Linux, with emacs 24 and 25. Leiningen works as expected, when it is installed, but I would prefer to use boot.
Steps to reproduce the problem
Install Spacemacs (one git clone command)
https://github.com/syl20bnr/spacemacs#install
Enable the 'clojure' layer in Spacemacs
Install boot
Follow the 'Quick Start with boot' instructions for the clojure layer
http://spacemacs.org/layers/+lang/clojure/README.html
Attempt to cider-jack-in or 'SPC m s i' in Spacemacs
CIDER version information
Cannot launch a REPL from within emacs, but cider-20160825.249
When launching a boot repl from the CLI, which works, REPL-y 0.3.7, nREPL 0.2.12, Clojure 1.7.0
Lein/Boot version
BOOT_CLOJURE_NAME=org.clojure/clojure
BOOT_CLOJURE_VERSION=1.7.0
BOOT_VERSION=2.6.0
Emacs version
25.0.95.1
Operating system
Gentoo GNU/Linux
The text was updated successfully, but these errors were encountered: