(add-to-list 'load-path "~/.emacs.d/elisp") (require 'package) (add-to-list 'package-archives '("elpa" . "http://tromey.com/elpa/")) ;; Add the user-contributed repository (add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/")) ;; Milkypostman’s Experimental Lisp Package Repository (add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/") t) (package-initialize) (ido-mode) ;; Autocomplete (require 'auto-complete-config) (ac-config-default) ;; Git Gutter (global-git-gutter-mode t) ;; Fixes an issue with ECB ;; (setq stack-trace-on-error t) ;; SLIME (if (file-exists-p "~/quicklisp/slime-helper.el") (load (expand-file-name "~/quicklisp/slime-helper.el"))) ;; Erlang configuration (add-to-list 'load-path (car (file-expand-wildcards "/usr/lib/erlang/lib/tools-*/emacs"))) (setq erlang-root-dir "/usr/lib/erlang") (setq exec-path (cons "/usr/lib/erlang/bin" exec-path)) (require 'erlang-start) (add-hook 'erlang-mode-hook (lambda () ;; when starting an Erlang shell in Emacs, the node name ;; by default should be "emacs" (setq inferior-erlang-machine-options '("-sname" "emacs")))) (require 'color-theme) (color-theme-initialize) (if (display-graphic-p) (color-theme-ld-dark) (color-theme-ld-dark)) ;; Lisp-Flavored Erlang (add-to-list 'load-path (car (file-expand-wildcards "/usr/lib/erlang/lib/lfe-*/emacs"))) (require 'lfe-start 'nil 'noerror) ;; Projmake (defun projmake-mode-hook () (projmake-mode) (projmake-search-load-project)) (add-hook 'erlang-mode-hook 'projmake-mode-hook) ;; Window transparency (set-frame-parameter (selected-frame) 'alpha '(85 50)) (add-to-list 'default-frame-alist '(alpha 85 50)) (setq auto-mode-alist (cons '("\\.md" . markdown-mode) auto-mode-alist)) (setq ido-enable-flex-matching t) (global-set-key (kbd "C-,") 'kill-whole-line) ;; PHP Mode (add-to-list 'auto-mode-alist '("\\.php$" . php-mode)) (add-to-list 'auto-mode-alist '("\\.inc$" . php-mode)) ;; Multi-Web-Mode (require 'multi-web-mode) (setq mweb-default-major-mode 'html-mode) (setq mweb-tags '((php-mode "<\\?php\\|<\\? \\|<\\?=" "\\?>") (js-mode "]*>" "") (css-mode "]*>" ""))) (setq mweb-filename-extensions '("php" "htm" "html" "ctp" "phtml" "php4" "php5")) (multi-web-global-mode 1) ;; SLIME (setq inferior-lisp-program "clisp") ;; emacsredux.com (defun rename-file-and-buffer () "Rename the current buffer and file it is visiting." (interactive) (let ((filename (buffer-file-name))) (if (not (and filename (file-exists-p filename))) (message "Buffer is not visiting a file!") (let ((new-name (read-file-name "New name: " filename))) (cond ((vc-backend filename) (vc-rename-file filename new-name)) (t (rename-file filename new-name t) (rename-buffer new-name) (set-visited-file-name new-name) (set-buffer-modified-p nil))))))) (defadvice ido-find-file (after find-file-sudo activate) "Find file as root if necessary." (unless (and buffer-file-name (file-writable-p buffer-file-name)) (find-alternate-file (concat "/sudo:root@localhost:" buffer-file-name)))) (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. '(blank-chars (quote (tabs trailing space-before-tab))) '(blank-global-modes t) '(browse-url-browser-function (quote browse-url-generic)) '(browse-url-generic-program "google-chrome") '(c-basic-offset 4) '(c-default-style "bsd") '(eol-mnemonic-dos "(DOS)") '(eol-mnemonic-mac "(Mac)") '(haskell-mode-hook (quote (turn-on-haskell-indentation)) t) '(indent-tabs-mode nil) '(inferior-lisp-program "sbcl") '(inhibit-startup-screen t)) (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 (:inherit nil :stipple nil :background "black" :foreground "white" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 80 :width normal :foundry "unknown" :family "DejaVu Sans Mono"))))) (put 'narrow-to-region 'disabled nil)