enh-ruby-mode & anaconda-mode + better company support
This commit is contained in:
parent
dc97746803
commit
7d8c577f7c
3 changed files with 111 additions and 57 deletions
|
@ -1,15 +1,15 @@
|
|||
(provide 'init-ruby)
|
||||
|
||||
(use-package ruby-mode
|
||||
:mode (("\\.rb$" . ruby-mode)
|
||||
("\\.ru$" . ruby-mode)
|
||||
("\\.rake$" . ruby-mode)
|
||||
("\\.gemspec$" . ruby-mode)
|
||||
("\\.?pryrc$" . ruby-mode)
|
||||
("Gemfile$" . ruby-mode)
|
||||
("Capfile$" . ruby-mode)
|
||||
("Vagrantfile$" . ruby-mode)
|
||||
("Rakefile$" . ruby-mode))
|
||||
(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))
|
||||
:interpreter "ruby"
|
||||
:config
|
||||
(progn
|
||||
|
@ -17,7 +17,9 @@
|
|||
(setq ruby-indent-level 2)
|
||||
(setq ruby-deep-indent-paren t)
|
||||
|
||||
(add-hook 'ruby-mode-hook 'enable-tab-width-2)
|
||||
(add-hook 'enh-ruby-mode-hook 'enable-tab-width-2)
|
||||
|
||||
(after "emr" (use-package ruby-refactor))
|
||||
|
||||
(define-minor-mode rake-mode
|
||||
"Buffer local minor mode for rake files"
|
||||
|
@ -30,25 +32,28 @@
|
|||
(evil-set-initial-state 'inf-ruby-mode 'insert)
|
||||
(push '(inf-ruby-mode :position bottom :stick t) popwin:special-display-config)
|
||||
|
||||
(use-package company-inf-ruby)
|
||||
))
|
||||
(after "company"
|
||||
(use-package company-inf-ruby
|
||||
:config (company--backend-on 'inf-ruby-mode-hook 'company-inf-ruby)))))
|
||||
|
||||
(use-package rspec-mode
|
||||
:defer t
|
||||
:pre-load
|
||||
(progn (defvar rspec-mode-verifiable-map (make-sparse-keymap))
|
||||
(defvar evilmi-ruby-match-tags
|
||||
'((("unless" "if") ("elsif" "else") "end")
|
||||
("begin" ("rescue" "ensure") "end")
|
||||
("case" ("when" "else") "end")
|
||||
(("class" "def" "while" "do" "module" "for" "until") () "end")
|
||||
;; Rake
|
||||
(("task" "namespace") () "end"))))
|
||||
(progn
|
||||
(defvar rspec-mode-verifiable-map (make-sparse-keymap))
|
||||
(defvar evilmi-ruby-match-tags
|
||||
'((("unless" "if") ("elsif" "else") "end")
|
||||
("begin" ("rescue" "ensure") "end")
|
||||
("case" ("when" "else") "end")
|
||||
(("class" "def" "while" "do" "module" "for" "until") () "end")
|
||||
;; Rake
|
||||
(("task" "namespace") () "end"))))
|
||||
: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))
|
||||
(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
|
||||
(bind 'normal
|
||||
",tr" 'rspec-rerun
|
||||
|
@ -59,22 +64,20 @@
|
|||
(use-package robe
|
||||
:config
|
||||
(progn
|
||||
(after "company" (require 'company-robe))
|
||||
(add-hook! 'ruby-mode-hook
|
||||
(after "company"
|
||||
(use-package company-robe
|
||||
:config (company--backend-on 'enh-ruby-mode-hook 'company-robe)))
|
||||
|
||||
(add-hook! 'enh-ruby-mode-hook
|
||||
(robe-mode 1)
|
||||
(after "auto-complete" (ac-robe-setup))
|
||||
(after "company" (add-to-list 'company-backends 'company-robe))
|
||||
(unless robe-running (robe-start 1))
|
||||
(my/ruby-load-file buffer-file-name)
|
||||
(my--ruby-load-file buffer-file-name))
|
||||
|
||||
(setq my-switch-to-repl-func 'ruby-switch-to-inf
|
||||
my-send-region-to-repl-func 'ruby-send-region
|
||||
my-run-code-interpreter "ruby"))
|
||||
|
||||
(defun my/ruby-load-file (&optional file)
|
||||
(defun my--ruby-load-file (&optional file)
|
||||
(let ((file (or file buffer-file-name)))
|
||||
(when (and (eq major-mode 'ruby-mode)
|
||||
(when (and (eq major-mode 'enh-ruby-mode)
|
||||
(bound-and-true-p robe-running)
|
||||
(file-exists-p buffer-file-name))
|
||||
(ruby-load-file file))))
|
||||
(add-hook 'after-save-hook 'my/ruby-load-file)))))
|
||||
(add-hook 'after-save-hook 'my--ruby-load-file)))))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue