diff options
author | Tom Willemse | 2022-02-23 00:14:49 -0800 |
---|---|---|
committer | Tom Willemse | 2022-02-23 00:14:49 -0800 |
commit | 7980f4dd28bcba72b519d5e5dcdd5ee61bb37074 (patch) | |
tree | 341f8dde948d9c8f70093d7ad3b8560272171f1a | |
parent | 9a979dac067d1a3306b8c92ecfdab11ce5a8c47a (diff) | |
download | emacs-config-7980f4dd28bcba72b519d5e5dcdd5ee61bb37074.tar.gz emacs-config-7980f4dd28bcba72b519d5e5dcdd5ee61bb37074.zip |
[oni-vc] Automatically check out files for Perforce
When I start typing, automatically check out the file that I'm working with.
-rw-r--r-- | oni-vc.el | 19 |
1 files changed, 18 insertions, 1 deletions
@@ -4,7 +4,7 @@ ;; Author: Tom Willemse <tom@ryuslash.org> ;; Keywords: local -;; Version: 2021.1123.002400 +;; Version: 2022.0222.204847 ;; Package-Requires: (vc-p4) ;; This program is free software; you can redistribute it and/or modify @@ -26,8 +26,25 @@ ;;; Code: +(require 'vc) + (when (eql system-type 'windows-nt) (require 'vc-p4)) +(defun oni-vc-maybe-checkout () + "Call ‘vc-checkout’ if the current buffer is read-only and I'm typing." + (when (and buffer-read-only + (equal this-command 'self-insert-command)) + (vc-checkout (buffer-file-name)))) + +;;;###autoload +(defun oni-vc-enable-auto-checkout-for-perforce () + "Set up a ‘pre-command-hook’ to automatically check out a file if necessary." + (when (equal (vc-backend (buffer-file-name)) 'P4) + (add-hook 'pre-command-hook 'oni-vc-pre-edit-function nil t))) + +;;;###autoload +(add-hook 'find-file-hook 'oni-vc-find-file-hook) + (provide 'oni-vc) ;;; oni-vc.el ends here |