diff --git a/oni-project.el b/oni-project.el new file mode 100644 index 0000000..2443485 --- /dev/null +++ b/oni-project.el @@ -0,0 +1,42 @@ +;;; oni-project.el --- Project configuration settings -*- lexical-binding: t; -*- + +;; Copyright (C) 2023 Tom Willemse + +;; Author: Tom Willemse +;; Keywords: local +;; Version: 2023.0722.222800 + +;; This program is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see . + +;;; Commentary: + +;; Configuration for Emacs' project functionality. + +;;; Code: + +(require 'project) + +(declare-function magit-status-setup-buffer "magit-status.el") + +(defun oni-project-magit () + "Start Magit in the current project's root directory." + (interactive) + (magit-status-setup-buffer (project-root (project-current t)))) + +(when (locate-library "magit") + (define-key project-prefix-map (kbd "m") #'oni-project-magit) + (add-to-list 'project-switch-commands '(oni-project-magit "Magit status"))) + +(provide 'oni-project) +;;; oni-project.el ends here