Commit graph

90 commits

Author SHA1 Message Date
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
smile13241324
efa7d4245f [elixir] Load DAP layer when LSP backend is used
The new elixir LSP server brings DAP support
therefore we now also load DAP layer when the
lsp backend has been activated in the elixir
layer.
2019-09-17 13:15:32 +02:00
mpanarin
135a1fd460 [elixir] layer improevements
- declare lsp layer dependency if elixir-backind is lsp
- "C-j" now properly indents line
- add toggle breakpoint for elixir-mode

update CHANGELOG.develop
2019-09-16 18:27:28 +02:00
Gabriel Arrillaga
ec3bb9d660 [elixir] Fix README.org
Change elixir-backend from 'alchemist to 'lsp in LSP config instructions
2019-09-05 20:07:01 +02:00
emacspace
58d5bb9204 documentation formatting: Sat Aug 31 22:49:15 UTC 2019 2019-09-01 01:13:12 +02:00
mpanarin
3ee5aedbbf Add elixir-ls as a language backend for elixir 2019-09-01 00:33:39 +02:00
emacspace
c7c348a676 documentation formatting: Sun May 26 20:58:52 UTC 2019 2019-05-27 01:23:35 +03: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
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
emacspace
901f35849a documentation fixes: Tue Oct 23 14:18:21 UTC 2018 2018-10-23 23:38:16 +03:00
JAremko
cd39f80c24 Reformat documentation 2018-10-11 00:13:43 +03:00
lukasz.czaplinski
87028e77a5 Mark alchemist jump handler as async
Right now `alchemist-goto-definition-at-point` is marked as sync, which
sometimes shows message "No jump handler was able to find this symbol." before jumping to correct definition.

[`alchemist-goto--open-definition`](https://github.com/tonini/alchemist.el/blob/master/alchemist-goto.el#L215) calls alchemist server before jumping to definition, which I think justifies marking this as async.

I have very little experience with either Emacs, or Spacemacs, so let me
know if there's anything I can clarify and/or test before this commit gets
merged :)
2018-08-01 17:44:41 -04:00
Lyuben Petrov
86683ad558 Add phoenix layer
- First remove elixir's layer project prefix, since it was used only for
  one binding which would be better suited in tests prefix
- Move `alchemist-project-find-test` to test prefix
- Add `phoenix` prefix and declare bindings
2018-07-24 00:34:38 +03:00
Perry Fraser
fb855fec67 Add elixir format keybind (#10812)
* Add elixir format keybind

* fix formatting

* Move elixir-format keybind to init-elixir-mode
2018-06-07 00:07:28 -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
JAremko
0ae66fb111 add elixir tag to src blocks 2018-01-27 16:57:18 +02:00
Paul
5c2aa826a2 Fix typo 2018-01-21 09:27:20 -05:00
syl20bnr
41e546f040 Move all use-package hook declaration to pre-init functions
Had to create dummy init functions at some places since the owner of a package
is the last layer that defines the init function of a package. And a package
can be installed only if it has an owner.
2018-01-10 23:57:18 -05:00
Muneeb Shaikh
443c6bd80d sml: lazy load sml lang for org-babel
Fix #9979
2018-01-09 23:43:42 -05:00
syl20bnr
c3e65f53e7 elixir: remove unecessary org config for org babel
The config is in ob-elixir
2018-01-05 22:27:43 -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
J. Patrick Lanigan
df7af0ad20 Fix features format in misc README.org's
See #9346
2017-08-22 21:27:13 +03:00
JAremko
06301b2212 Improve exporting/testing 2017-08-18 20:50:21 +03:00
syl20bnr
e2e532bb49 core: change <function>p to <function>-p suffixes for consistency
Also defined aliases for backward compatibility with `usedp` functions.
2017-07-02 10:09:39 -04:00
Swaroop C H
735321eda3 [elixir] Add missing Alchemist commands and key bindings
Commands and key bindings found via `alchemist-refcard` command.

I've tried to adhere to Spacemacs conventions but where I couldn't find relevant
conventions, I followed Alchemist's key bindings.

Also, delete alchemist-refcard - approved by @syl20bnr at
https://github.com/syl20bnr/spacemacs/pull/8746#issuecomment-301326850
2017-05-26 10:49:35 +02:00
Eivind Fonn
4068a3e6a2 Revert "Clean up elixir layer documentation"
This reverts commit 333e921707.
2017-05-24 14:37:39 +02:00
Garrett Johnson
333e921707 Clean up elixir layer documentation
Remove references to removed checkers and their configuration
2017-05-24 14:19:37 +02:00
JAremko
6c5a0b2b14 update docs to the new toc-org format 2017-05-22 18:35:37 +03:00
JAremko
f805d0ebd9 Fix spacefmt test on deleted files
Also fix some links
[ci skip]
2017-04-28 23:29:43 -04:00
Swaroop C H
c376b3c98b [elixir] Update fn names - update to new names and remove extinct fns 2017-04-19 23:05:20 -04:00
syl20bnr
8ea95c9a73 elixir: reformat documentation and use blocks for code. 2017-03-26 13:24:19 -04:00
Ben Botwin
4dd4467ee3 Added instructions for dogma and fixed a typo 2017-03-26 13:15:41 -04: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
d12frosted
57e653a221
minor improvements in elixir README file 2017-02-03 11:10:40 +02:00
denin
52ea26a052
elixir: add support for credo
There was no flycheck-credo package in the layer.
Although it was described in documentation, how to install credo.
This commit fixes documentation and adds flycheck-credo package.
2017-02-03 11:09:07 +02: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
Michal Muskala
831b01fd8e
Prevent from inserting too many "end"s in Elixir
Closes #8030
2016-12-23 14:02:52 +02:00
Aaron Jensen
96022308d1 elixir: flycheck on idle
`flycheck-mix` now uses `flycheck-buffer-saved-p` so it is safe to
flycheck on idle: https://github.com/tomekowal/flycheck-mix/pull/2
2016-10-17 20:07:23 +02:00
Robert O'Connor
22809a8dfa Fix a typo introduced in 42a33f3ae8 2016-10-17 08:00:33 +03:00
syl20bnr
42a33f3ae8 elixir: add support for org-babel
Closes #1918
2016-10-16 22:25:04 -04:00
syl20bnr
9066d073b2 Fix (void-variable spacemacs-jump-handlers-....)
Move the variable definitions to config.el and eval-after-load the
key binding on SPC m g g.
2016-09-04 22:31:47 -04:00
syl20bnr
c6a6c41d92 Replace hooks by regular list for jump lists
Hook semantic is to be used with run-hooks API and run all hooks
sequentially, jump list semantic is different since the running
functions are not guaranteed to be executed so we prefer using regular
list API to manage jump-lists.
2016-09-04 12:28:40 -04:00