Created
March 23, 2014 11:46
-
-
Save sunilw/9722020 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; | |
;; Some basic stuff first | |
;; | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
(add-to-list 'load-path "~/.emacs.d/lisp") | |
(savehist-mode 1) | |
;;(require 'recentf) | |
(recentf-mode 1) | |
(if (require 'sml-modeline nil 'noerror) ;; use sml-modeline if available | |
(progn | |
(sml-modeline-mode 1) ;; show buffer pos in the mode line | |
(scroll-bar-mode -1)) ;; turn off the scrollbar | |
(scroll-bar-mode 1) ;; otherwise, show a scrollbar... | |
(set-scroll-bar-mode 'right)) | |
;; for petes sake, don't add newlines | |
(setq require-final-newline nil) | |
;; indent the buffer | |
(defun iwb () | |
"indent whole buffer" | |
(interactive) | |
(delete-trailing-whitespace) | |
(indent-region (point-min) (point-max) nil) | |
(untabify (point-min) (point-max))) | |
;; smex | |
;; (add-to-list 'load-path "~/.emacs.d/lisp/smex") | |
;; (require 'smex) ; Not needed if you use package.el | |
;; (smex-initialize) ; Can be omitted. This might cause a (minimal) delay | |
;; ; when Smex is auto-initialized on its first run. | |
;; (global-set-key (kbd "M-x") 'smex) | |
;; (global-set-key (kbd "M-X") 'smex-major-mode-commands) | |
;; ;; This is your old M-x. | |
;; (global-set-key (kbd "C-c C-c M-x") 'execute-extended-command) | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; | |
;; init done. On with the show | |
;; | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; | |
;; node repl | |
;; | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; node repl | |
(require 'nodejs-repl) | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; | |
;; get lock files and autosaves out of the way | |
;; | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
(setq backup-directory-alist `(("." . "~/.saves"))) | |
(setq backup-by-copying t) | |
(setq delete-old-versions t | |
kept-new-versions 6 | |
kept-old-versions 2 | |
version-control t) | |
(setq auto-save-file-name-transforms | |
`((".*" ,"~/.saves/" t))) | |
(setq create-lockfiles nil) | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; | |
;; prevent annoying "really really close buffer?" crap | |
;; | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
(remove-hook 'kill-buffer-query-functions 'server-kill-buffer-query-function) | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; | |
;; popup | |
;; | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
(add-to-list 'load-path "~/.emacs.d/lisp/popup-el") | |
(require 'popup) | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; | |
;; helm! | |
;; | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
(add-to-list 'load-path "~/.emacs.d/lisp/helm") | |
(require 'helm-config) | |
(global-set-key (kbd "C-<tab>") 'helm-mini) | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; | |
;; auto-complete | |
;; | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
(add-to-list 'load-path "~/.emacs.d/lisp/auto-complete") | |
(require 'auto-complete-config) | |
(add-to-list 'ac-dictionary-directories "~/.emacs.d/lisp/auto-complete/dict") | |
(ac-config-default) | |
(add-to-list 'ac-modes 'coffee-mode) | |
(add-to-list 'ac-modes 'js-mode) | |
(add-to-list 'ac-modes 'python-mode) | |
(add-to-list 'ac-modes 'shell-mode) | |
(add-to-list 'ac-modes 'sass-mode) | |
(add-to-list 'ac-modes 'web-mode) | |
(add-to-list 'ac-modes 'ruby-mode) | |
(add-to-list 'ac-modes 'rinari-minor-mode) | |
(add-to-list 'ac-modes 'rhtml-mode) | |
(add-to-list 'ac-modes 'rhtml) | |
(add-to-list 'ac-modes 'inf-ruby) | |
(add-to-list 'ac-modes 'scss-mode) | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; | |
;; yasnippet | |
;; | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
(add-to-list 'load-path "~/.emacs.d/lisp/yasnippet") | |
(require 'yasnippet) | |
(setq yas/snippet-dirs "~/.emacs.d/lisp/yasnippet/snippets") | |
(yas/load-directory "~/.emacs.d/lisp/yasnippet/snippets") | |
;;(yas--initialize) | |
(yas-reload-all) | |
;;fix broken yas behaviour | |
(defun yas/advise-indent-function (function-symbol) | |
(eval `(defadvice ,function-symbol (around yas/try-expand-first activate) | |
g ,(format | |
"Try to expand a snippet before point, then call `%s' as usual" | |
function-symbol) | |
(let ((yas/fallback-behavior nil)) | |
(unless (and (interactive-p) | |
(yas/expand)) | |
ad-do-it))))) | |
;; (yas/advise-indent-function 'css-mode-indent-line) | |
(global-set-key (kbd "C-c C-r") 'sgml-tag) | |
;; | |
; mode support for yas | |
;; | |
(add-hook 'scss-mode-hook 'yas-minor-mode) | |
(add-hook 'ruby-mode-hook 'yas-minor-mode) | |
(add-hook 'rhtml-mode-hook 'yas-minor-mode) | |
(add-hook 'php-mode-hook 'yas-minor-mode) | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; | |
;; color theme | |
;; | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
(add-to-list 'load-path "~/.emacs.d/lisp/color-theme-6.6.0") | |
(require 'color-theme) | |
(load-file | |
"~/.emacs.d/lisp/color-theme-6.6.0/themes/color-theme-wombat/color-theme-wombat.el") | |
(add-to-list 'custom-theme-load-path | |
"~/.emacs.d/lisp/color-theme-6.6.0/color-theme-6.6.0/themes") | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; | |
;; emmet! | |
;; | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
(add-to-list 'load-path "~/.emacs.d/lisp/emmet-mode") | |
(require 'emmet-mode) | |
(add-hook 'web-mode-hook 'emmet-mode) | |
(add-hook 'rhtml-mode-hook 'emmet-mode) | |
(add-hook 'php-mode-hook 'emmet-mode) | |
(add-hook 'emmet-mode-hook (lambda () (setq emmet-indentation 2))) | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; | |
;; web mode | |
;; | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;;(add-to-list 'load-path "~/.emacs.d/lisp/web-mode") | |
;;(require 'web-mode) | |
(load-library "~/.emacs.d/lisp/web-mode/web-mode.el") | |
(add-to-list 'auto-mode-alist '("\\.phtml\\'" . web-mode)) | |
(add-to-list 'auto-mode-alist '("\\.html\\'" . web-mode)) | |
(add-to-list 'auto-mode-alist '("\\.tpl\\.php\\'" . web-mode)) | |
(add-to-list 'auto-mode-alist '("\\.jsp\\'" . web-mode)) | |
(add-to-list 'auto-mode-alist '("\\.as[cp]x\\'" . web-mode)) | |
(add-to-list 'auto-mode-alist '("\\.erb\\'" . web-mode)) | |
(add-to-list 'auto-mode-alist '("\\.mustache\\'" . web-mode)) | |
(add-to-list 'auto-mode-alist '("\\.djhtml\\'" . web-mode)) | |
(add-to-list 'auto-mode-alist '("\\.php\\'" . web-mode)) | |
(add-hook 'web-mode-hook 'linum-mode 1) | |
(add-hook 'web-mode-hook 'electric-pair--mode) | |
(add-hook 'web-mode-hook 'wrap-region-mode) | |
(add-hook 'web-mode-hook 'linum-mode) | |
(add-hook 'web-mode-hook 'yas-minor-mode) | |
(add-hook 'web-mode-hook 'yas-minor-mode) | |
(add-hook 'web-mode-hook 'emmet-mode) | |
(defun web-mode-init () | |
"web-mode config." | |
(setq web-mode-markup-indent-offset 4) | |
(setq web-mode-code-indent-offset 4) | |
(setq web-mode-indent-style 2) | |
(setq web-mode-prefer-server-commenting t) | |
(comment-auto-fill) | |
(auto-complete-init) | |
) | |
(add-to-list 'ac-modes 'web-mode) | |
; make php-mode indentation vaguely sane | |
(add-hook 'php-mode-hook | |
(lambda () | |
(setq indent-tabs-mode t) | |
(setq tab-width 4) | |
(c-set-offset 'substatement-open 0))) | |
(add-hook 'php-mode-hook 'auto-complete-mode 1) | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; | |
;; flymake and friends | |
;; | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
(add-to-list 'load-path "~/.emacs.d/lisp/emacs-flymake") | |
(require 'flymake) | |
(require 'flymake-cursor) | |
(add-to-list 'load-path "~/.emacs.d/lisp/flymake-easy") | |
(require 'flymake-easy) | |
;; (add-to-list 'load-path "~/.emacs.d/lisp/flymake-jslint") | |
;; (require 'flymake-jslint) | |
;; (add-hook 'js-mode-hook 'flymake-jslint-load) | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; | |
;; js2-mode | |
;; | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
(add-to-list 'load-path "~/.emacs.d/lisp/js2-mode") | |
(require 'js2-mode) | |
(autoload 'js2-mode "js2-mode" nil t) | |
(add-to-list 'auto-mode-alist '("\\.js$" . js2-mode)) | |
(add-to-list 'auto-mode-alist '(".bowerrc" . js2-mode)) | |
(add-hook 'js2-mode-hook 'yas-minor-mode) | |
;; turn flymake off for js | |
(flymake-mode nil) | |
;turn on lintnode | |
(add-hook 'js-mode-hook | |
(lambda () | |
(lintnode-hook))) | |
; js repl | |
(require 'js-comint) | |
;; Use node as our repl | |
(setq inferior-js-program-command "node") | |
(setq inferior-js-mode-hook | |
(lambda () | |
;; We like nice colors | |
(ansi-color-for-comint-mode-on) | |
;; Deal with some prompt nonsense | |
(add-to-list 'comint-preoutput-filter-functions | |
(lambda (output) | |
(replace-regexp-in-string ".*1G\.\.\..*5G" "..." | |
(replace-regexp-in-string ".*1G.*3G" ">" output)))))) | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; | |
;; sass-mode | |
;; | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; looks like we need haml-mode first | |
(add-to-list 'load-path "~/.emacs.d/lisp/haml-mode") | |
(require 'haml-mode) | |
(add-to-list 'load-path "~/.emacs.d/lisp/sass-mode") | |
(require 'sass-mode) | |
(add-hook 'sass-mode-hook 'linum-mode) | |
(add-hook 'sass-mode-hook 'global-auto-revert-mode) | |
(add-hook 'sass-mode-hook 'auto-complete-mode) | |
(add-hook 'sass-mode-hook 'yas-minor-mode) | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; | |
;; php adjustments | |
;; | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; php-mode indentation is less then ideal | |
;; lets see if we can unbreak it | |
;; http://www.emacswiki.org/emacs/PhpMode#toc16 | |
(add-hook 'php-mode-hook (lambda () | |
(defun ywb-php-lineup-arglist-intro (langelem) | |
(save-excursion | |
(goto-char (cdr langelem)) | |
(vector (+ (current-column) c-basic-offset)))) | |
(defun ywb-php-lineup-arglist-close (langelem) | |
(save-excursion | |
(goto-char (cdr langelem)) | |
(vector (current-column)))) | |
(c-set-offset 'arglist-intro 'ywb-php-lineup-arglist-intro) | |
(c-set-offset 'arglist-close 'ywb-php-lineup-arglist-close))) | |
;; fix broken css indentation | |
(setq cssm-indent-level 4) | |
(setq cssm-newline-before-closing-bracket t) | |
(setq cssm-indent-function #'cssm-c-style-indenter) | |
(setq cssm-mirror-mode nil) | |
;; while we are here... | |
(add-hook 'css-mode-hook 'smartparens-mode) | |
(add-hook 'css-mode-hook 'yas-minor-mode) | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; | |
;; python and django things | |
;; | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
(add-to-list 'load-path "~/.emacs.d/lisp/python-django.el") | |
(require 'python-django) | |
;; pony | |
(add-to-list 'load-path "~/.emacs.d/lisp/pony-mode") | |
(add-to-list 'load-path "~/.emacs.d/lisp/pony-mode/src") | |
(require 'pony-mode) | |
(setq | |
python-shell-interpreter "ipython" | |
python-shell-interpreter-args "" | |
python-shell-prompt-regexp "In \\[[0-9]+\\]: " | |
python-shell-prompt-output-regexp "Out\\[[0-9]+\\]: " | |
python-shell-completion-setup-code | |
"from IPython.core.completerlib import module_completion" | |
python-shell-completion-module-string-code | |
"';'.join(module_completion('''%s'''))\n" | |
python-shell-completion-string-code | |
"';'.join(get_ipython().Completer.all_completions('''%s'''))\n") | |
(autoload 'python-shell-switch-to-shell "python" nil t) | |
;; connect to pyflakes | |
(when (load "flymake" t) | |
(defun flymake-pyflakes-init () | |
(let* ((temp-file (flymake-init-create-temp-buffer-copy | |
'flymake-create-temp-inplace)) | |
(local-file (file-relative-name | |
temp-file | |
(file-name-directory buffer-file-name)))) | |
(list "pyflakes" (list local-file)))) | |
(add-to-list 'flymake-allowed-file-name-masks | |
'("\\.py\\'" flymake-pyflakes-init))) | |
(add-hook 'find-file-hook 'flymake-find-file-hook) | |
;; get tab completions? | |
(eval-after-load "python" | |
'(define-key inferior-python-mode-map "\t" 'python-shell-completion-complete-or-indent)) | |
(add-to-list 'load-path "~/.emacs.d/lisp/emacs-helm-pydoc") | |
(require 'helm-pydoc) | |
(eval-after-load "python" | |
'(progn | |
(define-key python-mode-map (kbd "C-c C-d") 'helm-pydoc))) | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; | |
;; company mode | |
;; | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
(add-to-list 'load-path "~/.emacs.d/lisp/company-mode" ) | |
(require 'company) | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; | |
;; ruby things | |
;; | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; Setting rbenv path | |
(setenv "PATH" (concat (getenv "HOME") "/.rbenv/shims:" (getenv "HOME") "/.rbenv/bin:" (getenv "PATH"))) | |
(setq exec-path (cons (concat (getenv "HOME") "/.rbenv/shims") (cons (concat (getenv "HOME") "/.rbenv/bin") exec-path))) | |
(add-to-list 'load-path "~/.emacs.d/lisp/rhtml") | |
(require 'rhtml-mode) | |
(add-to-list 'load-path "~/.emacs.d/lisp/inf-ruby") | |
(autoload 'inf-ruby "inf-ruby" "Run an inferior Ruby process" t) | |
(add-hook 'ruby-mode-hook 'inf-ruby-minor-mode) | |
(add-to-list 'load-path "~/.emacs.d/lisp/emacs-pry") | |
(require 'pry) | |
(global-set-key [S-f9] 'pry-intercept) | |
(global-set-key [f9] 'pry-intercept-rerun) | |
;; ruby mode for Gemfiles | |
(setq auto-mode-alist (cons '("\\.rjs\\'" . ruby-mode) auto-mode-alist)) | |
;; Rakefiles are Ruby files: | |
(setq auto-mode-alist (cons '("\\Rakefile\\'" . ruby-mode) auto-mode-alist)) | |
;; So is Gemfile: | |
(setq auto-mode-alist (cons '("\\Gemfile\\'" . ruby-mode) auto-mode-alist)) | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; | |
;; jedi | |
;; | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
(add-to-list 'load-path "~/.emacs.d/lisp/emacs-ctable") | |
(require 'ctable) | |
(add-to-list 'load-path "~/.emacs.d/lisp/emacs-deferred") | |
(require 'deferred) | |
(add-to-list 'load-path "~/.emacs.d/lisp/emacs-epc") | |
(require 'epc) | |
(add-to-list 'load-path "~/.emacs.d/lisp/emacs-jedi") | |
(add-hook 'python-mode-hook 'jedi:setup) | |
(require 'jedi) | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; | |
;; db client | |
;; | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
(add-to-list 'load-path "~/.emacs.d/lisp/emacs-edbi") | |
(require 'edbi) | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; | |
;; http://www.emacswiki.org/emacs/BackupDirectory | |
;; move autosave files out of the present working directory | |
;; | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
(setq | |
backup-by-copying t ; don't clobber symlinks | |
backup-directory-alist | |
'(("." . "~/.saves")) ; don't litter my fs tree | |
delete-old-versions t | |
kept-new-versions 6 | |
kept-old-versions 2 | |
version-control t) ; use versioned backups | |
(message "Deleting old backup files...") | |
(let ((week (* 60 60 24 7)) | |
(current (float-time (current-time)))) | |
(dolist (file (directory-files temporary-file-directory t)) | |
(when (and (backup-file-name-p file) | |
(> (- current (float-time (fifth (file-attributes file)))) | |
week)) | |
(message "%s" file) | |
(delete-file file)))) | |
;; paredit fix! | |
;; prevents extra space being thrown in | |
(defun paredit-space-for-delimiter-p (endp delimiter) | |
(and (not (if endp (eobp) (bobp))) | |
(memq (char-syntax (if endp (char-after) (char-before))) | |
(list ?\" ;; REMOVED ?w ?_ | |
(let ((matching (matching-paren delimiter))) | |
(and matching (char-syntax matching))))))) | |
;; http://emacsblog.org/2007/01/17/indent-whole-buffer/ | |
;; (defun iwb () | |
;; "indent whole buffer" | |
;; (interactive) | |
;; (delete-trailing-whitespace) | |
;; (indent-region (point-min) (point-max) nil) | |
;; (untabify (point-min) (point-max))) | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; | |
;; skewer dep: simple-httpd | |
;; | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; (add-to-list 'load-path "~/.emacs.d/lisp/emacs-web-server") | |
;; (require 'simple-httpd) | |
;; (add-hook 'js2-mode-hook 'skewer-mode) | |
;; (add-hook 'css-mode-hook 'skewer-css-mode) | |
;; (add-hook 'web-mode-hook 'skewer-html-mode) | |
;; (setq httpd-root "~/www/") | |
;; (httpd-start) | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; | |
;; skewer | |
;; | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
(add-to-list 'load-path "~/.emacs.d/lisp/skewer-mode") | |
(require 'skewer-mode) | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; | |
;; restclient | |
;; | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
(add-to-list 'load-path "~/.emacs.d/lisp/restclient.el") | |
(require 'restclient) | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; | |
;; scss mode | |
;; | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
(add-to-list 'load-path "~/.emacs.d/lisp/scss-mode") | |
(autoload 'scss-mode "scss-mode") | |
(setq scss-compile-at-save nil) | |
(add-to-list 'auto-mode-alist '("\\.scss\\'" . scss-mode)) | |
(add-hook 'scss-mode-hook 'auto-complete-mode 1) | |
(add-hook 'scss-mode-hook 'smartparens-mode) | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; | |
;; erc notify | |
;; | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; utf-8 always and forever | |
(setq erc-server-coding-system '(utf-8 )) | |
(autoload 'erc-nick-notify-mode "erc-nick-notify" | |
"Minor mode that calls `erc-nick-notify-cmd' when his nick gets | |
mentioned in an erc channel" t) | |
(eval-after-load 'erc '(erc-nick-notify-mode t)) | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; | |
;; everything else | |
;; | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
; customize mode-line | |
(set-face-foreground 'mode-line "white") | |
(set-face-background 'mode-line "purple") | |
(set-cursor-color "white") | |
(custom-set-variables | |
;; custom-set-variables was added by Custom. | |
;; If you edit it by hand, you could mess it up, so be careful. | |
;; Your init file should contain only one such instance. | |
;; If there is more than one, they won't work right. | |
'(auto-revert-check-vc-info t) | |
'(custom-safe-themes (quote ("698f6c799733e1f051f41ba2f2e0a9487178834ceb495b3c21e06fb999699779" default))) | |
'(erc-server-coding-system (quote (utf-8 . utf-8))) | |
'(inhibit-startup-screen t) | |
'(jabber-account-list (quote (("") ("[email protected]")))) | |
'(require-final-newline nil) | |
'(tool-bar-mode nil)) | |
(custom-set-faces | |
;; custom-set-faces was added by Custom. | |
;; If you edit it by hand, you could mess it up, so be careful. | |
;; Your init file should contain only one such instance. | |
;; If there is more than one, they won't work right. | |
'(default ((t (:family "Source Sans Pro" :foundry "adobe" :slant normal :weight light :height 162 :width normal))) nil (quote (nil ((t (:foreground "Green"))) t)))) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment