Commit graph

112 commits

Author SHA1 Message Date
arnfaldur
bd9aef928c
fix(rust): make cargo popups consistent
When invoking `rustic-cargo-run` a buffer called `*cargo-run*` is
opened. This adds a rule such that this buffer opens in a popup window
that is the same as the popup windows for other rustic cargo commands.

Ref: #2623
2023-10-06 22:36:59 +02:00
Henrik Lissner
63b0ebeda7
refactor!(rust): remove racer and default to +lsp
BREAKING CHANGE: Racer is no longer developed and its project page
recommends using rust-analyzer instead. Moreover, users have reported
issues trying to build/install it on recent versions of rust, so I've
removed support for Racer from Doom, and now default solely to LSP for
IDE features.

Users that want these features will need to activate the module's +lsp
flag (along with the :tools lsp module) and install rust-analyzer. See
the module's README for instructions.

Close: #6705
Co-authored-by: c1ttim <c1ttim@users.noreply.github.com>
2022-09-07 01:25:18 +02:00
Henrik Lissner
ad6a3d0f33
refactor: deprecate featurep! for modulep!
featurep! will be renamed modulep! in the future, so it's been
deprecated. They have identical interfaces, and can be replaced without
issue.

featurep! was never quite the right name for this macro. It implied that
it had some connection to featurep, which it doesn't (only that it was
similar in purpose; still, Doom modules are not features). To undo such
implications and be consistent with its namespace (and since we're
heading into a storm of breaking changes with the v3 release anyway),
now was the best opportunity to begin the transition.
2022-08-14 20:43:35 +02:00
Ellis Kenyő
16af1dee6e fix(rust): enable rainbow-delimiters-mode in rustic-mode 2022-08-02 20:39:18 +02:00
Henrik Lissner
a70e634ebd
refactor(:lang): move tree-sitter init
Moved add-hook calls (for tree-sitter initialization) into their
respective modes' config blocks, or nearby, to be consistent with how
other, similar tools (like lsp!) are initialized, and does so at
runtime, rather than at expansion/compile time, which eval-when! caused.
2022-07-25 17:34:44 +02:00
Jeetaditya Chatterjee
7f814e5d99
refactor(:lang): redo tree-sitter hooks
- bind to major-mode-local-vars-hook instead of major mode hook
- bind the autodef tree-sitter! instead of the functions.
2022-05-22 21:26:08 +01:00
Jeetaditya Chatterjee
0c2f986708
feat(:lang): enable ts text objs in modes 2022-05-22 21:26:03 +01:00
Jeetaditya Chatterjee
06ed5ade3f
refactor!(tree-sitter): add +tree-sitter flag
BREAKING CHANGE: break the global nature of the tree sitter
module by adding a +tree-sitter flag to every applicable module

