aboutsummaryrefslogtreecommitdiffstats
path: root/oni-vc.el
diff options
context:
space:
mode:
Diffstat (limited to 'oni-vc.el')
-rw-r--r--oni-vc.el19
1 files changed, 18 insertions, 1 deletions
diff --git a/oni-vc.el b/oni-vc.el
index 538861d..5da0147 100644
--- a/oni-vc.el
+++ b/oni-vc.el
@@ -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