Rewrite core initfiles; fix a lot of evil/PATH bugs

This commit is contained in:
Henrik Lissner 2014-07-20 09:01:56 -04:00
parent 8a6f973c3e
commit 02863ee529
8 changed files with 222 additions and 172 deletions

53
init.el
View file

@ -4,23 +4,23 @@
;; URL: https://github.com/hlissner/emacs.d
;;
;; These settings set up a very vim-like experience, with some of emacs goodness
;; squeezed in between the cracks.
;; squeezed into the cracks.
;;
;;; Code:
(cd "~") ; Default directory, instead of /
(cd "~") ; Default directory, instead of /
;; (setq debug-on-error t)
;; Append homebrew's bin to emac's PATH
(setq exec-path (append exec-path '("/usr/local/bin")))
(server-mode t)
(unless (server-running-p) (server-start))
;; Global vars
(defvar my-dir (file-name-directory load-file-name))
(defvar my-core-dir (expand-file-name "init" my-dir))
(defvar my-modules-dir (expand-file-name "modules" my-dir))
(defvar my-themes-dir (expand-file-name "themes" my-dir))
(defvar my-elisp-dir (expand-file-name "elisp" my-dir))
(defvar my-tmp-dir (expand-file-name "tmp" my-dir))
(defvar my-dir (file-name-directory load-file-name))
(defvar my-core-dir (expand-file-name "init" my-dir))
(defvar my-modules-dir (expand-file-name "modules" my-dir))
(defvar my-themes-dir (expand-file-name "themes" my-dir))
(defvar my-elisp-dir (expand-file-name "elisp" my-dir))
(defvar my-tmp-dir (expand-file-name "tmp" my-dir))
;; Setup loadpaths
(add-to-list 'load-path my-core-dir)
@ -37,6 +37,7 @@
;;;;;;;;;;;;;;;;;;;;;;;
(dolist (module '(
;; Just the... bear necessities...
core ; Emacs core settings
core-packages ; Package init & management
core-ui ; Look and behavior of the emacs UI
@ -44,15 +45,16 @@
core-osx ; OSX-specific settings & functions
core-project ; Project navigation settings & packages
;; Editor essentials
;; Modules to improve on emacs' heresy
mod-ac ; Auto-complete engine & settings
;; mod-shell ; Terminal emulator settings
mod-snippets ; Snippet engine
mod-git ; GIT tools/settings
mod-fly ; Syntax and spell checkers
; mod-webdev ; Webdev tools (sass, js, etc)
; mod-gamedev ; Gamedev tools (C++, love2D, html5)
; mod-shell ; Goodies for ansi-term
;; Must be last!
;; Must be last
core-keymaps ; Global & local keybindings for all modes
))
(require module))
@ -60,15 +62,20 @@
;;;; Modes ;;;;;;;;;;;;;;;;;;;;;;;;
(associate-mode 'ruby-mode '(".rb" ".rake" "RakeFile"))
(associate-mode 'markdown-mode '(".md" ".markdown" "README"))
(associate-mode 'scss-mode '(".scss"))
(associate-mode 'org-mode '(".org" ".gtd") t)
(associate-mode 'js2-mode '(".js" ".json"))
(associate-mode 'web-mode '(".html" ".htm" ".phtml" ".tpl" ".tpl.php" ".erb"))
(associate-mode 'lua-mode '(".lua"))
(associate-mode 'yaml-mode '(".yml"))
(associate-mode 'python-mode '(".py"))
(associate-mode 'c++-mode '(".h") t)
;; Associates a mode with a path regex. If the third parameter is t,
;; then don't try to install the mode (use for modes that are included
;; with emacs).
(associate-mode 'ruby-mode '("\\.rb\\'" "\\.rake\\'" "Rakefile\\'"))
(associate-mode 'markdown-mode '("\\.md\\'" "\\.markdown\\'" "/README"))
(associate-mode 'scss-mode '("\\.scss\\'"))
(associate-mode 'org-mode '("\\.org\\'" "\\.gtd\\'") t)
(associate-mode 'js-mode '("\\.js\\'") t)
(associate-mode 'json-mode '("\\.json\\'" "\\.jshintrc\\'"))
(associate-mode 'web-mode '("\\.\\(p\\)?htm\\(l\\)?\\'" "\\.tpl\\(\\.php\\)?\\'" "\\.erb\\'"))
(associate-mode 'lua-mode '("\\.lua\\'"))
(associate-mode 'yaml-mode '("\\.yml\\'"))
(associate-mode 'python-mode '("\\.py\\'"))
(associate-mode 'c++-mode '("\\.h\\'") t)
(associate-mode 'shell-script-mode '("\\.zsh\\(rc\\|env\\)?\\'") t)
;;