From b8c519dd2b2f3b9e300f6547cd0e2ea7c2fcf7ed Mon Sep 17 00:00:00 2001 From: Tom Willemse Date: Sat, 22 Jul 2023 22:28:39 -0700 Subject: [PATCH] =?UTF-8?q?[oni-project]=20Add=20configuration=20for=20?= =?UTF-8?q?=E2=80=98project=E2=80=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This adds a magit option to the project switch commands so that I can view the git status of a project right away. --- oni-project.el | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 oni-project.el 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