X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=setup%2Fbindings.el;h=ecc5cac548b3b8da46f3b5c0c9d942f40c61a58b;hb=d49049daa95b5f0e5b6999daad07e1ef94f6581b;hp=63fab0db33db057013dab1efba3f13a1e3bcb479;hpb=bcb103dbc0aa89057d8d0b549f5d4cdb841a6795;p=emacs-init.git diff --git a/setup/bindings.el b/setup/bindings.el index 63fab0d..ecc5cac 100644 --- a/setup/bindings.el +++ b/setup/bindings.el @@ -13,17 +13,27 @@ ;(require 'develock) ;(require 'develock-py) -(defun toggle-whitespace-modes () +(defun toggle-whitespace-mode (&optional mode) (interactive) - (if whitespace-mode - (progn - (whitespace-mode 0) - ;(develock-mode 0) - ) - (whitespace-mode 1) - ;(develock-mode 1) - ) - ; for some reason, the font-lock information is only updated when running normal-mode again - (normal-mode)) + ;; toggle whitespace mode between: + ;; * everything as globaly configured + ;; * as above but disable lines-tail + ;; * nothing + (if (null mode) + (if (local-variable-p 'whitespace-style) + (if (null whitespace-style) + (setq mode 'default) + (setq mode 'none)) + (setq mode 'longlines))) + (cond ((eq mode 'default) + (kill-local-variable 'whitespace-style)) + ((eq mode 'longlines) + (setq-local whitespace-style (remove 'lines-tail (default-value 'whitespace-style)))) + ((eq mode 'none) + (setq-local whitespace-style nil))) + (whitespace-mode -1) + (sit-for 0) + (whitespace-mode 1) + (message "whitespace: %s" mode)) -(global-set-key "\C-c' " 'toggle-whitespace-modes) +(global-set-key "\C-c' " 'toggle-whitespace-mode)