Reputation: 2008
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.
Upvotes: 0
Views: 956
Reputation: 102862
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:
Preferences → Browse Packages…
to open the Packages
folder (~/Library/Application Support/Sublime Text 3/Packages
) in Finder. User
folder and create the following hierarchy: Packages/User/SublimeREPL/config/Clojure
.Clojure
called Main.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.
Upvotes: 4