ProofGeneral/PG@99f91e873e -> ProofGeneral/PG@3a99da2755 agda/agda@fbf9d159c3 -> agda/agda@4f82f9b90a amake/flutter.el@004c91e070 -> amake/flutter.el@e71235d400 babashka/neil@a38be9f082 -> babashka/neil@6728367eff beancount/beancount-mode@71c1622246 -> beancount/beancount-mode@7b437abcf0 chachi/cuda-mode@7dd07a20c3 -> chachi/cuda-mode@c3dae31b3d clojure-emacs/cider@105da319b0 -> clojure-emacs/cider@8fdb53e8be dominikh/go-mode.el@636d36e37a -> dominikh/go-mode.el@602d73e226 emacs-geiser/geiser@b6b4ac070d -> emacs-geiser/geiser@97ce88463f emacs-geiser/guile@d5175439c0 -> emacs-geiser/guile@5a856c2982 emacs-gnuplot/gnuplot@7138b139d2 -> emacs-gnuplot/gnuplot@4c6b18f71f emacs-lsp/lsp-dart@1f52e81c93 -> emacs-lsp/lsp-dart@9ffbafb7dc emacs-lsp/lsp-haskell@18a7c7881f -> emacs-lsp/lsp-haskell@ba49fa9822 emacs-lsp/lsp-java@4909c14b90 -> emacs-lsp/lsp-java@868600bf7f emacs-lsp/lsp-metals@fa4072cbe7 -> emacs-lsp/lsp-metals@0dc938be11 emacs-lsp/lsp-sourcekit@bb2b7e0278 -> emacs-lsp/lsp-sourcekit@63ff1ab638 emacs-lsp/lsp-treemacs@1d43e9e030 -> emacs-lsp/lsp-treemacs@fb1a07ae0a emacs-straight/adaptive-wrap@f5bc153273 -> emacs-straight/adaptive-wrap@d75665b9c8 emacs-straight/auctex@451b0f08b0 -> emacs-straight/auctex@08881d08ce emacs-straight/csv-mode@cdb73a771b -> emacs-straight/csv-mode@6979fc18eb emacs-straight/org-mode@f398724bd5 -> emacs-straight/org-mode@6a5d0ed342 emacs-straight/rainbow-mode@0740f31f30 -> emacs-straight/rainbow-mode@2e6b18609c emacs-straight/sml-mode@d114e5a27f -> emacs-straight/sml-mode@021233f60a emacsmirror/paredit@9a2c4b37fc -> emacsmirror/paredit@037b9b8acb ericdallo/jet.el@7d5157aac6 -> ericdallo/jet.el@c9a92675ef erlang/otp@2a64588d4a -> erlang/otp@c66bf53cde factor/factor@d143007778 -> factor/factor@31dc1a386b fosskers/sly-overlay@4c6135c260 -> fosskers/sly-overlay@d629450590 fxbois/web-mode@005aa62d6f -> fxbois/web-mode@0c83581d1e gcv/julia-snail@f7784c5007 -> gcv/julia-snail@dff92c4250 greghendershott/racket-mode@40ecb87f40 -> greghendershott/racket-mode@dba66c4536 hhvm/hack-mode@ccf20511f0 -> hhvm/hack-mode@343e45f2a6 https://repo.or.cz/org-contacts.git@d0cb221502c9 -> https://repo.or.cz/org-contacts.git@f0a430442b2a hvesalai/emacs-scala-mode@4c6d636b86 -> hvesalai/emacs-scala-mode@bd0638c32a idris-hackers/idris-mode@38dd2380dc -> idris-hackers/idris-mode@09de86a8f0 ifitzpatrick/graphql-doc.el@d37140267e -> ifitzpatrick/graphql-doc.el@17755a2466 jart/disaster@16bba9afb9 -> jart/disaster@b20f8e1ef9 joaotavora/sly@ba40c8f054 -> joaotavora/sly@742355f755 jorgenschaefer/emacs-buttercup@a1a86b027f -> jorgenschaefer/emacs-buttercup@bf01a33f8b jrblevin/markdown-mode@8aab017f47 -> jrblevin/markdown-mode@6102ac5b73 jschaf/powershell.el@f2da15857e -> jschaf/powershell.el@38727f1cda jwiegley/emacs-async@f317b0c9c3 -> jwiegley/emacs-async@43f97d7e68 ledger/ledger-mode@b0e65f74a5 -> ledger/ledger-mode@a6be7a2d79 nonsequitur/inf-ruby@0cfe8b2fb1 -> nonsequitur/inf-ruby@b234625c85 ocaml/dune@96ed5fb42f -> ocaml/dune@a7924e322e ocaml/merlin@9fa77dbe81 -> ocaml/merlin@e016abfac6 oer/org-re-reveal@dbd8ffb3e5 -> oer/org-re-reveal@91610ba9b0 org-noter/org-noter@68646b685a -> org-noter/org-noter@6f292d7f1e org-roam/org-roam@8667e44187 -> org-roam/org-roam@0b9fcbc97b rust-lang/rust-mode@a529a45181 -> rust-lang/rust-mode@c87f6f82bd seagle0128/grip-mode@7c42b8f61d -> seagle0128/grip-mode@9adac9c989 technomancy/fennel-mode@a4ddd1750f -> technomancy/fennel-mode@f4bd34e1c3 From this point on, Org will be pinned to tagged releases.
:lang ruby
Description unfold
This module add Ruby and optional Ruby on Rails support to Emacs.
- Code completion (doom-package:robe)
- Syntax checking (doom-package:flycheck)
- Jump-to-definitions (doom-package:robe)
- Bundler
- Rubocop integration (doom-package:flycheck)
Maintainers
Module flags
- +chruby
- Enable chruby integration.
- +lsp
-
Enable LSP support for
ruby-mode
. Requires doom-module::tools lsp and a langserver (supports solargraph). - +rails
- Enable rails navigational commands, plus server+console integration.
- +rbenv
- Enable rbenv integration.
- +rvm
- Enable RVM (Ruby Version Manager) integration.
- +tree-sitter
- Leverages tree-sitter for better syntax highlighting and structural text editing. Requires doom-module::tools tree-sitter.
Packages
- doom-package:bundler
- doom-package:chruby if doom-module:+chruby
- doom-package:company-inf-ruby if :completion company
- doom-package:inf-ruby
- doom-package:minitest
- doom-package:rake
- doom-package:rbenv if doom-module:+rbenv
- doom-package:robe
- doom-package:rspec-mode
- doom-package:rubocop
- doom-package:rvm if doom-module:+rvm
Hacks
No hacks documented for this module.
TODO Changelog
This module does not have a changelog yet.
Installation
Enable this module in your doom!
block.
This module requires Ruby and the Rubocop gem. It is recommended you install both with some version manager (RVM or Rbenv).
These guides will help you install Ruby:
Then run $ gem install rubocop
to install rubocop.
Formatter
Formatting is handled using the doom-module::editor format module via prettier.
TODO Usage
This module's usage documentation is incomplete. Complete it?
Commands
robe
command | key / ex command | description |
---|---|---|
robe-start |
<localleader> ' | Open ruby lang server for auto-completions and jump to definitions |
robe-rails-refresh |
<localleader> R | Refresh the lang server. |
projectile-rails
The projectile-rails prefix is <localleader> r:
command | key / ex command | description |
---|---|---|
projectile-rails-console |
<localleader> r r | Open Rails console |
projectile-rails-server |
<localleader> r R | Open Rails server |
projectile-rails-find-model |
<localleader> r m | Find any model of the project |
projectile-rails-find-model |
<localleader> r M | Find the model related of currently open resource |
bundler
The bundler prefix is <localleader> b:
command | key / ex command | description |
---|---|---|
bundle-install |
<localleader> b i | Runs bundle install |
bundle-update |
<localleader> b u | Runs bundle update |
rspec-mode
The rspec-mode prefix is <localleader> t:
command | key / ex command | description |
---|---|---|
rspec-verify |
SPC m t v |
Runs rspec on current file |
rspec-verify-method |
SPC m t s |
Runs rspec for the item on cursor |
TODO Configuration
This module has no configuration documentation yet. Write some?
Troubleshooting
There are no known problems with this module. Report one?
Known imenu issues
These are recorded issues with ruby-mode's imenu integration that need to be addressed upstream. PRs to fix them locally are welcome.
-
Incorrectly parses methods/items after an array accessor endless method definition (Ruby 3+):
class Foo def bar; end def baz; end def [](key) = x + x def wop; end def gop; end end
Imenu will list
Foo#bar
,Foo#baz
, andFoo#[]
but stops there, sometimes listing the rest as if there were top-level. -
Does not recognize inline Struct definitions as classes:
Foo = Struct.new(:a, :b, :c) do def test; end end
Imenu should recognize this method as
Foo#test
, nottest
.class Foo < Struct.new(...)
is not an acceptable workaround because it creates an intermediary class (i.e. has side-effects).
Frequently asked questions
This module has no FAQs yet. Ask one?
TODO Appendix
This module has no appendix yet. Write one?