about summary refs log tree commit diff
path: root/tools/emacs/config/modes.el
diff options
context:
space:
mode:
Diffstat (limited to 'tools/emacs/config/modes.el')
-rw-r--r--tools/emacs/config/modes.el36
1 files changed, 36 insertions, 0 deletions
diff --git a/tools/emacs/config/modes.el b/tools/emacs/config/modes.el
new file mode 100644
index 000000000000..8d47f2f9a531
--- /dev/null
+++ b/tools/emacs/config/modes.el
@@ -0,0 +1,36 @@
+;; Initializes modes I use.
+
+(add-hook 'prog-mode-hook 'esk-add-watchwords)
+(add-hook 'prog-mode-hook 'hl-line-mode)
+
+;; Use auto-complete as completion at point
+(defun set-auto-complete-as-completion-at-point-function ()
+  (setq completion-at-point-functions '(auto-complete)))
+
+(add-hook 'auto-complete-mode-hook
+          'set-auto-complete-as-completion-at-point-function)
+
+;; Enable rainbow-delimiters for all things programming
+(add-hook 'prog-mode-hook 'rainbow-delimiters-mode)
+
+;; Enable Paredit & Company in Emacs Lisp mode
+(add-hook 'emacs-lisp-mode-hook 'company-mode)
+
+;; Always highlight matching brackets
+(show-paren-mode 1)
+
+;; Always auto-close parantheses and other pairs
+(electric-pair-mode)
+
+;; Keep track of recent files
+(recentf-mode)
+
+;; Easily navigate sillycased words
+(global-subword-mode 1)
+
+;; Transparently open compressed files
+(auto-compression-mode t)
+
+;; Show available key chord completions
+
+(provide 'modes)