Refactor initfiles
This commit is contained in:
parent
6b094920bd
commit
f2e2f05742
34 changed files with 1161 additions and 860 deletions
90
init/init-ruby.el
Normal file
90
init/init-ruby.el
Normal file
|
@ -0,0 +1,90 @@
|
|||
(provide 'init-ruby)
|
||||
|
||||
(defun enable-ruby-rsense ()
|
||||
(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 'ac-add-ruby-rsense)))
|
||||
|
||||
(defun ac-add-ruby-rsense ()
|
||||
(setq ac-sources (append '(ac-source-rsense ac-source-yasnippet) ac-sources)))
|
||||
|
||||
;;
|
||||
(use-package ruby-mode
|
||||
:mode (("\\.rb$" . ruby-mode)
|
||||
("\\.ru$" . ruby-mode)
|
||||
("\\.rake$" . ruby-mode)
|
||||
("\\.gemspec$" . ruby-mode)
|
||||
("Gemfile$" . ruby-mode)
|
||||
("Capfile$" . ruby-mode)
|
||||
("Vagrantfile$" . ruby-mode)
|
||||
("Rakefile$" . ruby-mode))
|
||||
:interpreter "ruby"
|
||||
:config
|
||||
(progn
|
||||
;;; Ruby tools
|
||||
(use-package rbenv
|
||||
:init
|
||||
(progn
|
||||
(setq rbenv-show-active-ruby-in-modeline nil)
|
||||
|
||||
(global-rbenv-mode)
|
||||
(add-hook 'ruby-mode-hook 'rbenv-use-corresponding)))
|
||||
|
||||
(use-package inf-ruby
|
||||
:config
|
||||
(evil-set-initial-state 'inf-ruby-mode 'insert)
|
||||
:init
|
||||
(add-to-list 'ac-modes 'inf-ruby-mode))
|
||||
|
||||
(use-package rspec-mode
|
||||
:defer t
|
||||
:config
|
||||
(progn
|
||||
(nmap rspec-mode-verifiable-keymap
|
||||
",tr" 'rspec-rerun
|
||||
",ta" 'rspec-verify-all
|
||||
",ts" 'rspec-verify-single
|
||||
",tv" 'rspec-verify)
|
||||
|
||||
(nmap rspec-dired-mode-keymap
|
||||
",tv" 'rspec-dired-verify
|
||||
",ts" 'rspec-dired-verify-single
|
||||
",ta" 'rspec-verify-all
|
||||
",tr" 'rspec-rerun))
|
||||
:init
|
||||
(associate-mode "_spec\\.rb\\'" rspec-mode t))
|
||||
|
||||
;;; Auto-completion
|
||||
;; Remember to install rsense w/ homebrew!
|
||||
(enable-ruby-rsense)
|
||||
(use-package ac-inf-ruby
|
||||
:init (add-hook 'inf-ruby-mode-hook 'ac-inf-ruby-enable))
|
||||
|
||||
;;; Formatting
|
||||
(setq ruby-indent-level 2)
|
||||
(setq ruby-deep-indent-paren nil)
|
||||
(add-hook 'ruby-mode-hook 'enable-tab-width-2)
|
||||
(require 'ruby-mode-indent-fix)
|
||||
|
||||
(setq evilmi-ruby-match-tags
|
||||
'((("unless" "if") ("elsif" "else") ("end"))
|
||||
("begin" ("rescue" "ensure") "end")
|
||||
("case" ("when" "else") ("end"))
|
||||
(("task" "namespace" "class" "def" "while" "do" "module" "for" "until") () ("end"))
|
||||
))
|
||||
|
||||
(evil-define-text-object ruby-mode-string-interp-inner (count &optional beg end type)
|
||||
"Select a string hash block in a string: #{|...|}"
|
||||
(evil-regexp-range count beg end type "#{" "}" t))
|
||||
(evil-define-text-object ruby-mode-string-interp-outer (count &optional beg end type)
|
||||
"Select a string hash block in a string, including the delimiters: |#{...}|"
|
||||
(evil-regexp-range count beg end type "[#$]{" "}"))
|
||||
(evil-define-key 'motion ruby-mode-map "")
|
||||
|
||||
;;; Keybindings
|
||||
(nmap ruby-mode-map "gd" 'rsense-jump-to-definition)
|
||||
|
||||
(run-code-with "ruby" ruby-mode-map)
|
||||
))
|
Loading…
Add table
Add a link
Reference in a new issue