11 lines
429 B
EmacsLisp
11 lines
429 B
EmacsLisp
;;; lisp/lib/git.el -*- lexical-binding: t; -*-
|
|
|
|
;;;###autoload
|
|
(defun doom-git-toplevel (&rest segments)
|
|
"Return the path to the current repo's root."
|
|
(cl-destructuring-bind (code . output)
|
|
(doom-call-process "git" "rev-parse" "--show-toplevel")
|
|
(if (zerop code)
|
|
(apply #'file-name-concat output segments)
|
|
;; TODO throw stderr as error
|
|
(user-error "Not in a git repo: %s" default-directory))))
|