init.el
author Luke Hoersten <luke@hoersten.org>
Thu, 16 Aug 2018 20:19:16 -0500
changeset 101 2c7a2250aebf
parent 99 c50532aea1f3
child 102 c87589ea77d5
permissions -rw-r--r--
merge
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
21
a48713acd5c1 Rearrainged init.el
Luke Hoersten <Luke@Hoersten.org>
parents: 13
diff changeset
     1
;; ~/.emacs.d/init.el (~/.emacs)
4
0fda818a8b6a Added doxymacs and provides for requires.
Luke Hoersten <Luke@Hoersten.org>
parents: 3
diff changeset
     2
;; Luke Hoersten <[email protected]>
0
c25fee3c92e9 Initial commit.
Luke Hoersten <Luke@Hoersten.org>
parents:
diff changeset
     3
32
68b57950fa11 Fixed font problem and removed os-specific config files.
Luke Hoersten <Luke@Hoersten.org>
parents: 31
diff changeset
     4
;;;; General ;;;;
75
5f3bf3a9295b Cleaned up comments.
Luke Hoersten <Luke@Hoersten.org>
parents: 74
diff changeset
     5
(add-to-list 'load-path "~/.emacs.d/elisp")   ; set default emacs load path
0
c25fee3c92e9 Initial commit.
Luke Hoersten <Luke@Hoersten.org>
parents:
diff changeset
     6
21
a48713acd5c1 Rearrainged init.el
Luke Hoersten <Luke@Hoersten.org>
parents: 13
diff changeset
     7
(setq-default
82
12cf67bc486c Added paredit, flx-ido and projectile.
Luke Hoersten <luke@hoersten.org>
parents: 78
diff changeset
     8
 gc-cons-threshold 20000000                   ; gc every 20 MB allocated (form flx-ido docs)
75
5f3bf3a9295b Cleaned up comments.
Luke Hoersten <Luke@Hoersten.org>
parents: 74
diff changeset
     9
 inhibit-splash-screen t                      ; disable splash screen
5f3bf3a9295b Cleaned up comments.
Luke Hoersten <Luke@Hoersten.org>
parents: 74
diff changeset
    10
 truncate-lines t                             ; truncate, not wrap, lines
5f3bf3a9295b Cleaned up comments.
Luke Hoersten <Luke@Hoersten.org>
parents: 74
diff changeset
    11
 indent-tabs-mode nil                         ; only uses spaces for indentation
5f3bf3a9295b Cleaned up comments.
Luke Hoersten <Luke@Hoersten.org>
parents: 74
diff changeset
    12
 split-width-threshold 181                    ; min width to split window horizontially
5f3bf3a9295b Cleaned up comments.
Luke Hoersten <Luke@Hoersten.org>
parents: 74
diff changeset
    13
 split-height-threshold 120                   ; min width to split window vertically
5f3bf3a9295b Cleaned up comments.
Luke Hoersten <Luke@Hoersten.org>
parents: 74
diff changeset
    14
 reb-re-syntax 'string                        ; use string syntax for regexp builder
99
c50532aea1f3 Added haskell compile command.
Luke Hoersten <luke@hoersten.org>
parents: 98
diff changeset
    15
 fill-column 120                              ; line width
75
5f3bf3a9295b Cleaned up comments.
Luke Hoersten <Luke@Hoersten.org>
parents: 74
diff changeset
    16
 require-final-newline 'visit-save)           ; add a newline automatically
0
c25fee3c92e9 Initial commit.
Luke Hoersten <Luke@Hoersten.org>
parents:
diff changeset
    17
75
5f3bf3a9295b Cleaned up comments.
Luke Hoersten <Luke@Hoersten.org>
parents: 74
diff changeset
    18
(put 'set-goal-column 'disabled nil)          ; enable goal column setting
5f3bf3a9295b Cleaned up comments.
Luke Hoersten <Luke@Hoersten.org>
parents: 74
diff changeset
    19
(put 'narrow-to-region 'disabled nil)         ; enable hiding
21
a48713acd5c1 Rearrainged init.el
Luke Hoersten <Luke@Hoersten.org>
parents: 13
diff changeset
    20
(put 'narrow-to-page 'disabled nil)
a48713acd5c1 Rearrainged init.el
Luke Hoersten <Luke@Hoersten.org>
parents: 13
diff changeset
    21
85
0b91f7fe5a89 Reorganized global modes a bit. Fixed multi-frame font changes.
Luke Hoersten <luke@hoersten.org>
parents: 84
diff changeset
    22
(fset 'yes-or-no-p 'y-or-n-p)                 ; replace yes/no prompts with y/n
0b91f7fe5a89 Reorganized global modes a bit. Fixed multi-frame font changes.
Luke Hoersten <luke@hoersten.org>
parents: 84
diff changeset
    23
(windmove-default-keybindings)                ; move between windows with shift-arrow
0b91f7fe5a89 Reorganized global modes a bit. Fixed multi-frame font changes.
Luke Hoersten <luke@hoersten.org>
parents: 84
diff changeset
    24
75
5f3bf3a9295b Cleaned up comments.
Luke Hoersten <Luke@Hoersten.org>
parents: 74
diff changeset
    25
(column-number-mode t)                        ; show column numbers
5f3bf3a9295b Cleaned up comments.
Luke Hoersten <Luke@Hoersten.org>
parents: 74
diff changeset
    26
(delete-selection-mode t)                     ; replace highlighted text
85
0b91f7fe5a89 Reorganized global modes a bit. Fixed multi-frame font changes.
Luke Hoersten <luke@hoersten.org>
parents: 84
diff changeset
    27
(which-function-mode t)                       ; function name at point in mode line
0b91f7fe5a89 Reorganized global modes a bit. Fixed multi-frame font changes.
Luke Hoersten <luke@hoersten.org>
parents: 84
diff changeset
    28
(transient-mark-mode t)                       ; highlight selection between point and mark
0b91f7fe5a89 Reorganized global modes a bit. Fixed multi-frame font changes.
Luke Hoersten <luke@hoersten.org>
parents: 84
diff changeset
    29
(electric-pair-mode t)                        ; automatically close opening characters
75
5f3bf3a9295b Cleaned up comments.
Luke Hoersten <Luke@Hoersten.org>
parents: 74
diff changeset
    30
(global-font-lock-mode t)                     ; syntax highlighting
85
0b91f7fe5a89 Reorganized global modes a bit. Fixed multi-frame font changes.
Luke Hoersten <luke@hoersten.org>
parents: 84
diff changeset
    31
(global-subword-mode t)                       ; move by camelCase words
0b91f7fe5a89 Reorganized global modes a bit. Fixed multi-frame font changes.
Luke Hoersten <luke@hoersten.org>
parents: 84
diff changeset
    32
(global-hl-line-mode t)                       ; highlight current line
75
5f3bf3a9295b Cleaned up comments.
Luke Hoersten <Luke@Hoersten.org>
parents: 74
diff changeset
    33
(global-set-key (kbd "C-c c") 'compile)       ; compile
5f3bf3a9295b Cleaned up comments.
Luke Hoersten <Luke@Hoersten.org>
parents: 74
diff changeset
    34
(global-set-key (kbd "C-c r") 'recompile)     ; recompile
5f3bf3a9295b Cleaned up comments.
Luke Hoersten <Luke@Hoersten.org>
parents: 74
diff changeset
    35
(global-set-key (kbd "C-c a") 'align-regexp)  ; align
98
3ec6517d5290 Replaced rgrep with ag.
Luke Hoersten <luke@hoersten.org>
parents: 97
diff changeset
    36
(global-set-key (kbd "C-c g") 'ag)            ; ag
45
12715da9a300 Changes to reflect Ubuntu 11.10 upgrade.
Luke Hoersten <Luke@Hoersten.org>
parents: 44
diff changeset
    37
0
c25fee3c92e9 Initial commit.
Luke Hoersten <Luke@Hoersten.org>
parents:
diff changeset
    38
86
22b2ad459bc1 Ediff better defaults.
Luke Hoersten <luke@hoersten.org>
parents: 85
diff changeset
    39
;;; ediff
22b2ad459bc1 Ediff better defaults.
Luke Hoersten <luke@hoersten.org>
parents: 85
diff changeset
    40
(setq-default
22b2ad459bc1 Ediff better defaults.
Luke Hoersten <luke@hoersten.org>
parents: 85
diff changeset
    41
  ediff-split-window-function 'split-window-horizontally
22b2ad459bc1 Ediff better defaults.
Luke Hoersten <luke@hoersten.org>
parents: 85
diff changeset
    42
  ediff-window-setup-function 'ediff-setup-windows-plain)
22b2ad459bc1 Ediff better defaults.
Luke Hoersten <luke@hoersten.org>
parents: 85
diff changeset
    43
22b2ad459bc1 Ediff better defaults.
Luke Hoersten <luke@hoersten.org>
parents: 85
diff changeset
    44
32
68b57950fa11 Fixed font problem and removed os-specific config files.
Luke Hoersten <Luke@Hoersten.org>
parents: 31
diff changeset
    45
;;; Darwin
59
f346d7591eac Removed more unused init code.
Luke Hoersten <Luke@Hoersten.org>
parents: 58
diff changeset
    46
(setq is-mac (equal system-type 'darwin))
f346d7591eac Removed more unused init code.
Luke Hoersten <Luke@Hoersten.org>
parents: 58
diff changeset
    47
(when is-mac
f346d7591eac Removed more unused init code.
Luke Hoersten <Luke@Hoersten.org>
parents: 58
diff changeset
    48
  (setq-default
66
b6182e0be08d Removed bell and added menu bar on OS X.
Luke Hoersten <Luke@Hoersten.org>
parents: 65
diff changeset
    49
   ring-bell-function 'ignore
59
f346d7591eac Removed more unused init code.
Luke Hoersten <Luke@Hoersten.org>
parents: 58
diff changeset
    50
   mac-command-modifier 'meta
f346d7591eac Removed more unused init code.
Luke Hoersten <Luke@Hoersten.org>
parents: 58
diff changeset
    51
   ns-pop-up-frames nil
f346d7591eac Removed more unused init code.
Luke Hoersten <Luke@Hoersten.org>
parents: 58
diff changeset
    52
   ispell-program-name "/usr/local/bin/aspell"))
32
68b57950fa11 Fixed font problem and removed os-specific config files.
Luke Hoersten <Luke@Hoersten.org>
parents: 31
diff changeset
    53
78
7d7662fcc8d1 Started using shm and paredit.
Luke Hoersten <Luke@Hoersten.org>
parents: 77
diff changeset
    54
32
68b57950fa11 Fixed font problem and removed os-specific config files.
Luke Hoersten <Luke@Hoersten.org>
parents: 31
diff changeset
    55
;;; Xorg
59
f346d7591eac Removed more unused init code.
Luke Hoersten <Luke@Hoersten.org>
parents: 58
diff changeset
    56
(when window-system
75
5f3bf3a9295b Cleaned up comments.
Luke Hoersten <Luke@Hoersten.org>
parents: 74
diff changeset
    57
  (tool-bar-mode -1)                          ; remove tool bar
5f3bf3a9295b Cleaned up comments.
Luke Hoersten <Luke@Hoersten.org>
parents: 74
diff changeset
    58
  (scroll-bar-mode -1)                        ; remove scroll bar
5f3bf3a9295b Cleaned up comments.
Luke Hoersten <Luke@Hoersten.org>
parents: 74
diff changeset
    59
  (unless is-mac (menu-bar-mode -1))          ; remove menu bar
97
f7640b0bab67 Removed marmalade and rainbow-mode. Added ag package. Defaulted to Inconsolata on all OSs.
Luke Hoersten <luke@hoersten.org>
parents: 96
diff changeset
    60
  (set-frame-font "Inconsolata-12" nil t))
31
27930e0310d6 Reorganized a ton. Split into 3 main sections: General, Modes, and Requires.
Luke Hoersten <Luke@Hoersten.org>
parents: 30
diff changeset
    61
78
7d7662fcc8d1 Started using shm and paredit.
Luke Hoersten <Luke@Hoersten.org>
parents: 77
diff changeset
    62
82
12cf67bc486c Added paredit, flx-ido and projectile.
Luke Hoersten <luke@hoersten.org>
parents: 78
diff changeset
    63
;;;; Packages ;;;;
96
8458091b7533 Updated to ssl emacs package repos.
Luke Hoersten <luke@hoersten.org>
parents: 94
diff changeset
    64
(package-initialize)
82
12cf67bc486c Added paredit, flx-ido and projectile.
Luke Hoersten <luke@hoersten.org>
parents: 78
diff changeset
    65
(require 'package-require)
97
f7640b0bab67 Removed marmalade and rainbow-mode. Added ag package. Defaulted to Inconsolata on all OSs.
Luke Hoersten <luke@hoersten.org>
parents: 96
diff changeset
    66
(package-require '(ag company exec-path-from-shell expand-region flx-ido
94
8f7bb9aba71a Moved to haskell intero.
Luke Hoersten <luke@hoersten.org>
parents: 89
diff changeset
    67
 smex markdown-mode markdown-mode+ hgignore-mode move-text paredit
97
f7640b0bab67 Removed marmalade and rainbow-mode. Added ag package. Defaulted to Inconsolata on all OSs.
Luke Hoersten <luke@hoersten.org>
parents: 96
diff changeset
    68
 rainbow-delimiters json-mode json-reformat flycheck
82
12cf67bc486c Added paredit, flx-ido and projectile.
Luke Hoersten <luke@hoersten.org>
parents: 78
diff changeset
    69
 solarized-theme terraform-mode visual-regexp yasnippet yaml-mode
12cf67bc486c Added paredit, flx-ido and projectile.
Luke Hoersten <luke@hoersten.org>
parents: 78
diff changeset
    70
 zencoding-mode))
12cf67bc486c Added paredit, flx-ido and projectile.
Luke Hoersten <luke@hoersten.org>
parents: 78
diff changeset
    71
12cf67bc486c Added paredit, flx-ido and projectile.
Luke Hoersten <luke@hoersten.org>
parents: 78
diff changeset
    72
12cf67bc486c Added paredit, flx-ido and projectile.
Luke Hoersten <luke@hoersten.org>
parents: 78
diff changeset
    73
;;; custom requires
94
8f7bb9aba71a Moved to haskell intero.
Luke Hoersten <luke@hoersten.org>
parents: 89
diff changeset
    74
(require 'haskell-intero-init)
82
12cf67bc486c Added paredit, flx-ido and projectile.
Luke Hoersten <luke@hoersten.org>
parents: 78
diff changeset
    75
(require 'javascript-init)
12cf67bc486c Added paredit, flx-ido and projectile.
Luke Hoersten <luke@hoersten.org>
parents: 78
diff changeset
    76
(require 'c-init)
12cf67bc486c Added paredit, flx-ido and projectile.
Luke Hoersten <luke@hoersten.org>
parents: 78
diff changeset
    77
(require 'ansible-init)
12cf67bc486c Added paredit, flx-ido and projectile.
Luke Hoersten <luke@hoersten.org>
parents: 78
diff changeset
    78
31
27930e0310d6 Reorganized a ton. Split into 3 main sections: General, Modes, and Requires.
Luke Hoersten <Luke@Hoersten.org>
parents: 30
diff changeset
    79
27930e0310d6 Reorganized a ton. Split into 3 main sections: General, Modes, and Requires.
Luke Hoersten <Luke@Hoersten.org>
parents: 30
diff changeset
    80
;;; text-mode
75
5f3bf3a9295b Cleaned up comments.
Luke Hoersten <Luke@Hoersten.org>
parents: 74
diff changeset
    81
(add-hook 'fundamental-mode-hook 'flyspell-mode)      ; spellcheck text
5f3bf3a9295b Cleaned up comments.
Luke Hoersten <Luke@Hoersten.org>
parents: 74
diff changeset
    82
(add-hook 'fundamental-mode-hook 'turn-on-auto-fill)  ; autofill text
28
8f4bd2f2cc06 Aquamacs comes with more features so I removed some mac stuff.
Luke Hoersten <Luke@Hoersten.org>
parents: 26
diff changeset
    83
78
7d7662fcc8d1 Started using shm and paredit.
Luke Hoersten <Luke@Hoersten.org>
parents: 77
diff changeset
    84
31
27930e0310d6 Reorganized a ton. Split into 3 main sections: General, Modes, and Requires.
Luke Hoersten <Luke@Hoersten.org>
parents: 30
diff changeset
    85
;;; whitespace-mode
75
5f3bf3a9295b Cleaned up comments.
Luke Hoersten <Luke@Hoersten.org>
parents: 74
diff changeset
    86
(global-whitespace-mode t)                            ; show whitespace
5f3bf3a9295b Cleaned up comments.
Luke Hoersten <Luke@Hoersten.org>
parents: 74
diff changeset
    87
(add-hook 'before-save-hook 'whitespace-cleanup)      ; cleanup whitespace on exit
31
27930e0310d6 Reorganized a ton. Split into 3 main sections: General, Modes, and Requires.
Luke Hoersten <Luke@Hoersten.org>
parents: 30
diff changeset
    88
(setq-default
75
5f3bf3a9295b Cleaned up comments.
Luke Hoersten <Luke@Hoersten.org>
parents: 74
diff changeset
    89
 whitespace-line-column 120                           ; column width
5f3bf3a9295b Cleaned up comments.
Luke Hoersten <Luke@Hoersten.org>
parents: 74
diff changeset
    90
 whitespace-style                                     ; whitespace to highlight
31
27930e0310d6 Reorganized a ton. Split into 3 main sections: General, Modes, and Requires.
Luke Hoersten <Luke@Hoersten.org>
parents: 30
diff changeset
    91
 '(trailing lines-tail empty indentation
27930e0310d6 Reorganized a ton. Split into 3 main sections: General, Modes, and Requires.
Luke Hoersten <Luke@Hoersten.org>
parents: 30
diff changeset
    92
            space-before-tab space-after-tab))
21
a48713acd5c1 Rearrainged init.el
Luke Hoersten <Luke@Hoersten.org>
parents: 13
diff changeset
    93
78
7d7662fcc8d1 Started using shm and paredit.
Luke Hoersten <Luke@Hoersten.org>
parents: 77
diff changeset
    94
31
27930e0310d6 Reorganized a ton. Split into 3 main sections: General, Modes, and Requires.
Luke Hoersten <Luke@Hoersten.org>
parents: 30
diff changeset
    95
;;; org-mode
21
a48713acd5c1 Rearrainged init.el
Luke Hoersten <Luke@Hoersten.org>
parents: 13
diff changeset
    96
(add-hook
a48713acd5c1 Rearrainged init.el
Luke Hoersten <Luke@Hoersten.org>
parents: 13
diff changeset
    97
 'org-mode-hook
a48713acd5c1 Rearrainged init.el
Luke Hoersten <Luke@Hoersten.org>
parents: 13
diff changeset
    98
 (lambda ()
a48713acd5c1 Rearrainged init.el
Luke Hoersten <Luke@Hoersten.org>
parents: 13
diff changeset
    99
   (local-set-key (kbd "M-p") 'org-move-item-up)
a48713acd5c1 Rearrainged init.el
Luke Hoersten <Luke@Hoersten.org>
parents: 13
diff changeset
   100
   (local-set-key (kbd "M-S-p") 'org-move-subtree-up)
a48713acd5c1 Rearrainged init.el
Luke Hoersten <Luke@Hoersten.org>
parents: 13
diff changeset
   101
   (local-set-key (kbd "M-n") 'org-move-item-down)
a48713acd5c1 Rearrainged init.el
Luke Hoersten <Luke@Hoersten.org>
parents: 13
diff changeset
   102
   (local-set-key (kbd "M-S-n") 'org-move-subtree-down)))
31
27930e0310d6 Reorganized a ton. Split into 3 main sections: General, Modes, and Requires.
Luke Hoersten <Luke@Hoersten.org>
parents: 30
diff changeset
   103
78
7d7662fcc8d1 Started using shm and paredit.
Luke Hoersten <Luke@Hoersten.org>
parents: 77
diff changeset
   104
32
68b57950fa11 Fixed font problem and removed os-specific config files.
Luke Hoersten <Luke@Hoersten.org>
parents: 31
diff changeset
   105
;;; ibuffer
75
5f3bf3a9295b Cleaned up comments.
Luke Hoersten <Luke@Hoersten.org>
parents: 74
diff changeset
   106
(global-set-key (kbd "C-x C-b") 'ibuffer)             ; better buffer browser
87
5e8b9d224e3e Created dynamic major mode grouping for ibuffer.
Luke Hoersten <luke@hoersten.org>
parents: 85
diff changeset
   107
(require 'ibuffer)
5e8b9d224e3e Created dynamic major mode grouping for ibuffer.
Luke Hoersten <luke@hoersten.org>
parents: 85
diff changeset
   108
(require 'ibuf-ext)
5e8b9d224e3e Created dynamic major mode grouping for ibuffer.
Luke Hoersten <luke@hoersten.org>
parents: 85
diff changeset
   109
(defun ibuffer-generate-filter-groups-by-major-mode ()
5e8b9d224e3e Created dynamic major mode grouping for ibuffer.
Luke Hoersten <luke@hoersten.org>
parents: 85
diff changeset
   110
  (flet
5e8b9d224e3e Created dynamic major mode grouping for ibuffer.
Luke Hoersten <luke@hoersten.org>
parents: 85
diff changeset
   111
      ((mode-group
5e8b9d224e3e Created dynamic major mode grouping for ibuffer.
Luke Hoersten <luke@hoersten.org>
parents: 85
diff changeset
   112
        (mode)
5e8b9d224e3e Created dynamic major mode grouping for ibuffer.
Luke Hoersten <luke@hoersten.org>
parents: 85
diff changeset
   113
        (let ((mode-title
5e8b9d224e3e Created dynamic major mode grouping for ibuffer.
Luke Hoersten <luke@hoersten.org>
parents: 85
diff changeset
   114
               (capitalize (car (split-string (symbol-name mode) "-" t)))))
5e8b9d224e3e Created dynamic major mode grouping for ibuffer.
Luke Hoersten <luke@hoersten.org>
parents: 85
diff changeset
   115
          (cons mode-title `((mode . ,mode)))))
5e8b9d224e3e Created dynamic major mode grouping for ibuffer.
Luke Hoersten <luke@hoersten.org>
parents: 85
diff changeset
   116
       (buffer-modes
5e8b9d224e3e Created dynamic major mode grouping for ibuffer.
Luke Hoersten <luke@hoersten.org>
parents: 85
diff changeset
   117
        ()
5e8b9d224e3e Created dynamic major mode grouping for ibuffer.
Luke Hoersten <luke@hoersten.org>
parents: 85
diff changeset
   118
        (flet ((buffer-mode (buffer) (buffer-local-value 'major-mode buffer)))
5e8b9d224e3e Created dynamic major mode grouping for ibuffer.
Luke Hoersten <luke@hoersten.org>
parents: 85
diff changeset
   119
          (ibuffer-remove-duplicates (remq nil (mapcar 'buffer-mode (buffer-list)))))))
5e8b9d224e3e Created dynamic major mode grouping for ibuffer.
Luke Hoersten <luke@hoersten.org>
parents: 85
diff changeset
   120
    (mapcar 'mode-group (buffer-modes))))
5e8b9d224e3e Created dynamic major mode grouping for ibuffer.
Luke Hoersten <luke@hoersten.org>
parents: 85
diff changeset
   121
5e8b9d224e3e Created dynamic major mode grouping for ibuffer.
Luke Hoersten <luke@hoersten.org>
parents: 85
diff changeset
   122
(defun ibuffer-major-mode-group-hook ()
5e8b9d224e3e Created dynamic major mode grouping for ibuffer.
Luke Hoersten <luke@hoersten.org>
parents: 85
diff changeset
   123
  (interactive)
5e8b9d224e3e Created dynamic major mode grouping for ibuffer.
Luke Hoersten <luke@hoersten.org>
parents: 85
diff changeset
   124
  (setq ibuffer-filter-groups (ibuffer-generate-filter-groups-by-major-mode))
5e8b9d224e3e Created dynamic major mode grouping for ibuffer.
Luke Hoersten <luke@hoersten.org>
parents: 85
diff changeset
   125
  (ibuffer-update nil t)
5e8b9d224e3e Created dynamic major mode grouping for ibuffer.
Luke Hoersten <luke@hoersten.org>
parents: 85
diff changeset
   126
  (message "ibuffer-major-mode: groups set"))
5e8b9d224e3e Created dynamic major mode grouping for ibuffer.
Luke Hoersten <luke@hoersten.org>
parents: 85
diff changeset
   127
5e8b9d224e3e Created dynamic major mode grouping for ibuffer.
Luke Hoersten <luke@hoersten.org>
parents: 85
diff changeset
   128
(setq-default ibuffer-show-empty-filter-groups nil)
5e8b9d224e3e Created dynamic major mode grouping for ibuffer.
Luke Hoersten <luke@hoersten.org>
parents: 85
diff changeset
   129
(add-hook 'ibuffer-hook (lambda () (ibuffer-major-mode-group-hook)))
73
8167de2d2daa Lots of random changes. Stopped using Chris Done's haskell-flycheck.
Luke Hoersten <Luke@Hoersten.org>
parents: 72
diff changeset
   130
78
7d7662fcc8d1 Started using shm and paredit.
Luke Hoersten <Luke@Hoersten.org>
parents: 77
diff changeset
   131
7d7662fcc8d1 Started using shm and paredit.
Luke Hoersten <Luke@Hoersten.org>
parents: 77
diff changeset
   132
;;; shell
75
5f3bf3a9295b Cleaned up comments.
Luke Hoersten <Luke@Hoersten.org>
parents: 74
diff changeset
   133
(global-set-key (kbd "C-c s") 'eshell)  ; start shell
77
c99c95938a05 Added ansible init.
Luke Hoersten <Luke@Hoersten.org>
parents: 76
diff changeset
   134
(exec-path-from-shell-copy-env "PYTHONPATH")
73
8167de2d2daa Lots of random changes. Stopped using Chris Done's haskell-flycheck.
Luke Hoersten <Luke@Hoersten.org>
parents: 72
diff changeset
   135
(exec-path-from-shell-initialize)
8167de2d2daa Lots of random changes. Stopped using Chris Done's haskell-flycheck.
Luke Hoersten <Luke@Hoersten.org>
parents: 72
diff changeset
   136
(eshell)
8167de2d2daa Lots of random changes. Stopped using Chris Done's haskell-flycheck.
Luke Hoersten <Luke@Hoersten.org>
parents: 72
diff changeset
   137
(add-hook 'eshell-mode-hook (lambda () (setenv "TERM" "emacs")))
101
Luke Hoersten <luke@hoersten.org>
parents: 99
diff changeset
   138
(setq tramp-default-method "ssh")
78
7d7662fcc8d1 Started using shm and paredit.
Luke Hoersten <Luke@Hoersten.org>
parents: 77
diff changeset
   139
77
c99c95938a05 Added ansible init.
Luke Hoersten <Luke@Hoersten.org>
parents: 76
diff changeset
   140
;;; ido / smex / completion
82
12cf67bc486c Added paredit, flx-ido and projectile.
Luke Hoersten <luke@hoersten.org>
parents: 78
diff changeset
   141
(setq-default
12cf67bc486c Added paredit, flx-ido and projectile.
Luke Hoersten <luke@hoersten.org>
parents: 78
diff changeset
   142
 ido-enable-flex-matching t                           ; fuzzy matching for ido mode
12cf67bc486c Added paredit, flx-ido and projectile.
Luke Hoersten <luke@hoersten.org>
parents: 78
diff changeset
   143
 ido-create-new-buffer 'always                        ; create new buffer without prompt
12cf67bc486c Added paredit, flx-ido and projectile.
Luke Hoersten <luke@hoersten.org>
parents: 78
diff changeset
   144
 ido-max-window-height 1                              ; max ido window height
12cf67bc486c Added paredit, flx-ido and projectile.
Luke Hoersten <luke@hoersten.org>
parents: 78
diff changeset
   145
 ido-everywhere t                                     ; use ido where possible
12cf67bc486c Added paredit, flx-ido and projectile.
Luke Hoersten <luke@hoersten.org>
parents: 78
diff changeset
   146
 ido-use-faces nil)
12cf67bc486c Added paredit, flx-ido and projectile.
Luke Hoersten <luke@hoersten.org>
parents: 78
diff changeset
   147
(ido-mode t)                                          ; file/buffer selector
12cf67bc486c Added paredit, flx-ido and projectile.
Luke Hoersten <luke@hoersten.org>
parents: 78
diff changeset
   148
(flx-ido-mode t)
76
af643427e1be Added ido-at-point completion.
Luke Hoersten <Luke@Hoersten.org>
parents: 75
diff changeset
   149
(global-set-key (kbd "M-/") 'completion-at-point)
77
c99c95938a05 Added ansible init.
Luke Hoersten <Luke@Hoersten.org>
parents: 76
diff changeset
   150
(global-set-key (kbd "M-x") 'smex)
c99c95938a05 Added ansible init.
Luke Hoersten <Luke@Hoersten.org>
parents: 76
diff changeset
   151
(global-set-key (kbd "M-X") 'smex-major-mode-commands)
76
af643427e1be Added ido-at-point completion.
Luke Hoersten <Luke@Hoersten.org>
parents: 75
diff changeset
   152
78
7d7662fcc8d1 Started using shm and paredit.
Luke Hoersten <Luke@Hoersten.org>
parents: 77
diff changeset
   153
7d7662fcc8d1 Started using shm and paredit.
Luke Hoersten <Luke@Hoersten.org>
parents: 77
diff changeset
   154
;;; emacs-lisp-mode
85
0b91f7fe5a89 Reorganized global modes a bit. Fixed multi-frame font changes.
Luke Hoersten <luke@hoersten.org>
parents: 84
diff changeset
   155
(add-hook 'emacs-lisp-mode-hook 'enable-paredit-mode)
77
c99c95938a05 Added ansible init.
Luke Hoersten <Luke@Hoersten.org>
parents: 76
diff changeset
   156
c99c95938a05 Added ansible init.
Luke Hoersten <Luke@Hoersten.org>
parents: 76
diff changeset
   157
c99c95938a05 Added ansible init.
Luke Hoersten <Luke@Hoersten.org>
parents: 76
diff changeset
   158
;;; company-mode
85
0b91f7fe5a89 Reorganized global modes a bit. Fixed multi-frame font changes.
Luke Hoersten <luke@hoersten.org>
parents: 84
diff changeset
   159
(global-company-mode t)
77
c99c95938a05 Added ansible init.
Luke Hoersten <Luke@Hoersten.org>
parents: 76
diff changeset
   160
(global-set-key (kbd "M-/") 'company-complete)
78
7d7662fcc8d1 Started using shm and paredit.
Luke Hoersten <Luke@Hoersten.org>
parents: 77
diff changeset
   161
(setq-default
7d7662fcc8d1 Started using shm and paredit.
Luke Hoersten <Luke@Hoersten.org>
parents: 77
diff changeset
   162
 company-idle-delay nil
7d7662fcc8d1 Started using shm and paredit.
Luke Hoersten <Luke@Hoersten.org>
parents: 77
diff changeset
   163
 company-minimum-prefix-length 2
7d7662fcc8d1 Started using shm and paredit.
Luke Hoersten <Luke@Hoersten.org>
parents: 77
diff changeset
   164
 company-selection-wrap-around t
7d7662fcc8d1 Started using shm and paredit.
Luke Hoersten <Luke@Hoersten.org>
parents: 77
diff changeset
   165
 company-show-numbers t
7d7662fcc8d1 Started using shm and paredit.
Luke Hoersten <Luke@Hoersten.org>
parents: 77
diff changeset
   166
 company-tooltip-align-annotations t)
7d7662fcc8d1 Started using shm and paredit.
Luke Hoersten <Luke@Hoersten.org>
parents: 77
diff changeset
   167
59
f346d7591eac Removed more unused init code.
Luke Hoersten <Luke@Hoersten.org>
parents: 58
diff changeset
   168
85
0b91f7fe5a89 Reorganized global modes a bit. Fixed multi-frame font changes.
Luke Hoersten <luke@hoersten.org>
parents: 84
diff changeset
   169
;;; flycheck-mode
0b91f7fe5a89 Reorganized global modes a bit. Fixed multi-frame font changes.
Luke Hoersten <luke@hoersten.org>
parents: 84
diff changeset
   170
(global-flycheck-mode t)
0b91f7fe5a89 Reorganized global modes a bit. Fixed multi-frame font changes.
Luke Hoersten <luke@hoersten.org>
parents: 84
diff changeset
   171
0b91f7fe5a89 Reorganized global modes a bit. Fixed multi-frame font changes.
Luke Hoersten <luke@hoersten.org>
parents: 84
diff changeset
   172
55
d4adcd3d5ef9 Updated to emacs24 with package management and load-theme
Luke Hoersten <Luke@Hoersten.org>
parents: 54
diff changeset
   173
;;; uniquify
75
5f3bf3a9295b Cleaned up comments.
Luke Hoersten <Luke@Hoersten.org>
parents: 74
diff changeset
   174
(require 'uniquify)                     ; unique buffer names with dirs
55
d4adcd3d5ef9 Updated to emacs24 with package management and load-theme
Luke Hoersten <Luke@Hoersten.org>
parents: 54
diff changeset
   175
(setq
d4adcd3d5ef9 Updated to emacs24 with package management and load-theme
Luke Hoersten <Luke@Hoersten.org>
parents: 54
diff changeset
   176
 uniquify-buffer-name-style 'post-forward
d4adcd3d5ef9 Updated to emacs24 with package management and load-theme
Luke Hoersten <Luke@Hoersten.org>
parents: 54
diff changeset
   177
 uniquify-separator ":")
d4adcd3d5ef9 Updated to emacs24 with package management and load-theme
Luke Hoersten <Luke@Hoersten.org>
parents: 54
diff changeset
   178
78
7d7662fcc8d1 Started using shm and paredit.
Luke Hoersten <Luke@Hoersten.org>
parents: 77
diff changeset
   179
55
d4adcd3d5ef9 Updated to emacs24 with package management and load-theme
Luke Hoersten <Luke@Hoersten.org>
parents: 54
diff changeset
   180
;;; color-theme
d4adcd3d5ef9 Updated to emacs24 with package management and load-theme
Luke Hoersten <Luke@Hoersten.org>
parents: 54
diff changeset
   181
(setq-default
d4adcd3d5ef9 Updated to emacs24 with package management and load-theme
Luke Hoersten <Luke@Hoersten.org>
parents: 54
diff changeset
   182
 custom-safe-themes
d4adcd3d5ef9 Updated to emacs24 with package management and load-theme
Luke Hoersten <Luke@Hoersten.org>
parents: 54
diff changeset
   183
 '("8aebf25556399b58091e533e455dd50a6a9cba958cc4ebb0aab175863c25b9a4"
d4adcd3d5ef9 Updated to emacs24 with package management and load-theme
Luke Hoersten <Luke@Hoersten.org>
parents: 54
diff changeset
   184
   "d677ef584c6dfc0697901a44b885cc18e206f05114c8a3b7fde674fce6180879" default))
85
0b91f7fe5a89 Reorganized global modes a bit. Fixed multi-frame font changes.
Luke Hoersten <luke@hoersten.org>
parents: 84
diff changeset
   185
(when window-system (load-theme 'solarized-light))
42
ade8c2cc1b04 Fixed some minor bugs.
Luke Hoersten <Luke@Hoersten.org>
parents: 40
diff changeset
   186
78
7d7662fcc8d1 Started using shm and paredit.
Luke Hoersten <Luke@Hoersten.org>
parents: 77
diff changeset
   187
82
12cf67bc486c Added paredit, flx-ido and projectile.
Luke Hoersten <luke@hoersten.org>
parents: 78
diff changeset
   188
;;; show-paren-mode - needs to be loaded after theme
12cf67bc486c Added paredit, flx-ido and projectile.
Luke Hoersten <luke@hoersten.org>
parents: 78
diff changeset
   189
(setq-default
12cf67bc486c Added paredit, flx-ido and projectile.
Luke Hoersten <luke@hoersten.org>
parents: 78
diff changeset
   190
 show-paren-style 'expression
12cf67bc486c Added paredit, flx-ido and projectile.
Luke Hoersten <luke@hoersten.org>
parents: 78
diff changeset
   191
 show-paren-delay 0)
12cf67bc486c Added paredit, flx-ido and projectile.
Luke Hoersten <luke@hoersten.org>
parents: 78
diff changeset
   192
(set-face-attribute
12cf67bc486c Added paredit, flx-ido and projectile.
Luke Hoersten <luke@hoersten.org>
parents: 78
diff changeset
   193
 'show-paren-match nil
12cf67bc486c Added paredit, flx-ido and projectile.
Luke Hoersten <luke@hoersten.org>
parents: 78
diff changeset
   194
 :background (face-background 'highlight)
12cf67bc486c Added paredit, flx-ido and projectile.
Luke Hoersten <luke@hoersten.org>
parents: 78
diff changeset
   195
 :foreground (face-foreground 'highlight))
12cf67bc486c Added paredit, flx-ido and projectile.
Luke Hoersten <luke@hoersten.org>
parents: 78
diff changeset
   196
(show-paren-mode t)
12cf67bc486c Added paredit, flx-ido and projectile.
Luke Hoersten <luke@hoersten.org>
parents: 78
diff changeset
   197
12cf67bc486c Added paredit, flx-ido and projectile.
Luke Hoersten <luke@hoersten.org>
parents: 78
diff changeset
   198
31
27930e0310d6 Reorganized a ton. Split into 3 main sections: General, Modes, and Requires.
Luke Hoersten <Luke@Hoersten.org>
parents: 30
diff changeset
   199
;;; yasnippets
94
8f7bb9aba71a Moved to haskell intero.
Luke Hoersten <luke@hoersten.org>
parents: 89
diff changeset
   200
(with-eval-after-load 'yasnippet
8f7bb9aba71a Moved to haskell intero.
Luke Hoersten <luke@hoersten.org>
parents: 89
diff changeset
   201
  (setq yas-snippet-dirs (remq 'yas-installed-snippets-dir yas-snippet-dirs)))
8f7bb9aba71a Moved to haskell intero.
Luke Hoersten <luke@hoersten.org>
parents: 89
diff changeset
   202
(setq-default yas-prompt-functions '(yas-ido-prompt yas-dropdown-prompt)) ; use ido for multiple snippets
8f7bb9aba71a Moved to haskell intero.
Luke Hoersten <luke@hoersten.org>
parents: 89
diff changeset
   203
(yas-global-mode t)
31
27930e0310d6 Reorganized a ton. Split into 3 main sections: General, Modes, and Requires.
Luke Hoersten <Luke@Hoersten.org>
parents: 30
diff changeset
   204
71
b5976ed7311a Big updates to haskell-mode stuff.
Luke Hoersten <Luke@Hoersten.org>
parents: 70
diff changeset
   205
b5976ed7311a Big updates to haskell-mode stuff.
Luke Hoersten <Luke@Hoersten.org>
parents: 70
diff changeset
   206
;;; markdown-mode
b5976ed7311a Big updates to haskell-mode stuff.
Luke Hoersten <Luke@Hoersten.org>
parents: 70
diff changeset
   207
(add-hook 'markdown-mode-hook 'flyspell-mode)
101
Luke Hoersten <luke@hoersten.org>
parents: 99
diff changeset
   208
(setq-default markdown-command "pandoc -f gfm")
71
b5976ed7311a Big updates to haskell-mode stuff.
Luke Hoersten <Luke@Hoersten.org>
parents: 70
diff changeset
   209
55
d4adcd3d5ef9 Updated to emacs24 with package management and load-theme
Luke Hoersten <Luke@Hoersten.org>
parents: 54
diff changeset
   210
58
c25a7ccd237a Stabalized new packages and modes.
Luke Hoersten <Luke@Hoersten.org>
parents: 57
diff changeset
   211
;;; html-mode
53
0b3217376059 Minor haskell updates.
Luke Hoersten <Luke@Hoersten.org>
parents: 52
diff changeset
   212
(add-to-list 'auto-mode-alist '("\\.tpl\\'" . html-mode))
85
0b91f7fe5a89 Reorganized global modes a bit. Fixed multi-frame font changes.
Luke Hoersten <luke@hoersten.org>
parents: 84
diff changeset
   213
(add-hook 'html-mode-hook 'zencoding-mode)
58
c25a7ccd237a Stabalized new packages and modes.
Luke Hoersten <Luke@Hoersten.org>
parents: 57
diff changeset
   214
78
7d7662fcc8d1 Started using shm and paredit.
Luke Hoersten <Luke@Hoersten.org>
parents: 77
diff changeset
   215
85
0b91f7fe5a89 Reorganized global modes a bit. Fixed multi-frame font changes.
Luke Hoersten <luke@hoersten.org>
parents: 84
diff changeset
   216
;;; color-modes map
37
3c51085957be Added rainbow-delimiter (multi-colored parens) mode and updated twilight color theme.
Luke Hoersten <Luke@Hoersten.org>
parents: 36
diff changeset
   217
(mapc
59
f346d7591eac Removed more unused init code.
Luke Hoersten <Luke@Hoersten.org>
parents: 58
diff changeset
   218
 (lambda (x)
60
8beb028f936c Fixed a bug with the haskell-mode-hook
Luke Hoersten <Luke@Hoersten.org>
parents: 59
diff changeset
   219
   (add-hook x
65
839e0a541c76 Updates to moveline.
Luke Hoersten <Luke@Hoersten.org>
parents: 64
diff changeset
   220
    (lambda ()
839e0a541c76 Updates to moveline.
Luke Hoersten <Luke@Hoersten.org>
parents: 64
diff changeset
   221
      (linum-mode t)
73
8167de2d2daa Lots of random changes. Stopped using Chris Done's haskell-flycheck.
Luke Hoersten <Luke@Hoersten.org>
parents: 72
diff changeset
   222
      (rainbow-delimiters-mode t))))
37
3c51085957be Added rainbow-delimiter (multi-colored parens) mode and updated twilight color theme.
Luke Hoersten <Luke@Hoersten.org>
parents: 36
diff changeset
   223
 '(text-mode-hook
3c51085957be Added rainbow-delimiter (multi-colored parens) mode and updated twilight color theme.
Luke Hoersten <Luke@Hoersten.org>
parents: 36
diff changeset
   224
   c-mode-common-hook
3c51085957be Added rainbow-delimiter (multi-colored parens) mode and updated twilight color theme.
Luke Hoersten <Luke@Hoersten.org>
parents: 36
diff changeset
   225
   python-mode-hook
3c51085957be Added rainbow-delimiter (multi-colored parens) mode and updated twilight color theme.
Luke Hoersten <Luke@Hoersten.org>
parents: 36
diff changeset
   226
   haskell-mode-hook
58
c25a7ccd237a Stabalized new packages and modes.
Luke Hoersten <Luke@Hoersten.org>
parents: 57
diff changeset
   227
   js2-mode-hook
c25a7ccd237a Stabalized new packages and modes.
Luke Hoersten <Luke@Hoersten.org>
parents: 57
diff changeset
   228
   html-mode-hook
c25a7ccd237a Stabalized new packages and modes.
Luke Hoersten <Luke@Hoersten.org>
parents: 57
diff changeset
   229
   css-mode-hook
86
22b2ad459bc1 Ediff better defaults.
Luke Hoersten <luke@hoersten.org>
parents: 85
diff changeset
   230
   sass-mode-hook
50
6590d340a568 Added clojure mode.
Luke Hoersten <Luke@Hoersten.org>
parents: 48
diff changeset
   231
   clojure-mode-hook
77
c99c95938a05 Added ansible init.
Luke Hoersten <Luke@Hoersten.org>
parents: 76
diff changeset
   232
   emacs-lisp-mode-hook
c99c95938a05 Added ansible init.
Luke Hoersten <Luke@Hoersten.org>
parents: 76
diff changeset
   233
   conf-mode-hook
c99c95938a05 Added ansible init.
Luke Hoersten <Luke@Hoersten.org>
parents: 76
diff changeset
   234
   yaml-mode-hook))
55
d4adcd3d5ef9 Updated to emacs24 with package management and load-theme
Luke Hoersten <Luke@Hoersten.org>
parents: 54
diff changeset
   235
78
7d7662fcc8d1 Started using shm and paredit.
Luke Hoersten <Luke@Hoersten.org>
parents: 77
diff changeset
   236
71
b5976ed7311a Big updates to haskell-mode stuff.
Luke Hoersten <Luke@Hoersten.org>
parents: 70
diff changeset
   237
;;; expand-region
72
65194c801e61 Tons of updates.
Luke Hoersten <Luke@Hoersten.org>
parents: 71
diff changeset
   238
(global-set-key (kbd "C-=") 'er/expand-region)
69
b3baf25406f8 Messing with new haskell mode.
Luke Hoersten <Luke@Hoersten.org>
parents: 68
diff changeset
   239
78
7d7662fcc8d1 Started using shm and paredit.
Luke Hoersten <Luke@Hoersten.org>
parents: 77
diff changeset
   240
71
b5976ed7311a Big updates to haskell-mode stuff.
Luke Hoersten <Luke@Hoersten.org>
parents: 70
diff changeset
   241
;;; move-text
b5976ed7311a Big updates to haskell-mode stuff.
Luke Hoersten <Luke@Hoersten.org>
parents: 70
diff changeset
   242
(global-set-key (kbd "M-p") 'move-text-up)
b5976ed7311a Big updates to haskell-mode stuff.
Luke Hoersten <Luke@Hoersten.org>
parents: 70
diff changeset
   243
(global-set-key (kbd "M-n") 'move-text-down)
59
f346d7591eac Removed more unused init code.
Luke Hoersten <Luke@Hoersten.org>
parents: 58
diff changeset
   244
78
7d7662fcc8d1 Started using shm and paredit.
Luke Hoersten <Luke@Hoersten.org>
parents: 77
diff changeset
   245
59
f346d7591eac Removed more unused init code.
Luke Hoersten <Luke@Hoersten.org>
parents: 58
diff changeset
   246
;;; visual-regexp
f346d7591eac Removed more unused init code.
Luke Hoersten <Luke@Hoersten.org>
parents: 58
diff changeset
   247
(global-set-key (kbd "C-M-%") 'vr/query-replace)
f346d7591eac Removed more unused init code.
Luke Hoersten <Luke@Hoersten.org>
parents: 58
diff changeset
   248
(global-set-key (kbd "M-%") 'vr/replace)