static public void load(String scriptbase) throws IOException, ClassNotFoundException{ load(scriptbase, true); }
public ClojureCompletionWrapper() { try { RT.load("complete"); } catch (IOException e) { throw new RuntimeException("Error: Unable to load complete.clj", e); } catch (ClassNotFoundException e) { throw new RuntimeException("Error: Unable to load complete.clj", e); } this.completions = RT.var("complete", "completions"); }
@Override public Object createInstance(NitDesc nitDesc) throws NitException { try { RT.load("clojure/core"); } catch (ClassNotFoundException | IOException e) { e.printStackTrace(); } Object result = Compiler.load(new StringReader(nitDesc.getScript())); if (result instanceof Var){ return result; } else{ throw new NitException("result did not compile into a clsure var"+ result); } }
private void createUserNamespace() throws ClassNotFoundException, IOException { Namespace userNs = Namespace.findOrCreate(Symbol.create(null, "user")); RT.load("clojure/repl"); List<String> replFns = new ArrayList<String>(Arrays.asList("source", "apropos", "dir")); if (!clojure1_2) { replFns.add("doc"); replFns.add("find-doc"); } for (String name : replFns) { userNs.refer(Symbol.create(null, name), var("clojure.repl", name)); } if (!clojure1_2) { RT.load("clojure/java/javadoc"); userNs.refer(Symbol.create(null, "javadoc"), var("clojure.java.javadoc", "javadoc")); } RT.load("clojure/pprint"); userNs.refer(Symbol.create(null, "pprint"), var("clojure.pprint", "pprint")); RT.load("clj_stacktrace/repl"); userNs.refer(Symbol.create(null, "pst"), var("clj-stacktrace.repl", "pst")); RT.load("cd_client/core"); userNs.refer(Symbol.create(null, "cdoc"), var("cd-client.core", "cdoc")); this.ns.set(userNs); }
static void doInit() throws ClassNotFoundException, IOException{ Protocol.init(); load("clojure/core"); Var.pushThreadBindings( RT.mapUniqueKeys(CURRENT_NS, CURRENT_NS.deref(), WARN_ON_REFLECTION, WARN_ON_REFLECTION.deref() ,RT.UNCHECKED_MATH, RT.UNCHECKED_MATH.deref())); try { Symbol USER = Symbol.intern("user"); Symbol CLOJURE = Symbol.intern("clojure.core"); Var in_ns = var("clojure.core", "in-ns"); Var refer = var("clojure.core", "refer"); in_ns.invoke(USER); refer.invoke(CLOJURE); maybeLoadResourceScript("user.clj"); } finally { Var.popThreadBindings(); } }