From 63c2f9edef41f97d1dd877b6bfaa018b94e89d8a Mon Sep 17 00:00:00 2001 From: Erik Assum Date: Mon, 1 Feb 2016 11:35:40 +0100 Subject: [PATCH] Add possibility to customize more vars Planck, https://github.com/mfikes/planck, the Clojurscript repl on OSX, uses somewhat different commands to achieve things like set-ns, apropos, dir etc. This commit lets the user customize these commands. --- inf-clojure.el | 54 +++++++++++++++++++++++++++++++++----------------- 1 file changed, 36 insertions(+), 18 deletions(-) diff --git a/inf-clojure.el b/inf-clojure.el index 02787f6..7ced672 100644 --- a/inf-clojure.el +++ b/inf-clojure.el @@ -450,45 +450,63 @@ Used by this command to determine defaults." ;;; Command strings ;;; =============== -(defvar inf-clojure-var-doc-command +(defcustom inf-clojure-var-doc-command "(clojure.repl/doc %s)\n" - "Command to query inferior Clojure for a var's documentation.") + "Command to query inferior Clojure for a var's documentation." + :type 'string + :group 'inf-clojure) -(defvar inf-clojure-var-source-command +(defcustom inf-clojure-var-source-command "(clojure.repl/source %s)\n" - "Command to query inferior Clojure for a var's source.") + "Command to query inferior Clojure for a var's source." + :type 'string + :group 'inf-clojure) -(defvar inf-clojure-arglist-command +(defcustom inf-clojure-arglist-command "(try (:arglists (clojure.core/meta (clojure.core/resolve (clojure.core/read-string \"%s\")))) (catch Throwable t nil))\n" - "Command to query inferior Clojure for a function's arglist.") + "Command to query inferior Clojure for a function's arglist." + :type 'string + :group 'inf-clojure) -(defvar inf-clojure-completion-command +(defcustom inf-clojure-completion-command "(complete.core/completions \"%s\")\n" - "Command to query inferior Clojure for completion candidates.") + "Command to query inferior Clojure for completion candidates." + :type 'string + :group 'inf-clojure) -(defvar inf-clojure-ns-vars-command +(defcustom inf-clojure-ns-vars-command "(clojure.repl/dir %s)\n" - "Command to show the public vars in a namespace.") + "Command to show the public vars in a namespace." + :type 'string + :group 'inf-clojure) -(defvar inf-clojure-set-ns-command +(defcustom inf-clojure-set-ns-command "(clojure.core/in-ns '%s)\n" - "Command to set the namespace of the inferior Clojure process.") + "Command to set the namespace of the inferior Clojure process." + :type 'string + :group 'inf-clojure) -(defvar inf-clojure-apropos-command +(defcustom inf-clojure-apropos-command "(doseq [var (sort (clojure.repl/apropos \"%s\"))] (println (str var)))\n" - "Command to invoke apropos.") + "Command to invoke apropos." + :type 'string + :group 'inf-clojure) -(defvar inf-clojure-macroexpand-command - "(clojure.core/macroexpand '%s)\n") +(defcustom inf-clojure-macroexpand-command + "(clojure.core/macroexpand '%s)\n" + :type 'string + :group 'inf-clojure) -(defvar inf-clojure-macroexpand-1-command - "(clojure.core/macroexpand-1 '%s)\n") +(defcustom inf-clojure-macroexpand-1-command + "(clojure.core/macroexpand-1 '%s)\n" + :type 'string + :group 'inf-clojure) ;;; Ancillary functions ;;; ===================