Commit graph

86 commits

Author SHA1 Message Date
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
syl20bnr ebe4c60264 Revert "Defer packages by default using use-package-always-defer"
This reverts commit 29c78ce841 and all other fixes
that have been made afterwards.

The motivation is that use-package is seen by many as a replacement for
`require`. Is use-package always defer the loading of packages then is breaks
this use case, this does not respect POLA so even if it was making Spacemacs
loading faster (up to 3s faster on some startup on my machine) we just cannot
use it, it would be irresponsible. Spacemacs should be easy to use, loading
performance will come with time but it is not a priority.
2018-03-03 23:40:10 -05:00
syl20bnr 29c78ce841 Defer packages by default using use-package-always-defer
Warning now `:defer t` is implied, to force a package to load `:demand t` is
now necessary.
2018-02-27 23:32:52 -05:00
syl20bnr af625a9499 rust: revert SPC m c c and move cargo-process-check to SPC m c v
SPC m c c is a convention.
2018-01-17 23:17:50 -05:00
Victor Polevoy 960b85157c Add shortcut for the cargo check command #9943
1. Adds a shortcut for the `cargo check` command as "cc".
2. Remaps a shortcut for `cargo build` command from "cc" to "cb".

Fixes #9943
2018-01-17 23:16:44 -05:00
seemyvest 6da75c4055 Rust: Fix cargo-process-current-test keybinding, update documentation 2018-01-09 23:58:07 -05:00
syl20bnr 326965d4ce Happy New Year 2018! 2018-01-04 02:00:25 -05:00
Robbert van der Helm c61ae1a1c1 Add ivy support to the gtags layer
It would be much better to have a single function for each layer that
initializes ggtags, helm-gtags and counsel-gtags for a mode.
2017-12-17 22:03:01 -05:00
CeleritasCelery e32acfbf3b Fixed feature header 2017-08-29 20:00:44 +03:00
syl20bnr 82220fce3a Remove old wording "contribution layer" 2017-08-28 11:33:55 -04:00
Michael Kohl 9a9d9a0feb
Add shortcut for cargo clippy 2017-07-27 22:35:33 +03:00
Eivind Fonn f4b53d2a4f Rename :depends to :requires 2017-07-03 09:54:53 +02:00
Eivind Fonn 08561d8631 core: implement :depends for package declarations
This replaces the older pattern
:toggle (configuration-layer/package-usedp ..)

This implementation ensures that :disabled-for honors dependent packages, i.e.
if package a depends on package b, which is owned by layer c, and layer c is
disabled for layer d, then neither package a nor b will be configured for layer
d. Previously, this was only true for package a, but not b.

This commit also fixes:

- configuration-layer/describe-package now shows which post-init and pre-init
  functions are disabled, if any
- Does not recreate all layer objects unconditionally when calling
  configuration-layer/discover-layers. Previously, this led to all layers being
  recreated after e.g. `SPC h SPC`, without any of the dotfile information.
  Since this information is now necessary for
  configuration-layer/describe-package, it’s important that we don’t clear the
  indexed layers when invoking this function.
2017-06-22 11:53:05 +02:00
JAremko 6c5a0b2b14 update docs to the new toc-org format 2017-05-22 18:35:37 +03:00
James Hicks e246ac1957 Fix error message about no eldoc support 2017-05-14 22:17:54 -04:00
JAremko f805d0ebd9 Fix spacefmt test on deleted files
Also fix some links
[ci skip]
2017-04-28 23:29:43 -04:00
Matthew J. Berger e1c5e87238 Add binding to open cargo docs in Rust layer. 2017-04-17 23:15:38 -04:00
Steven Allen 48c12d48d0 Partially tame exec-path-from-shell
1. Make it possible to exclude the package (fix the go and rust layers).
2. Import variables all at once (avoid spawning multiple login shells).
3. Import variables early (during the "pre" package loading stage).
4. Centralize the platform check by using a package toggle in the
   `spacemacs-base`.
5. Avoid importing already defined variables (except `PATH`/`MANPATH`).

Relates to #8537.

TODO: We can probably trim the platform list to macos only.
2017-03-24 14:23:38 +03:00
syl20bnr f45ce1a88e syntax-checking: rename function add-flycheck-hook to enable-flycheck
spacemacs/add-flycheck-hook was not really hooking anything, change the name
to better reflect what it does.
Also changed the push for a add-to-list to avoid duplicates.
2017-03-19 12:40:36 -04:00
syl20bnr 3072e72773 Replace use-package :diminish by spacemacs|hide-lighter 2017-02-13 08:38:37 -05:00
syl20bnr fb27ede558 Bump year in copyright headers
Happy New Year 2017!
2017-01-05 23:08:17 -05:00
syl20bnr 74fdbb6795 Refactor and simplify company backends declaration
Enabling a company backend for a specific mode was a tedious tasks with code
scattered at different locations, one for local variable definitions, one for
company hook function definitions and another where the backends were pushed to
the local variables (which was problematic, since we ended up pushing the same
backends over and over again with `SPC f e R`, pushes have been replaced by
add-to-list calls in the new macro).

All these steps are now put together at one place with the new macro
spacemacs|add-company-backends, check its docstring for more info on its
arguments.

This macro also allows to define arbitrary buffer local variables to tune
company for specific modes (similar to layer variables via a keyword :variables)

The code related to company backends management has been moved to the
auto-completion layer in the funcs.el file. A nice side effect of this move is
that it enforces correct encapsulation of company backends related code. We can
now easily detect if there is some configuration leakage when the
auto-completion layer is not used. But we loose macro expansion at file loading
time (not sue it is a big concern though).

The function spacemacs|enable-auto-complete was never used so it has been
deleted which led to the deletion of the now empty file core-auto-completion.el.

The example in LAYERS.org regarding auto-completion is now out of date and has
been deleted. An example to setup auto-completion is provided in the README.org
file of the auto-completion layer.
2017-01-02 00:39:04 -05:00