Есть ли способ перейти прямо на страницу статуса magit другого проекта git?
Мой общий рабочий процесс для перехода к другому проекту
-
projectile-switch-project
который открывает интерфейс управления для выбора проекта - выбрать проект
- выберите файл в проекте, чтобы открыть файл
- затем беги
magit-status
Есть ли способ объединить шаги 2-4?
3 ответа
projectile-switch-project
который открывает интерфейс управления для выбора проекта
Если вы хотите использоватьprojectile
сhelm
, вы могли бы датьhelm-projectile
попытка.
-
helm-projectile-switch-project
- затем выберите свой проект с M-gили f3вместоRET
Если я правильно понимаю ваш вопрос, вы можете написать небольшую функцию, которая делает то, что вам нужно, и прикрепить ее кprojectile-after-switch-project-hook
. По крайней мере, бегmagit-status
на этом крючке (если это проект git) должно быть довольно легко сделать.
РЕДАКТИРОВАТЬ: Пробовал. Это мешаетprojectile-switch-project-action
. Хорошей новостью является то, что вы можете просто использовать это вместо этого.
Вот черновик:
(defun my-projectile-switch-project-action ()
(interactive)
;; test for some typical files in my projects
(ignore-errors
(let ((files '("README" "README.md" "build.gradle")))
(while files
(message "Looking for: %s" (first files))
(if (file-exists-p (first files))
(progn
(find-file-other-window (first files))
(setq files nil))
(setq files (rest files))))))
;; now run magit
(if (vc-git-responsible-p default-directory)
(magit-status)))
;; Use the function like this:
(setq projectile-switch-project-action
#'my-projectile-switch-project-action)
Настоящим я помещаю приведенный выше код под GPLv2 или более позднюю версию в дополнение к стандартной лицензии StackOverflow. Вы можете выбрать, под какой лицензией вы хотите получить этот код.
Если вы не используете многие функции снаряда, вы можете взглянуть на встроенныйproject
, чейproject-switch-project
позволит вам выбрать команду после выбора проекта, например:
Или вы можете добавить действия, чтобы открыть статус magit для управления проектом, например https://occasionallycogent.com/emacs_custom_helm_actions/index.html (что-то похожее начинается в руле, если я правильно помню)