;;; ycp-project.el -- My config for project -*- lexical-binding: t -*- ;; Copyright (C) 2023 Free Software Foundation. ;; Author: Yuchen Pei ;; Package-Requires: ((emacs "28.2")) ;; This file is part of dotfiles. ;; dotfiles is free software: you can redistribute it and/or modify it under ;; the terms of the GNU Affero General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; dotfiles 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 Affero General ;; Public License for more details. ;; You should have received a copy of the GNU Affero General Public ;; License along with dotfiles. If not, see . ;;; Commentary: ;; My config for project-related functionalities. ;;; Code: (my-package my-project (:delay 30) (my-setq-from-local my-projects-root-dirs my-licenses) (my-keybind global-map "\C-xpl" #'my-project-copy-license-file-to-project "\C-xpS" #'my-project-shell-at "\C-xpD" #'my-project-dired-at "\C-xpR" #'my-project-rgrep-at "\C-xpC" #'my-project-code-stats) (my-override project-remember-projects-under) (my-server-idle-timer my-project-remember-projects-timer 300 t 'my-project-remember-all-projects) (delete '(project-eshell "Eshell") project-switch-commands) (add-to-list 'project-switch-commands '(project-shell "Shell")) (define-key project-prefix-map "m" #'magit-project-status) (add-to-list 'project-switch-commands '(magit-project-status "Magit") t) (add-to-list 'project-find-functions #'my-project-try-find-from-build-dir t)) (provide 'ycp-project) ;;; ycp-project.el ends here