summaryrefslogtreecommitdiff
path: root/init-magit.el
diff options
context:
space:
mode:
Diffstat (limited to 'init-magit.el')
-rw-r--r--init-magit.el34
1 files changed, 34 insertions, 0 deletions
diff --git a/init-magit.el b/init-magit.el
new file mode 100644
index 0000000..a12dd54
--- /dev/null
+++ b/init-magit.el
@@ -0,0 +1,34 @@
+;; full screen magit-status
+(require 'magit)
+(defadvice magit-status (around magit-fullscreen activate)
+ (window-configuration-to-register :magit-fullscreen)
+ ad-do-it
+ (delete-other-windows))
+
+(defun my/magit-quit-session ()
+ "Restores the previous window configuration and kills the magit buffer"
+ (interactive)
+ (kill-buffer)
+ (jump-to-register :magit-fullscreen))
+
+(defun my/magit-toggle-whitespace ()
+ "Toggles git option -w"
+ (interactive)
+ (if (member "-w" magit-diff-options)
+ (my/magit-dont-ignore-whitespace)
+ (my/magit-ignore-whitespace)))
+
+(defun my/magit-ignore-whitespace ()
+ "Adds git option -w"
+ (interactive)
+ (add-to-list 'magit-diff-options "-w")
+ (magit-refresh))
+
+(defun my/magit-dont-ignore-whitespace ()
+ "Removes git option -w"
+ (interactive)
+ (setq magit-diff-options (remove "-w" magit-diff-options))
+ (magit-refresh))
+
+(define-key magit-status-mode-map (kbd "q") 'my/magit-quit-session)
+(define-key magit-status-mode-map (kbd "W") 'my/magit-toggle-whitespace)