summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vimulti.clj12
1 files changed, 9 insertions, 3 deletions
diff --git a/vimulti.clj b/vimulti.clj
index 7992cd9..bfba0b1 100644
--- a/vimulti.clj
+++ b/vimulti.clj
@@ -9,6 +9,7 @@
:editor-config "/Users/eltrac/.config/nvim/"
:default-branch "master"})
+;; configuration helpers
(defn- config-path []
(let [env-vimnulti-config (System/getenv "VIMULTI_CONFIG")
env-xdg-config-home (System/getenv "XDG_CONFIG_HOME")
@@ -25,12 +26,17 @@
(spit path default-config))
path)
+;; git helpers
+(defn- get-current-branch [dir]
+ (shell {:dir dir
+ :out :string}
+ "git branch --show-current"))
+
+;; main
(let [[target-branch & args] *command-line-args*
config (-> (config-path) init-config slurp edn/read-string)
current-branch (or
- (shell {:dir (:editor-config config)
- :out :string}
- "git branch --show-current")
+ (get-current-branch (:editor-config config))
(:default-branch config))]
;; switch to target branch
(when-not (= current-branch target-branch)