summaryrefslogtreecommitdiffstats
path: root/emacs.d
diff options
context:
space:
mode:
authorGravatar Tom Willemsen2011-04-23 00:29:34 +0200
committerGravatar Tom Willemsen2011-04-23 00:29:34 +0200
commit4344bbeeda68999d5b9ac309f9137df413801204 (patch)
tree5ddee13c908efe2380f35e74b03fb174fbd4d84e /emacs.d
parent79563a62648136b8e950348c0348c2972ad54f7f (diff)
downloaddotfiles-4344bbeeda68999d5b9ac309f9137df413801204.tar.gz
dotfiles-4344bbeeda68999d5b9ac309f9137df413801204.zip
EMACS: Toggle header and source
Wrote a function to toggle views between a header and source file in c-mode and locally bound this to F11.
Diffstat (limited to 'emacs.d')
-rw-r--r--emacs.d/00-functions.el8
-rw-r--r--emacs.d/20-c-mode.el3
2 files changed, 11 insertions, 0 deletions
diff --git a/emacs.d/00-functions.el b/emacs.d/00-functions.el
index 2b43d65..ff493f0 100644
--- a/emacs.d/00-functions.el
+++ b/emacs.d/00-functions.el
@@ -26,3 +26,11 @@
'(2 "_NET_WM_STATE_MAXIMIZED_VERT" 0))
(x-send-client-message nil 0 nil "_NET_WM_STATE" 32
'(2 "_NET_WM_STATE_MAXIMIZED_HORZ" 0)))
+
+(defun c-toggle-header-source ()
+ (interactive)
+ (let ((ext (file-name-extension (buffer-file-name)))
+ (noext (file-name-sans-extension (buffer-file-name))))
+ (if (string= (substring ext 0 1) "c")
+ (find-file (concat noext ".h"))
+ (find-file (concat noext ".c")))))
diff --git a/emacs.d/20-c-mode.el b/emacs.d/20-c-mode.el
new file mode 100644
index 0000000..2b05b94
--- /dev/null
+++ b/emacs.d/20-c-mode.el
@@ -0,0 +1,3 @@
+(add-hook 'c-mode-hook
+ (lambda ()
+ (local-set-key [f11] 'c-toggle-header-source)))