81 lines
2.7 KiB
EmacsLisp
81 lines
2.7 KiB
EmacsLisp
;;; Emacs for the jaded vimmer
|
|
;;
|
|
;; Author: Henrik Lissner <henrik@lissner>
|
|
;; URL: https://github.com/hlissner/emacs.d
|
|
;;
|
|
;; These settings set up a very vim-like experience, with some of emacs goodness
|
|
;; squeezed into the cracks.
|
|
;;
|
|
;;; Code:
|
|
|
|
(cd "~") ; Default directory, instead of /
|
|
;; (setq debug-on-error t)
|
|
|
|
;; (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))
|
|
|
|
;; Setup loadpaths
|
|
(add-to-list 'load-path my-core-dir)
|
|
(add-to-list 'load-path my-modules-dir)
|
|
(add-to-list 'load-path my-elisp-dir)
|
|
(add-to-list 'custom-theme-load-path my-themes-dir)
|
|
|
|
;; Font & color scheme
|
|
(load-theme 'brin t)
|
|
(defvar my-font "Ubuntu Mono-15")
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;
|
|
;; Bootstrap
|
|
;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
(dolist (module '(
|
|
;; Just the... bear necessities...
|
|
core ; Emacs core settings
|
|
core-packages ; Package init & management
|
|
core-ui ; Look and behavior of the emacs UI
|
|
core-editor ; Text/code editor settings and behavior
|
|
core-osx ; OSX-specific settings & functions
|
|
core-project ; Project navigation settings & packages
|
|
|
|
;; Modules to improve on emacs' heresy
|
|
mod-ac ; Auto-complete engine & 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 ; Terminal emulator settings
|
|
|
|
;; Must be last
|
|
core-keymaps ; Global & local keybindings for all modes
|
|
))
|
|
(require module))
|
|
|
|
|
|
;;;; Modes ;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
;; 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)
|
|
|
|
;;
|