Doom and gloom when things go boom, in Dexter's laaaaab
This commit is contained in:
parent
4f3c2c7800
commit
a5056b71ed
17 changed files with 125 additions and 107 deletions
2
Makefile
2
Makefile
|
@ -7,7 +7,7 @@ update:
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
@rm -rf init.elc init/*.elc contrib/*.elc core/*.elc
|
@rm -rf init.elc init/*.elc contrib/*.elc core/*.elc
|
||||||
@rm -rf auto-save-list recentf places ido.last async-bytecomp.log elpa
|
@rm -rf auto-save-list recentf places ido.last async-bytecomp.log elpa projectile-bookmarks.eld projectile.cache company-statistics-cache.el tramp smex-items
|
||||||
|
|
||||||
autoloads:
|
autoloads:
|
||||||
@rm -rf core/autoloads.el
|
@rm -rf core/autoloads.el
|
||||||
|
|
|
@ -42,6 +42,10 @@
|
||||||
(if (string-equal (system-name) "io")
|
(if (string-equal (system-name) "io")
|
||||||
(set-frame-size (selected-frame) 326 119)))
|
(set-frame-size (selected-frame) 326 119)))
|
||||||
|
|
||||||
|
(defadvice save-buffers-kill-emacs (around no-query-kill-emacs activate)
|
||||||
|
"Prevent annoying \"Active processes exist\" query when you quit Emacs."
|
||||||
|
(flet ((process-list ())) ad-do-it))
|
||||||
|
|
||||||
|
|
||||||
;;;; Modeline ;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;; Modeline ;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
(use-package vim-empty-lines-mode
|
(use-package vim-empty-lines-mode
|
||||||
|
|
19
core/core.el
19
core/core.el
|
@ -30,7 +30,8 @@
|
||||||
(auto-compression-mode t) ; Transparently open compressed files
|
(auto-compression-mode t) ; Transparently open compressed files
|
||||||
(global-font-lock-mode t) ; Enable syntax highlighting for older emacs
|
(global-font-lock-mode t) ; Enable syntax highlighting for older emacs
|
||||||
(global-auto-revert-mode 1) ; revert buffers for changed files
|
(global-auto-revert-mode 1) ; revert buffers for changed files
|
||||||
(electric-indent-mode -1) ; In case of emacs >24.4
|
(electric-indent-mode 1)
|
||||||
|
(setq electric-indent-chars '(? ?: ?{))
|
||||||
|
|
||||||
;;; window layout undo/redo
|
;;; window layout undo/redo
|
||||||
(setq winner-boring-buffers '("*Completions*" "*Compile-Log*" "*inferior-lisp*"
|
(setq winner-boring-buffers '("*Completions*" "*Compile-Log*" "*inferior-lisp*"
|
||||||
|
@ -38,13 +39,15 @@
|
||||||
"*Buffer List*" "*Ibuffer*" "*esh command on file*"))
|
"*Buffer List*" "*Ibuffer*" "*esh command on file*"))
|
||||||
(winner-mode 1)
|
(winner-mode 1)
|
||||||
|
|
||||||
|
(setq semanticdb-default-save-directory (expand-file-name "semanticdb" my-tmp-dir))
|
||||||
|
(semantic-mode 1)
|
||||||
|
|
||||||
;;; UTF-8 please
|
;;; UTF-8 please
|
||||||
(setq locale-coding-system 'utf-8) ; pretty
|
(setq locale-coding-system 'utf-8) ; pretty
|
||||||
(set-terminal-coding-system 'utf-8) ; pretty
|
(set-terminal-coding-system 'utf-8) ; pretty
|
||||||
(set-keyboard-coding-system 'utf-8) ; pretty
|
(set-keyboard-coding-system 'utf-8) ; pretty
|
||||||
(set-selection-coding-system 'utf-8) ; please
|
(set-selection-coding-system 'utf-8) ; please
|
||||||
(prefer-coding-system 'utf-8) ; with sugar on top
|
(prefer-coding-system 'utf-8) ; with sugar on top
|
||||||
|
|
||||||
(fset 'yes-or-no-p 'y-or-n-p) ; y/n instead of yes/no
|
(fset 'yes-or-no-p 'y-or-n-p) ; y/n instead of yes/no
|
||||||
|
|
||||||
;;; Show tab characters
|
;;; Show tab characters
|
||||||
|
@ -90,8 +93,6 @@
|
||||||
|
|
||||||
(setq sentence-end-double-space nil) ; sentences end with periods. Period.
|
(setq sentence-end-double-space nil) ; sentences end with periods. Period.
|
||||||
|
|
||||||
(setq eval-expression-print-level nil)
|
|
||||||
|
|
||||||
(setq show-paren-delay 0)
|
(setq show-paren-delay 0)
|
||||||
|
|
||||||
(setq ediff-diff-options "-w")
|
(setq ediff-diff-options "-w")
|
||||||
|
@ -101,7 +102,7 @@
|
||||||
;; Fixes C-i's synonymity with TAB
|
;; Fixes C-i's synonymity with TAB
|
||||||
(keyboard-translate ?\C-i ?\H-i)
|
(keyboard-translate ?\C-i ?\H-i)
|
||||||
|
|
||||||
;; Save clipboard contents into kill-ring before replace them
|
;; Don't save clipboard contents into kill-ring before replacing them
|
||||||
(setq save-interprogram-paste-before-kill nil)
|
(setq save-interprogram-paste-before-kill nil)
|
||||||
|
|
||||||
;; don't let the cursor go into minibuffer prompt
|
;; don't let the cursor go into minibuffer prompt
|
||||||
|
@ -152,6 +153,7 @@
|
||||||
(setq recentf-max-menu-items 0)
|
(setq recentf-max-menu-items 0)
|
||||||
(setq recentf-max-saved-items 1000)
|
(setq recentf-max-saved-items 1000)
|
||||||
(setq recentf-auto-cleanup 'never)
|
(setq recentf-auto-cleanup 'never)
|
||||||
|
(add-hook 'kill-emacs-hook 'recentf-cleanup)
|
||||||
(recentf-mode 1)
|
(recentf-mode 1)
|
||||||
|
|
||||||
;; What we do every night, Pinkie...
|
;; What we do every night, Pinkie...
|
||||||
|
@ -171,7 +173,10 @@
|
||||||
|
|
||||||
;; Project defuns ;;;;;;;;;;;;;;;;;;;;;;
|
;; Project defuns ;;;;;;;;;;;;;;;;;;;;;;
|
||||||
(require 'f)
|
(require 'f)
|
||||||
(defvar project-root-files '(".git" ".hg" ".svn" "README" "README.md"))
|
|
||||||
|
(defvar project-root-files '(".git" ".hg" ".svn" ".project" "local.properties" "project.properties")
|
||||||
|
"A list of files that count as 'project files', which determine whether a
|
||||||
|
folder is the root of a project or not.")
|
||||||
(defun project-root (&optional strict-p)
|
(defun project-root (&optional strict-p)
|
||||||
"Get the path to the root of your project. Uses `project-root-files' to
|
"Get the path to the root of your project. Uses `project-root-files' to
|
||||||
determine if a directory is a project."
|
determine if a directory is a project."
|
||||||
|
@ -277,10 +282,12 @@ the checking happens for all pairs in auto-minor-mode-alist"
|
||||||
(push '("^\\*Flycheck.*\\*$" :regexp t :position bottom :height 0.25 :noselect t) popwin:special-display-config)
|
(push '("^\\*Flycheck.*\\*$" :regexp t :position bottom :height 0.25 :noselect t) popwin:special-display-config)
|
||||||
(push '(inf-enh-ruby-mode :position bottom :stick t) popwin:special-display-config)
|
(push '(inf-enh-ruby-mode :position bottom :stick t) popwin:special-display-config)
|
||||||
(push '(snippet-mode :position bottom :stick t) popwin:special-display-config)
|
(push '(snippet-mode :position bottom :stick t) popwin:special-display-config)
|
||||||
|
(push '("^\\*eclim.*\\*" :regexp t :position bottom :height 0.25) popwin:special-display-config)
|
||||||
|
|
||||||
(push '("*ansi-term*" :position bottom :height 0.45 :stick t) popwin:special-display-config)
|
(push '("*ansi-term*" :position bottom :height 0.45 :stick t) popwin:special-display-config)
|
||||||
(push '("*terminal*" :position bottom :height 0.45 :stick t) popwin:special-display-config)
|
(push '("*terminal*" :position bottom :height 0.45 :stick t) popwin:special-display-config)
|
||||||
(push '("*Async Shell Command*" :position bottom) popwin:special-display-config)
|
(push '("*Async Shell Command*" :position bottom) popwin:special-display-config)
|
||||||
|
(push '("*Shell Command Output*" :position bottom :stick t :height 15) popwin:special-display-config)
|
||||||
|
|
||||||
(push '("* Regexp Explain *" :position top :height 0.35) popwin:special-display-config)
|
(push '("* Regexp Explain *" :position top :height 0.35) popwin:special-display-config)
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
love.keyboard.isDown
|
||||||
|
love.draw
|
||||||
|
love.update
|
||||||
|
love.conf
|
||||||
|
love.load
|
||||||
draw
|
draw
|
||||||
focus
|
focus
|
||||||
joystickpressed
|
joystickpressed
|
||||||
|
|
2
init.el
2
init.el
|
@ -63,7 +63,7 @@
|
||||||
init-git ; git-gutter + modes
|
init-git ; git-gutter + modes
|
||||||
init-ido ; a search engine for your car keys
|
init-ido ; a search engine for your car keys
|
||||||
init-helm ; a search engine for your life
|
init-helm ; a search engine for your life
|
||||||
init-project ; project tools - dired, perspective, neotree
|
init-project ; project tools: dired, neotree
|
||||||
|
|
||||||
init-cc ; C/C++/Obj-C madness
|
init-cc ; C/C++/Obj-C madness
|
||||||
;; init-d ; D - It's C, but better!
|
;; init-d ; D - It's C, but better!
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
:mode "CMakeLists\\.txt$"
|
:mode "CMakeLists\\.txt$"
|
||||||
:config
|
:config
|
||||||
(progn
|
(progn
|
||||||
(after "auto-complete" (add-to-list 'ac-modes 'cmake-mode))
|
|
||||||
(after "company"
|
(after "company"
|
||||||
(use-package company-cmake
|
(use-package company-cmake
|
||||||
:config (company--backend-on 'cmake-mode-hook 'company-cmake 'company-yasnippet)))))
|
:config (company--backend-on 'cmake-mode-hook 'company-cmake 'company-yasnippet)))))
|
||||||
|
|
|
@ -62,13 +62,13 @@ If ARG is nil this function calls `recompile', otherwise it calls
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
(evil-define-operator my:eval-region (beg end)
|
(evil-define-operator my:eval-region (beg end)
|
||||||
:keep-visual t
|
|
||||||
:move-point nil
|
:move-point nil
|
||||||
(interactive "<r>")
|
(interactive "<r>")
|
||||||
(cond ((eq major-mode 'emacs-lisp-mode)
|
(cond ((eq major-mode 'emacs-lisp-mode)
|
||||||
(eval-region beg end))
|
(eval-region beg end))
|
||||||
(t
|
(t
|
||||||
(let ((interp (my--get-interpreter)))
|
(let ((interp (my--get-interpreter))
|
||||||
|
(max-mini-window-height 1))
|
||||||
(when interp (shell-command-on-region beg end interp))))))
|
(when interp (shell-command-on-region beg end interp))))))
|
||||||
|
|
||||||
(evil-define-command my:eval-buffer ()
|
(evil-define-command my:eval-buffer ()
|
||||||
|
@ -76,7 +76,8 @@ If ARG is nil this function calls `recompile', otherwise it calls
|
||||||
(cond ((eq major-mode 'emacs-lisp-mode)
|
(cond ((eq major-mode 'emacs-lisp-mode)
|
||||||
(eval-buffer))
|
(eval-buffer))
|
||||||
(t
|
(t
|
||||||
(let ((interp (my--get-interpreter)))
|
(let ((interp (my--get-interpreter))
|
||||||
|
(max-mini-window-height 1))
|
||||||
(when interp (shell-command-on-region (point-min) (point-max) interp))))))
|
(when interp (shell-command-on-region (point-min) (point-max) interp))))))
|
||||||
|
|
||||||
(defun my--get-interpreter ()
|
(defun my--get-interpreter ()
|
||||||
|
|
|
@ -30,6 +30,8 @@
|
||||||
helm-css-scss-multi
|
helm-css-scss-multi
|
||||||
helm-css-scss-insert-close-comment))
|
helm-css-scss-insert-close-comment))
|
||||||
|
|
||||||
|
(use-package helm-company :commands (helm-company))
|
||||||
|
|
||||||
;; Ex-mode interface for `helm-ag'. If `bang', then `search' is interpreted as
|
;; Ex-mode interface for `helm-ag'. If `bang', then `search' is interpreted as
|
||||||
;; regexp.
|
;; regexp.
|
||||||
(evil-define-operator my:helm-ag-search (beg end &optional search hidden-files-p pwd-p regex-p)
|
(evil-define-operator my:helm-ag-search (beg end &optional search hidden-files-p pwd-p regex-p)
|
||||||
|
@ -100,31 +102,11 @@
|
||||||
(add-to-list 'projectile-globally-ignored-directories "assets")
|
(add-to-list 'projectile-globally-ignored-directories "assets")
|
||||||
(add-to-list 'projectile-other-file-alist '("scss" "css"))
|
(add-to-list 'projectile-other-file-alist '("scss" "css"))
|
||||||
(add-to-list 'projectile-other-file-alist '("css" "scss"))
|
(add-to-list 'projectile-other-file-alist '("css" "scss"))
|
||||||
(use-package helm-projectile)
|
|
||||||
|
|
||||||
;; Don't show the project name in the prompts; I already know.
|
;; Don't show the project name in the prompts; I already know.
|
||||||
(defun projectile-prepend-project-name (string) (format helm-global-prompt string))
|
(defun projectile-prepend-project-name (string) helm-global-prompt)
|
||||||
|
|
||||||
;; All this for a smaller prompt (it was redundant with helm headers)
|
(use-package helm-projectile)))
|
||||||
(defmacro helm-projectile-command (command source prompt)
|
|
||||||
`(defun ,(intern (concat "helm-projectile-" command)) (&optional arg)
|
|
||||||
(interactive "P")
|
|
||||||
(if (projectile-project-p)
|
|
||||||
(projectile-maybe-invalidate-cache arg))
|
|
||||||
(let ((helm-ff-transformer-show-only-basename nil)
|
|
||||||
;; for consistency, we should just let Projectile take care of ignored files
|
|
||||||
(helm-boring-file-regexp-list nil))
|
|
||||||
(helm :sources ,source
|
|
||||||
:buffer "*helm projectile*"
|
|
||||||
:prompt helm-global-prompt))))
|
|
||||||
|
|
||||||
(helm-projectile-command "switch-project" 'helm-source-projectile-projects helm-global-prompt)
|
|
||||||
(helm-projectile-command "find-file" helm-source-projectile-files-and-dired-list helm-global-prompt)
|
|
||||||
(helm-projectile-command "find-file-in-known-projects" 'helm-source-projectile-files-in-all-projects-list helm-global-prompt)
|
|
||||||
(helm-projectile-command "find-file-dwim" 'helm-source-projectile-files-dwim-list helm-global-prompt)
|
|
||||||
(helm-projectile-command "find-dir" helm-source-projectile-directories-and-dired-list helm-global-prompt)
|
|
||||||
(helm-projectile-command "recentf" 'helm-source-projectile-recentf-list helm-global-prompt)
|
|
||||||
(helm-projectile-command "switch-to-buffer" 'helm-source-projectile-buffers-list helm-global-prompt)))
|
|
||||||
|
|
||||||
(progn ; helm hacks
|
(progn ; helm hacks
|
||||||
;; No persistent header
|
;; No persistent header
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
(defun my-java-project-package ()
|
(defun my-java-project-package ()
|
||||||
(if (eq major-mode 'java-mode)
|
(if (eq major-mode 'java-mode)
|
||||||
(s-chop-suffix "." (s-replace "/" "." (f-dirname (f-relative (buffer-file-name)
|
(s-chop-suffix "." (s-replace "/" "." (f-dirname (f-relative (buffer-file-name)
|
||||||
(concat (project-root) "src/")))))
|
(concat (project-root) "/src/")))))
|
||||||
""))
|
""))
|
||||||
|
|
||||||
(defun my-java-class-name ()
|
(defun my-java-class-name ()
|
||||||
|
@ -10,14 +10,15 @@
|
||||||
""))
|
""))
|
||||||
|
|
||||||
(use-package eclim
|
(use-package eclim
|
||||||
:disabled t
|
|
||||||
:commands (eclim-mode global-eclim-mode)
|
:commands (eclim-mode global-eclim-mode)
|
||||||
:config
|
:init
|
||||||
(progn
|
(progn
|
||||||
(setq eclim-eclipse-dirs '("/Applications/eclipse")
|
(setq eclim-eclipse-dirs '("/Applications/eclipse")
|
||||||
eclim-executable "/Applications/eclipse/eclim")
|
eclim-executable "/Applications/eclipse/eclim")
|
||||||
(add-hook 'java-mode-hook 'eclim-mode)
|
(when (f-exists? eclim-executable)
|
||||||
|
(add-hook 'java-mode-hook 'eclim-mode)))
|
||||||
|
:config
|
||||||
|
(progn
|
||||||
;; (use-package eclim-ant)
|
;; (use-package eclim-ant)
|
||||||
;; (use-package eclim-maven)
|
;; (use-package eclim-maven)
|
||||||
(use-package eclim-problems)
|
(use-package eclim-problems)
|
||||||
|
@ -28,23 +29,33 @@
|
||||||
(setq help-at-pt-timer-delay 0.1)
|
(setq help-at-pt-timer-delay 0.1)
|
||||||
(help-at-pt-set-timer)
|
(help-at-pt-set-timer)
|
||||||
|
|
||||||
|
(push "*eclim: problems*" winner-boring-buffers)
|
||||||
|
|
||||||
(after "company"
|
(after "company"
|
||||||
(use-package company-emacs-eclim
|
(use-package company-emacs-eclim
|
||||||
:config (company-emacs-eclim-setup)))
|
:config (company-emacs-eclim-setup)))
|
||||||
|
|
||||||
(bind 'motion java-mode-map "gd" 'eclim-java-find-declaration)))
|
(bind 'motion java-mode-map "gd" 'eclim-java-find-declaration)))
|
||||||
|
|
||||||
|
(use-package groovy-mode :mode "\\.gradle$")
|
||||||
|
|
||||||
(use-package android-mode
|
(use-package android-mode
|
||||||
:defer t
|
:defer t
|
||||||
:init
|
:init
|
||||||
(add-hook 'android-mode-hook (set-build-command "./gradlew %s" "build.gradle"))
|
(progn
|
||||||
(add-hook! 'java-mode-hook
|
(defun my-android-mode-enable-maybe ()
|
||||||
(let ((root (project-root)))
|
(let ((root (project-root)))
|
||||||
(when (or (project-has-files "AndroidManifest.xml" root)
|
(when (or (project-has-files "local.properties" root)
|
||||||
|
(project-has-files "AndroidManifest.xml" root)
|
||||||
(project-has-files "src/main/AndroidManifest.xml" root))
|
(project-has-files "src/main/AndroidManifest.xml" root))
|
||||||
(android-mode +1)))))
|
(android-mode +1)
|
||||||
|
(set-build-command "./gradlew %s" "build.gradle"))))
|
||||||
|
(after "company" (add-to-list 'company-dictionary-major-minor-modes 'android-mode))
|
||||||
|
(add-hook 'java-mode-hook 'my-android-mode-enable-maybe)
|
||||||
|
(add-hook 'groovy-mode-hook 'my-android-mode-enable-maybe)
|
||||||
|
(add-hook 'nxml-mode-hook 'my-android-mode-enable-maybe)
|
||||||
|
(add-hook! 'android-mode-hook (my--init-yas-mode 'android-mode))))
|
||||||
|
|
||||||
(use-package groovy-mode :mode "\\.gradle$")
|
|
||||||
|
|
||||||
(provide 'init-java)
|
(provide 'init-java)
|
||||||
;;; init-java.el ends here
|
;;; init-java.el ends here
|
||||||
|
|
|
@ -25,15 +25,6 @@
|
||||||
(add-hook 'js2-mode-hook 'tern-mode)
|
(add-hook 'js2-mode-hook 'tern-mode)
|
||||||
(after "auto-complete" (add-hook 'js2-mode-hook 'tern-ac-setup)))
|
(after "auto-complete" (add-hook 'js2-mode-hook 'tern-ac-setup)))
|
||||||
:config
|
:config
|
||||||
(progn
|
|
||||||
(after "auto-complete"
|
|
||||||
(use-package tern-auto-complete
|
|
||||||
:config
|
|
||||||
(progn
|
|
||||||
(setq tern-ac-on-dot nil)
|
|
||||||
(bind 'insert js2-mode-map [remap auto-complete] 'tern-ac-complete)
|
|
||||||
(bind 'motion js2-mode-map "gd" 'tern-find-definition))))
|
|
||||||
|
|
||||||
(after "company"
|
(after "company"
|
||||||
(use-package company-tern
|
(use-package company-tern
|
||||||
:config
|
:config
|
||||||
|
@ -41,7 +32,7 @@
|
||||||
;; (setq company-tern-meta-as-single-line t)
|
;; (setq company-tern-meta-as-single-line t)
|
||||||
;; (setq company-tern-property-marker "")
|
;; (setq company-tern-property-marker "")
|
||||||
;; (setq company-tooltip-align-annotations t)
|
;; (setq company-tooltip-align-annotations t)
|
||||||
))))))
|
)))))
|
||||||
|
|
||||||
(use-package json-mode
|
(use-package json-mode
|
||||||
:mode (("\\.json$" . json-mode)
|
:mode (("\\.json$" . json-mode)
|
||||||
|
|
|
@ -15,6 +15,8 @@
|
||||||
(when (project-has-files "main.lua")
|
(when (project-has-files "main.lua")
|
||||||
(love-mode +1)))
|
(love-mode +1)))
|
||||||
|
|
||||||
|
(after "company" (add-to-list 'company-dictionary-major-minor-modes 'love-mode))
|
||||||
|
|
||||||
(add-hook 'lua-mode-hook 'enable-tab-width-2)))
|
(add-hook 'lua-mode-hook 'enable-tab-width-2)))
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
:init (add-hook 'python-mode-hook 'enable-tab-width-4)
|
:init (add-hook 'python-mode-hook 'enable-tab-width-4)
|
||||||
:config
|
:config
|
||||||
(progn
|
(progn
|
||||||
(setq python-indent-offset 4)
|
(setq-default python-indent-offset 4)
|
||||||
(setq python-environment-directory my-tmp-dir)
|
(setq python-environment-directory my-tmp-dir)
|
||||||
(setq python-shell-interpreter "ipython")
|
(setq python-shell-interpreter "ipython")
|
||||||
|
|
||||||
|
|
|
@ -4,17 +4,11 @@
|
||||||
("\\.rake$" . enh-ruby-mode)
|
("\\.rake$" . enh-ruby-mode)
|
||||||
("\\.gemspec$" . enh-ruby-mode)
|
("\\.gemspec$" . enh-ruby-mode)
|
||||||
("\\.?pryrc$" . enh-ruby-mode)
|
("\\.?pryrc$" . enh-ruby-mode)
|
||||||
("Gemfile$" . enh-ruby-mode)
|
("/Gemfile$" . enh-ruby-mode)
|
||||||
("Capfile$" . enh-ruby-mode)
|
("/Capfile$" . enh-ruby-mode)
|
||||||
("Vagrantfile$" . enh-ruby-mode)
|
("/Vagrantfile$" . enh-ruby-mode)
|
||||||
("Rakefile$" . enh-ruby-mode))
|
("/Rakefile$" . enh-ruby-mode))
|
||||||
:interpreter "ruby"
|
:interpreter "ruby"
|
||||||
:init
|
|
||||||
(progn
|
|
||||||
(associate-minor-mode "\\(/spec_helper\\|_spec\\)\\.rb$" 'rspec-mode)
|
|
||||||
(associate-minor-mode "/\\.rspec$" 'rspec-mode)
|
|
||||||
(associate-minor-mode "/\\.rake$" 'rake-mode)
|
|
||||||
(associate-mode "/\\.rspec$" 'text-mode))
|
|
||||||
:config
|
:config
|
||||||
(progn
|
(progn
|
||||||
;;; Formatting
|
;;; Formatting
|
||||||
|
@ -22,9 +16,11 @@
|
||||||
(setq ruby-deep-indent-paren t)
|
(setq ruby-deep-indent-paren t)
|
||||||
(setq enh-ruby-check-syntax nil)
|
(setq enh-ruby-check-syntax nil)
|
||||||
|
|
||||||
|
(associate-mode "/\\.rspec$" 'text-mode)
|
||||||
(add-hook 'enh-ruby-mode-hook 'enable-tab-width-2)
|
(add-hook 'enh-ruby-mode-hook 'enable-tab-width-2)
|
||||||
(add-hook! 'enh-ruby-mode-hook (set-build-command "rake %s" "Rakefile"))
|
(add-hook! 'enh-ruby-mode-hook (set-build-command "rake %s" "Rakefile"))
|
||||||
|
|
||||||
|
;; Don't interfere with my custom RET behavior
|
||||||
(define-key enh-ruby-mode-map [?\n] nil)
|
(define-key enh-ruby-mode-map [?\n] nil)
|
||||||
|
|
||||||
(after "emr"
|
(after "emr"
|
||||||
|
@ -33,45 +29,46 @@
|
||||||
:title "extract method"
|
:title "extract method"
|
||||||
:modes 'enh-ruby-mode
|
:modes 'enh-ruby-mode
|
||||||
:predicate (lambda () (use-region-p)))
|
:predicate (lambda () (use-region-p)))
|
||||||
|
|
||||||
(emr-declare-command 'ruby-refactor-extract-local-variable
|
(emr-declare-command 'ruby-refactor-extract-local-variable
|
||||||
:title "extract local variable"
|
:title "extract local variable"
|
||||||
:modes 'enh-ruby-mode
|
:modes 'enh-ruby-mode
|
||||||
:predicate (lambda () (use-region-p)))
|
:predicate (lambda () (use-region-p)))
|
||||||
|
|
||||||
(emr-declare-command 'ruby-refactor-extract-constant
|
(emr-declare-command 'ruby-refactor-extract-constant
|
||||||
:title "extract constant"
|
:title "extract constant"
|
||||||
:modes 'enh-ruby-mode
|
:modes 'enh-ruby-mode
|
||||||
:predicate (lambda () (use-region-p)))
|
:predicate (lambda () (use-region-p)))
|
||||||
|
|
||||||
(emr-declare-command 'ruby-refactor-add-parameter
|
(emr-declare-command 'ruby-refactor-add-parameter
|
||||||
:title "add parameter"
|
:title "add parameter"
|
||||||
:modes 'enh-ruby-mode)
|
:modes 'enh-ruby-mode)
|
||||||
|
|
||||||
(emr-declare-command 'ruby-refactor-extract-to-let
|
(emr-declare-command 'ruby-refactor-extract-to-let
|
||||||
:title "extract to let"
|
:title "extract to let"
|
||||||
:modes 'enh-ruby-mode
|
:modes 'enh-ruby-mode
|
||||||
:predicate (lambda () (use-region-p))))
|
:predicate (lambda () (use-region-p))))
|
||||||
|
|
||||||
|
;; Rakefiles ;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
(define-minor-mode rake-mode
|
(define-minor-mode rake-mode
|
||||||
"Buffer local minor mode for rake files"
|
"Buffer local minor mode for rake files"
|
||||||
:lighter " Rake"
|
:lighter " Rake" :keymap (make-sparse-keymap)
|
||||||
(my--init-yas-mode 'rake-mode))
|
(my--init-yas-mode 'rake-mode))
|
||||||
|
(associate-minor-mode "/\\(Rakefile\\|\\.rake\\)$" 'rake-mode)
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
(use-package inf-ruby
|
;; Vagrantfiles ;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
:commands (inf-ruby inf-ruby-console-auto)
|
(define-minor-mode vagrant-mode
|
||||||
:config
|
"Buffer local minor mode for vagrant files"
|
||||||
(progn
|
:lighter " Va" :keymap (make-sparse-keymap)
|
||||||
(evil-set-initial-state 'inf-enh-ruby-mode 'insert)
|
(my--init-yas-mode 'vagrant-mode))
|
||||||
|
(associate-minor-mode "/Vagrantfile$" 'vagrant-mode)
|
||||||
(after "company"
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
(use-package company-inf-ruby
|
|
||||||
:config (company--backend-on 'inf-enh-ruby-mode-hook 'company-inf-ruby)))))
|
|
||||||
|
|
||||||
|
;; Rspec files ;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
(use-package rspec-mode
|
(use-package rspec-mode
|
||||||
:defer t
|
:defer t
|
||||||
:init
|
:init
|
||||||
(progn
|
(progn
|
||||||
|
(associate-minor-mode "\\(/spec_helper\\|_spec\\)\\.rb$" 'rspec-mode)
|
||||||
|
(associate-minor-mode "/\\.rspec$" 'rspec-mode)
|
||||||
|
|
||||||
(defvar rspec-mode-verifiable-map (make-sparse-keymap))
|
(defvar rspec-mode-verifiable-map (make-sparse-keymap))
|
||||||
(defvar evilmi-ruby-match-tags
|
(defvar evilmi-ruby-match-tags
|
||||||
'((("unless" "if") ("elsif" "else") "end")
|
'((("unless" "if") ("elsif" "else") "end")
|
||||||
|
@ -86,6 +83,16 @@
|
||||||
",ta" 'rspec-verify-all
|
",ta" 'rspec-verify-all
|
||||||
",ts" 'rspec-verify-single
|
",ts" 'rspec-verify-single
|
||||||
",tv" 'rspec-verify))
|
",tv" 'rspec-verify))
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
|
(use-package inf-ruby
|
||||||
|
:commands (inf-ruby inf-ruby-console-auto)
|
||||||
|
:config
|
||||||
|
(progn
|
||||||
|
(evil-set-initial-state 'inf-enh-ruby-mode 'insert)
|
||||||
|
(after "company"
|
||||||
|
(use-package company-inf-ruby
|
||||||
|
:config (company--backend-on 'inf-enh-ruby-mode-hook 'company-inf-ruby)))))
|
||||||
|
|
||||||
(use-package robe
|
(use-package robe
|
||||||
:config
|
:config
|
||||||
|
@ -94,10 +101,16 @@
|
||||||
(use-package company-robe
|
(use-package company-robe
|
||||||
:config (company--backend-on 'enh-ruby-mode-hook 'company-robe)))
|
:config (company--backend-on 'enh-ruby-mode-hook 'company-robe)))
|
||||||
|
|
||||||
;; (add-hook! 'enh-ruby-mode-hook
|
(defun my-enable-robe-maybe ()
|
||||||
;; (unless (f-ext? (buffer-file-name) "org") ;; in case of org-mode
|
(let ((file (buffer-file-name)))
|
||||||
;; (robe-mode 1)
|
;; Don't run in gemfiles, capfiles or vagrantfiles
|
||||||
;; (my--ruby-load-file buffer-file-name)))
|
(unless (or (string-equal (f-filename file) "Gemfile")
|
||||||
|
(string-equal (f-filename file) "Capfile")
|
||||||
|
(string-equal (f-filename file) "Vagrantfile")
|
||||||
|
(f-ext? file "org")) ;; or org-mode
|
||||||
|
(robe-mode 1)
|
||||||
|
(my--ruby-load-file file))))
|
||||||
|
(add-hook 'enh-ruby-mode-hook 'my-enable-robe-maybe)
|
||||||
|
|
||||||
(defun my--ruby-load-file (&optional file)
|
(defun my--ruby-load-file (&optional file)
|
||||||
(let ((file (or file buffer-file-name)))
|
(let ((file (or file buffer-file-name)))
|
||||||
|
|
|
@ -75,6 +75,7 @@
|
||||||
(associate-minor-mode "/_\\(layouts\\|posts\\)/.+$" 'jekyll-mode)
|
(associate-minor-mode "/_\\(layouts\\|posts\\)/.+$" 'jekyll-mode)
|
||||||
(add-hooks '(web-mode-hook scss-mode-hook html-mode-hook markdown-mode markdown-mode-hook)
|
(add-hooks '(web-mode-hook scss-mode-hook html-mode-hook markdown-mode markdown-mode-hook)
|
||||||
'jekyll-mode-enable-maybe)
|
'jekyll-mode-enable-maybe)
|
||||||
|
(after "company" (add-to-list 'company-dictionary-major-minor-modes 'jekyll-mode))
|
||||||
|
|
||||||
(define-minor-mode wordpress-mode
|
(define-minor-mode wordpress-mode
|
||||||
:init-value nil
|
:init-value nil
|
||||||
|
@ -83,6 +84,7 @@
|
||||||
(my--init-yas-mode 'wordpress-mode))
|
(my--init-yas-mode 'wordpress-mode))
|
||||||
(associate-minor-mode "/wp-\\(content\\|admin\\|includes\\)/.+$" 'wordpress-mode)
|
(associate-minor-mode "/wp-\\(content\\|admin\\|includes\\)/.+$" 'wordpress-mode)
|
||||||
(associate-minor-mode "/wp-.+\\.php$" 'wordpress-mode)
|
(associate-minor-mode "/wp-.+\\.php$" 'wordpress-mode)
|
||||||
|
(after "company" (add-to-list 'company-dictionary-major-minor-modes 'wordpress-mode))
|
||||||
|
|
||||||
|
|
||||||
(provide 'init-web)
|
(provide 'init-web)
|
||||||
|
|
|
@ -143,11 +143,12 @@
|
||||||
|
|
||||||
(defun my--init-yas-mode (&rest modes)
|
(defun my--init-yas-mode (&rest modes)
|
||||||
;; Yasnippet 0.8.1+
|
;; Yasnippet 0.8.1+
|
||||||
|
(after "yasnippet"
|
||||||
(when (boundp 'yas-extra-modes)
|
(when (boundp 'yas-extra-modes)
|
||||||
(if (symbol-value mode)
|
|
||||||
(dolist (mode modes)
|
(dolist (mode modes)
|
||||||
(yas-activate-extra-mode mode))
|
(if (symbol-value mode)
|
||||||
(setq yas-extra-modes (delq mode yas-extra-modes)))))
|
(yas-activate-extra-mode mode)
|
||||||
|
(setq yas-extra-modes (delq mode yas-extra-modes)))))))
|
||||||
|
|
||||||
;; keybinds
|
;; keybinds
|
||||||
(bind yas-keymap
|
(bind yas-keymap
|
||||||
|
|
|
@ -37,12 +37,12 @@
|
||||||
|
|
||||||
;; <leader>
|
;; <leader>
|
||||||
(bind my-leader-map
|
(bind my-leader-map
|
||||||
"," 'helm-projectile-switch-to-buffer
|
"," (λ (if (projectile-project-p) (helm-projectile-switch-to-buffer) (helm-buffers-list)))
|
||||||
|
"<" 'helm-buffers-list
|
||||||
"." 'ido-find-file
|
"." 'ido-find-file
|
||||||
">" 'my-ido-find-project-file
|
">" 'my-ido-find-project-file
|
||||||
"/" 'helm-projectile-find-file
|
"/" 'helm-projectile-find-file
|
||||||
";" 'helm-semantic-or-imenu
|
";" 'helm-semantic-or-imenu
|
||||||
"<" 'helm-mini
|
|
||||||
"M" 'helm-projectile-recentf ; recent PROJECT files
|
"M" 'helm-projectile-recentf ; recent PROJECT files
|
||||||
"]" 'helm-etags-select
|
"]" 'helm-etags-select
|
||||||
"a" 'helm-projectile-find-other-file
|
"a" 'helm-projectile-find-other-file
|
||||||
|
@ -80,7 +80,7 @@
|
||||||
"g" 'git-gutter+-show-hunk
|
"g" 'git-gutter+-show-hunk
|
||||||
"e" (λ (flycheck-buffer) (flycheck-list-errors))
|
"e" (λ (flycheck-buffer) (flycheck-list-errors))
|
||||||
"p" 'helm-show-kill-ring
|
"p" 'helm-show-kill-ring
|
||||||
"b" 'helm-projectile-switch-to-buffer
|
"b" 'helm-bookmarks
|
||||||
"w" 'helm-wg)
|
"w" 'helm-wg)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -42,7 +42,7 @@
|
||||||
(selection "#4f5b66")
|
(selection "#4f5b66")
|
||||||
(text "#c0c5ce")
|
(text "#c0c5ce")
|
||||||
(comments "#65737e")
|
(comments "#65737e")
|
||||||
(punctuation "#c0c5ce")
|
(punctuation "#8fa1b3")
|
||||||
(delimiters "#c0c5ce")
|
(delimiters "#c0c5ce")
|
||||||
(operators "#c0c5ce")
|
(operators "#c0c5ce")
|
||||||
(keywords "#b48ead")
|
(keywords "#b48ead")
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue