问题
I have setup sublime REPL(Sublime 2, MAC) and able to run small Clojure programs like (+ 2 2)
. I have created a small project using lein lein new app clojure-noob
and I am able to run it via lein repl
. And it loads the main class defined inside the project. How can I load the same main class in Sublime REPL.
回答1:
All you need to do is open your project's project.clj
file in Sublime, make sure it has focus, then select Tools → SublimeREPL → Clojure → Clojure
. This runs lein repl
in project.clj
's folder.
If you'd prefer to not have to go through so many submenus to open the REPL, you can do this:
- Select
Preferences → Browse Packages…
to open thePackages
folder (~/Library/Application Support/Sublime Text 3/Packages
) in Finder. - Go to the
User
folder and create the following hierarchy:Packages/User/SublimeREPL/config/Clojure
. - Create a new file in
Clojure
calledMain.sublime-menu
and open it in Sublime with the JSON syntax. Add the following to the file:
[ { "id": "tools", "children": [ {"command": "repl_open", "caption": "Clojure", "id": "repl_clojure", "args": { "type": "subprocess", "encoding": "utf8", "cmd": {"windows": ["lein.bat", "repl"], "linux": ["lein", "repl"], "osx": ["lein", "repl"]}, "soft_quit": "\n(. System exit 0)\n", "cwd": {"windows":"c:/Clojure", "linux": "$file_path", "osx": "$file_path"}, "syntax": "Packages/Clojure/Clojure.tmLanguage", "external_id": "clojure", "extend_env": {"INSIDE_EMACS": "1"} } } ] } ]
Once you save the file, you will now have a
Tools → Clojure
menu option.
来源:https://stackoverflow.com/questions/38042375/how-to-run-existing-clojure-programme-in-sublime-repl