mirror of
https://github.com/doomemacs/doomemacs
synced 2025-08-03 12:27:26 -05:00
refactor!(ruby): remove robe
BREAKING CHANGE: This removes the Robe package from the ruby module, which now relies on lsp-mode/eglot to provide those features with more consistency and less maintenance overhead. Ref: https://github.com/orgs/doomemacs/projects/5/views/1?pane=issue&itemId=69411568 Close: #8237 Fix: #6994 Fix: #3055
This commit is contained in:
@ -39,42 +39,6 @@
|
||||
"{" #'ruby-toggle-block))
|
||||
|
||||
|
||||
(use-package! robe
|
||||
:defer t
|
||||
:init
|
||||
(add-hook! 'ruby-mode-hook
|
||||
(defun +ruby-init-robe-mode-maybe-h ()
|
||||
"Start `robe-mode' if `lsp-mode' isn't active."
|
||||
(or (bound-and-true-p lsp-mode)
|
||||
(bound-and-true-p lsp--buffer-deferred)
|
||||
(robe-mode +1))))
|
||||
:config
|
||||
(set-repl-handler! 'ruby-mode #'+ruby-robe-repl-handler)
|
||||
(set-company-backend! 'ruby-mode 'company-robe 'company-dabbrev-code)
|
||||
(set-lookup-handlers! 'ruby-mode
|
||||
:definition #'robe-jump
|
||||
:documentation #'robe-doc)
|
||||
(when (boundp 'read-process-output-max)
|
||||
;; Robe can over saturate IPC, making interacting with it slow/clobbering
|
||||
;; the GC, so increase the amount of data Emacs reads from it at a time.
|
||||
(setq-hook! '(robe-mode-hook inf-ruby-mode-hook)
|
||||
read-process-output-max (* 1024 1024)))
|
||||
(when (modulep! :editor evil)
|
||||
(add-hook 'robe-mode-hook #'evil-normalize-keymaps))
|
||||
(map! :localleader
|
||||
:map robe-mode-map
|
||||
"'" #'robe-start
|
||||
"h" #'robe-doc
|
||||
"R" #'robe-rails-refresh
|
||||
:prefix "s"
|
||||
"d" #'ruby-send-definition
|
||||
"D" #'ruby-send-definition-and-go
|
||||
"r" #'ruby-send-region
|
||||
"R" #'ruby-send-region-and-go
|
||||
"i" #'ruby-switch-to-inf))
|
||||
|
||||
|
||||
;; NOTE Must be loaded before `robe-mode'
|
||||
(use-package! yard-mode
|
||||
:hook ruby-mode)
|
||||
|
||||
|
Reference in New Issue
Block a user