Commit graph

8 commits

Author SHA1 Message Date
syl20bnr d536b36d15 [c-c++] C/C++ layer refactor to support multiple backends 2019-11-09 09:40:56 -05:00
cormacc 0a39263e2d Added clangd support. Separated lsp server selection from backend.
<<Amendment 1>>
Fixed clangd executable when c-c++-lsp-executable not set

<<Amendment 2>>
Rebased. Updated DAP configuration for compatibility with upstream dap layer
changes (specifically per-mode keybindings).

<<Amendment 3>>
Fixed DAP configuration.
Correction: declare-layers -> declare-layer-dependencies

<<Amendment 4>>
...ahem...
Fixed DAP configuration (missing '/' in func name)
2019-11-09 09:40:33 -05: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
smile13241324 b702df7938 Make layers request lsp dependency if lsp has been selected as backend 2019-09-10 22:00:56 +02:00
cormacc 445f6af93f Added cquery and ccls backend support to c-c++ layer
<<Amendment 1 01/09/2018>>
Incorporated initial feedback from multiple sources (PR discussion)

<<Amendment 2 04/09/2018>>
Incorporated feedback from MaskRay.
Fixed projectile post-config hooks.
Added `c-c++-adopt-subprojects' layer option.

<<Amendment 3 07/09/18>>
Corrected cache section in README to describe new cache defaults introduced by
Amendment 2.

<<Amendment 4 13/09/18>>
Corrected config var names in readme.
Rebased on current develop branch tip.

<<Amendment 5 14/09/18>>
Minor adaptations for compatibility with upstream ccls changes.

<<Amendment 6 21/09/18>>
Bindings updated for consistency with lsp layer lsp-navigation config variable.

<<Amendment 7 1/11/18>>
Rebased

<<Amendment 8 06/11/18>>
Incorporated readme correction from svenihoney.

<<Amendment 9 06/11/18>>
Updated c-c++/refresh-index wrapper for ccls function renamed upstream.
Moved 2 bindings from 'l' to 'b' to reflect updated lsp-layer mnemonic
2018-11-09 01:02:21 +02:00
Codruț Constantin Gușoi a228c2cf61 Potential fix for rtags error 2018-01-12 00:38:29 -05:00
syl20bnr dbf1deaa4c c-c++: make it depends on gtags layer only if rtags are enabled 2018-01-11 00:02:02 -05:00
syl20bnr 6932a337ee c-c++: refactor rtags support, key bindings, attempt ggtags fallback
- Move rtags key bindings under `SPC m g` prefix
- Document rtags support and key bindings in README.org
- attempt to implement gtags fallback using
  https://github.com/Andersbakken/rtags#fall-back-to-other-taggers
- make c-c++ layer dependend on gtags layer (gtags layer is automatically
  installed when the c-c++ layer is used)
- sort packages config in packages.el
- use a dolist instead of a function to define rtags key bindings
2018-01-06 02:44:33 -05:00