diff --git a/Cask b/Cask new file mode 100644 index 000000000..41f913f8d --- /dev/null +++ b/Cask @@ -0,0 +1,89 @@ +(source melpa) +(source org) +(source marmalade) +(source gnu) + +;; Essentials +(depends-on "cask") +(depends-on "dash") +(depends-on "s") +(depends-on "f") +(depends-on "deferred") +(depends-on "exec-path-from-shell") +(depends-on "use-package") + +;; Editing +(depends-on "autopair") +(depends-on "expand-region") +(depends-on "flycheck") +(depends-on "flyspell") +(depends-on "multiple-cursors") +(depends-on "rainbow-delimiters") +(depends-on "autopair") +(depends-on "anzu") +(depends-on "key-chord") +(depends-on "saveplace") +(depends-on "yasnippet") +(depends-on "highlight-indentation" :git "https://github.com/hlissner/Highlight-Indentation-for-Emacs") +(depends-on "git-gutter-fringe") +(depends-on "popwin") +(depends-on "dash-at-point") +(depends-on "auto-complete") +(depends-on "auto-complete-clang") +(depends-on "auto-complete-c-headers") + +;; Eeeevil +(depends-on "evil") +(depends-on "evil-matchit") +(depends-on "evil-surround") +(depends-on "evil-numbers") +(depends-on "evil-exchange") +(depends-on "evil-space") +(depends-on "evil-visualstar") +(depends-on "evil-nerd-commenter") + +;; Project management +(depends-on "projectile") +(depends-on "helm") +(depends-on "smex") +(depends-on "ag") +(depends-on "grizzl") +(depends-on "neotree") +(depends-on "ido-ubiquitous") +(depends-on "ido-vertical-mode") +(depends-on "flx-ido") + +;; Modes/mode-specific +(depends-on "org-plus-contrib") +(depends-on "org-opml" :git "https://github.com/edavis/org-opml") + +(depends-on "rainbow-mode") +(depends-on "web-mode") +(depends-on "lua-mode") +(depends-on "php-mode") +(depends-on "emmet-mode") +(depends-on "haml-mode") +(depends-on "scss-mode") +(depends-on "sws-mode") +(depends-on "json-mode") +(depends-on "yaml-mode") +(depends-on "markdown-mode") +(depends-on "glsl-mode") + +(depends-on "tern") +(depends-on "tern-auto-complete") + +(depends-on "rbenv") +(depends-on "inf-ruby") +(depends-on "ac-inf-ruby") + +(depends-on "jedi") + +(depends-on "omnisharp") +(depends-on "csharp-mode") +(depends-on "emacs-eclim") + +(depends-on "git-commit-mode") +(depends-on "git-rebase-mode") +(depends-on "gitconfig-mode") +(depends-on "gitignore-mode") diff --git a/elpa/.gitkeep b/elpa/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/init.el b/init.el index 14945fc0a..8e7f14599 100644 --- a/init.el +++ b/init.el @@ -3,16 +3,20 @@ ;; Author: 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. +;; These settings set up a vim-like experience, with some of emacs +;; goodness squeezed into the cracks. ;; ;;; Code: (cd "~") ; Default directory, instead of / ;; (setq use-package-verbose t) -(server-mode t) -(unless (server-running-p) (server-start)) +(require 'cask) +(cask-initialize) + +(when window-system + (server-mode t) + (unless (server-running-p) (server-start))) ;; Global vars (defconst my/dir (file-name-directory load-file-name)) @@ -24,6 +28,7 @@ (defconst my/theme 'brin) (defconst my/font "Inconsolata-14") +;; (defconst my/font "Ubuntu-Mono-16") (add-to-list 'load-path my/init-dir) diff --git a/init/core-editor.el b/init/core-editor.el index c6a3f638a..1d3f371dc 100644 --- a/init/core-editor.el +++ b/init/core-editor.el @@ -1,16 +1,6 @@ ;;;; Editor behavior ;;;;;;;;;;;;;;;; -;; (electric-indent-mode +1) ; auto-indent on RET -;; (defun disable-electric-indent-mode () -;; (set (make-local-variable 'electric-indent-mode) nil) -;; (setq-local tab-always-indent t)) - -;; ;; Only enable electric-mode in programming languages -;; (add-hook 'text-mode-hook 'disable-electric-indent-mode) -;; (add-hook 'org-mode-hook 'disable-electric-indent-mode) -;; (add-hook 'markdown-mode-hook 'disable-electric-indent-mode) - -;; (global-hl-line-mode +1) ; highlight the line (blink-cursor-mode -1) + (setq-default tab-width 4 ; set tab width to 4 for all buffers indent-tabs-mode nil ; use tabs, not spaces @@ -22,36 +12,41 @@ (add-hook 'before-save-hook 'delete-trailing-whitespace) (setq ediff-window-setup-function 'ediff-setup-windows-plain) -;;;; Plugins ;;;;;;;;;;;;;;;;;;;;;;;; -(use-package deferred :ensure t :defer t) -(use-package helm :ensure t :defer t) -(use-package ediff :ensure t :defer t) +;; All this just to show errant tab characters +(add-hook 'font-lock-mode-hook + (function + (lambda () + (setq font-lock-keywords + (append font-lock-keywords + '(("\r" (0 'my-carriage-return-face t)) + ("\t" (0 'my-tab-face t)))))))) +(setq whitespace-style (quote (face trailing tab-mark))) +(setq whitespace-display-mappings '((tab-mark 9 [?> 9] [92 9]))) +(add-hook 'find-file-hook 'whitespace-mode) -(use-package evil :ensure t +;;;; Plugins ;;;;;;;;;;;;;;;;;;;;;;;; +(use-package highlight-indentation + :init + (add-hook 'prog-mode-hook 'highlight-indentation-mode)) + +(use-package evil :diminish undo-tree-mode :config (progn - ;; (setq evil-want-C-i-jump t) - ;; (setq evil-want-C-u-scroll t) - (evil-mode 1) - (use-package evil-leader :ensure t) - (use-package evil-matchit :ensure t) - (use-package evil-surround :ensure t) - (use-package evil-numbers :ensure t) - (use-package evil-exchange :ensure t) - (use-package evil-space :ensure t) - (use-package evil-visualstar :ensure t) - (use-package evil-nerd-commenter :ensure t) + (use-package evil-matchit) + (use-package evil-surround) + (use-package evil-numbers) + (use-package evil-exchange) + (use-package evil-space) + (use-package evil-visualstar) + (use-package evil-nerd-commenter) (use-package evil-ex-registers) ;; To get evil-leader mappings to work in the messages buffer... (kill-buffer "*Messages*") - (setq evil-leader/in-all-states t) - - (global-evil-leader-mode 1) (global-evil-matchit-mode 1) (global-evil-surround-mode 1) @@ -69,15 +64,15 @@ ;; Enable registers in ex-mode (define-key evil-ex-completion-map (kbd "C-r") #'evil-ex-paste-from-register))) -;; (use-package rainbow-mode :ensure t :defer t) -(use-package rainbow-delimiters :ensure t +(use-package rainbow-delimiters :commands rainbow-delimiters-mode :init (add-hook 'prog-mode-hook 'rainbow-delimiters-mode)) -(use-package rotate-text :commands (rotate-word-at-point rotate-region)) +(use-package rotate-text + :commands (rotate-word-at-point rotate-region)) ;;;; Init plugins ;;;;;;;;;;;;;;;;;;; -(use-package autopair :ensure t +(use-package autopair :diminish autopair-mode :init (progn (autopair-global-mode) @@ -85,11 +80,13 @@ ;; disable blink-matching-paren (setq blink-matching-paren nil))) -(use-package anzu :ensure t +(use-package anzu :diminish anzu-mode :init (global-anzu-mode)) -(use-package key-chord :ensure t +(use-package expand-region) + +(use-package key-chord :init (progn (key-chord-mode 1) (setq key-chord-two-keys-delay 0.5))) @@ -110,7 +107,7 @@ savehist-file (expand-file-name "savehist" my/tmp-dir)) (savehist-mode 1))) -(use-package multiple-cursors :ensure t +(use-package multiple-cursors :commands (mc/mark-next-like-this mc/mark-previous-like-this mc/mark-all-like-this) :config (progn @@ -119,7 +116,7 @@ (defadvice keyboard-quit (around mc-and-keyboard-quit activate) (mc/keyboard-quit) ad-do-it))) -(use-package smex :ensure t +(use-package smex :commands (smex smex-major-mode-commands) :config (progn (smex-initialize) @@ -128,7 +125,7 @@ (when (boundp 'smex-cache) (smex-update))) (add-hook 'after-load-functions 'smex-update-after-load))) -(use-package recentf :ensure t +(use-package recentf :init (progn (recentf-mode 1) (add-to-list 'recentf-exclude "\\.ido\\.last\\'") diff --git a/init/core-keymaps.el b/init/core-keymaps.el index 8854969aa..944c4c1f0 100644 --- a/init/core-keymaps.el +++ b/init/core-keymaps.el @@ -44,6 +44,7 @@ (kbd "s-M") 'projectile-recentf (kbd "s-o") 'ido-find-file (kbd "s-d") 'dash-at-point + (kbd "s-'") 'mc/mark-next-like-this (kbd "s-\"") 'mc/mark-previous-like-this (kbd "C-s-'") 'mc/mark-all-like-this) @@ -66,25 +67,25 @@ (kbd "s-E") 'emmet-expand-line))) ;; Local keymaps ;;;;;;;;;;;;;;;; -(evil-leader/set-leader ",") -(evil-leader/set-key - "'" 'mc/mark-next-like-this - "\"" 'mc/mark-all-like-this - "e" 'ido-find-file - "E" 'my/initfiles - "g" 'git-gutter:stage-hunk - "G" 'git-gutter:revert-hunk - "m" 'my/recentf-ido-find-file ; recent GLOBAL files - "M" 'projectile-recentf ; recent PROJECT files - "p" 'projectile-switch-project - "\\" 'neotree-show - "|" 'neotree-hide - ";" 'helm-imenu - ":" 'my/ido-goto-symbol - "," 'ido-switch-buffer - "." 'projectile-find-file - "=" 'align-regexp - (kbd "RET") 'org-capture) +(nmap my/mode-map + ",'" 'mc/mark-next-like-this + ",\"" 'mc/mark-all-like-this + + ",e" 'ido-find-file + ",E" 'my/initfiles + ",g" 'git-gutter:stage-hunk + ",G" 'git-gutter:revert-hunk + ",m" 'my/recentf-ido-find-file ; recent GLOBAL files + ",M" 'projectile-recentf ; recent PROJECT files + ",p" 'projectile-switch-project + ",\\" 'neotree-show + ",|" 'neotree-hide + ",;" 'helm-imenu + ",:" 'my/ido-goto-symbol + ",," 'ido-switch-buffer + ",." 'projectile-find-file + ",=" 'align-regexp + (kbd ", RET") 'org-capture) ;; Remap ; to : - SPC and shift-SPC replace ; and , - have to use ;; define-key instead of n/vmap for this one to register. @@ -125,7 +126,10 @@ ;; vnoremap > >gv ">" (λ (evil-shift-right (region-beginning) (region-end)) (evil-normal-state) - (evil-visual-restore))) + (evil-visual-restore)) + + "+" 'er/expand-region + "_" 'er/contract-region) (imap my/mode-map ;; Make DEL act like expandtab in vim @@ -188,8 +192,9 @@ minibuffer-local-must-match-map minibuffer-local-isearch-map)) (define-key evil-emacs-state-map [escape] 'evil-exit-emacs-state) -;; Close help window with escape +;; Close help/compilation windows with escape (define-key help-mode-map [escape] 'kill-buffer-and-window) +(define-key compilation-mode-map [escape] 'kill-buffer-and-window) ;; Restore bash-esque keymaps in insert mode and the minibuffer (mapc (lambda (map) diff --git a/init/core-osx.el b/init/core-osx.el index 640b99d1c..21b551b47 100644 --- a/init/core-osx.el +++ b/init/core-osx.el @@ -7,8 +7,8 @@ (setq ns-pop-up-frames nil) ;; fix emacs PATH on OSX -(use-package exec-path-from-shell :ensure t - :if window-system +(use-package exec-path-from-shell + :if (memq window-system '(mac ns)) :init (exec-path-from-shell-initialize)) ;; diff --git a/init/core-packages.el b/init/core-packages.el index 066ed0560..e9259cbf2 100644 --- a/init/core-packages.el +++ b/init/core-packages.el @@ -1,37 +1,23 @@ - -;; (require 'cl) - ;; Package management bootstrap (setq package-enable-at-startup nil - package-archives - '(("melpa" . "http://melpa.milkbox.net/packages/") - ("org" . "http://orgmode.org/elpa/") - ("marmalade" . "http://marmalade-repo.org/packages/") - ("gnu" . "http://elpa.gnu.org/packages/")) + ;; package-archives + ;; '(("melpa" . "http://melpa.milkbox.net/packages/") + ;; ("org" . "http://orgmode.org/elpa/") + ;; ("marmalade" . "http://marmalade-repo.org/packages/") + ;; ("gnu" . "http://elpa.gnu.org/packages/")) package-archive-exclude-alist '(("melpa" org-trello) ("melpa" org) ("marmalade" org) - ("gnu" org)) - ) + ("gnu" org))) (let ((default-directory my/elisp-dir)) (normal-top-level-add-to-load-path '(".")) (normal-top-level-add-subdirs-to-load-path)) -(eval-and-compile - (package-initialize) - (require 'use-package)) - -;; Check if a package is installed; if load is t, load it too. -;; Works for packages bundled with emacs too! -(defun my/install-package (package) - (message "=> checking: %s" package) - (unless (package-installed-p package) - (message "=> installing: %s" package) - (package-install package))) - -(use-package diminish :ensure t) +;; (package-initialize) +(require 'use-package) +(require 'diminish) ;; (provide 'core-packages) diff --git a/init/core-ui.el b/init/core-ui.el index 60719f187..13a35fcf5 100644 --- a/init/core-ui.el +++ b/init/core-ui.el @@ -16,7 +16,6 @@ (setq frame-title-format '(:eval (if (buffer-file-name) (abbreviate-file-name (buffer-file-name)) "%b"))) - ;;;; GUI Settings ;;;;;;;;;;;;;;;;;;;;; (setq ring-bell-function 'ignore) (add-to-list 'default-frame-alist `(font . ,my/font)) diff --git a/init/core.el b/init/core.el index 1dbcf8d36..f074a9cb9 100644 --- a/init/core.el +++ b/init/core.el @@ -13,6 +13,7 @@ auto-save-default nil) ; Don't want any auto saving (fset 'yes-or-no-p 'y-or-n-p) ; y/n instead of yes/no (setq confirm-kill-emacs nil) +(setq echo-keystrokes 0.02) ;; Sane scroll settings (setq scroll-margin 3 diff --git a/init/init-ac.el b/init/init-ac.el index 81dae81f2..28033dabd 100644 --- a/init/init-ac.el +++ b/init/init-ac.el @@ -1,4 +1,4 @@ -(use-package auto-complete :ensure t +(use-package auto-complete :diminish auto-complete-mode :init (progn @@ -25,6 +25,7 @@ (add-to-list 'ac-dictionary-files "~/.emacs.d/ac-dict/global") (add-to-list 'ac-dictionary-directories "~/.emacs.d/ac-dict") + (imap ac-mode-map (kbd "C-x C-f") 'ac-complete-filename) (imap ac-mode-map (kbd "C-SPC") 'auto-complete) ;; (imap ac-mode-map (kbd "C-S-SPC") 'auto-complete) (define-key ac-completing-map (kbd "") 'ac-expand) diff --git a/init/init-fly.el b/init/init-fly.el index 2b698c7b5..ba5a0a555 100644 --- a/init/init-fly.el +++ b/init/init-fly.el @@ -1,4 +1,4 @@ -(use-package flycheck :ensure t +(use-package flycheck :init (add-hook 'after-init-hook #'global-flycheck-mode) :config (progn @@ -7,7 +7,7 @@ (setq flycheck-indication-mode 'right-fringe) (setq-default flycheck-disabled-checkers '(emacs-lisp-checkdoc)))) -(use-package flyspell :ensure t +(use-package flyspell :commands flyspell-mode :diminish (flyspell-mode . " @") :config diff --git a/init/init-git.el b/init/init-git.el index d545bb01f..3d00f7069 100644 --- a/init/init-git.el +++ b/init/init-git.el @@ -1,26 +1,26 @@ -(use-package git-commit-mode :ensure t +(use-package git-commit-mode :mode (("/COMMIT_EDITMSG\\'" . git-commit-mode) ("/NOTES_EDITMSG\\'" . git-commit-mode) ("/MERGE_MSG\\'" . git-commit-mode) ("/TAG_EDITMSG\\'" . git-commit-mode) ("/PULLREQ_EDITMSG\\'" . git-commit-mode))) -(use-package git-rebase-mode :ensure t +(use-package git-rebase-mode :mode ("/git-rebase-todo\\'" . git-rebase-mode)) -(use-package gitconfig-mode :ensure t +(use-package gitconfig-mode :mode (("/\\.gitconfig\\'" . gitconfig-mode) ("/\\.git/config\\'" . gitconfig-mode) ("/git/config\\'" . gitconfig-mode) ("/\\.gitmodules\\'" . gitconfig-mode)) :config (add-hook 'gitconfig-mode-hook 'flyspell-mode)) -(use-package gitignore-mode :ensure t +(use-package gitignore-mode :mode (("/\\.gitignore\\'" . gitignore-mode) ("/\\.git/info/exclude\\'" . gitignore-mode) ("/git/ignore\\'" . gitignore-mode))) -(use-package git-gutter-fringe :ensure t +(use-package git-gutter-fringe :diminish git-gutter-mode :init (progn diff --git a/init/init-project.el b/init/init-project.el index 7a6bb0651..a5ae7d9ab 100644 --- a/init/init-project.el +++ b/init/init-project.el @@ -1,7 +1,7 @@ (add-hook 'dired-load-hook (lambda() - (use-package dired+ :ensure t :config + (use-package dired+ :config (setq dired-recursive-deletes 'always dired-recursive-copies 'always @@ -9,15 +9,15 @@ ;; current subdir, instead of the current subdir of this dired buffer dired-dwim-target t)))) -(use-package ag :ensure t :defer t +(use-package ag :defer t :config (define-key ag-mode-map [escape] 'kill-buffer-and-window)) -(use-package helm :ensure t :defer t) -(use-package grizzl :ensure t :defer t) -(use-package neotree :ensure t :commands (neotree-show neotree-hide neotree-toggle)) +(use-package helm :defer t) +(use-package grizzl :defer t) +(use-package neotree :commands (neotree-show neotree-hide neotree-toggle)) -(use-package projectile :ensure t +(use-package projectile :diminish projectile-mode :config (progn (projectile-global-mode) @@ -42,14 +42,15 @@ (set-keymap-parent ido-buffer-completion-map ido-common-completion-map)) :config (progn + (use-package ido-ubiquitous) + (use-package ido-vertical-mode) + (use-package flx-ido) + (ido-mode 1) - - (use-package ido-ubiquitous :ensure t) - (use-package ido-vertical-mode :ensure t :config (ido-vertical-mode 1)) - + (ido-vertical-mode 1) (ido-everywhere 1) - - (use-package flx-ido :ensure t :config (flx-ido-mode 1)) + (ido-ubiquitous-mode 1) + (flx-ido-mode 1) (add-to-list 'ido-ignore-files "\\`.DS_Store\\'") (setq ido-use-faces nil @@ -60,37 +61,7 @@ ido-create-new-buffer 'always ido-enable-tramp-completion t ido-enable-last-directory-history t) - - ;; (add-to-list 'ido-ubiquitous-default-function-overrides '(disable exact "evil-ex")) - - ;; Filters ido-matches setting acronynm matches in front of the results - (defadvice ido-set-matches-1 (after ido-smex-acronym-matches activate) - (if (and (fboundp 'smex-already-running) (smex-already-running) - (> (length ido-text) 1)) - (let ((regex (concat "^" (mapconcat 'char-to-string ido-text "[^-]*-"))) - (acronym-matches (list)) - (remove-regexes '("-menu-"))) - ;; Creating the list of the results to be set as first - (dolist (item items) - (if (string-match (concat regex "[^-]*$") item) ;; strict match - (add-to-list 'acronym-matches item) - (if (string-match regex item) ;; appending relaxed match - (add-to-list 'acronym-matches item t)))) - - ;; Filtering ad-return-value - (dolist (to_remove remove-regexes) - (setq ad-return-value - (delete-if (lambda (item) - (string-match to_remove item)) - ad-return-value))) - - ;; Creating resulting list - (setq ad-return-value - (append acronym-matches - ad-return-value)) - - (delete-dups ad-return-value) - (reverse ad-return-value)))))) + )) ;; (provide 'init-project) diff --git a/init/init-snippets.el b/init/init-snippets.el index a406f4e1e..39b326f1d 100644 --- a/init/init-snippets.el +++ b/init/init-snippets.el @@ -1,4 +1,4 @@ -(use-package yasnippet :ensure t +(use-package yasnippet :diminish (yas-minor-mode . " $") :mode (("emacs.+/snippets/" . snippet-mode)) :pre-load (progn diff --git a/init/mod-cpp.el b/init/mod-cpp.el index 61221b38d..4ea3c7bbc 100644 --- a/init/mod-cpp.el +++ b/init/mod-cpp.el @@ -1,8 +1,8 @@ (add-to-list 'auto-mode-alist '("\\.h\\'" . c++-mode)) (add-hook 'c-mode-common-hook (lambda() - (use-package auto-complete-clang :ensure t) - (use-package auto-complete-c-headers :ensure t) + (use-package auto-complete-clang) + (use-package auto-complete-c-headers) (setq ac-sources '(ac-source-clang @@ -11,7 +11,7 @@ ac-source-words-in-same-mode-buffers )))) -(use-package glsl-mode :ensure t +(use-package glsl-mode :mode (("\\.glsl\\'" . glsl-mode) ("\\.vert\\'" . glsl-mode) ("\\.frag\\'" . glsl-mode) diff --git a/init/mod-csharp.el b/init/mod-csharp.el index 5ff55219f..2e2cb91c9 100644 --- a/init/mod-csharp.el +++ b/init/mod-csharp.el @@ -1,6 +1,6 @@ ;; TODO Make more Unity-friendly -(use-package omnisharp :ensure t :defer t +(use-package omnisharp :defer t :config (progn ;; (setq flycheck-idle-change-delay 2) @@ -9,7 +9,7 @@ (use-package shaderlab-mode :defer t :mode "\\.shader") -(use-package csharp-mode :ensure t +(use-package csharp-mode :mode "\\.cs\\'" :config (progn diff --git a/init/mod-dev.el b/init/mod-dev.el index 0a3012d24..450f66003 100644 --- a/init/mod-dev.el +++ b/init/mod-dev.el @@ -2,7 +2,7 @@ (add-to-list 'auto-mode-alist '("\\.plist\\'" . nxml-mode)) -(use-package dash-at-point :ensure t +(use-package dash-at-point :commands (dash-at-point dash-at-point-with-docset) :if is-mac :config @@ -10,22 +10,22 @@ (add-to-list 'dash-at-point-mode-alist '(ruby-mode . "rb")) (add-to-list 'dash-at-point-mode-alist '(python-mode . "py2")))) -(use-package yaml-mode :ensure t +(use-package yaml-mode :defer t :config (defun my/setup-yaml-mode () (setq tab-width 2)) (add-hook 'yaml-mode-hook 'my/setup-yaml-mode)) -(use-package json-mode :ensure t +(use-package json-mode :mode (("\\.json\\'" . json-mode) ("\\.jshintrc\\'" . json-mode))) -(use-package python :ensure python-mode +(use-package python :mode ("\\.py\\'" . python-mode) :interpreter ("python" . python-mode) :config (progn - (use-package jedi :ensure t + (use-package jedi :init (if (not (file-directory-p "~/.emacs.d/.python-environments/default/")) (jedi:install-server))) @@ -52,17 +52,18 @@ (setq ruby-indent-level 4) (setq ruby-deep-indent-paren nil) + ;; Remember to install rsense w/ homebrew! (setq rsense-home "/usr/local/Cellar/rsense/0.3/libexec") (when (file-directory-p rsense-home) (add-to-list 'load-path (concat rsense-home "/etc")) (require 'rsense) (add-hook 'ruby-mode-hook 'my/ac-ruby-setup)) - (use-package rbenv :ensure t) - (use-package inf-ruby :ensure t + (use-package rbenv) + (use-package inf-ruby :config (evil-set-initial-state 'inf-ruby-mode 'insert) :init (add-to-list 'ac-modes 'inf-ruby-mode)) - (use-package ac-inf-ruby :ensure t + (use-package ac-inf-ruby :init (add-hook 'inf-ruby-mode-hook 'ac-inf-ruby-enable)) ;; diff --git a/init/mod-eclim.el b/init/mod-eclim.el index 66073b361..021cd278a 100644 --- a/init/mod-eclim.el +++ b/init/mod-eclim.el @@ -1,4 +1,4 @@ -(use-package eclim :ensure emacs-eclim +(use-package eclim :commands (eclim-mode global-eclim-mode) :init (progn @@ -18,8 +18,7 @@ (setq help-at-pt-display-when-idle t) (setq help-at-pt-timer-delay 0.1) - (help-at-pt-set-timer) - )) + (help-at-pt-set-timer))) ;; (provide 'mod-eclim) diff --git a/init/mod-love.el b/init/mod-love.el index 9322424d6..4bd378a21 100644 --- a/init/mod-love.el +++ b/init/mod-love.el @@ -1,4 +1,4 @@ -(use-package lua-mode :ensure t +(use-package lua-mode :mode "\\.lua\\'" :interpreter "lua" :config diff --git a/init/mod-org.el b/init/mod-org.el index d21effb14..09bc32ddd 100644 --- a/init/mod-org.el +++ b/init/mod-org.el @@ -29,7 +29,7 @@ (point-max))) ;; -(use-package org :ensure t +(use-package org :init (progn (define-minor-mode evil-org-mode @@ -40,7 +40,7 @@ :group 'evil-org) ;; Reset evil to ensure certain evil keybindings are prioritized - ;; (add-hook 'org-mode-hook (lambda() (evil-mode nil) (evil-mode 1))) + (add-hook 'org-mode-hook (lambda() (evil-mode nil) (evil-mode 1))) (add-hook 'org-mode-hook 'evil-org-mode) (add-hook 'org-mode-hook 'flyspell-mode) (add-hook 'org-mode-hook 'my/enable-hard-wrap) diff --git a/init/mod-text.el b/init/mod-text.el index 61a131ff8..6244c3f47 100644 --- a/init/mod-text.el +++ b/init/mod-text.el @@ -1,6 +1,6 @@ (add-hook 'text-mode-hook 'my/enable-hard-wrap) -(use-package markdown-mode :ensure t +(use-package markdown-mode :mode (("\\.md\\'" . markdown-mode) ("/README\\'" . markdown-mode)) :config diff --git a/init/mod-webdev.el b/init/mod-webdev.el index 2a8e61a3e..884e00c41 100644 --- a/init/mod-webdev.el +++ b/init/mod-webdev.el @@ -1,17 +1,17 @@ -(use-package rainbow-mode :ensure t +(use-package rainbow-mode :defer t :init (add-hook 'scss-mode 'rainbow-mode)) -(use-package scss-mode :ensure t +(use-package scss-mode :mode "\\.scss\\'" :config (progn (setq scss-compile-at-save nil) (add-hook 'scss-mode-hook 'ac-css-mode-setup))) -(use-package haml-mode :ensure t :mode "\\.haml\\'") +(use-package haml-mode :mode "\\.haml\\'") -(use-package php-mode :ensure t +(use-package php-mode :mode (("\\.php\\'" . php-mode) ("\\.inc\\'" . php-mode)) :interpreter "php" @@ -20,7 +20,7 @@ (my/setup-run-code php-mode-map "php") (setq php-template-compatibility nil))) -(use-package web-mode :ensure t +(use-package web-mode :mode (("\\.\\(p\\)?htm\\(l\\)?\\'" . web-mode) ("\\.tpl\\(\\.php\\)?\\'" . web-mode) ("\\.erb\\'" . web-mode) @@ -49,12 +49,12 @@ (add-hook 'web-mode-hook 'jekyll-mode-maybe))) -(use-package tern :ensure t +(use-package tern :commands tern-mode :config (progn (my/setup-run-code js-mode-map "node") - (use-package tern-auto-complete :ensure t + (use-package tern-auto-complete :config (setq tern-ac-on-dot nil))) :init ;; replace auto-complete with tern-ac-complete only in js-mode @@ -65,7 +65,7 @@ (imap js-mode-map (kbd "C-SPC") 'tern-ac-complete )))) -(use-package emmet-mode :ensure t +(use-package emmet-mode :defer t :config (setq emmet-move-cursor-between-quotes t)