Migrate all package configs to use-package.

Total load time for 90+ packages without byte-compiling: 3s... amazing !
Thanks to \@jwiegley :-)
This commit is contained in:
syl20bnr 2013-11-20 00:30:23 -05:00
parent 9eed0e3078
commit 1ffb42448e
90 changed files with 770 additions and 733 deletions

View File

@ -1,8 +1,10 @@
(require 'auto-highlight-symbol)
(use-package auto-highlight-symbol-mode
:init
(global-auto-highlight-symbol-mode t)
:config
(custom-set-variables
'(ahs-case-fold-search nil)
'(ahs-default-range (quote ahs-range-whole-buffer))
'(ahs-idle-interval 0.5)))
(global-auto-highlight-symbol-mode t)
(custom-set-variables
'(ahs-case-fold-search nil)
'(ahs-default-range (quote ahs-range-whole-buffer))
'(ahs-idle-interval 0.5))

View File

@ -1,3 +1,5 @@
(require 'centered-cursor-mode)
(custom-set-variables '(ccm-recenter-at-end-of-file t))
(use-package centered-cursor-mode
:commands global-centered-cursor-mode
:config
(custom-set-variables '(ccm-recenter-at-end-of-file t))
)

View File

@ -1,3 +1,3 @@
(require 'dos)
(use-package dos
:mode ("\\.bat$" . dos-mode))
(add-to-list 'auto-mode-alist '("\\.bat$" . dos-mode))

View File

@ -1,11 +1,12 @@
(require 'edts-start)
;; (setq edts-log-level 'debug)
;; inherits faces from flycheck
(custom-set-faces
'(edts-face-error-line ((t (:inherit flycheck-error-face))))
'(edts-face-error-mode-line ((t (:inherit flycheck-error-face-mode-line))))
'(edts-face-warning-line ((t (:inherit flycheck-warning-face))))
'(edts-face-warning-mode-line ((t (:inherit flycheck-warning-face-mode-line))))
)
(use-package edts
:init
(require 'edts-start)
:config
;; (setq edts-log-level 'debug)
;; inherits faces from flycheck
(custom-set-faces
'(edts-face-error-line ((t (:inherit flycheck-error-face))))
'(edts-face-error-mode-line ((t (:inherit flycheck-error-face-mode-line))))
'(edts-face-warning-line ((t (:inherit flycheck-warning-face))))
'(edts-face-warning-mode-line ((t (:inherit flycheck-warning-face-mode-line))))
))

View File

@ -1,9 +1,9 @@
;; (require 'evil-relative-linum)
(use-package evil-little-word)
(require 'evil-little-word)
(use-package evil-operator-moccur
:init
(global-evil-operator-moccur-mode 1))
(require 'evil-operator-moccur)
(global-evil-operator-moccur-mode 1)
(require 'evil-operator-comment)
(global-evil-operator-comment-mode 1)
(use-package evil-operator-comment
:init
(global-evil-operator-comment-mode 1))

View File

@ -1,105 +0,0 @@
(require 'mu4e)
(require 'org-mu4e)
;; make mu4e default email client for emacs
(setq mail-user-agent 'mu4e-user-agent)
;; allow for updating mail using 'U' in the main view:
(setq mu4e-get-mail-command "offlineimap")
(setq mu4e-maildir "~/Mails")
(setq mu4e-attachment-dir "~/Mails/.Downloads")
(setq message-kill-buffer-on-exit t)
;; folders
(setq mu4e-drafts-folder "/draft")
(setq mu4e-sent-folder "/sent")
(setq mu4e-trash-folder "/trash")
(setq mu4e-refile-folder
(lambda (msg)
(cond
;; ;; messages to the mu mailing list go to the /mu folder
;; ((mu4e-message-contact-field-matches msg :to
;; "mu-discuss@googlegroups.com")
;; "/mu")
;; ;; messages sent directly to me go to /archive
;; ;; also `mu4e-user-mail-address-regexp' can be used
;; ((mu4e-message-contact-field-matches msg :to "me@example.com")
;; "/private")
;; ;; messages with football or soccer in the subject go to /football
;; ((string-match "football\\|soccer" (or (mu4e-message-field msg :subject) ""))
;; "/football")
;; everything else goes to /archive
;; important to have a catch-all at the end!
(t "/archive"))))
;; don't save message to Sent Messages, Gmail/IMAP takes care of this
(setq mu4e-sent-messages-behavior 'delete)
;; don't prompt for applying of marks, just apply
(setq mu4e-headers-leave-behavior 'apply)
;; no confirm on quit
(setq mu4e-confirm-quit nil)
;; date format
(setq mu4e-headers-date-format "%d/%b/%Y %H:%M")
;; fancy chars
(setq mu4e-use-fancy-chars t)
;; setup some handy shortcuts
;; you can quickly switch to your Inbox -- press ``ji''
;; then, when you want archive some messages, move them to
;; the 'All Mail' folder by pressing ``ma''.
(setq mu4e-maildir-shortcuts '(
("/INBOX" . ?i)
("/sent" . ?s)
("/spam" . ?m)
("/trash" . ?t)
))
;; inline images
(setq mu4e-view-show-images t
mu4e-view-image-max-width 800)
;; use imagemagick, if available
(when (fboundp 'imagemagick-register-types)
(imagemagick-register-types))
;; prefere html version
(setq mu4e-view-prefer-html t)
;; html to text conversion program
(setq mu4e-html2text-command "html2text -utf8 -width 140")
;;(setq mu4e-html2text-command "html2markdown --body-width=0 | grep -v '&nbsp_place_holder;'")
;; auto convert to html when sending
(setq org-mu4e-convert-to-html t)
;; form magnars
;; Start mu4e in fullscreen, immediately ping for new mail
(defun mu4e-up-to-date-status ()
(interactive)
(window-configuration-to-register :mu4e-fullscreen)
(mu4e)
(mu4e-update-mail-show-window)
(delete-other-windows))
;; form magnars
;; Restore previous window configuration
(defun mu4e-quit-session ()
"Restores the previous window configuration and kills the magit buffer"
(interactive)
(kill-buffer)
(jump-to-register :mu4e-fullscreen))
;; adapted from https://groups.google.com/d/topic/mu-discuss/ZXB72TR5GL0/discussion
(defun mu4e-msgv-action-view-in-browser (msg)
"View the body of the message in a web browser."
(interactive)
(let ((html (mu4e-msg-field (mu4e-message-at-point t) :body-html))
(tmpfile (format "%s/%d.html" temporary-file-directory (random))))
(unless html (error "No html part for this message"))
(with-temp-file tmpfile
(insert
"<html>"
"<head><meta http-equiv=\"content-type\""
"content=\"text/html;charset=UTF-8\">"
html))
(browse-url (concat "file://" tmpfile))))
(add-to-list 'mu4e-view-actions
'("View in browser" . mu4e-msgv-action-view-in-browser) t)

View File

@ -1,4 +1,11 @@
(require 'nose)
(add-to-list 'nose-project-root-files "setup.cfg")
(setq nose-use-verbose nil)
(use-package nose
:commands (nosetests-one
nosetests-pdb-one
nosetests-all
nosetests-pdb-all
nosetests-module
nosetests-pdb-module)
:config
(progn
(add-to-list 'nose-project-root-files "setup.cfg")
(setq nose-use-verbose nil)))

View File

@ -1 +1,2 @@
(require 'o-blog)
(use-package o-blog
:defer t)

View File

@ -1,84 +1,87 @@
(require 'powerline)
;; Setup modeline items
(defun gcs-propertized-evil-mode-tag ()
(propertize evil-mode-line-tag 'font-lock-face
;; Don't propertize if we're not in the selected buffer
(cond ((not (eq (current-buffer) (car (buffer-list)))) '())
((evil-insert-state-p) '(:background "green3" :foreground "black"))
((evil-emacs-state-p) '(:background "red" :foreground "black"))
((evil-motion-state-p) '(:background "purple" :foreground "black"))
((evil-visual-state-p) '(:background "gray" :foreground "black"))
((evil-normal-state-p) '(:background "orange" :foreground "black"))
(t '()))))
(use-package powerline
:init
(progn
;; Setup modeline items
(defun gcs-propertized-evil-mode-tag ()
(propertize evil-mode-line-tag 'font-lock-face
;; Don't propertize if we're not in the selected buffer
(cond ((not (eq (current-buffer) (car (buffer-list)))) '())
((evil-insert-state-p) '(:background "green3" :foreground "black"))
((evil-emacs-state-p) '(:background "red" :foreground "black"))
((evil-motion-state-p) '(:background "purple" :foreground "black"))
((evil-visual-state-p) '(:background "gray" :foreground "black"))
((evil-normal-state-p) '(:background "orange" :foreground "black"))
(t '()))))
(defpowerline powerline-window-number
(let ((num (window-numbering-get-number-string)))
(cond ((not (display-graphic-p)) (concat "(" num ")"))
((equal num "1") "")
((equal num "2") "")
((equal num "3") "")
((equal num "4") "")
((equal num "5") "")
((equal num "6") "")
((equal num "7") "")
((equal num "8") "")
((equal num "9") "")
((equal num "0") "")
(t (concat "(" num ")")))))
(defpowerline powerline-window-number
(let ((num (window-numbering-get-number-string)))
(cond ((not (display-graphic-p)) (concat "(" num ")"))
((equal num "1") "")
((equal num "2") "")
((equal num "3") "")
((equal num "4") "")
((equal num "5") "")
((equal num "6") "")
((equal num "7") "")
((equal num "8") "")
((equal num "9") "")
((equal num "0") "")
(t (concat "(" num ")")))))
(defpowerline powerline-evil-mode
(gcs-propertized-evil-mode-tag))
(defpowerline powerline-evil-mode
(gcs-propertized-evil-mode-tag))
(defvar powerline-minor-modesp nil)
(defun powerline-minor-modes-toggle ()
"Toggle display of minor modes."
(interactive)
(if powerline-minor-modesp
(setq powerline-minor-modesp nil)
(setq powerline-minor-modesp t)))
(defvar powerline-minor-modesp nil)
(defun powerline-minor-modes-toggle ()
"Toggle display of minor modes."
(interactive)
(if powerline-minor-modesp
(setq powerline-minor-modesp nil)
(setq powerline-minor-modesp t)))
(setq-default mode-line-format
'("%e"
(:eval
(let* ((active (eq (frame-selected-window) (selected-window)))
(face1 (if active 'powerline-active1 'powerline-inactive1))
(face2 (if active 'powerline-active2 'powerline-inactive2))
(lhs (append (list
(powerline-window-number face1 'l)
(powerline-evil-mode face1 'l)
(setq-default mode-line-format
'("%e"
(:eval
(let* ((active (eq (frame-selected-window) (selected-window)))
(face1 (if active 'powerline-active1 'powerline-inactive1))
(face2 (if active 'powerline-active2 'powerline-inactive2))
(lhs (append (list
(powerline-window-number face1 'l)
(powerline-evil-mode face1 'l)
(powerline-raw "%*" nil 'l)
(powerline-buffer-size nil 'l)
(powerline-buffer-id nil 'l)
(powerline-raw " " nil)
(powerline-raw "%*" nil 'l)
(powerline-buffer-size nil 'l)
(powerline-buffer-id nil 'l)
(powerline-raw " " nil)
(powerline-arrow-right nil face1)
(powerline-major-mode face1 'l)
(powerline-raw " " face1))
(powerline-arrow-right nil face1)
(powerline-major-mode face1 'l)
(powerline-raw " " face1))
(if powerline-minor-modesp
(list (powerline-arrow-right face1 nil)
(powerline-minor-modes nil 'l)
(powerline-raw mode-line-process nil 'l)
(powerline-raw " " nil)
(powerline-arrow-right nil face2))
(list (powerline-raw " " face1)
(powerline-arrow-right face1 face2)))
(if powerline-minor-modesp
(list (powerline-arrow-right face1 nil)
(powerline-minor-modes nil 'l)
(powerline-raw mode-line-process nil 'l)
(powerline-raw " " nil)
(powerline-arrow-right nil face2))
(list (powerline-raw " " face1)
(powerline-arrow-right face1 face2)))
(list (powerline-vc face2))))
(rhs (list
(powerline-raw global-mode-string face2 'r)
(powerline-raw " " face2)
(list (powerline-vc face2))))
(rhs (list
(powerline-raw global-mode-string face2 'r)
(powerline-raw " " face2)
(powerline-arrow-left face2 face1)
(powerline-raw " " face1)
(powerline-raw "%l:%2c" face1 'r)
(powerline-arrow-left face1 nil)
(powerline-raw " " nil)
(powerline-raw "%p" nil 'r)
(powerline-arrow-left face2 face1)
(powerline-raw " " face1)
(powerline-raw "%l:%2c" face1 'r)
(powerline-arrow-left face1 nil)
(powerline-raw " " nil)
(powerline-raw "%p" nil 'r)
(powerline-hud face2 face1))))
(concat
(powerline-render lhs)
(powerline-fill face2 (powerline-width rhs))
(powerline-render rhs))))))
(powerline-hud face2 face1))))
(concat
(powerline-render lhs)
(powerline-fill face2 (powerline-width rhs))
(powerline-render rhs))))))
))

View File

@ -1,10 +1,9 @@
(setq pylookup-dir (concat user-extensions-directory "/pylookup"))
;; set executable file and db file
(setq pylookup-program (concat pylookup-dir "/pylookup.py"))
(setq pylookup-db-file (concat pylookup-dir "/pylookup.db"))
;; to speedup, just load it on demand
(autoload 'pylookup-lookup "pylookup"
"Lookup SEARCH-TERM in the Python HTML indexes." t)
(autoload 'pylookup-update "pylookup"
"Run pylookup-update and create the database at `pylookup-db-file'." t)
(use-package pylookup
:defer t
:config
(progn
(setq pylookup-dir (concat user-extensions-directory "/pylookup"))
;; set executable file and db file
(setq pylookup-program (concat pylookup-dir "/pylookup.py"))
(setq pylookup-db-file (concat pylookup-dir "/pylookup.db"))
))

View File

@ -1,5 +1,9 @@
(require 'revive-mode-config)
(use-package revive
:init
(require 'revive-mode-config)
:config
(progn
;; save and restore layout
(add-hook 'kill-emacs-hook 'emacs-save-layout)
(add-hook 'after-init-hook 'emacs-load-layout t)))
;; save and restore layout
(add-hook 'kill-emacs-hook 'emacs-save-layout)
(add-hook 'after-init-hook 'emacs-load-layout t)

View File

@ -1,14 +1,16 @@
(require 'solarized)
(use-package solarized
:init
(progn
(deftheme solarized-dark "The dark variant of the Solarized colour theme")
(create-solarized-theme 'dark 'solarized-dark)
(provide-theme 'solarized-dark)
(deftheme solarized-dark "The dark variant of the Solarized colour theme")
(create-solarized-theme 'dark 'solarized-dark)
(provide-theme 'solarized-dark)
(deftheme solarized-light "The light variant of the Solarized colour theme")
(create-solarized-theme 'light 'solarized-light)
(provide-theme 'solarized-light)
(deftheme solarized-light "The light variant of the Solarized colour theme")
(create-solarized-theme 'light 'solarized-light)
(provide-theme 'solarized-light)
(if (or (equal system-name "QUE-WKS-AA427-Linux")
(equal system-name "QUE-WKS-AA593"))
(load-theme 'solarized-light t)
(load-theme 'solarized-dark t))))
(if (or (equal system-name "QUE-WKS-AA427-Linux")
(equal system-name "QUE-WKS-AA593"))
(load-theme 'solarized-light t)
(load-theme 'solarized-dark t))

View File

@ -1,2 +1,3 @@
(require 'window-numbering)
(window-numbering-mode 1)
(use-package window-numbering
:init
(window-numbering-mode 1))

View File

@ -1,5 +1,5 @@
(use-package ace-jump-mode
:commands ace-jump-mode
:defer t
:config
(add-hook 'ace-jump-mode-end-hook 'golden-ratio)
)

View File

@ -1,5 +1,5 @@
(use-package auto-complete-clang
:commands auto-complete-clang
:defer t
:config
(progn
(setq ac-clang-flags

View File

@ -1,9 +1,8 @@
(use-package auto-complete
:commands auto-complete-mode
:init
(require 'auto-complete-config)
:defer t
:config
(progn
(require 'auto-complete-config)
(ac-config-default)
(add-to-list 'completion-styles 'initials t)
(add-to-list 'ac-sources 'ac-source-semantic)

View File

@ -1,2 +1,4 @@
(require 'auto-dictionary)
(add-hook 'flyspell-mode-hook '(lambda () (auto-dictionary-mode 1)))
(use-package auto-dictionary
:defer t
:config
(add-hook 'flyspell-mode-hook '(lambda () (auto-dictionary-mode 1))))

View File

@ -1,2 +1,2 @@
(require 'buffer-move)
(use-package buffer-mode
:defer t)

View File

@ -1,17 +1,6 @@
(require 'cc-mode)
(add-hook 'c-mode-hook '(lambda () (c-toggle-auto-state t)))
(add-hook 'c++-mode-hook '(lambda () (c-toggle-auto-state t)))
;; From http://xugx2007.blogspot.ca/2007/06/benjamin-rutts-emacs-c-development-tips.html
(setq compilation-finish-function
(lambda (buf str)
(if (or (string-match "exited abnormally" str)
(string-match "FAILED" (buffer-string)))
;;there were errors
(message "There were errors. SPC-e-n to visit.")
;;no errors, make the compilation window go away in 0.5 seconds
(delete-windows-on buf)
(message "compilation ok."))))
(use-package cc-mode
:defer t
:config
(progn
(add-hook 'c-mode-hook '(lambda () (c-toggle-auto-state t)))
(add-hook 'c++-mode-hook '(lambda () (c-toggle-auto-state t)))))

View File

@ -1,6 +1,7 @@
(require 'cmake-mode)
(setq auto-mode-alist
(append '(("CMakeLists\\.txt\\'" . cmake-mode)
("\\.cmake\\'" . cmake-mode))
auto-mode-alist))
(use-package cmake-mode
:defer t
:init
(setq auto-mode-alist
(append '(("CMakeLists\\.txt\\'" . cmake-mode)
("\\.cmake\\'" . cmake-mode))
auto-mode-alist)))

View File

@ -1 +1,2 @@
(require 'color-moccur)
(use-package color-moccur
:defer t)

View File

@ -1 +1,2 @@
(require 'csharp-mode)
(use-package csharp-mode
:defer t)

View File

@ -1,5 +1,7 @@
;; http://jblevins.org/projects/deft/
(when (require 'deft nil 'noerror)
(use-package deft
:defer t
:config
(setq
deft-extension "org"
deft-directory "~/Org/deft/"

View File

@ -0,0 +1,2 @@
(use-package dired+
:defer t)

View File

@ -1,4 +1,5 @@
;; Elisp go-to-definition with M-. and back again with M-,
(require 'elisp-slime-nav)
(require 'evil)
(add-hook 'emacs-lisp-mode-hook (lambda () (elisp-slime-nav-mode t)))
(use-package elisp-slime-nav
:defer t
:config
(add-hook 'emacs-lisp-mode-hook (lambda () (elisp-slime-nav-mode t))))

View File

@ -0,0 +1,4 @@
(use-package elixir-mix
:defer t
:init
(global-elixir-mix-mode))

View File

@ -1,10 +1,11 @@
(require 'elixir-mode-setup)
(elixir-mode-setup)
(require 'ruby-end)
(add-to-list 'elixir-mode-hook
(defun auto-activate-ruby-end-mode-for-elixir-mode ()
(set (make-variable-buffer-local 'ruby-end-expand-keywords-before-re)
"\\(?:^\\|\\s-+\\)\\(?:do\\)")
(set (make-variable-buffer-local 'ruby-end-check-statement-modifiers) nil)
(ruby-end-mode +1)))
(use-package elixir-mode
:defer t
:config
(progn
(require 'ruby-end)
(add-to-list 'elixir-mode-hook
(defun auto-activate-ruby-end-mode-for-elixir-mode ()
(set (make-variable-buffer-local 'ruby-end-expand-keywords-before-re)
"\\(?:^\\|\\s-+\\)\\(?:do\\)")
(set (make-variable-buffer-local 'ruby-end-check-statement-modifiers) nil)
(ruby-end-mode +1)))))

View File

@ -1,22 +1,24 @@
(require 'erc)
;; joining && autojoing
(erc-autojoin-mode t)
;; check channels
(erc-track-mode t)
(setq erc-track-exclude-types '("JOIN" "NICK" "PART" "QUIT" "MODE"
"324" "329" "332" "333" "353" "477"))
;; don't show any of this
(setq erc-hide-list '("JOIN" "PART" "QUIT" "NICK"))
;; buffer width
(setq erc-fill-column 140)
(use-package erc
:defer t
:config
(progn
;; joining && autojoing
(erc-autojoin-mode t)
;; check channels
(erc-track-mode t)
(setq erc-track-exclude-types '("JOIN" "NICK" "PART" "QUIT" "MODE"
"324" "329" "332" "333" "353" "477"))
;; don't show any of this
(setq erc-hide-list '("JOIN" "PART" "QUIT" "NICK"))
;; buffer width
(setq erc-fill-column 140)))
;; from http://emacs-fu.blogspot.ca/2009/06/erc-emacs-irc-client.html
(defun erc-start-or-switch ()
"Connect to ERC, or switch to last active buffer"
(interactive)
(if (get-buffer "10.140.40.21:6667") ;; ERC already active?
(erc-track-switch-buffer 1) ;; yes: switch to last active
(when (y-or-n-p "Start ERC? ") ;; no: maybe start ERC
(erc-track-switch-buffer 1) ;; yes: switch to last active
(when (y-or-n-p "Start ERC? ") ;; no: maybe start ERC
(erc :server "10.140.40.21" :port 6667 :nick "sylnux" :full-name "Sylvain Benner"))))

View File

@ -1,17 +1,20 @@
(add-to-list 'auto-mode-alist '("\\.erl?$" . erlang-mode))
(add-to-list 'auto-mode-alist '("\\.hrl?$" . erlang-mode))
(add-to-list 'auto-mode-alist '("\\.spec?$" . erlang-mode))
(setq erlang-root-dir "/usr/lib/erlang/erts-5.10.3")
(add-to-list 'exec-path "/usr/lib/erlang/erts-5.10.3/bin")
(setq erlang-man-root-dir "/usr/lib/erlang/erts-5.10.3/man")
(setq erlang-compile-extra-opts '(debug_info))
(require 'erlang-start)
(use-package erlang-mode
:mode (("\\.erl?$" . erlang-mode)
("\\.hrl?$" . erlang-mode)
("\\.spec?$" . erlang-mode))
:config
(progn
(setq erlang-root-dir "/usr/lib/erlang/erts-5.10.3")
(add-to-list 'exec-path "/usr/lib/erlang/erts-5.10.3/bin")
(setq erlang-man-root-dir "/usr/lib/erlang/erts-5.10.3/man")
(setq erlang-compile-extra-opts '(debug_info))
(require 'erlang-start)
(add-hook 'erlang-mode-hook
(lambda ()
;; when starting an Erlang shell in Emacs, with a custom node name
(setq inferior-erlang-machine-options '("-sname" "syl20bnr"))
))
(add-hook 'erlang-mode-hook
(lambda ()
;; when starting an Erlang shell in Emacs, with a custom node name
(setq inferior-erlang-machine-options '("-sname" "syl20bnr"))
))))
;; not needed using EDTS
;; (require 'erlang-flymake)

View File

@ -1,11 +0,0 @@
(setq evil-leader/in-all-states t
evil-leader/leader "SPC"
evil-leader/non-normal-prefix "s-")
(require 'evil-leader)
;; Unset shortcuts which shadow evil leader
(eval-after-load "compile"
'(define-key compilation-mode-map (kbd "SPC") nil))
;; make leader available in visual mode
(define-key evil-visual-state-map (kbd "SPC") evil-leader--default-map)
(define-key evil-motion-state-map (kbd "SPC") evil-leader--default-map)
(define-key evil-emacs-state-map (kbd "SPC") evil-leader--default-map)

View File

@ -1,39 +1,62 @@
(setq evil-mode-line-format 'before)
(setq evil-emacs-state-cursor '("red" box))
(setq evil-normal-state-cursor '("orange" box))
(setq evil-visual-state-cursor '("black" box))
(setq evil-insert-state-cursor '("green3" box))
(setq evil-motion-state-cursor '("purple" box))
;; inspired from:
;; https://github.com/roman/emacs.d/blob/master/zoo/zoo-evil.el
(evil-define-command fd-trigger (callback)
"Allows to execute the passed function using 'fd'."
:repeat change
(let ((modified (buffer-modified-p)))
(insert "f")
(let ((evt (read-event
(format "Insert %c to exit insert state" ?d)
nil 0.2)))
(cond
((null evt)
(message ""))
((and (integerp evt)
(char-equal evt ?d))
;; remove the f character
(delete-char -1)
(set-buffer-modified-p modified)
(funcall callback))
(t ; otherwise
(setq unread-command-events (append unread-command-events
(list evt))))))))
(evil-mode 1)
;; This is an endless debate and is just a matter of convention
;; I prefer to stay on the original character when leaving insert mode
;; (initiated with 'i').
(setq evil-move-cursor-back nil)
(use-package evil
:init
(progn
(setq evil-mode-line-format 'before)
(setq evil-emacs-state-cursor '("red" box))
(setq evil-normal-state-cursor '("orange" box))
(setq evil-visual-state-cursor '("black" box))
(setq evil-insert-state-cursor '("green3" box))
(setq evil-motion-state-cursor '("purple" box))
;; This is an endless debate and is just a matter of convention
;; I prefer to stay on the original character when leaving insert mode
;; (initiated with 'i').
(setq evil-move-cursor-back nil)
(evil-mode 1))
:config
(progn
;; inspired from:
;; https://github.com/roman/emacs.d/blob/master/zoo/zoo-evil.el
(evil-define-command fd-trigger (callback)
"Allows to execute the passed function using 'fd'."
:repeat change
(let ((modified (buffer-modified-p)))
(insert "f")
(let ((evt (read-event
(format "Insert %c to exit insert state" ?d)
nil 0.2)))
(cond
((null evt)
(message ""))
((and (integerp evt)
(char-equal evt ?d))
;; remove the f character
(delete-char -1)
(set-buffer-modified-p modified)
(funcall callback))
(t ; otherwise
(setq unread-command-events (append unread-command-events
(list evt))))))))
;; load evil-leader
(use-package evil-leader
:init
(progn
(setq evil-leader/in-all-states t
evil-leader/leader "SPC"
evil-leader/non-normal-prefix "s-"))
:config
(progn
;; Unset shortcuts which shadow evil leader
(eval-after-load "compile"
'(define-key compilation-mode-map (kbd "SPC") nil))
;; make leader available in visual mode
(define-key evil-visual-state-map (kbd "SPC") evil-leader--default-map)
(define-key evil-motion-state-map (kbd "SPC") evil-leader--default-map)
(define-key evil-emacs-state-map (kbd "SPC") evil-leader--default-map)))
;; load surround
(use-package surround
:init
(global-surround-mode 1))
)
)

View File

@ -1,4 +1,6 @@
(require 'expand-region)
(custom-set-variables
'(expand-region-contract-fast-key "V")
'(expand-region-reset-fast-key "r"))
(use-package expand-region
:defer t
:config
(custom-set-variables
'(expand-region-contract-fast-key "V")
'(expand-region-reset-fast-key "r")))

View File

@ -1,5 +1,3 @@
(require 'fill-column-indicator)
(setq fci-rule-width 1)
(setq fci-enabled 0)
@ -16,3 +14,7 @@
(defun deactivate-fci ()
(setq fci-enabled 0)
(fci-mode 0))
(use-package fill-column-indicator
:commands toggle-fill-column-indicator)

View File

@ -1,4 +1,6 @@
(require 'flx-ido)
(flx-ido-mode 1)
;; disable ido faces to see flx highlights.
;; (setq ido-use-faces nil)
(use-package flx-ido
:init (flx-ido-mode 1)
:config
;; disable ido faces to see flx highlights.
;; (setq ido-use-faces nil)
)

View File

@ -1,4 +0,0 @@
(require 'flycheck-color-mode-line)
(eval-after-load "flycheck"
'(add-hook 'flycheck-mode-hook 'flycheck-color-mode-line-mode))

View File

@ -1,12 +1,18 @@
(require 'flycheck)
(use-package flycheck
:defer t
:config
(progn
(dolist (mode '(c
elixir
json
python
ruby))
(add-hook (intern (concat (symbol-name mode) "-mode-hook"))
'flycheck-mode))
(dolist (mode '(c
elixir
json
python
ruby))
(add-hook (intern (concat (symbol-name mode) "-mode-hook"))
'flycheck-mode))
(setq flycheck-check-syntax-automatically '(save mode-enabled))
(setq flycheck-standard-error-navigation nil)
(setq flycheck-check-syntax-automatically '(save mode-enabled))
(setq flycheck-standard-error-navigation nil)
(use-package flycheck-color-mode-line
:config
'(add-hook 'flycheck-mode-hook 'flycheck-color-mode-line-mode))))

View File

@ -1,33 +1,33 @@
(require 'git-gutter-fringe)
(use-package git-gutter-fringe
:init
(global-git-gutter-mode t)
:config
(progn
(setq git-gutter:hide-gutter t)
;; Don't need log/message.
(setq git-gutter:verbosity 0)
(setq git-gutter-fr:side 'right-fringe)
;; (setq git-gutter:update-hooks '(after-save-hook after-revert-hook))
;; custom graphics that works nice with half-width fringes
(fringe-helper-define 'git-gutter-fr:added nil
"..X...."
"..X...."
"XXXXX.."
"..X...."
"..X...."
)
(fringe-helper-define 'git-gutter-fr:deleted nil
"......."
"......."
"XXXXX.."
"......."
"......."
)
(fringe-helper-define 'git-gutter-fr:modified nil
"..X...."
".XXX..."
"XXXXX.."
".XXX..."
"..X...."
)))
(global-git-gutter-mode t)
(setq git-gutter:hide-gutter t)
;; Don't need log/message.
(setq git-gutter:verbosity 0)
(setq git-gutter-fr:side 'right-fringe)
;; (setq git-gutter:update-hooks '(after-save-hook after-revert-hook))
;; custom graphics that works nice with half-width fringes
(fringe-helper-define 'git-gutter-fr:added nil
"..X...."
"..X...."
"XXXXX.."
"..X...."
"..X...."
)
(fringe-helper-define 'git-gutter-fr:deleted nil
"......."
"......."
"XXXXX.."
"......."
"......."
)
(fringe-helper-define 'git-gutter-fr:modified nil
"..X...."
".XXX..."
"XXXXX.."
".XXX..."
"..X...."
)

View File

@ -1,24 +1,26 @@
(require 'golden-ratio)
(setq golden-ratio-extra-commands
(append golden-ratio-extra-commands
'(evil-window-left
evil-window-right
evil-window-up
evil-window-down
select-window-0
select-window-1
select-window-2
select-window-3
select-window-4
select-window-5
select-window-6
select-window-7
select-window-8
select-window-9
ace-jump-mode-pop-mark
buf-move-left
buf-move-right
buf-move-up
buf-move-down
)))
(golden-ratio-mode)
(use-package golden-ratio
:init
(golden-ratio-mode)
:config
(setq golden-ratio-extra-commands
(append golden-ratio-extra-commands
'(evil-window-left
evil-window-right
evil-window-up
evil-window-down
select-window-0
select-window-1
select-window-2
select-window-3
select-window-4
select-window-5
select-window-6
select-window-7
select-window-8
select-window-9
ace-jump-mode-pop-mark
buf-move-left
buf-move-right
buf-move-up
buf-move-down
))))

View File

@ -1,4 +1,10 @@
(require 'google-translate)
(setq google-translate-enable-ido-completion t)
(setq google-translate-default-source-language "En")
(setq google-translate-default-target-language "Fr")
(use-package google-translate
:commands (google-translate-query-translate
google-translate-at-point
google-translate-query-translate-reverse
google-translate-at-point-reverse)
:config
(progn
(setq google-translate-enable-ido-completion t)
(setq google-translate-default-source-language "En")
(setq google-translate-default-target-language "Fr")))

View File

@ -1,74 +1,78 @@
;; Customization
(custom-set-variables
;; Use cabal-dev for the GHCi session. Ensures our dependencies are in scope.
'(haskell-process-type 'cabal-dev)
(use-package haskell-mode
:commands haskell-mode
:config
(progn
;; Customization
(custom-set-variables
;; Use cabal-dev for the GHCi session. Ensures our dependencies are in scope.
'(haskell-process-type 'cabal-dev)
;; Use notify.el (if you have it installed) at the end of running
;; Cabal commands or generally things worth notifying.
'(haskell-notify-p t)
;; Use notify.el (if you have it installed) at the end of running
;; Cabal commands or generally things worth notifying.
'(haskell-notify-p t)
;; To enable tags generation on save.
'(haskell-tags-on-save t)
;; To enable tags generation on save.
'(haskell-tags-on-save t)
;; To enable stylish on save.
'(haskell-stylish-on-save t))
;; To enable stylish on save.
'(haskell-stylish-on-save t))
(add-hook 'haskell-mode-hook 'haskell-hook)
(add-hook 'haskell-cabal-mode-hook 'haskell-cabal-hook)
(add-hook 'haskell-mode-hook 'haskell-hook)
(add-hook 'haskell-cabal-mode-hook 'haskell-cabal-hook)
;; Haskell main editing mode key bindings.
(defun haskell-hook ()
;; Use simple indentation.
(turn-on-haskell-simple-indent)
(define-key haskell-mode-map (kbd "<return>") 'haskell-simple-indent-newline-same-col)
(define-key haskell-mode-map (kbd "C-<return>") 'haskell-simple-indent-newline-indent)
;; Haskell main editing mode key bindings.
(defun haskell-hook ()
;; Use simple indentation.
(turn-on-haskell-simple-indent)
(define-key haskell-mode-map (kbd "<return>") 'haskell-simple-indent-newline-same-col)
(define-key haskell-mode-map (kbd "C-<return>") 'haskell-simple-indent-newline-indent)
;; Load the current file (and make a session if not already made).
(define-key haskell-mode-map [?\C-c ?\C-l] 'haskell-process-load-file)
(define-key haskell-mode-map [f5] 'haskell-process-load-file)
;; Load the current file (and make a session if not already made).
(define-key haskell-mode-map [?\C-c ?\C-l] 'haskell-process-load-file)
(define-key haskell-mode-map [f5] 'haskell-process-load-file)
;; Switch to the REPL.
(define-key haskell-mode-map [?\C-c ?\C-z] 'haskell-interactive-switch)
;; “Bring” the REPL, hiding all other windows apart from the source
;; and the REPL.
(define-key haskell-mode-map (kbd "C-`") 'haskell-interactive-bring)
;; Switch to the REPL.
(define-key haskell-mode-map [?\C-c ?\C-z] 'haskell-interactive-switch)
;; “Bring” the REPL, hiding all other windows apart from the source
;; and the REPL.
(define-key haskell-mode-map (kbd "C-`") 'haskell-interactive-bring)
;; Build the Cabal project.
(define-key haskell-mode-map (kbd "C-c C-c") 'haskell-process-cabal-build)
;; Interactively choose the Cabal command to run.
(define-key haskell-mode-map (kbd "C-c c") 'haskell-process-cabal)
;; Build the Cabal project.
(define-key haskell-mode-map (kbd "C-c C-c") 'haskell-process-cabal-build)
;; Interactively choose the Cabal command to run.
(define-key haskell-mode-map (kbd "C-c c") 'haskell-process-cabal)
;; Get the type and info of the symbol at point, print it in the
;; message buffer.
(define-key haskell-mode-map (kbd "C-c C-t") 'haskell-process-do-type)
(define-key haskell-mode-map (kbd "C-c C-i") 'haskell-process-do-info)
;; Get the type and info of the symbol at point, print it in the
;; message buffer.
(define-key haskell-mode-map (kbd "C-c C-t") 'haskell-process-do-type)
(define-key haskell-mode-map (kbd "C-c C-i") 'haskell-process-do-info)
;; Contextually do clever things on the space key, in particular:
;; 1. Complete imports, letting you choose the module name.
;; 2. Show the type of the symbol after the space.
(define-key haskell-mode-map (kbd "SPC") 'haskell-mode-contextual-space)
;; Contextually do clever things on the space key, in particular:
;; 1. Complete imports, letting you choose the module name.
;; 2. Show the type of the symbol after the space.
(define-key haskell-mode-map (kbd "SPC") 'haskell-mode-contextual-space)
;; Jump to the imports. Keep tapping to jump between import
;; groups. C-u f8 to jump back again.
(define-key haskell-mode-map [f8] 'haskell-navigate-imports)
;; Jump to the imports. Keep tapping to jump between import
;; groups. C-u f8 to jump back again.
(define-key haskell-mode-map [f8] 'haskell-navigate-imports)
;; Jump to the definition of the current symbol.
(define-key haskell-mode-map (kbd "M-.") 'haskell-mode-tag-find)
;; Jump to the definition of the current symbol.
(define-key haskell-mode-map (kbd "M-.") 'haskell-mode-tag-find)
;; Indent the below lines on columns after the current column.
(define-key haskell-mode-map (kbd "C-<right>")
(lambda ()
(interactive)
(haskell-move-nested 1)))
;; Same as above but backwards.
(define-key haskell-mode-map (kbd "C-<left>")
(lambda ()
(interactive)
(haskell-move-nested -1))))
;; Indent the below lines on columns after the current column.
(define-key haskell-mode-map (kbd "C-<right>")
(lambda ()
(interactive)
(haskell-move-nested 1)))
;; Same as above but backwards.
(define-key haskell-mode-map (kbd "C-<left>")
(lambda ()
(interactive)
(haskell-move-nested -1))))
;; Useful to have these keybindings for .cabal files, too.
(defun haskell-cabal-hook ()
(define-key haskell-cabal-mode-map (kbd "C-c C-c") 'haskell-process-cabal-build)
(define-key haskell-cabal-mode-map (kbd "C-c c") 'haskell-process-cabal)
(define-key haskell-cabal-mode-map (kbd "C-`") 'haskell-interactive-bring)
(define-key haskell-cabal-mode-map [?\C-c ?\C-z] 'haskell-interactive-switch))
;; Useful to have these keybindings for .cabal files, too.
(defun haskell-cabal-hook ()
(define-key haskell-cabal-mode-map (kbd "C-c C-c") 'haskell-process-cabal-build)
(define-key haskell-cabal-mode-map (kbd "C-c c") 'haskell-process-cabal)
(define-key haskell-cabal-mode-map (kbd "C-`") 'haskell-interactive-bring)
(define-key haskell-cabal-mode-map [?\C-c ?\C-z] 'haskell-interactive-switch))))

View File

@ -1,2 +1,3 @@
(require 'helm-config)
(helm-mode 1)
(use-package helm
:init
(helm-mode 1))

View File

@ -1 +1,2 @@
(require 'hy-mode)
(use-package hy-mode
:defer t)

View File

@ -1,2 +1,4 @@
(require 'ido-vertical-mode)
;; (ido-vertical-mode)
(use-package ido-vertical-mode
:disabled t
:init
(ido-vertical-mode))

View File

@ -1,4 +1,8 @@
(setq jedi:setup-keys t)
(require 'jedi)
(setq jedi:complete-on-dot t)
(add-hook 'python-mode-hook 'jedi:setup)
(use-package jedi
:defer t
:init
(setq jedi:setup-keys t)
:config
(progn
(setq jedi:complete-on-dot t)
(add-hook 'python-mode-hook 'jedi:setup)))

View File

@ -1 +1,2 @@
(require 'json-mode)
(use-package json-mode
:defer t)

View File

@ -1,42 +1,34 @@
(require 'magit)
(global-set-key (kbd "C-x m") 'magit-status)
(use-package magit
:defer t
:config
(progn
;; full screen magit-status
(defadvice magit-status (around magit-fullscreen activate)
(window-configuration-to-register :magit-fullscreen)
ad-do-it
(delete-other-windows))
;; C-x C-k to kill file on line
(defun magit-kill-file-on-line ()
"Show file on current magit line and prompt for deletion."
(interactive)
(magit-visit-item)
(delete-current-buffer-file)
(magit-refresh))
(defun magit-quit-session ()
"Restores the previous window configuration and kills the magit buffer"
(interactive)
(kill-buffer)
(jump-to-register :magit-fullscreen))
(define-key magit-status-mode-map (kbd "q") 'magit-quit-session)
(define-key magit-status-mode-map (kbd "C-x C-k") 'magit-kill-file-on-line)
(defun magit-toggle-whitespace ()
(interactive)
(if (member "-w" magit-diff-options)
(magit-dont-ignore-whitespace)
(magit-ignore-whitespace)))
;; full screen magit-status
(defadvice magit-status (around magit-fullscreen activate)
(window-configuration-to-register :magit-fullscreen)
ad-do-it
(delete-other-windows))
(defun magit-ignore-whitespace ()
(interactive)
(add-to-list 'magit-diff-options "-w")
(magit-refresh))
(defun magit-quit-session ()
"Restores the previous window configuration and kills the magit buffer"
(interactive)
(kill-buffer)
(jump-to-register :magit-fullscreen))
(define-key magit-status-mode-map (kbd "q") 'magit-quit-session)
(defun magit-dont-ignore-whitespace ()
(interactive)
(setq magit-diff-options (remove "-w" magit-diff-options))
(magit-refresh))
(define-key magit-status-mode-map (kbd "W") 'magit-toggle-whitespace)))
(defun magit-toggle-whitespace ()
(interactive)
(if (member "-w" magit-diff-options)
(magit-dont-ignore-whitespace)
(magit-ignore-whitespace)))
(defun magit-ignore-whitespace ()
(interactive)
(add-to-list 'magit-diff-options "-w")
(magit-refresh))
(defun magit-dont-ignore-whitespace ()
(interactive)
(setq magit-diff-options (remove "-w" magit-diff-options))
(magit-refresh))
(define-key magit-status-mode-map (kbd "W") 'magit-toggle-whitespace)

View File

@ -1,4 +1,2 @@
(autoload 'markdown-mode "markdown-mode"
"Major mode for editing Markdown files" t)
(setq auto-mode-alist
(cons '("\\.md" . markdown-mode) auto-mode-alist))
(use-package markdown-mode
:mode ("\\.md" . markdown-mode))

View File

@ -1 +1,2 @@
(require 'move-text)
(use-package move-text
:defer t)

View File

@ -1,10 +1,13 @@
(require 'multi-term)
(use-package multi-term
:defer t
:config
(progn
(setq multi-term-program "/bin/zsh")
(setq multi-term-program "/bin/zsh")
(defun term-send-tab ()
"Send tab in term mode."
(interactive)
(term-send-raw-string "\t"))
(defun term-send-tab ()
"Send tab in term mode."
(interactive)
(term-send-raw-string "\t"))
(add-to-list 'term-bind-key-alist '("<tab>" . term-send-tab))))
(add-to-list 'term-bind-key-alist '("<tab>" . term-send-tab))

View File

@ -1,2 +0,0 @@
(require 'org-bullets)
(add-hook 'org-mode-hook (lambda () (org-bullets-mode 1)))

View File

@ -1,2 +0,0 @@
(require 'org-trello)
(add-hook 'org-mode-hook 'org-trello-mode)

View File

@ -1,5 +1,14 @@
(require 'org-install)
(add-to-list 'auto-mode-alist '("\\.org$" . org-mode))
(define-key global-map "\C-cl" 'org-store-link)
(define-key global-map "\C-ca" 'org-agenda)
(setq org-log-done t)
(use-package org
:mode ("\\.org$" . org-mode)
:config
(progn
(require 'org-install)
(define-key global-map "\C-cl" 'org-store-link)
(define-key global-map "\C-ca" 'org-agenda)
(setq org-log-done t)
(use-package org-bullets
:config
(add-hook 'org-mode-hook (lambda () (org-bullets-mode 1))))
(use-package org-trello
:config
(add-hook 'org-mode-hook 'org-trello-mode))))

View File

@ -1 +1,6 @@
(require 'p4)
(use-package p4
:commands (p4-add
p4-delete
p4-describe
p4-edit
p4-revert))

View File

@ -1,3 +1,4 @@
(require 'page-break-lines)
(use-package page-break-lines
:init
(global-page-break-lines-mode t))
(global-page-break-lines-mode t)

View File

@ -1,6 +1,10 @@
(dolist (mode '(scheme emacs-lisp lisp clojure clojurescript))
(when (> (display-color-cells) 8)
(font-lock-add-keywords (intern (concat (symbol-name mode) "-mode"))
'(("(\\|)" . 'esk-paren-face))))
(add-hook (intern (concat (symbol-name mode) "-mode-hook"))
'paredit-mode))
(use-package paredit
:defer t
:config
(progn
(dolist (mode '(scheme emacs-lisp lisp clojure clojurescript))
(when (> (display-color-cells) 8)
(font-lock-add-keywords (intern (concat (symbol-name mode) "-mode"))
'(("(\\|)" . 'esk-paren-face))))
(add-hook (intern (concat (symbol-name mode) "-mode-hook"))
'paredit-mode))))

View File

@ -1,11 +1,15 @@
(require 'popup)
(use-package popup
:defer t
;; :config
;; (progn
;; ;; solarized
;; (custom-set-faces
;; '(popup-face ((t (:background "#586e75" :foreground "#000000"))))
;; '(popup-menu-face ((t (:background "#586e75" :foreground "#000000"))))
;; '(popup-menu-mouse-face ((t (:background "#073642" :foreground "#dc322f" :box (:line-width -1 :style pressed-button)))))
;; '(popup-menu-selection-face ((t (:background "#073642" :foreground "#b58900" :box (:line-width -1 :style pressed-button) :overline "black" :weight bold))))
;; '(popup-scroll-bar-background-face ((t (:background "#586e75"))))
;; '(popup-scroll-bar-foreground-face ((t (:background "#002b36"))))
;; '(popup-tip-face ((t (:background "#586e75" :foreground "#000000" :slant italic))))))
)
;; solarized
(custom-set-faces
'(popup-face ((t (:background "#586e75" :foreground "#000000"))))
'(popup-menu-face ((t (:background "#586e75" :foreground "#000000"))))
'(popup-menu-mouse-face ((t (:background "#073642" :foreground "#dc322f" :box (:line-width -1 :style pressed-button)))))
'(popup-menu-selection-face ((t (:background "#073642" :foreground "#b58900" :box (:line-width -1 :style pressed-button) :overline "black" :weight bold))))
'(popup-scroll-bar-background-face ((t (:background "#586e75"))))
'(popup-scroll-bar-foreground-face ((t (:background "#002b36"))))
'(popup-tip-face ((t (:background "#586e75" :foreground "#000000" :slant italic)))))

View File

@ -1,4 +1,7 @@
(require 'popwin)
(setq display-buffer-function 'popwin:display-buffer)
(push '("^\*helm .+\*$" :regexp t) popwin:special-display-config)
(push '("^\*helm-.+\*$" :regexp t) popwin:special-display-config)
(use-package popwin
:init
(progn
(setq display-buffer-function 'popwin:display-buffer)
;; use popwin with helm
(push '("^\*helm.+\*$" :regexp t) popwin:special-display-config)
(push '("^\*helm-.+\*$" :regexp t) popwin:special-display-config)))

View File

@ -1,8 +1,11 @@
(setq pretty-symbol-categories '(lambda relational logical))
(dolist (mode '(emacs-lisp
java
python
ruby))
(add-hook (intern (concat (symbol-name mode) "-mode-hook"))
'pretty-symbols-mode))
(use-package pretty-symbols-mode
:commands pretty-symbols-mode
:init
(progn
(setq pretty-symbol-categories '(lambda relational logical))
(dolist (mode '(emacs-lisp
java
python
ruby))
(add-hook (intern (concat (symbol-name mode) "-mode-hook"))
'pretty-symbols-mode))))

View File

@ -1,4 +1,3 @@
(require 'projectile)
(dolist (mode '(python ruby))
(add-hook (intern (concat (symbol-name mode) "-mode-hook")) 'projectile-on))
(use-package projectile
:init
(projectile-global-on))

View File

@ -1,22 +1,26 @@
(add-hook 'python-mode-hook '(lambda()
(setq indent-tabs-mode nil)
(setq indent-level 4)
(setq python-indent 4)
(setq tab-width 4)))
(use-package python
:defer t
:config
(progn
(add-hook 'python-mode-hook '(lambda()
(setq indent-tabs-mode nil)
(setq indent-level 4)
(setq python-indent 4)
(setq tab-width 4)))
;; from http://pedrokroger.net/2010/07/configuring-emacs-as-a-python-ide-2/
(defun annotate-pdb ()
"Highlight break point lines."
(interactive)
(highlight-lines-matching-regexp "import pdb")
(highlight-lines-matching-regexp "pdb.set_trace()"))
(add-hook 'python-mode-hook 'annotate-pdb)
;; from http://pedrokroger.net/2010/07/configuring-emacs-as-a-python-ide-2/
(defun annotate-pdb ()
"Highlight break point lines."
(interactive)
(highlight-lines-matching-regexp "import pdb")
(highlight-lines-matching-regexp "pdb.set_trace()"))
(add-hook 'python-mode-hook 'annotate-pdb)
;; from http://pedrokroger.net/2010/07/configuring-emacs-as-a-python-ide-2/
(defun python-add-breakpoint ()
"Add a break point, highlight it and save the buffer."
(interactive)
(evil-end-of-line)
(newline-and-indent)
(insert "import pdb; pdb.set_trace()")
(save-buffer))
;; from http://pedrokroger.net/2010/07/configuring-emacs-as-a-python-ide-2/
(defun python-add-breakpoint ()
"Add a break point, highlight it and save the buffer."
(interactive)
(evil-end-of-line)
(newline-and-indent)
(insert "import pdb; pdb.set_trace()")
(save-buffer))))

View File

@ -1 +1,2 @@
(require 'quickrun)
(use-package quickrun
:defer t)

View File

@ -1,14 +1,18 @@
(defun turn-on-rainbow-delimiters-mode ()
(interactive)
(rainbow-delimiters-mode 1))
(use-package rainbow-delimiters
:defer t
:init
(progn
(defun turn-on-rainbow-delimiters-mode ()
(interactive)
(rainbow-delimiters-mode 1))
(setq-default frame-background-mode 'dark)
(let ((supported-modes '(c-mode-common-hook
emacs-lisp-mode-hook
clojure-mode-hook
javascript-mode-hook
lisp-mode-hook
python-mode-hook
erlang-mode-hook)))
(dolist (hook supported-modes)
(add-hook hook 'turn-on-rainbow-delimiters-mode)))
(setq-default frame-background-mode 'dark)
(let ((supported-modes '(c-mode-common-hook
emacs-lisp-mode-hook
clojure-mode-hook
javascript-mode-hook
lisp-mode-hook
python-mode-hook
erlang-mode-hook)))
(dolist (hook supported-modes)
(add-hook hook 'turn-on-rainbow-delimiters-mode)))))

View File

@ -1,7 +1,13 @@
(require 'recentf)
(setq recentf-exclude '("~/.emacs.d/.recentf"))
(setq recentf-save-file (concat user-emacs-directory "/.recentf"))
(setq recentf-max-saved-items 100)
(setq recentf-auto-cleanup 'never)
(setq recentf-auto-save-timer (run-with-idle-timer 600 t 'recentf-save-list))
(recentf-mode 1)
(use-package recentf
:init
(recentf-mode 1)
:config
(progn
(setq recentf-exclude '("~/.emacs.d/.recentf"))
(setq recentf-save-file (concat user-emacs-directory "/.recentf"))
(setq recentf-max-saved-items 100)
(setq recentf-auto-cleanup 'never)
(setq recentf-auto-save-timer (run-with-idle-timer 600 t 'recentf-save-list))))

View File

@ -1 +1,2 @@
(require 'rfringe)
(use-package rfringe
:defer t)

View File

@ -1 +1,2 @@
(require 'ruby-end)
(use-package ruby-end
:defer t)

View File

@ -1,8 +1,4 @@
(require 'ruby-mode)
(add-to-list 'auto-mode-alist
'("\\.\\(rb\\|ru\\|builder\\|rake\\|thor\\|gemspec\\)\\'" .
ruby-mode))
(add-to-list 'auto-mode-alist
'("\\(rake\\|thor\\|guard\\|gem\\|cap\\|vagrant\\)file\\'" .
ruby-mode))
(use-package ruby-mode
:mode (("\\(rake\\|thor\\|guard\\|gem\\|cap\\|vagrant\\)file\\'" . ruby-mode)
("\\.\\(rb\\|ru\\|builder\\|rake\\|thor\\|gemspec\\)\\'" . ruby-mode))
)

View File

@ -1 +0,0 @@
(require 'smart-operator)

View File

@ -1,2 +1,3 @@
(require 'smartparens-config)
(smartparens-global-mode t)
(use-package smartparens-config
:init
(smartparens-global-mode t))

View File

@ -1,4 +1,7 @@
(require 'stripe-buffer)
(add-hook 'dired-mode-hook 'turn-on-stripe-buffer-mode)
(add-hook 'dired-mode-hook 'stripe-listify-buffer)
(add-hook 'org-mode-hook 'turn-on-stripe-table-mode)
(use-package stripe-buffer
:disabled t
:init
(progn
(add-hook 'dired-mode-hook 'turn-on-stripe-buffer-mode)
(add-hook 'dired-mode-hook 'stripe-listify-buffer)
(add-hook 'org-mode-hook 'turn-on-stripe-table-mode)))

View File

@ -1,3 +1,5 @@
(require 'subword)
(add-hook 'prog-mode-hook 'subword-mode)
(use-package subword
:defer t
:init
(add-hook 'prog-mode-hook 'subword-mode)
)

View File

@ -1 +0,0 @@
(global-surround-mode 1)

View File

@ -1,6 +1,7 @@
(eval-after-load "sgml-mode"
'(progn
(require 'tagedit)
(tagedit-add-experimental-features)
(add-hook 'html-mode-hook (lambda () (tagedit-mode 1)))))
(use-package tagedit
:defer t
:config
(progn
(tagedit-add-experimental-features)
(add-hook 'html-mode-hook (lambda () (tagedit-mode 1)))))

View File

@ -1,26 +1,30 @@
(setq twittering-use-master-password t)
(setq twittering-icon-mode t) ; Show icons
(setq twittering-timer-interval 300) ; Update your timeline each 300 seconds (5 minutes)
(setq twittering-url-show-status nil) ; Keeps the echo area from showing all the http processes
(use-package twittering-mode
:defer t
:config
(progn
(setq twittering-use-master-password t)
(setq twittering-icon-mode t) ; Show icons
(setq twittering-timer-interval 300) ; Update your timeline each 300 seconds (5 minutes)
(setq twittering-url-show-status nil) ; Keeps the echo area from showing all the http processes
;; spell check
(add-hook 'twittering-edit-mode-hook (lambda () (ispell-minor-mode) (flyspell-mode)))
;; spell check
(add-hook 'twittering-edit-mode-hook (lambda () (ispell-minor-mode) (flyspell-mode)))
;; timelines opened at startup
(setq twittering-initial-timeline-spec-string '(
":direct_messages"
":replies"
":home"
;; ":search/emacs/"
;; "user_name/list_name"
))
;; timelines opened at startup
(setq twittering-initial-timeline-spec-string '(
":direct_messages"
":replies"
":home"
;; ":search/emacs/"
;; "user_name/list_name"
))
;; add follow URL by pressing 'o'
(add-hook 'twittering-mode-hook
(lambda ()
(mapc (lambda (pair)
(let ((key (car pair))
(func (cdr pair)))
(define-key twittering-mode-map
(read-kbd-macro key) func)))
'(("o" . twittering-click)))))
;; add follow URL by pressing 'o'
(add-hook 'twittering-mode-hook
(lambda ()
(mapc (lambda (pair)
(let ((key (car pair))
(func (cdr pair)))
(define-key twittering-mode-map
(read-kbd-macro key) func)))
'(("o" . twittering-click)))))))

View File

@ -1,2 +1,3 @@
(require 'visual-regexp-steroids)
(use-package visual-regexp-steroids
:defer t)

View File

@ -1,8 +1,10 @@
(after "volatile-highlights-autoloads"
(require 'volatile-highlights)
(use-package volatile-highlights
:init
(volatile-highlights-mode t)
:config
(progn
;; define extensions for evil mode
(vhl/define-extension 'evil_past_after 'evil-paste-after)
(vhl/install-extension 'evil_past_after)
)
)

View File

@ -1,3 +0,0 @@
;; Webjump let's you quickly search google, wikipedia, emacs wiki
(global-set-key (kbd "C-x g") 'webjump)
(global-set-key (kbd "C-x M-g") 'browse-url-at-point)

View File

@ -1,5 +1,13 @@
(require 'yasnippet)
(require 'helm-c-yasnippet)
(setq helm-c-yas-space-match-any-greedy t)
(setq yas-snippet-dirs '("~/.emacs.d/snippets"))
(yas-global-mode 1)
(use-package helm-c-yasnippet
:commands helm-c-yas-complete
:config
(progn
(setq helm-c-yas-space-match-any-greedy t)
(use-package yasnippet
:config
(progn
(setq yas-snippet-dirs '("~/.emacs.d/snippets"))
(yas-global-mode 1)
))
)
)

21
init.el
View File

@ -1,4 +1,7 @@
(require 'cl)
;; from jwiegley
;; https://github.com/jwiegley/dot-emacs/blob/master/init.el
(setq message-log-max 16384)
(defconst emacs-start-time (current-time))
;; Locations ==================================================================
(defvar user-home-directory
@ -52,3 +55,19 @@
;; Put this here since it seems to loop recursively if put in the init file
(global-centered-cursor-mode t)
;; Post initialization =======================================================
;; from jwiegley
;; https://github.com/jwiegley/dot-emacs/blob/master/init.el
;; Display load times after init.el and after all buffers has been loaded
(when window-system
(let ((elapsed (float-time (time-subtract (current-time)
emacs-start-time))))
(message "Loading %s...done (%.3fs)" load-file-name elapsed))
(add-hook 'after-init-hook
`(lambda ()
(let ((elapsed (float-time (time-subtract (current-time)
emacs-start-time))))
(message "Loading %s...done (%.3fs) [after-init]"
,load-file-name elapsed)))
t))

View File

@ -206,4 +206,18 @@ argument takes the kindows rotate backwards."
(interactive)
(load-theme 'solarized-dark))
;; From http://xugx2007.blogspot.ca/2007/06/benjamin-rutts-emacs-c-development-tips.html
(setq compilation-finish-function
(lambda (buf str)
(if (or (string-match "exited abnormally" str)
(string-match "FAILED" (buffer-string)))
;;there were errors
(message "There were errors. SPC-e-n to visit.")
;;no errors, make the compilation window go away in 0.5 seconds
(delete-windows-on buf)
(message "compilation ok."))))
(provide 'my-funcs)

View File

@ -1,7 +1,3 @@
;; http://milkbox.net/note/single-file-master-emacs-configuration/
(defmacro after (mode &rest body)
"`eval-after-load' MODE evaluate BODY."
(declare (indent defun))
`(eval-after-load ,mode '(progn ,@body)))
;; nothing here for now
(provide 'my-macros)

View File

@ -36,7 +36,8 @@
flycheck
flycheck-color-mode-line
fringe-helper
fuzzy
;; to be deleted
;; fuzzy
git-gutter-fringe
ghc
golden-ratio
@ -45,7 +46,8 @@
helm
helm-c-yasnippet
helm-projectile
htmlize
;; to be deleted
;; htmlize
hy-mode
ido-vertical-mode
jedi
@ -76,10 +78,9 @@
ruby-mode
ruby-test-mode
s
smart-operator
smartparens
string-edit
;; stripe-buffer
stripe-buffer
subword
surround
tagedit
@ -101,13 +102,11 @@
;;; initialize packages
(setq syl:package-init-dir (concat user-emacs-directory "init-package/"))
(message (format "initializing packages out of %s" syl:package-init-dir))
(dolist (package (append (mapcar 'car package--builtins) package-activated-list))
(let* ((initfile (concat syl:package-init-dir (format "init-%s.el" package))))
(if (and (package-installed-p package)
(file-exists-p initfile))
(progn (load initfile)
(message (format "loaded %s" initfile))))))
(load initfile))))
(when (memq window-system '(mac ns))
(exec-path-from-shell-initialize))

View File

@ -5,7 +5,6 @@
dos
edts
evil-plugins
;; mu4e
nose
o-blog
powerline
@ -19,11 +18,9 @@
;; initialize extensions
(setq syl:extension-init-dir (concat user-emacs-directory "init-extension/"))
(message (format "initializing extensions out of %s" syl:extension-init-dir))
(dolist (ext syl:post-extensions)
(let* ((initfile (concat syl:extension-init-dir (format "init-%s.el" ext))))
(if (file-exists-p initfile)
(progn (load initfile)
(message (format "loaded %s" initfile))))))
(load initfile))))
(provide 'post-extensions)

View File

@ -11,11 +11,9 @@
;; initialize extensions
(setq syl:extension-init-dir (concat user-emacs-directory "init-extension/"))
(message (format "initializing extensions out of %s" syl:extension-init-dir))
(dolist (ext syl:pre-extensions)
(let* ((initfile (concat syl:extension-init-dir (format "init-%s.el" ext))))
(if (file-exists-p initfile)
(progn (load initfile)
(message (format "loaded %s" initfile))))))
(load initfile))))
(provide 'pre-extensions)