Commit graph

107 commits

Author SHA1 Message Date
syl20bnr
97cd83e169 Apply GPLv3 terms explicitly to all elisp files 2021-03-25 22:59:32 -04:00
syl20bnr
d55a9e2e67 Update header for year 2021 2021-03-25 22:59:32 -04:00
Teo Klestrup Röijezon
170e4a9852 Add keybind to reload Rust-Analyzer workspace
Allows you to pick up new Cargo dependencies without a (slooow)
full server restart.

See https://github.com/emacs-lsp/lsp-mode/pull/2728

Add diagnostic messages when trying to reload RA workspace

No point restarting when trying to reload RLS
2021-03-20 20:14:40 +00:00
Lucius Hu
d6eb0f9fe6 rust: Improved LSP Rust server switch functionality
Currently, when `lsp` backend is used for `rust` layer, `SPC m s s` is bound to
`lsp-rust-switch-server`, which temporarily changes the preferred LSP server
for `rust-mode`, but it DOES NOT switch the running LSP server. Users need to
call `lsp-workspace-restart` to finish the switching.

This PR introduced a new function `spacemacs//lsp-rust-switch-server`, which is
a wrapper for the two aforementioned functions
2021-03-19 12:54:41 +01:00
Robert O'Connor
82ba73a1c0
update copyright to 2020 2020-09-23 21:25:01 +02:00
Daniel Hutzley
ca2f776056 Switch from nabero's ron mode to my own custom ron-mode (hosted on MELPA) 2020-08-26 22:51:08 +02:00
duianto
c6dc8fad47 [rust] Fix .ron support
Missing parentheses around:
"\\.ron\\'" . ron-mode

in the line:
:mode "\\.ron\\'" . ron-mode

Updated the rust readme to mention the .ron support.

