From f82771980ae508cbbfd90e16cd2e4c9f03d4b6ff Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Wed, 11 Mar 2020 23:20:06 -0400 Subject: [PATCH] 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. --- modules/lang/ruby/config.el | 50 +++++++++++++---------------------- modules/lang/ruby/packages.el | 2 +- 2 files changed, 19 insertions(+), 33 deletions(-) diff --git a/modules/lang/ruby/config.el b/modules/lang/ruby/config.el index 5078cb7db..c06359001 100644 --- a/modules/lang/ruby/config.el +++ b/modules/lang/ruby/config.el @@ -15,61 +15,48 @@ :config (setq ruby-insert-encoding-magic-comment nil) - (set-electric! '(ruby-mode enh-ruby-mode) :words '("else" "end" "elsif")) - (set-repl-handler! '(ruby-mode enh-ruby-mode) #'inf-ruby) + (set-electric! 'ruby-mode :words '("else" "end" "elsif")) + (set-repl-handler! 'ruby-mode #'inf-ruby) (when (featurep! +lsp) - (add-hook! '(ruby-mode-local-vars-hook - enh-ruby-mode-local-vars-hook) - #'lsp!)) + (add-hook 'ruby-mode-local-vars-hook #'lsp!)) (after! company-dabbrev-code - (pushnew 'company-dabbrev-code-modes 'enh-ruby-mode 'ruby-mode)) + (pushnew 'company-dabbrev-code-modes 'ruby-mode)) (after! inf-ruby ;; switch to inf-ruby from compile if we detect a breakpoint has been hit (add-hook 'compilation-filter-hook #'inf-ruby-auto-enter)) ;; 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 (ruby-mode-map enh-ruby-mode-map) - "[" #'enh-ruby-toggle-block - "{" #'enh-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)) + :map ruby-mode-map + "[" #'ruby-toggle-block + "{" #'ruby-toggle-block)) (use-package! robe :defer t :init - (add-hook! 'enh-ruby-mode-hook + (add-hook! 'ruby-mode-hook (defun +ruby-init-robe-mode-maybe-h () "Start `robe-mode' if `lsp-mode' isn't active." (unless (or (bound-and-true-p lsp-mode) (bound-and-true-p lsp--buffer-deferred)) (robe-mode +1)))) :config - (set-repl-handler! '(ruby-mode enh-ruby-mode) #'robe-start) - (set-company-backend! '(ruby-mode enh-ruby-mode) 'company-robe 'company-dabbrev-code) - (set-lookup-handlers! '(ruby-mode enh-ruby-mode) + (set-repl-handler! 'ruby-mode #'robe-start) + (set-company-backend! 'ruby-mode 'company-robe 'company-dabbrev-code) + (set-lookup-handlers! 'ruby-mode :definition #'robe-jump :documentation #'robe-doc) (map! :localleader :map robe-mode-map "'" #'robe-start - ;; robe mode specific "h" #'robe-doc - "R" #'robe-rails-refresh - ;; inf-enh-ruby-mode + "R" #'robe-rails-refresh :prefix "s" "d" #'ruby-send-definition "D" #'ruby-send-definition-and-go @@ -80,13 +67,13 @@ ;; NOTE Must be loaded before `robe-mode' (use-package! yard-mode - :hook (ruby-mode enh-ruby-mode)) + :hook ruby-mode) (use-package! rubocop :hook (ruby-mode . rubocop-mode) - :hook (enh-ruby-mode . rubocop-mode) :config + (set-popup-rule! "^\\*RuboCop" :select t) (map! :localleader :map rubocop-mode-map "f" #'rubocop-check-current-file @@ -104,7 +91,7 @@ (setq rake-cache-file (concat doom-cache-dir "rake.cache")) (map! :after ruby-mode :localleader - :map (ruby-mode-map enh-ruby-mode-map) + :map ruby-mode-map :prefix "k" "k" #'rake "r" #'rake-rerun @@ -116,7 +103,7 @@ :init (map! :after ruby-mode :localleader - :map (ruby-mode-map enh-ruby-mode-map) + :map ruby-mode-map :prefix "b" "c" #'bundle-check "C" #'bundle-console @@ -128,7 +115,6 @@ (use-package! chruby :when (featurep! +chruby) :hook (ruby-mode . chruby-use-corresponding) - :hook (enh-ruby-mode . chruby-use-corresponding) :config (setq rspec-use-rvm nil rspec-use-chruby t)) @@ -187,7 +173,7 @@ (use-package! projectile-rails :when (featurep! +rails) - :hook (enh-ruby-mode . projectile-rails-mode) + :hook (ruby-mode . projectile-rails-mode) :init (setq inf-ruby-console-environment "development") (when (featurep! :lang web) diff --git a/modules/lang/ruby/packages.el b/modules/lang/ruby/packages.el index 77bcd2e2a..9f3ad67e9 100644 --- a/modules/lang/ruby/packages.el +++ b/modules/lang/ruby/packages.el @@ -2,7 +2,7 @@ ;;; lang/ruby/packages.el ;; Major modes -(package! enh-ruby-mode :pin "732331b99a") +(package! ruby-mode :built-in t) (package! yard-mode :pin "ba74a47463") ;; REPL