# HG changeset patch # User Luke Hoersten # Date 1451433349 21600 # Node ID 0ed9a6acb330628600d5a34ee9d7ea4287e3e375 # Parent 5e8b9d224e3e42033ada02a79193b4cf283390c7# Parent 22b2ad459bc1da1077af09b622395ab24c1f995f merge diff -r 22b2ad459bc1 -r 0ed9a6acb330 elisp/haskell-init.el --- a/elisp/haskell-init.el Wed Nov 11 10:13:23 2015 -0600 +++ b/elisp/haskell-init.el Tue Dec 29 17:55:49 2015 -0600 @@ -50,7 +50,6 @@ (flycheck-clear t) (imenu-add-menubar-index) (haskell-indentation-mode t) - (haskell-indentation-enable-show-indentations) (projectile-mode t) (stack-mode t) (subword-mode t) diff -r 22b2ad459bc1 -r 0ed9a6acb330 init.el --- a/init.el Wed Nov 11 10:13:23 2015 -0600 +++ b/init.el Tue Dec 29 17:55:49 2015 -0600 @@ -103,23 +103,29 @@ ;;; ibuffer (global-set-key (kbd "C-x C-b") 'ibuffer) ; better buffer browser -(setq-default - ibuffer-show-empty-filter-groups nil - ibuffer-saved-filter-groups - '(("default" - ("Emacs Lisp" (mode . emacs-lisp-mode)) - ("Haskell" (mode . haskell-mode)) - ("Cabal" (mode . haskell-cabal-mode)) - ("Python" (mode . python-mode)) - ("Jython" (mode . jython-mode)) - ("Clojure" (mode . clojure-mode)) - ("Markup" (mode . sgml-mode)) - ("HTML" (mode . html-mode)) - ("CSS" (mode . css-mode)) - ("C++" (mode . c++-mode))))) -(add-hook - 'ibuffer-mode-hook - (lambda () (ibuffer-switch-to-saved-filter-groups "default"))) +(require 'ibuffer) +(require 'ibuf-ext) +(defun ibuffer-generate-filter-groups-by-major-mode () + (flet + ((mode-group + (mode) + (let ((mode-title + (capitalize (car (split-string (symbol-name mode) "-" t))))) + (cons mode-title `((mode . ,mode))))) + (buffer-modes + () + (flet ((buffer-mode (buffer) (buffer-local-value 'major-mode buffer))) + (ibuffer-remove-duplicates (remq nil (mapcar 'buffer-mode (buffer-list))))))) + (mapcar 'mode-group (buffer-modes)))) + +(defun ibuffer-major-mode-group-hook () + (interactive) + (setq ibuffer-filter-groups (ibuffer-generate-filter-groups-by-major-mode)) + (ibuffer-update nil t) + (message "ibuffer-major-mode: groups set")) + +(setq-default ibuffer-show-empty-filter-groups nil) +(add-hook 'ibuffer-hook (lambda () (ibuffer-major-mode-group-hook))) ;;; shell @@ -190,10 +196,10 @@ ;;; yasnippets -(with-eval-after-load 'yasnippet - (setq yas-snippet-dirs (remq 'yas-installed-snippets-dir yas-snippet-dirs))) -(setq-default yas-prompt-functions '(yas-ido-prompt yas-dropdown-prompt)) ; use ido for multiple snippets -(yas-global-mode t) +;; (with-eval-after-load 'yasnippet +;; (setq yas-snippet-dirs (remq 'yas-installed-snippets-dir yas-snippet-dirs))) +;; (setq-default yas-prompt-functions '(yas-ido-prompt yas-dropdown-prompt)) ; use ido for multiple snippets +;; (yas-global-mode t) ;;; markdown-mode