Mercurial > dotfiles
annotate .elisp/settings/40.modes.el @ 325:64e73453e43f
xmonad: Pull apart custom layout into something readable
This change doesn't affect any behavior, but it does document the custom
layout by naming function parameters. Hopefully, this will make things
easier to fix the next time the XMonad developers break us.
author | Lucas Bergman <lucas@bergmans.us> |
---|---|
date | Tue, 11 Mar 2014 12:49:05 -0500 |
parents | 6a773ec78813 |
children | 0a593d2c0595 |
rev | line source |
---|---|
77 | 1 ; use tab for indent or complete |
2 (defun indent-or-expand (arg) | |
3 "Either indent according to mode, or expand the word preceding | |
4 point." | |
5 (interactive "*P") | |
6 (if (and | |
7 (or (bobp) (= ?w (char-syntax (char-before)))) | |
8 (or (eobp) (not (= ?w (char-syntax (char-after)))))) | |
9 (dabbrev-expand arg) | |
10 (indent-according-to-mode))) | |
11 | |
12 (defun af-tab-fix () | |
13 (local-set-key [tab] 'indent-or-expand)) | |
14 | |
15 ;; add hooks for modes you want to use the tab completion for: | |
16 (set-variable 'af-cleanup-whitespace t) | |
17 (add-hook 'c-mode-hook 'af-tab-fix) | |
257
31f86a5707ee
c++: enable tab completion
Augie Fackler <durin42@gmail.com>
parents:
224
diff
changeset
|
18 (add-hook 'c++-mode-hook 'af-tab-fix) |
77 | 19 (add-hook 'sh-mode-hook 'af-tab-fix) |
20 (add-hook 'emacs-lisp-mode-hook 'af-tab-fix) | |
217
e4842709368a
emacs: move colors to their own file and migrate to whitespace from wspace
Augie Fackler <durin42@gmail.com>
parents:
202
diff
changeset
|
21 |
e4842709368a
emacs: move colors to their own file and migrate to whitespace from wspace
Augie Fackler <durin42@gmail.com>
parents:
202
diff
changeset
|
22 ;; disable whitespace cleanup in modes sensitive to whitespace |
189
0487f0197755
emacs: disable whitespace-cleanup in makefiles, highlight tabs in makefiles
Augie Fackler <durin42@gmail.com>
parents:
140
diff
changeset
|
23 (defun af-no-clean-whitespace () |
223
739d96003993
af-no-clean-whitespace: make interactive for easy disabling when it is just noise.
Augie Fackler <durin42@gmail.com>
parents:
218
diff
changeset
|
24 (interactive) |
189
0487f0197755
emacs: disable whitespace-cleanup in makefiles, highlight tabs in makefiles
Augie Fackler <durin42@gmail.com>
parents:
140
diff
changeset
|
25 (make-variable-buffer-local 'af-cleanup-whitespace) |
0487f0197755
emacs: disable whitespace-cleanup in makefiles, highlight tabs in makefiles
Augie Fackler <durin42@gmail.com>
parents:
140
diff
changeset
|
26 (set-variable 'af-cleanup-whitespace nil)) |
0487f0197755
emacs: disable whitespace-cleanup in makefiles, highlight tabs in makefiles
Augie Fackler <durin42@gmail.com>
parents:
140
diff
changeset
|
27 (add-hook 'rst-mode-hook 'af-no-clean-whitespace) |
217
e4842709368a
emacs: move colors to their own file and migrate to whitespace from wspace
Augie Fackler <durin42@gmail.com>
parents:
202
diff
changeset
|
28 (add-hook 'makefile-mode-hook 'af-no-clean-whitespace) |
77 | 29 |
30 (autoload 'js2-mode "js2" nil t) | |
31 (add-to-list 'auto-mode-alist '("\\.js$" . js2-mode)) | |
32 (add-hook 'js2-mode-hook 'af-tab-fix) | |
33 | |
111
6a64e61359b7
Unbreaks this file, but I am not sure if the django stuff is working properly.
Augie Fackler <durin42@gmail.com>
parents:
109
diff
changeset
|
34 (add-hook 'ruby-mode-hook '(lambda () |
6a64e61359b7
Unbreaks this file, but I am not sure if the django stuff is working properly.
Augie Fackler <durin42@gmail.com>
parents:
109
diff
changeset
|
35 (af-tab-fix) |
6a64e61359b7
Unbreaks this file, but I am not sure if the django stuff is working properly.
Augie Fackler <durin42@gmail.com>
parents:
109
diff
changeset
|
36 (local-set-key (kbd "RET") |
116
85d912e123af
More ruby fixes, set html.erb to be some non-useless mode.
Augie Fackler <durin42@gmail.com>
parents:
111
diff
changeset
|
37 'reindent-then-newline-and-indent) |
85d912e123af
More ruby fixes, set html.erb to be some non-useless mode.
Augie Fackler <durin42@gmail.com>
parents:
111
diff
changeset
|
38 (local-set-key (kbd "C-M-f") |
85d912e123af
More ruby fixes, set html.erb to be some non-useless mode.
Augie Fackler <durin42@gmail.com>
parents:
111
diff
changeset
|
39 'textmate-find-in-project-type))) |
121 | 40 (add-to-list 'auto-mode-alist '("\\.rake$" . ruby-mode)) |
82
89f6d05cd7d5
Fix some ruby mode keybindings.
Augie Fackler <durin42@gmail.com>
parents:
79
diff
changeset
|
41 |
107 | 42 (require 'django-html-mode) |
43 ;; I think I probably just always want it in django mode for now | |
44 (add-to-list 'auto-mode-alist '("\\.html$'" . django-html-mode)) | |
116
85d912e123af
More ruby fixes, set html.erb to be some non-useless mode.
Augie Fackler <durin42@gmail.com>
parents:
111
diff
changeset
|
45 (add-to-list 'auto-mode-alist '("\\.html.erb$'" . django-html-mode)) |
85d912e123af
More ruby fixes, set html.erb to be some non-useless mode.
Augie Fackler <durin42@gmail.com>
parents:
111
diff
changeset
|
46 (add-to-list 'auto-mode-alist '("\\.rhtml$'" . django-html-mode)) |
111
6a64e61359b7
Unbreaks this file, but I am not sure if the django stuff is working properly.
Augie Fackler <durin42@gmail.com>
parents:
109
diff
changeset
|
47 (add-hook 'django-html-mode-hook '(lambda () |
6a64e61359b7
Unbreaks this file, but I am not sure if the django stuff is working properly.
Augie Fackler <durin42@gmail.com>
parents:
109
diff
changeset
|
48 (local-set-key (kbd "RET") |
6a64e61359b7
Unbreaks this file, but I am not sure if the django stuff is working properly.
Augie Fackler <durin42@gmail.com>
parents:
109
diff
changeset
|
49 'reindent-then-newline-and-indent))) |
77 | 50 (defun af-python-mode-hook () |
51 ; highlight tabs in Python | |
52 (make-variable-buffer-local 'font-lock-mode-hook) | |
53 (make-variable-buffer-local 'python-indent) | |
54 (if (and buffer-file-name (string-match "melange" buffer-file-name)) | |
55 (set-variable 'python-indent 2)) | |
56 (af-tab-fix) | |
94
9052c3801744
First stab at some menu items for the nose stuff.
Augie Fackler <durin42@gmail.com>
parents:
86
diff
changeset
|
57 (easy-menu-add-item nil '("Python") ["Run All Tests" nosetests-all t] |
9052c3801744
First stab at some menu items for the nose stuff.
Augie Fackler <durin42@gmail.com>
parents:
86
diff
changeset
|
58 "Comment Out Region") |
120
e83373ab1581
Latest nosemacs, python menu item for running nose with --failed.
Augie Fackler <durin42@gmail.com>
parents:
116
diff
changeset
|
59 (easy-menu-add-item nil '("Python") ["Run All Tests with --failed" nosetests-failed t] |
e83373ab1581
Latest nosemacs, python menu item for running nose with --failed.
Augie Fackler <durin42@gmail.com>
parents:
116
diff
changeset
|
60 "Comment Out Region") |
94
9052c3801744
First stab at some menu items for the nose stuff.
Augie Fackler <durin42@gmail.com>
parents:
86
diff
changeset
|
61 (easy-menu-add-item nil '("Python") ["Run Module Tests" nosetests-module t] |
9052c3801744
First stab at some menu items for the nose stuff.
Augie Fackler <durin42@gmail.com>
parents:
86
diff
changeset
|
62 "Comment Out Region") |
9052c3801744
First stab at some menu items for the nose stuff.
Augie Fackler <durin42@gmail.com>
parents:
86
diff
changeset
|
63 (easy-menu-add-item nil '("Python") ["Run One Test" nosetests-one t] |
9052c3801744
First stab at some menu items for the nose stuff.
Augie Fackler <durin42@gmail.com>
parents:
86
diff
changeset
|
64 "Comment Out Region") |
9052c3801744
First stab at some menu items for the nose stuff.
Augie Fackler <durin42@gmail.com>
parents:
86
diff
changeset
|
65 (easy-menu-add-item nil '("Python") ["Debug One Test" nosetests-pdb-one t] |
9052c3801744
First stab at some menu items for the nose stuff.
Augie Fackler <durin42@gmail.com>
parents:
86
diff
changeset
|
66 "Comment Out Region") |
9052c3801744
First stab at some menu items for the nose stuff.
Augie Fackler <durin42@gmail.com>
parents:
86
diff
changeset
|
67 (easy-menu-add-item nil '("Python") ["-" nil t] "Comment Out Region") |
102
16472f9a3543
Add some nosetests keybindings.
Augie Fackler <durin42@gmail.com>
parents:
101
diff
changeset
|
68 (local-set-key "\M-n" 'nosetests-module) |
16472f9a3543
Add some nosetests keybindings.
Augie Fackler <durin42@gmail.com>
parents:
101
diff
changeset
|
69 (local-set-key "\M-\C-n" 'nosetests-one) |
140
7fa84e297c84
emacs modes: use comment-indent-new-line for python
Augie Fackler <durin42@gmail.com>
parents:
121
diff
changeset
|
70 (local-set-key (kbd "RET") 'comment-indent-new-line) |
77 | 71 ) |
72 (add-hook 'python-mode-hook 'af-python-mode-hook) | |
73 | |
79
26f1ccac509c
Bind g to recompile in compilation-mode buffers.
Augie Fackler <durin42@gmail.com>
parents:
77
diff
changeset
|
74 (add-hook 'compilation-mode-hook '(lambda () (local-set-key "g" 'recompile))) |
192
fed1da889f84
emacs: enable column-number-mode
Augie Fackler <durin42@gmail.com>
parents:
140
diff
changeset
|
75 |
fed1da889f84
emacs: enable column-number-mode
Augie Fackler <durin42@gmail.com>
parents:
140
diff
changeset
|
76 (column-number-mode) |
202
84eb8c90ada9
modes: handle annotations better
Augie Fackler <durin42@gmail.com>
parents:
198
diff
changeset
|
77 |
84eb8c90ada9
modes: handle annotations better
Augie Fackler <durin42@gmail.com>
parents:
198
diff
changeset
|
78 |
258
863f1503616f
emacs java: adjustments from actual java hackery
Augie Fackler <durin42@gmail.com>
parents:
257
diff
changeset
|
79 (defun af-annotation-fix (unused) |
202
84eb8c90ada9
modes: handle annotations better
Augie Fackler <durin42@gmail.com>
parents:
198
diff
changeset
|
80 "fix indentation after an annotation" |
84eb8c90ada9
modes: handle annotations better
Augie Fackler <durin42@gmail.com>
parents:
198
diff
changeset
|
81 (save-excursion |
84eb8c90ada9
modes: handle annotations better
Augie Fackler <durin42@gmail.com>
parents:
198
diff
changeset
|
82 (beginning-of-line) |
84eb8c90ada9
modes: handle annotations better
Augie Fackler <durin42@gmail.com>
parents:
198
diff
changeset
|
83 (forward-word -1) |
84eb8c90ada9
modes: handle annotations better
Augie Fackler <durin42@gmail.com>
parents:
198
diff
changeset
|
84 (if (eq (char-before) ?@) ;; There's an annotation there |
84eb8c90ada9
modes: handle annotations better
Augie Fackler <durin42@gmail.com>
parents:
198
diff
changeset
|
85 0 |
84eb8c90ada9
modes: handle annotations better
Augie Fackler <durin42@gmail.com>
parents:
198
diff
changeset
|
86 (+ c-basic-offset c-basic-offset)))) |
84eb8c90ada9
modes: handle annotations better
Augie Fackler <durin42@gmail.com>
parents:
198
diff
changeset
|
87 |
258
863f1503616f
emacs java: adjustments from actual java hackery
Augie Fackler <durin42@gmail.com>
parents:
257
diff
changeset
|
88 (defun af-java-mode-hook () |
863f1503616f
emacs java: adjustments from actual java hackery
Augie Fackler <durin42@gmail.com>
parents:
257
diff
changeset
|
89 (c-set-offset 'topmost-intro-cont 'af-annotation-fix) |
863f1503616f
emacs java: adjustments from actual java hackery
Augie Fackler <durin42@gmail.com>
parents:
257
diff
changeset
|
90 (local-set-key (kbd "RET") 'comment-indent-new-line) |
863f1503616f
emacs java: adjustments from actual java hackery
Augie Fackler <durin42@gmail.com>
parents:
257
diff
changeset
|
91 (af-tab-fix)) |
863f1503616f
emacs java: adjustments from actual java hackery
Augie Fackler <durin42@gmail.com>
parents:
257
diff
changeset
|
92 (add-hook 'java-mode-hook 'af-java-mode-hook) |
218
b9b118dba61a
emacs: make diff-mode mq-aware
Augie Fackler <durin42@gmail.com>
parents:
217
diff
changeset
|
93 |
b9b118dba61a
emacs: make diff-mode mq-aware
Augie Fackler <durin42@gmail.com>
parents:
217
diff
changeset
|
94 ;; mq diff-mode support |
b9b118dba61a
emacs: make diff-mode mq-aware
Augie Fackler <durin42@gmail.com>
parents:
217
diff
changeset
|
95 (add-to-list 'auto-mode-alist '("\\.hg/patches/" . diff-mode)) |
b9b118dba61a
emacs: make diff-mode mq-aware
Augie Fackler <durin42@gmail.com>
parents:
217
diff
changeset
|
96 (defun mq-patch-set-default-directory () |
b9b118dba61a
emacs: make diff-mode mq-aware
Augie Fackler <durin42@gmail.com>
parents:
217
diff
changeset
|
97 (when (string= ".hg" (nth 2 (reverse (split-string default-directory "/")))) |
b9b118dba61a
emacs: make diff-mode mq-aware
Augie Fackler <durin42@gmail.com>
parents:
217
diff
changeset
|
98 (setq default-directory (expand-file-name (concat default-directory "../../"))))) |
b9b118dba61a
emacs: make diff-mode mq-aware
Augie Fackler <durin42@gmail.com>
parents:
217
diff
changeset
|
99 (add-hook 'diff-mode-hook 'mq-patch-set-default-directory) |
310
6a773ec78813
emacs: edit tempfiles from mutt in mail-mode
Augie Fackler <raf@durin42.com>
parents:
302
diff
changeset
|
100 |
6a773ec78813
emacs: edit tempfiles from mutt in mail-mode
Augie Fackler <raf@durin42.com>
parents:
302
diff
changeset
|
101 ;; Tempfiles from mutt should be edited in mail-mode. |
6a773ec78813
emacs: edit tempfiles from mutt in mail-mode
Augie Fackler <raf@durin42.com>
parents:
302
diff
changeset
|
102 (add-to-list 'auto-mode-alist '("/mutt" . mail-mode)) |