And added a changelog.develop entry.
2020-08-09 11:30:00 +02:00
Daniel Hutzley
c8f7752dfe Add Rusty Object Notation (RON) support to the Rust crate, predominantly used by the Amethyst Game Engine 2020-08-09 11:18:46 +02:00
Robert Roland
d98cccaa2f [rust] Small typo fix
This fixes a small typo, switching ` for =
2020-07-24 10:54:02 +02:00
Maximilian Wolff
1fd90fc1dc
Update instructions for dap integration and update existing layers
The previous way of adding dap to a layer did add the mode
unconditionally to `spacemacs--dap-supported-modes` causing
dap bindings to be added also when no lsp backend was used.
2020-05-16 23:40:38 +02:00
Ivan Yonchovski
c3f13d0391 Removed company-lsp in favour of company-capf
- Also removed some cquery artifacts which accidentally ended up in this PR
instead of in https://github.com/syl20bnr/spacemacs/pull/13446
2020-04-04 08:24:44 +02:00
Lucius Hu
82e5387cd9
rust: Updated README for external dependencies
Instructoins on the following external dependencies required by certain
functions are added/updated to the README file:
- `cargo-edit`
- `cargo-audit`
- `rustfmt`
- `clippy`

Signed-off-by: Lucius Hu <lebensterben@users.noreply.github.com>
2020-03-01 00:16:35 +01:00
emacspace
7536239f9e
documentation formatting: Wed Feb 26 16:43:02 UTC 2020 2020-02-26 19:14:35 +01:00
Lucius Hu
70efaaae59
[rust] Added key bindings for cargo-edit, cargo-audit and Clippy
This is a squashed commit it contains:
- Added new sections on `cargo-edit`, `cargo-audit`, and `Clippy`,
which are used for several key-bindings in this layer.
- Re-ordered the `Key bindings` section, added entries for new bidings,
and improved description.
- ~SPC m c a~ for =cargo add=
- ~SPC m c r~ for =cargo rm=
- ~SPC m c U~ for =cargo upgrade=
- ~SPC m c A~ for =cargo audit=
- ~SPC m c X~ is for =cargo run --bin= now, instead of =cargo run --example=,
which is bound to ~SPC m c E~
2020-02-26 16:40:12 +00:00
emacspace
546f626be9
documentation formatting: Sat Feb 22 10:39:46 UTC 2020 2020-02-22 11:44:35 +01:00
Lucius Hu
24d9c3f7ee
[rust] Add key binding to switch lsp rust server
`lsp-mode` supports two LSP server backend for Rust language, i.e.
`rls` and `rust-analyzer`.

`rust-analyzer` is experimental and lacks certain functionalities
such as `DAP` support.

`lsp-mode` provides a function `lsp-rust-switch-server` that changes
the priority of LSP server backend for *new* LSP session.

This commit adds a key binding `SPC m s s` to `lsp-rust-switch-server`.
2020-02-13 19:27:32 +00:00
Keiichi Watanabe
0e48bac272 rust: Fix a broken code block in README 2020-01-31 23:23:53 +09:00
emacspace
75cfd40d3c
documentation formatting: Mon Jan 27 22:19:54 UTC 2020 2020-01-27 23:35:09 +01:00
syl20bnr
52d1b0f323 Revert "[clojure] Add sesman keybindings"
This breaks Spacemacs convention:
https://github.com/syl20bnr/spacemacs/blob/develop/doc/CONVENTIONS.org#repls

Need to add session management under an unused prefix, I suggest SPC m S

This reverts commit e47494229b.
2020-01-25 10:17:08 -05:00
emacspace
ff5b3ae291 documentation formatting: Thu Jan 23 11:14:51 UTC 2020 2020-01-23 12:18:03 +01:00
Lucius Hu
d7e9a803fd rust: Guides to use rust-analyzer; fix link 2020-01-20 15:59:28 +01:00
duianto
010ede8c30 [rust] Update backend
Refactor duplicate "lsp layer not installed ..." strings, into a function.
Add line breaks to limit lines to 80 chars.
2019-12-28 16:17:51 +01:00
Grant Shangreaux
2e30b9bb09 [rust] remove compilation buffer string match on rust-quick-run 2019-12-28 15:44:42 +01:00
Maximilian Wolff
0dc0820d62
Make rust-quick-run properly remove temp compilation function 2019-12-23 14:28:25 +01:00
Grant Shangreaux
59976dc688
Fix: broken rust-quick-run command
removing the `lexical-let` caused the intended closure to be invalid. the
filename being compiled was nil when the compilation-finish-function was
run.

this adds a special var to hold the temp file being compiled instead, and
tries to narrow down the compilation-finish-function to only run when the
compilation buffer includes the "rustc -o /tmp" regexp
2019-12-23 14:22:32 +01:00
Maximilian Wolff
beff6ec914
Replace lexical-let with normal let
An older PR reintroduced a dependency on lexical let.
There is no proper replacement for this in cl-lib therefore
I have changed it to a normal let which works the same
way.

In future we should think of making the entire file lexically bound
and only mark the exceptions to be dynamically bound.
2019-12-20 10:24:17 +01:00
Maximilian Wolff
fabbb5bf73
Update changelog and format new code to be more elisp like 2019-12-15 22:27:24 +00:00
Dietrich Daroch
3d0661a38d
Make rust-quick-run shell agnostic
This allows to use quick run when the default shell is not bash-compatible.

I also fixed the output name by using a digest of the filename rather
than always a new file as I noted that my /tmp got cluttered with 4MiB
files pretty quickly, and I was just using a hello-world like file.
2019-12-15 22:22:36 +00:00
Tommi Komulainen
50c48bc301
rust: fix LSP/DAP integration so it doesn't depend on java layer
Fixes error with rust files when java layer isn't loaded:
```
File local-variables error: (void-function spacemacs//java-setup-lsp-dap)
```
2019-11-23 20:39:11 +01:00
syl20bnr
584392bd92 [core] Fix layer dependencies based on layer variables
There was a edge case with the declaration of the `lsp` layer in `layers.el`
files.
The `hy` layer depends on the `python` layer which in turn depends on the `lsp`
layer if and only if the `python-backend` layer variable is set to `lsp`.
When the `hy` layer was declared first then it declares the `python` layer
without its layer variables, thus the `lsp` layer was not declared because the
`python-backend` variable was not set.

The fix is to gather all the layer dependencies and resolve them only after all
the used layers have been declared.

* new function `configuration-layer/declare-layer-dependencies`
* replace all calls to `configuration-layer/declare-layer` by the new function
  except for distribution layers (we declare layer dependencies right away in
  distribution layers)
2019-09-30 02:00:48 -04:00
syl20bnr
ac30247811 [lsp] When used, make LSP the default backend for all supported lang
* Added a new function to each language to select the backend
* Use these new functions in all `pcase`.
2019-09-30 00:49:44 -04:00
syl20bnr
9606dd344e [dap] Refactor configuration dap config in layers
* use local-vars-hook coupled to setup function for dap
* define new private layer variable `spacemacs--dap-supported-modes` to
  configure key bindings. This allows to move the key bindings definition from
  `funcs.el` to `packages.el`
* remove duplication of DAP key bindings in READMEs by pointing to the dap layer
  documentation
* alphabetically sort package configuration
2019-09-30 00:34:26 -04:00
Anton-Latukha
f6660f82d4
Switch to the new layers generator 2019-05-15 21:08:21 +03:00
Anton-Latukha
ba074bc908 layers: lang: new structure: general: add pure, multi-paradigm (&js) 2019-05-15 21:04:48 +03:00
JAremko
77c680160e Add placeholder tags 2019-05-05 20:40:47 +03:00
Ivan Yonchovski
e80a4fa0ab [rust] dap layer integration 2019-04-18 21:32:32 +02:00
Justin
f8bb6997a9 Remove lsp-javascript-typescript package for lsp built in.
Remove lsp-go package for lsp built in.
Changed go/react/typescript lsp-*-enable hooks to lsp
Update go/typescript/rust layer docs for lsp-mode installation command.
Remove unused rust layer variable
2019-01-15 00:41:30 +02:00
JAremko
c5ae487b89 Fix links 2019-01-13 20:27:35 +02:00
Ivan Yonchovski
f346ae0683 Fix java/python/javascript/rust lsp backends 2018-12-22 12:51:05 +02:00
emacspace
45276bd96f documentation formatting: Wed Dec 5 03:03:03 UTC 2018 2018-12-04 22:06:14 -05:00
duianto
ee811f7b13 Unify packages list parentheses style
problem:
some layer packages lists have the open and closing parentheses on the same line
as the first and last listed package, but most seem to have them on a separate
lines.

solution:
put the open and close parentheses on separate lines, except for lists with only
a single package, they are written on the same line as the variable name and
parentheses.

fix the lists indentation
2018-11-21 21:35:38 +00:00
Justin
f70ebe6f9e Add: rust-lsp
Add rust lsp completion with company and bindings
2018-11-05 22:58:28 +00:00
JAremko
cd39f80c24 Reformat documentation 2018-10-11 00:13:43 +03:00
yangbo
d473121f90 enable eldoc for rust/racer 2018-06-26 18:40:28 +03:00
fiveNinePlusR
75f1d915a8 [CORE] synchronize the environment variables from the default shell 2018-06-14 20:12:26 -04:00
Josh Santos
7944ed2634 Fix environment variable setting for go and rust layers 2018-06-09 01:22:56 -04:00
Kalle Lindqvist
b9f1228306 rust: add missing counsel-gtags package declaration 2018-06-07 17:36:46 -04:00
Kalle Lindqvist
961e448caa rust: add missing smartparens package declaration 2018-06-07 17:36:46 -04:00
Miciah Masters
e0b751bee3 Avoid non-idempotent use of push in init code
Replace push with add-to-list in layer init functions and related code.

Modify spacemacs|add-toggle to check for and update an existing toggle in
spacemacs-toggles and only create a new toggle if none already existed.

Replace a conditional push onto erc-packages with use of :toggle.

When initializing which-key, set which-key-replacement-alist to its default
or customized setting before adding all the Spacemacs replacements.  We
want to keep the stock replacements but avoid adding duplicates of the
Spacemacs replacements.

Replace the emacs-lisp-mode-hook lambda with a named function to avoid
adding duplicate hooks (which can add duplicate definitions of the
evil-surround pair).
2018-06-05 22:17:13 -04:00
Miciah Dashiel Butler Masters
78297be625 Fix various typos
* Fix various isolated typos

"apppend" -> "append"

"availabe" -> "available"

"Descripti using ternon" -> "Description"

"you have not them" -> "you don't have them"

"new on" -> "new one"

"plained" -> "curved"

"repel" -> "REPL"

"vairable" -> "variable"

* Fix a few errors in the CoffeeScript layer readme

Add a missing "the".

Correct a reference to the layer as "javascript" to "coffeescript".

Fix the syntax on the link to CoffeeLint.

* Fix typos: "dofile" -> "dotfile"

* Fix typos: "formated" and "formating"

"formated" -> "formatted"

"formating" -> "formatting"

* hy: Fix docstrings in funcs.el

Fix copy-and-pasted docstring text for
spacemacs/hy-shell-eval-current-form-and-go and
spacemacs/hy-shell-eval-region-and-go.

* Fix typos: "indendation" -> "indentation"

* Fix typos: "the the", "a a"

Fix duplicated (or misplaced) articles.

* Fix typos: "wether" -> "whether"

* Fix typos: "intialize" -> "initialize"
2018-05-23 22:12:30 -04:00