In the background this hooks turn-on-tree-sitter-mode
to the major-mode-hook of the language.
This may also solve the eager loading of tree sitter
2022-05-22 21:26:00 +01:00
Henrik Lissner
86901cca7d
refactor(rust): remove redundant code
Amend: c05822ab39
2022-03-31 21:15:26 +02:00
Henrik Lissner
c05822ab39
bump: :lang
Emacs-Kotlin-Mode-Maintainers/kotlin-mode@876cc27dc1 -> Emacs-Kotlin-Mode-Maintainers/kotlin-mode@3e0c34087b
FStarLang/fstar-mode.el@3afbf04e4e -> FStarLang/fstar-mode.el@c95c2a61a6
Fanael/edit-indirect@7fffd87ac3 -> Fanael/edit-indirect@e3d86416bc
Fuco1/sphinx-mode@b5ac514e21 -> Fuco1/sphinx-mode@9d4075c106
Groovy-Emacs-Modes/groovy-emacs-modes@84f89b68ec -> Groovy-Emacs-Modes/groovy-emacs-modes@bf732d367b
NixOS/nix-mode@8e20de5ba7 -> NixOS/nix-mode@20ee8d8890
OCamlPro/ocp-indent@9e26c0a269 -> OCamlPro/ocp-indent@7c4d434132
ProofGeneral/PG@df19c7ba0e -> ProofGeneral/PG@e1e29acb04
Raku/raku-mode@eaac071f17 -> Raku/raku-mode@977b14a7c1
Sarcasm/irony-mode@5063d6b16d -> Sarcasm/irony-mode@870d1576fb
agda/agda@2816605bfd -> agda/agda@2816605bfd
amake/flutter.el@81c524a43c -> amake/flutter.el@08138f8c95
ananthakumaran/exunit.el@5bb115f327 -> ananthakumaran/exunit.el@0715c2dc2d
ananthakumaran/tide@28137ed904 -> ananthakumaran/tide@b93e555858
asok/projectile-rails@30828afbfa -> asok/projectile-rails@772f4766b5
asok/rake@9c204334b0 -> asok/rake@452ea0caca
brotzeit/rustic@f4b5c288af -> brotzeit/rustic@6eec971387
cdominik/cdlatex@f215b70c5c -> cdominik/cdlatex@8e963c6853
clojure-emacs/cider@36277802a4 -> clojure-emacs/cider@86dd3fee9d
codesuki/add-node-modules-path@7d9be65b3b -> codesuki/add-node-modules-path@63f047fd84
crystal-lang-tools/emacs-crystal-mode@15998140b0 -> crystal-lang-tools/emacs-crystal-mode@96a8058205
cython/cython@5b325c9860 -> cython/cython@fdea2d6bed
diml/utop@c87b8b2817 -> diml/utop@5d72a0ab34
dominikh/go-mode.el@32cbd78c0a -> dominikh/go-mode.el@3273fcece5
elixir-editors/emacs-elixir@6bbc1e5ac4 -> elixir-editors/emacs-elixir@e0d0466d83
emacs-csharp/csharp-mode@9917e1b97d -> emacs-csharp/csharp-mode@856ecbc0a7
emacs-ess/ESS@a7ce81bb76 -> emacs-ess/ESS@39eba28300
emacs-geiser/geiser@c1cc4da1ed -> emacs-geiser/geiser@9507e81a07
emacs-geiser/guile@cfd9116dcb -> emacs-geiser/guile@c641fcc50b
emacs-lsp/lsp-dart@813d3c92db -> emacs-lsp/lsp-dart@fda433671f
emacs-lsp/lsp-haskell@4e62cf897d -> emacs-lsp/lsp-haskell@7cf64944ab
emacs-lsp/lsp-java@ce03cb6574 -> emacs-lsp/lsp-java@0968038b9a
emacs-lsp/lsp-metals@695291761b -> emacs-lsp/lsp-metals@b7f77de694
emacs-lsp/lsp-pyright@d428dbcf18 -> emacs-lsp/lsp-pyright@3598bc7c47
emacs-php/php-mode@535aec8173 -> emacs-php/php-mode@5f26bec865
emacs-php/phpactor.el@272217fbb6 -> emacs-php/phpactor.el@34195f1533
emacs-straight/auctex@3b0a080ae5 -> emacs-straight/auctex@830e40a063
emacs-straight/csv-mode@8da54e8b4e -> emacs-straight/csv-mode@43f6106f0d
emacs-typescript/typescript.el@e824162051 -> emacs-typescript/typescript.el@88f317f0b6
erlang/otp@c1ab4b5424 -> erlang/otp@9ba9f6e60d
ethereum/emacs-solidity@6f7bd1641e -> ethereum/emacs-solidity@20fb77e089
factor/factor@7b451bb813 -> factor/factor@1aeafdb87b
fsharp/emacs-fsharp-mode@c90d762c06 -> fsharp/emacs-fsharp-mode@b3aa4c53fc
fxbois/web-mode@61f057a6ba -> fxbois/web-mode@efa853e5cf
godotengine/emacs-gdscript-mode@b7bfa6a3b2 -> godotengine/emacs-gdscript-mode@4badcf6a0c
greghendershott/racket-mode@a879a8d67b -> greghendershott/racket-mode@af9b760e7b
hakimel/reveal.js@918ee5610a -> hakimel/reveal.js@e281b3234e
haskell/haskell-mode@8402caa341 -> haskell/haskell-mode@cb573c8db5
hhvm/hack-mode@4c1c2b0939 -> hhvm/hack-mode@a522f61c08
technomancy/fennel-mode@47152970a9 -> https://git.sr.ht/~technomancy/fennel-mode@50ef3c6246f3
hvesalai/emacs-sbt-mode@e29464a82b -> hvesalai/emacs-sbt-mode@9fe1e8807c
hylang/hy-mode@5253533ddb -> hylang/hy-mode@df814865a1
idris-hackers/idris-mode@3cc9361b4c -> idris-hackers/idris-mode@65d6db1b75
iyefrat/evil-tex@aa0ddf8e76 -> iyefrat/evil-tex@0fa85c3fc8
jcollard/elm-mode@f2e2d0053f -> jcollard/elm-mode@d4e434fa18
joaotavora/sly@2e00c3bd4b -> joaotavora/sly@4513c382f0
jorgenschaefer/emacs-buttercup@1de6be465c -> jorgenschaefer/emacs-buttercup@f5cbf97e10
joshwnj/json-mode@0e819e519a -> joshwnj/json-mode@eedb456003
jrblevin/markdown-mode@541bd7b48a -> jrblevin/markdown-mode@521658eb32
jschaf/powershell.el@d1b3f95669 -> jschaf/powershell.el@ce1f0ae0b2
jwiegley/emacs-async@5d365ffc6a -> jwiegley/emacs-async@c78bab7506
leanprover/lean-mode@bf32bb9793 -> leanprover/lean-mode@c1c68cc946
ledger/ledger-mode@19b84dc766 -> ledger/ledger-mode@b55384d9cd
necaris/conda.el@7a34e06931 -> necaris/conda.el@9c28d7a853
nonsequitur/inf-ruby@03dd9c9d4e -> nonsequitur/inf-ruby@dbf4386bac
ocaml-ppx/ocamlformat@22a3707da3 -> ocaml-ppx/ocamlformat@9324ea439a
ocaml/dune@4d0a47edd5 -> ocaml/dune@4bc7629a5e
ocaml/merlin@e4791e2298 -> ocaml/merlin@5d59c70659
ocaml/tuareg@00faf47a7c -> ocaml/tuareg@04f5ab6be9
osv/company-web@f0cc9187c9 -> osv/company-web@863fb84b81
pashky/restclient.el@176d9cb655 -> pashky/restclient.el@9e2cfa8652
pezra/rspec-mode@92ef785010 -> pezra/rspec-mode@4215ff1f2d
polymode/polymode@54888d6c15 -> polymode/polymode@2094c92403
seagle0128/grip-mode@9220a560b4 -> seagle0128/grip-mode@6b427143a8
sebasmonia/sharper@08277b6c30 -> sebasmonia/sharper@96edd4a1db
stan-dev/stan-mode@9bb858b9f1 -> stan-dev/stan-mode@150bbbe5fd
swift-emacs/swift-mode@800efe2910 -> swift-emacs/swift-mode@0d1ef0ef18
tpapp/julia-repl@e90b1ed2cc -> tpapp/julia-repl@6c1d63511f
wbolster/emacs-python-pytest@b603c5c7f2 -> wbolster/emacs-python-pytest@ea53891a21
yoshiki/yaml-mode@63b637f846 -> yoshiki/yaml-mode@535273d5a1
ziglang/zig-mode@aba01b6199 -> ziglang/zig-mode@aa20d630b8

