diff options
Diffstat (limited to 'ravi-init-vc.el')
| -rw-r--r-- | ravi-init-vc.el | 176 |
1 files changed, 0 insertions, 176 deletions
diff --git a/ravi-init-vc.el b/ravi-init-vc.el deleted file mode 100644 index 406e05b..0000000 --- a/ravi-init-vc.el +++ /dev/null @@ -1,176 +0,0 @@ -;;; ravi-init-vc.el --- vc control - -;; Copyright (C) 2013 - -;; Author: <ravi@nero.lan> -;; Keywords: vc - -;; 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 <http://www.gnu.org/licenses/>. - -;;; Commentary: - -;; Version control initialization - -;;; Code: - -;; Git -(use-package magit - :bind ("<M-f3>" . magit-status) - :config - (progn - (setq-default - magit-process-popup-time 10 - magit-diff-refine-hunk t - magit-completing-read-function 'magit-ido-completing-read - ) - - ; Since magit-mode-quit-window is used by all magit windows (such as logs), - ; and since mucking with magit's keymap also leads to the same results, we - ; avoid showing magit-status in a fullscreen window until another solution - ; is found. - ;(require 'fullframe) - ;(fullframe magit-status magit-mode-quit-window :magit-fullscreen nil) - - (setq magit-restore-window-configuration t) - - (use-package vc-git - :defer t - :bind ("C-x v f" . vc-git-grep) - :config - (progn - (global-magit-wip-save-mode) - (diminish 'magit-wip-save-mode) - ) - ) - ;(after-load 'magit-key-mode - ; (require 'magit-svn)) - - (after-load 'compile - (dolist (defn (list '(git-svn-updated "^\t[A-Z]\t\\(.*\\)$" 1 nil nil 0 1) - '(git-svn-needs-update "^\\(.*\\): needs update$" 1 nil nil 2 1))) - (add-to-list 'compilation-error-regexp-alist-alist defn) - (add-to-list 'compilation-error-regexp-alist (car defn)))) - - (use-package magit-svn - :config (add-hook 'magit-mode-hook 'turn-on-magit-svn) - :ensure t - ) - - (defvar git-svn--available-commands nil "Cached list of git svn subcommands") - - (defun git-svn (dir) - "Run a git svn subcommand in DIR." - (interactive "DSelect directory: ") - (unless git-svn--available-commands - (setq git-svn--available-commands - (sanityinc/string-all-matches - "^ \\([a-z\\-]+\\) +" - (shell-command-to-string "git svn help") 1))) - (let* ((default-directory (vc-git-root dir)) - (compilation-buffer-name-function (lambda (major-mode-name) "*git-svn*"))) - (compile (concat "git svn " - (ido-completing-read "git-svn command: " - git-svn--available-commands nil t)))) - ) - - (defun magit-toggle-whitespace () - (interactive) - (if (member "-w" magit-diff-options) - (magit-dont-ignore-whitespace) - (magit-ignore-whitespace))) - - (defun magit-ignore-whitespace () - (interactive) - (add-to-list 'magit-diff-options "-w") - (magit-refresh)) - - (defun magit-dont-ignore-whitespace () - (interactive) - (setq magit-diff-options (remove "-w" magit-diff-options)) - (magit-refresh)) - - (bind-key "W" 'magit-toggle-whitespace magit-status-mode-map) - - (defun magit-just-amend () - (interactive) - (save-window-excursion - (magit-with-refresh - (shell-command "git --no-pager commit --amend --reuse-message=HEAD")))) - (bind-key "C-a" 'magit-just-amend magit-status-mode-map) - - ) - :ensure t - ) -(use-package git-gutter - :config - (progn - (use-package git-gutter-fringe - :ensure t - ) - (global-git-gutter-mode 1) - ) - :ensure t - :diminish git-gutter-mode - ) -(use-package git-commit-mode - :ensure t - ) -(use-package git-rebase-mode - :ensure t - ) -(use-package gitignore-mode - :ensure t - ) -(use-package gitconfig-mode - :ensure t - ) -(use-package git-messenger - :ensure t - :bind ("C-x v p" . git-messenger:popup-message) - ) - -;; Stolen almost entirely from Fuco (Matus Goljer) -(use-package ediff - :config - (progn - (defvar my-ediff-before-config nil "Window configuration before ediff.") - (defvar my-ediff-after-config nil "Window configuration after ediff.") - - (defun my-ediff-before-setup () - "Function to be called before any buffers or window setup for - ediff." - (setq my-ediff-before-config (current-window-configuration)) - (set-register ?b (list my-ediff-before-config (point-marker)))) - - (defun my-ediff-after-setup () - "Function to be called after buffers and window setup for ediff." - (setq my-ediff-after-config (current-window-configuration)) - (set-register ?e (list my-ediff-after-config (point-marker)))) - - (defun my-ediff-quit () - "Function to be called when ediff quits." - (when my-ediff-before-config - (set-window-configuration my-ediff-before-config)) - ;; clean up ediff bullshit - (->> (buffer-list) - (-map 'buffer-name) - (--select (string-match-p "\\*[Ee]diff" it)) - (-map 'kill-buffer))) - - (add-hook 'ediff-before-setup-hook 'my-ediff-before-setup) - (add-hook 'ediff-after-setup-windows-hook 'my-ediff-after-setup 'append) - (add-hook 'ediff-quit-hook 'my-ediff-quit))) - -(provide 'ravi-init-vc) -;;; ravi-init-vc.el ends here |
