Commit Graph

111 Commits

Author SHA1 Message Date
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
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
16af1dee6e fix(rust): enable rainbow-delimiters-mode in rustic-mode 2022-08-02 20:39:18 +02:00
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
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
0c2f986708 feat(:lang): enable ts text objs in modes 2022-05-22 21:26:03 +01:00
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
86901cca7d refactor(rust): remove redundant code
Amend: c05822ab39
2022-03-31 21:15:26 +02:00
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
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
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
fce08306b1 Merge pull request #5062 from fosskers/colin/module-docs
Rust/Ivy Module Docs
2021-05-20 22:41:28 -04:00
04b5dee615 [rust] Correct references to "elgot"
It's a typo.
2021-05-17 07:32:49 -07:00
eaa32572b9 lang/rust: fix void-variable flycheck-checkers error
In case flycheck hasn't loaded yet.
2021-05-16 14:27:51 -04:00
b0e59ccdcc Fix #5030: leave rustfmt to :editor format 2021-05-11 17:00:11 -04:00
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
a7df1f76a4 Bump :lang rust
brotzeit/rustic@d97ec86 -> brotzeit/rustic@ed68fd3

Includes minor refactors
2021-05-03 00:17:16 -04:00
7081d833f6 Move :ui pretty-code to :ui ligatures
Includes a major refactor of the module.
2020-08-20 02:14:32 -04:00
af76c873aa Fix "no org-babel-execute function for rust"
Mentioned in #3140
2020-07-15 01:11:01 -04:00
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
ba9448e17a Fix typo 2020-05-18 16:50:10 -07:00
7e9fa0f21b Use rustic-mode for rust org src blocks 2020-04-10 02:00:52 -04:00
296cbff097 General, minor refactor & reformatting 2020-03-27 18:06:42 -04:00
836c1b29ed Bump to Fuco1/smartparens@1f8857c
From Fuco1/smartparens@be8d5c9

Fixes #2543
Closes #2682
2020-03-08 17:30:50 -04:00
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
2ba21e5e8b Bump :lang rust
brotzeit/rustic@6dead0c -> brotzeit/rustic@9939691
2020-02-29 12:48:06 -05:00
429decef87 Fix #2623: don't replace rustic compilation popups 2020-02-27 21:55:12 -05:00
afa6b7ab90 Fix absolute path in rustic-analyzer-command by default 2020-02-27 11:55:27 -05:00
0e1a737127 Fix #2541: empty imenu list in rustic+rls buffers 2020-02-20 18:19:59 -05:00
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
a4293b53a1 Enable rustic-clippy checker in LSP's absence 2020-02-06 15:20:42 -05:00
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
8bed16eb72 fix message 2020-01-04 12:49:43 +01:00
960d756b47 General, minor refactors 2019-12-30 18:23:56 -05:00
a0425d0df7 lang/rust: add eglot docs & inhibit package.el usage #2195 2019-12-21 14:15:20 -05:00
c522ca4fc0 Minor refactors & cleanup 2019-12-15 15:53:28 -05:00
f2f8503246 lang/rust: use default LSP client instead of rustic's 2019-12-05 20:21:15 -05:00
e28b4215ec lang/rust: fix wrong-number-of-args: delete error
Reported in hlissner/doom-emacs@9775939
2019-12-03 20:41:17 -05:00
9775939f9d lang/rust: fix #2132
Prevents rust-mode from taking over *.rs files.
2019-12-02 20:22:00 -05:00
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
c86d400518 lang/rust: replace cargo.el w/ rustic-cargo #2108 2019-11-23 16:00:30 -05:00
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
c360f0dceb Minor refactor & comment/docstring revision 2019-10-26 23:44:28 -04:00
fecca3188a lang/rust: rust-match-angle-brackets = nil (for evil users) 2019-10-22 19:37:30 -04:00
0e114b6766 lang/rust: remove editorconfig-indentation-alist entry
Merged upstream in editorconfig/editorconfig-emacs#208
2019-10-20 10:58:52 -04:00
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
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
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
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
8e9d3fdc5d Fix package-installed-p hack for rustic 2019-09-20 21:49:44 +10:00