Remove enh-ruby-mode
enh-ruby-mode's highlighter breaks when the buffer is unexpectedly reverted. This sacrifices its superior highlighting and indentation, but was too much trouble to maintain.
This commit is contained in:
parent
4082003fd2
commit
f82771980a
2 changed files with 19 additions and 33 deletions
|
@ -15,61 +15,48 @@
|
||||||
:config
|
:config
|
||||||
(setq ruby-insert-encoding-magic-comment nil)
|
(setq ruby-insert-encoding-magic-comment nil)
|
||||||
|
|
||||||
(set-electric! '(ruby-mode enh-ruby-mode) :words '("else" "end" "elsif"))
|
(set-electric! 'ruby-mode :words '("else" "end" "elsif"))
|
||||||
(set-repl-handler! '(ruby-mode enh-ruby-mode) #'inf-ruby)
|
(set-repl-handler! 'ruby-mode #'inf-ruby)
|
||||||
|
|
||||||
(when (featurep! +lsp)
|
(when (featurep! +lsp)
|
||||||
(add-hook! '(ruby-mode-local-vars-hook
|
(add-hook 'ruby-mode-local-vars-hook #'lsp!))
|
||||||
enh-ruby-mode-local-vars-hook)
|
|
||||||
#'lsp!))
|
|
||||||
|
|
||||||
(after! company-dabbrev-code
|
(after! company-dabbrev-code
|
||||||
(pushnew 'company-dabbrev-code-modes 'enh-ruby-mode 'ruby-mode))
|
(pushnew 'company-dabbrev-code-modes 'ruby-mode))
|
||||||
|
|
||||||
(after! inf-ruby
|
(after! inf-ruby
|
||||||
;; switch to inf-ruby from compile if we detect a breakpoint has been hit
|
;; switch to inf-ruby from compile if we detect a breakpoint has been hit
|
||||||
(add-hook 'compilation-filter-hook #'inf-ruby-auto-enter))
|
(add-hook 'compilation-filter-hook #'inf-ruby-auto-enter))
|
||||||
|
|
||||||
;; so class and module pairs work
|
;; so class and module pairs work
|
||||||
(setq-hook! (ruby-mode enh-ruby-mode) sp-max-pair-length 6)
|
(setq-hook! 'ruby-mode-hook sp-max-pair-length 6)
|
||||||
|
|
||||||
(map! :localleader
|
(map! :localleader
|
||||||
:map (ruby-mode-map enh-ruby-mode-map)
|
:map ruby-mode-map
|
||||||
"[" #'enh-ruby-toggle-block
|
"[" #'ruby-toggle-block
|
||||||
"{" #'enh-ruby-toggle-block))
|
"{" #'ruby-toggle-block))
|
||||||
|
|
||||||
|
|
||||||
(use-package! enh-ruby-mode
|
|
||||||
:when (executable-find "ruby")
|
|
||||||
:after ruby-mode
|
|
||||||
:config
|
|
||||||
;; If ruby is present, `enh-ruby-mode' provides superior (semantic) syntax
|
|
||||||
;; highlighting so use it instead.
|
|
||||||
(advice-add #'ruby-mode :override #'enh-ruby-mode))
|
|
||||||
|
|
||||||
|
|
||||||
(use-package! robe
|
(use-package! robe
|
||||||
:defer t
|
:defer t
|
||||||
:init
|
:init
|
||||||
(add-hook! 'enh-ruby-mode-hook
|
(add-hook! 'ruby-mode-hook
|
||||||
(defun +ruby-init-robe-mode-maybe-h ()
|
(defun +ruby-init-robe-mode-maybe-h ()
|
||||||
"Start `robe-mode' if `lsp-mode' isn't active."
|
"Start `robe-mode' if `lsp-mode' isn't active."
|
||||||
(unless (or (bound-and-true-p lsp-mode)
|
(unless (or (bound-and-true-p lsp-mode)
|
||||||
(bound-and-true-p lsp--buffer-deferred))
|
(bound-and-true-p lsp--buffer-deferred))
|
||||||
(robe-mode +1))))
|
(robe-mode +1))))
|
||||||
:config
|
:config
|
||||||
(set-repl-handler! '(ruby-mode enh-ruby-mode) #'robe-start)
|
(set-repl-handler! 'ruby-mode #'robe-start)
|
||||||
(set-company-backend! '(ruby-mode enh-ruby-mode) 'company-robe 'company-dabbrev-code)
|
(set-company-backend! 'ruby-mode 'company-robe 'company-dabbrev-code)
|
||||||
(set-lookup-handlers! '(ruby-mode enh-ruby-mode)
|
(set-lookup-handlers! 'ruby-mode
|
||||||
:definition #'robe-jump
|
:definition #'robe-jump
|
||||||
:documentation #'robe-doc)
|
:documentation #'robe-doc)
|
||||||
(map! :localleader
|
(map! :localleader
|
||||||
:map robe-mode-map
|
:map robe-mode-map
|
||||||
"'" #'robe-start
|
"'" #'robe-start
|
||||||
;; robe mode specific
|
|
||||||
"h" #'robe-doc
|
"h" #'robe-doc
|
||||||
"R" #'robe-rails-refresh
|
"R" #'robe-rails-refresh
|
||||||
;; inf-enh-ruby-mode
|
|
||||||
:prefix "s"
|
:prefix "s"
|
||||||
"d" #'ruby-send-definition
|
"d" #'ruby-send-definition
|
||||||
"D" #'ruby-send-definition-and-go
|
"D" #'ruby-send-definition-and-go
|
||||||
|
@ -80,13 +67,13 @@
|
||||||
|
|
||||||
;; NOTE Must be loaded before `robe-mode'
|
;; NOTE Must be loaded before `robe-mode'
|
||||||
(use-package! yard-mode
|
(use-package! yard-mode
|
||||||
:hook (ruby-mode enh-ruby-mode))
|
:hook ruby-mode)
|
||||||
|
|
||||||
|
|
||||||
(use-package! rubocop
|
(use-package! rubocop
|
||||||
:hook (ruby-mode . rubocop-mode)
|
:hook (ruby-mode . rubocop-mode)
|
||||||
:hook (enh-ruby-mode . rubocop-mode)
|
|
||||||
:config
|
:config
|
||||||
|
(set-popup-rule! "^\\*RuboCop" :select t)
|
||||||
(map! :localleader
|
(map! :localleader
|
||||||
:map rubocop-mode-map
|
:map rubocop-mode-map
|
||||||
"f" #'rubocop-check-current-file
|
"f" #'rubocop-check-current-file
|
||||||
|
@ -104,7 +91,7 @@
|
||||||
(setq rake-cache-file (concat doom-cache-dir "rake.cache"))
|
(setq rake-cache-file (concat doom-cache-dir "rake.cache"))
|
||||||
(map! :after ruby-mode
|
(map! :after ruby-mode
|
||||||
:localleader
|
:localleader
|
||||||
:map (ruby-mode-map enh-ruby-mode-map)
|
:map ruby-mode-map
|
||||||
:prefix "k"
|
:prefix "k"
|
||||||
"k" #'rake
|
"k" #'rake
|
||||||
"r" #'rake-rerun
|
"r" #'rake-rerun
|
||||||
|
@ -116,7 +103,7 @@
|
||||||
:init
|
:init
|
||||||
(map! :after ruby-mode
|
(map! :after ruby-mode
|
||||||
:localleader
|
:localleader
|
||||||
:map (ruby-mode-map enh-ruby-mode-map)
|
:map ruby-mode-map
|
||||||
:prefix "b"
|
:prefix "b"
|
||||||
"c" #'bundle-check
|
"c" #'bundle-check
|
||||||
"C" #'bundle-console
|
"C" #'bundle-console
|
||||||
|
@ -128,7 +115,6 @@
|
||||||
(use-package! chruby
|
(use-package! chruby
|
||||||
:when (featurep! +chruby)
|
:when (featurep! +chruby)
|
||||||
:hook (ruby-mode . chruby-use-corresponding)
|
:hook (ruby-mode . chruby-use-corresponding)
|
||||||
:hook (enh-ruby-mode . chruby-use-corresponding)
|
|
||||||
:config
|
:config
|
||||||
(setq rspec-use-rvm nil
|
(setq rspec-use-rvm nil
|
||||||
rspec-use-chruby t))
|
rspec-use-chruby t))
|
||||||
|
@ -187,7 +173,7 @@
|
||||||
|
|
||||||
(use-package! projectile-rails
|
(use-package! projectile-rails
|
||||||
:when (featurep! +rails)
|
:when (featurep! +rails)
|
||||||
:hook (enh-ruby-mode . projectile-rails-mode)
|
:hook (ruby-mode . projectile-rails-mode)
|
||||||
:init
|
:init
|
||||||
(setq inf-ruby-console-environment "development")
|
(setq inf-ruby-console-environment "development")
|
||||||
(when (featurep! :lang web)
|
(when (featurep! :lang web)
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
;;; lang/ruby/packages.el
|
;;; lang/ruby/packages.el
|
||||||
|
|
||||||
;; Major modes
|
;; Major modes
|
||||||
(package! enh-ruby-mode :pin "732331b99a")
|
(package! ruby-mode :built-in t)
|
||||||
(package! yard-mode :pin "ba74a47463")
|
(package! yard-mode :pin "ba74a47463")
|
||||||
|
|
||||||
;; REPL
|
;; REPL
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue