Doom and gloom when things go boom, in Dexter's laaaaab

This commit is contained in:
Henrik Lissner
2015-05-14 23:50:20 -04:00
parent 4f3c2c7800
commit a5056b71ed
17 changed files with 125 additions and 107 deletions

View File

@@ -2,7 +2,6 @@
:mode "CMakeLists\\.txt$"
:config
(progn
(after "auto-complete" (add-to-list 'ac-modes 'cmake-mode))
(after "company"
(use-package company-cmake
:config (company--backend-on 'cmake-mode-hook 'company-cmake 'company-yasnippet)))))

View File

@@ -62,13 +62,13 @@ If ARG is nil this function calls `recompile', otherwise it calls
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(evil-define-operator my:eval-region (beg end)
:keep-visual t
:move-point nil
(interactive "<r>")
(cond ((eq major-mode 'emacs-lisp-mode)
(eval-region beg end))
(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))))))
(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)
(eval-buffer))
(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))))))
(defun my--get-interpreter ()

View File

@@ -30,6 +30,8 @@
helm-css-scss-multi
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
;; regexp.
(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-other-file-alist '("scss" "css"))
(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.
(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)
(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)))
(use-package helm-projectile)))
(progn ; helm hacks
;; No persistent header

View File

@@ -1,7 +1,7 @@
(defun my-java-project-package ()
(if (eq major-mode 'java-mode)
(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 ()
@@ -10,14 +10,15 @@
""))
(use-package eclim
:disabled t
:commands (eclim-mode global-eclim-mode)
:config
:init
(progn
(setq eclim-eclipse-dirs '("/Applications/eclipse")
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-maven)
(use-package eclim-problems)
@@ -28,23 +29,33 @@
(setq help-at-pt-timer-delay 0.1)
(help-at-pt-set-timer)
(push "*eclim: problems*" winner-boring-buffers)
(after "company"
(use-package company-emacs-eclim
:config (company-emacs-eclim-setup)))
(bind 'motion java-mode-map "gd" 'eclim-java-find-declaration)))
(use-package groovy-mode :mode "\\.gradle$")
(use-package android-mode
:defer t
:init
(add-hook 'android-mode-hook (set-build-command "./gradlew %s" "build.gradle"))
(add-hook! 'java-mode-hook
(let ((root (project-root)))
(when (or (project-has-files "AndroidManifest.xml" root)
(project-has-files "src/main/AndroidManifest.xml" root))
(android-mode +1)))))
(progn
(defun my-android-mode-enable-maybe ()
(let ((root (project-root)))
(when (or (project-has-files "local.properties" root)
(project-has-files "AndroidManifest.xml" root)
(project-has-files "src/main/AndroidManifest.xml" root))
(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)
;;; init-java.el ends here

View File

@@ -25,23 +25,14 @@
(add-hook 'js2-mode-hook 'tern-mode)
(after "auto-complete" (add-hook 'js2-mode-hook 'tern-ac-setup)))
: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"
(use-package company-tern
:config
(company--backend-on 'js2-mode-hook 'company-tern)
;; (setq company-tern-meta-as-single-line t)
;; (setq company-tern-property-marker "")
;; (setq company-tooltip-align-annotations t)
))))))
(after "company"
(use-package company-tern
:config
(company--backend-on 'js2-mode-hook 'company-tern)
;; (setq company-tern-meta-as-single-line t)
;; (setq company-tern-property-marker "")
;; (setq company-tooltip-align-annotations t)
)))))
(use-package json-mode
:mode (("\\.json$" . json-mode)

View File

@@ -15,6 +15,8 @@
(when (project-has-files "main.lua")
(love-mode +1)))
(after "company" (add-to-list 'company-dictionary-major-minor-modes 'love-mode))
(add-hook 'lua-mode-hook 'enable-tab-width-2)))

View File

@@ -4,7 +4,7 @@
:init (add-hook 'python-mode-hook 'enable-tab-width-4)
:config
(progn
(setq python-indent-offset 4)
(setq-default python-indent-offset 4)
(setq python-environment-directory my-tmp-dir)
(setq python-shell-interpreter "ipython")

View File

@@ -1,20 +1,14 @@
(use-package enh-ruby-mode
:mode (("\\.rb$" . enh-ruby-mode)
("\\.ru$" . enh-ruby-mode)
("\\.rake$" . enh-ruby-mode)
("\\.gemspec$" . enh-ruby-mode)
("\\.?pryrc$" . enh-ruby-mode)
("Gemfile$" . enh-ruby-mode)
("Capfile$" . enh-ruby-mode)
("Vagrantfile$" . enh-ruby-mode)
("Rakefile$" . enh-ruby-mode))
:mode (("\\.rb$" . enh-ruby-mode)
("\\.ru$" . enh-ruby-mode)
("\\.rake$" . enh-ruby-mode)
("\\.gemspec$" . enh-ruby-mode)
("\\.?pryrc$" . enh-ruby-mode)
("/Gemfile$" . enh-ruby-mode)
("/Capfile$" . enh-ruby-mode)
("/Vagrantfile$" . enh-ruby-mode)
("/Rakefile$" . enh-ruby-mode))
: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
(progn
;;; Formatting
@@ -22,9 +16,11 @@
(setq ruby-deep-indent-paren t)
(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 (set-build-command "rake %s" "Rakefile"))
;; Don't interfere with my custom RET behavior
(define-key enh-ruby-mode-map [?\n] nil)
(after "emr"
@@ -33,45 +29,46 @@
:title "extract method"
:modes 'enh-ruby-mode
:predicate (lambda () (use-region-p)))
(emr-declare-command 'ruby-refactor-extract-local-variable
:title "extract local variable"
:modes 'enh-ruby-mode
:predicate (lambda () (use-region-p)))
(emr-declare-command 'ruby-refactor-extract-constant
:title "extract constant"
:modes 'enh-ruby-mode
:predicate (lambda () (use-region-p)))
(emr-declare-command 'ruby-refactor-add-parameter
:title "add parameter"
:modes 'enh-ruby-mode)
(emr-declare-command 'ruby-refactor-extract-to-let
:title "extract to let"
:modes 'enh-ruby-mode
:predicate (lambda () (use-region-p))))
;; Rakefiles ;;;;;;;;;;;;;;;;;;;;;;;;;;;
(define-minor-mode rake-mode
"Buffer local minor mode for rake files"
:lighter " Rake"
:lighter " Rake" :keymap (make-sparse-keymap)
(my--init-yas-mode 'rake-mode))
(associate-minor-mode "/\\(Rakefile\\|\\.rake\\)$" 'rake-mode)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(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)))))
;; Vagrantfiles ;;;;;;;;;;;;;;;;;;;;;;;;
(define-minor-mode vagrant-mode
"Buffer local minor mode for vagrant files"
:lighter " Va" :keymap (make-sparse-keymap)
(my--init-yas-mode 'vagrant-mode))
(associate-minor-mode "/Vagrantfile$" 'vagrant-mode)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Rspec files ;;;;;;;;;;;;;;;;;;;;;;;;;
(use-package rspec-mode
:defer t
:init
(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 evilmi-ruby-match-tags
'((("unless" "if") ("elsif" "else") "end")
@@ -86,6 +83,16 @@
",ta" 'rspec-verify-all
",ts" 'rspec-verify-single
",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
:config
@@ -94,10 +101,16 @@
(use-package company-robe
:config (company--backend-on 'enh-ruby-mode-hook 'company-robe)))
;; (add-hook! 'enh-ruby-mode-hook
;; (unless (f-ext? (buffer-file-name) "org") ;; in case of org-mode
;; (robe-mode 1)
;; (my--ruby-load-file buffer-file-name)))
(defun my-enable-robe-maybe ()
(let ((file (buffer-file-name)))
;; Don't run in gemfiles, capfiles or vagrantfiles
(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)
(let ((file (or file buffer-file-name)))

View File

@@ -75,6 +75,7 @@
(associate-minor-mode "/_\\(layouts\\|posts\\)/.+$" 'jekyll-mode)
(add-hooks '(web-mode-hook scss-mode-hook html-mode-hook markdown-mode markdown-mode-hook)
'jekyll-mode-enable-maybe)
(after "company" (add-to-list 'company-dictionary-major-minor-modes 'jekyll-mode))
(define-minor-mode wordpress-mode
:init-value nil
@@ -83,6 +84,7 @@
(my--init-yas-mode 'wordpress-mode))
(associate-minor-mode "/wp-\\(content\\|admin\\|includes\\)/.+$" 'wordpress-mode)
(associate-minor-mode "/wp-.+\\.php$" 'wordpress-mode)
(after "company" (add-to-list 'company-dictionary-major-minor-modes 'wordpress-mode))
(provide 'init-web)

View File

@@ -143,11 +143,12 @@
(defun my--init-yas-mode (&rest modes)
;; Yasnippet 0.8.1+
(when (boundp 'yas-extra-modes)
(if (symbol-value mode)
(dolist (mode modes)
(yas-activate-extra-mode mode))
(setq yas-extra-modes (delq mode yas-extra-modes)))))
(after "yasnippet"
(when (boundp 'yas-extra-modes)
(dolist (mode modes)
(if (symbol-value mode)
(yas-activate-extra-mode mode)
(setq yas-extra-modes (delq mode yas-extra-modes)))))))
;; keybinds
(bind yas-keymap

View File

@@ -37,12 +37,12 @@
;; <leader>
(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
">" 'my-ido-find-project-file
"/" 'helm-projectile-find-file
";" 'helm-semantic-or-imenu
"<" 'helm-mini
"M" 'helm-projectile-recentf ; recent PROJECT files
"]" 'helm-etags-select
"a" 'helm-projectile-find-other-file
@@ -80,7 +80,7 @@
"g" 'git-gutter+-show-hunk
"e" (λ (flycheck-buffer) (flycheck-list-errors))
"p" 'helm-show-kill-ring
"b" 'helm-projectile-switch-to-buffer
"b" 'helm-bookmarks
"w" 'helm-wg)