- Refactors the :lang rust module to reflect changes upstream, in
  rustic (thanks to #6154).

Close: #6154
Fix: #6070
2022-03-31 21:09:38 +02:00
Henrik Lissner
7c6ebc48d5
bump: :lang rust
brotzeit/rustic@804ebfe029 -> brotzeit/rustic@f4b5c288af

Close: #6153
Co-authored-by: brotzeit <brotzeitmacher@gmail.com>
2022-03-19 16:43:44 +01:00
Colin Woodbury
4cb498e3a1
lang/rust: Differentiate doc building bindings
`cargo doc --open` (the previous binding of `SPC m b d`) always opens a
new browser tab. For "doc-driven development" this isn't so nice, since
we'd like to stay in the same tab and just refresh its contents after
editing. That's what `cargo doc` (without `--open`) does, which is
called by `#'rustic-carg-build-doc`.

This commit introduces a binding for the latter behaviour, but asigns it
to the old `SPC m b d`, with the "open" variant as `SPC m b D`. This
matches Spacemacs and follows the usual pattern of "the capital letter
variant is the one you use less often".
2021-05-26 21:57:05 -07:00
Henrik Lissner
fce08306b1
Merge pull request #5062 from fosskers/colin/module-docs
Rust/Ivy Module Docs
2021-05-20 22:41:28 -04:00
Colin Woodbury
04b5dee615
[rust] Correct references to "elgot"
It's a typo.
2021-05-17 07:32:49 -07:00
Henrik Lissner
eaa32572b9 lang/rust: fix void-variable flycheck-checkers error
In case flycheck hasn't loaded yet.
2021-05-16 14:27:51 -04:00
Henrik Lissner
b0e59ccdcc Fix #5030: leave rustfmt to :editor format 2021-05-11 17:00:11 -04:00
Henrik Lissner
e68c83fd4e Remove unneeded entry in org-babel-tangle-lang-exts
Also the source of a regression (causing void-variable
org-babel-tangle-lang-exts errors).

Fixes #4970
Closes #4971
2021-05-03 13:27:20 -04:00
Henrik Lissner
a7df1f76a4 Bump :lang rust
brotzeit/rustic@d97ec86 -> brotzeit/rustic@ed68fd3

Includes minor refactors
2021-05-03 00:17:16 -04:00
Henrik Lissner
7081d833f6
Move :ui pretty-code to :ui ligatures
Includes a major refactor of the module.
2020-08-20 02:14:32 -04:00
Henrik Lissner
af76c873aa
Fix "no org-babel-execute function for rust"
Mentioned in #3140
2020-07-15 01:11:01 -04:00
Gerry Agbobada
3e5b7cce3f
[eglot] Add support for eglot lsp client in emacs
- Update README
- Add eglot-specifics to cc, rs, py, hs
  removing unused lsp-mode packages when eglot is active
- Add eglot-specific bindings
- Add doctor warnings for debugger +lsp and +peek
- Add eglot-backed lookup-handlers
- Add flycheck checker using eglot for :checkers
  syntax users (using flycheck/flycheck#1676 and
  flycheck/flycheck#1592 discussion).
  This implementation is based on @marsam code, and uses recent
  Flycheck development in order to make the code smaller and
  easier to maintain.
2020-05-28 09:34:10 +02:00
Kostas
ba9448e17a
Fix typo 2020-05-18 16:50:10 -07:00
Henrik Lissner
7e9fa0f21b
Use rustic-mode for rust org src blocks 2020-04-10 02:00:52 -04:00
Henrik Lissner
296cbff097
General, minor refactor & reformatting 2020-03-27 18:06:42 -04:00
Henrik Lissner
836c1b29ed
Bump to Fuco1/smartparens@1f8857c
From Fuco1/smartparens@be8d5c9

Fixes #2543
Closes #2682
2020-03-08 17:30:50 -04:00
brotzeit
8d05600f25 Bump lsp-mode & rustic
brotzeit/rustic@9939691 -> brotzeit/rustic@373f5a1
emacs-lsp/lsp-mode@2e6b748 -> emacs-lsp/lsp-mode@6a94356
2020-03-04 21:59:42 +01:00
Henrik Lissner
2ba21e5e8b
Bump :lang rust
brotzeit/rustic@6dead0c -> brotzeit/rustic@9939691
2020-02-29 12:48:06 -05:00
Henrik Lissner
429decef87
Fix #2623: don't replace rustic compilation popups 2020-02-27 21:55:12 -05:00
Henrik Lissner
afa6b7ab90
Fix absolute path in rustic-analyzer-command by default 2020-02-27 11:55:27 -05:00
Henrik Lissner
0e1a737127
Fix #2541: empty imenu list in rustic+rls buffers 2020-02-20 18:19:59 -05:00
Henrik Lissner
cd3103b1be
Bump to brotzeit/rustic@6dead0c
From brotzeit/rustic@da3820d

Due to changes upstream, users can no longer use lsp-rust-server to
switch to rust-analyzer with rustic-mode. Use rustic-lsp-server instead.
2020-02-20 18:19:45 -05:00
Henrik Lissner
a4293b53a1
Enable rustic-clippy checker in LSP's absence 2020-02-06 15:20:42 -05:00
Henrik Lissner
c5d6e6267c
Bump to brotzeit/rustic@c7cab3f
My rust advice can be simplified thanks to brotzeit/rustic#87 being
merged.
2020-01-28 20:47:45 -05:00
brotzeit
8bed16eb72 fix message 2020-01-04 12:49:43 +01:00
Henrik Lissner
960d756b47
General, minor refactors 2019-12-30 18:23:56 -05:00
Henrik Lissner
a0425d0df7
lang/rust: add eglot docs & inhibit package.el usage #2195 2019-12-21 14:15:20 -05:00
Henrik Lissner
c522ca4fc0
Minor refactors & cleanup 2019-12-15 15:53:28 -05:00
Henrik Lissner
f2f8503246
lang/rust: use default LSP client instead of rustic's 2019-12-05 20:21:15 -05:00
Henrik Lissner
e28b4215ec
lang/rust: fix wrong-number-of-args: delete error
Reported in hlissner/doom-emacs@9775939
2019-12-03 20:41:17 -05:00
Henrik Lissner
9775939f9d
lang/rust: fix #2132
Prevents rust-mode from taking over *.rs files.
2019-12-02 20:22:00 -05:00
Henrik Lissner
bf0a797a36
lang/rust: rustic-format-on-save -> rustic-format-trigger
The former is deprecated for the latter.
2019-12-02 20:22:00 -05:00
Henrik Lissner
c86d400518
lang/rust: replace cargo.el w/ rustic-cargo #2108 2019-11-23 16:00:30 -05:00
Henrik Lissner
99cd52e70f
💥 Drop Emacs 25.x support
Emacs 26.1 is Doom's new minimum supported version

Closes #2026
2019-11-08 16:02:06 -05:00
Henrik Lissner
c360f0dceb
Minor refactor & comment/docstring revision 2019-10-26 23:44:28 -04:00
Henrik Lissner
fecca3188a
lang/rust: rust-match-angle-brackets = nil (for evil users) 2019-10-22 19:37:30 -04:00
Henrik Lissner
0e114b6766
lang/rust: remove editorconfig-indentation-alist entry
Merged upstream in editorconfig/editorconfig-emacs#208
2019-10-20 10:58:52 -04:00
Henrik Lissner
9b25582be1
Reduce list of root files projectile searches for
And define them on a per-module basis. This reduces the number of file
checks it performs, particularly for non-project files.

Might help #1317
2019-10-19 22:22:49 -04:00
Henrik Lissner
e1edbcb3d9
Remove dtrt-indent entries for crystal, rust & scala
They were merged upstream in jscheid/dtrt-indent/pull/49
2019-10-19 15:01:37 -04:00
Henrik Lissner
051bceb0a8
Refactor localleader keybinds #1270
Introduces a select few of the localleader keybind standards proposed in
issue #1270, corrects a few typos and introduces more localleader
keybinds in general.

Co-authored-by: yuhan0 <>
2019-10-04 22:04:47 -04:00
Henrik Lissner
f05512c2e5
lang/rust: restore advice redefs
Update package-installed-p redefinition to use a safe `require`, so that rustic-setup-rls will fail gracefully if lsp/eglot aren't available.

And restore rustic-install-rls-client-p redefinition to prevent rustic from trying to install packages.
2019-09-20 14:49:39 -04:00