Commit Graph

29 Commits

Author SHA1 Message Date
Ivan Yonchovski f4264b5df1 [c++] dap layer integration
- in addition to that I have removed the line that removes clangd from the
server list since it is not needed in latest lsp-mode since it has smaller
priority than ccls/cquery.
2019-04-15 22:13:23 +02:00
Alexander Dalshov b3c185daf5 c++ ccls - rename cacheDirectory cacheFormat to cache.{directory,format} 2019-04-07 19:49:24 +02:00
Sergey Litovchuk 990290e245 Fix spacemacs/c-c++-tags-find-references-at-point
Rename the spacemacs/c-c++-tags-find-references-at-point and
rtags-find-references-at-point to fix the c-c++-modes key binding:
          "g," 'spacemacs/c-c++-tags-find-references-at-point
when c-c++-backend is set to 'rtags.

This changeset reverts some of the changes introduced by
the commit 445f6af93f.
2019-01-15 01:29:48 +02:00
cormacc c375bc428f Flattened some cquery/ccls configuration
c-c++-lsp-initialization-options:
-> ccls-initialization-options
-> cquery-extra-init-params (cacheFormat set to "msgpack" by default)

c-c++-lsp-args:
-> ccls-args
-> cquery-extra-args

c-c++-lsp-cache-dir:
-> ccls: Appended to initialization-options
-> cquery-cache-dir

<<Amendment 1 21/12/18>>
Removing 'clangd' from list of lsp clients to squash per-file prompt for
language client.
Updated lsp/packages.el to reflect upstream lsp-mode function name changes.
Python layer -- added if guards to prevent anaconda package loading / keyboard
shortcut config when lsp backend selected.
2018-12-22 12:51:17 +02:00
cormacc aacf2a4cc1 Created core lsp minor mode keybindings
Replaced opt-in use of `spacemacs/lsp-bind-keys-for-mode` function with
keybindings for the lsp minor  mode, which should be enabled for all derived
layers.

<<Amendment 1 26/11/2018>>
Added call to (spacemacs//setup-lsp-jump-handler) to lsp-after-open-hook

<<Amendment 2 04/12/2018>>
Migrated to new lsp-mode package API.
Updated c-c++ layer accordingly.

<<Amendment 3 05/12/2018>>
Incorporated PR feedback / corrections from gessen

<<Amendment 4 05/12/2018>>
Incorporated further feedback / corrections from gessen
2018-12-22 12:50:21 +02:00
Fangrui Song d936802419 Some tweak to c-c++ layer
c-c++-enable-rtags-support has been removed in favor of c-c++-backend. Don't mention it in README

Delete .ccls from c-c++-adopt-subprojects
  as in ccls, .ccls-root is recommended for this purpose

Delete the extra parameter :levels 3 from $ccls/inheritance
  Finding the immediate bases is usually more desired

The parameters of refs-* in ccls are not in :context
2018-11-12 21:03:38 +00: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 4219842f98 Instead of removing auto-newline, control it via a variable 2018-05-15 23:54:20 +03:00
Fangrui Song 33192a05e2 Remove spacemacs//c-toggle-auto-newline 2018-05-15 23:51:50 +03:00
CeleritasCelery 6e684739cb create debug layer 2018-05-12 23:46:18 -04:00
syl20bnr cff0bb19bf c-c++: replace toggle-auto-newline lambda by a named function 2018-03-03 22:59:55 -05:00
syl20bnr a69501e327 c-c++: remove automatic install of gtags layer
Instead we let the users to explicitly add the gtags layer if they want to
combine rtags and gtags.
2018-01-12 00:45:03 -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
syl20bnr 51fb39aac8 c/c++: use clang-format-buffer and clang-format-region functions 2018-01-06 01:29:45 -05:00
Silver Chan 24e556941b fix problem: c-c++ layer variable
fix problem: c-c++ layer variable:clang-format-region-on-save invalid
2018-01-06 01:29:10 -05:00
Dela Anthonio 1d7198e3a7 c-c++: Fix clang format on save
Resolve #10041

The spacemacs/clang-format-buffer function doesn't exist. It should be replaced
with clang-format-buffer. This error was introduced in 01ddc98cef.
2018-01-06 01:01:29 -05:00
syl20bnr 326965d4ce Happy New Year 2018! 2018-01-04 02:00:25 -05:00
Fredrik Bergstrand 5ec172d7bd c-c++: Improve the header include auto completion
This change makes the c-c++ layer configure company-c-headers to search for and
list completion alternatives according to the priority list found in 'man gcc'.
If supported, the default system include paths are also fetched from gcc's
configuration instead of being hard coded to "/usr/include" and
"/usr/local/include". This also remedies the problem where the C++ standard
library headers does not show up as completion alternatives without manual
addition of include paths (see #4493, #8655).
2017-12-19 00:31:43 -05:00
Dela Anthonio 01ddc98cef c-c++: Add clang-format functions and key bindings
Solve part of #7628. Additionally, #7629 is no longer needed.

Add support for formatting lines, functions, and buffers with clang-format. Each
function produces a clear message on success.

The README was updated to reflect the usage of the new key bindings. References
to binding clang-format to the tab key were removed.
2017-12-19 00:25:20 -05:00
syl20bnr 7d215cb089 c-c++: move realgud config to c-c++ layer and delete debug layer
For now realug is used only to C and C++ so it makes more sense to add it to
the c-c++ layer for now.
Later if we can generalize the support of realgud for other languages and we
can start a debugger layer.
2017-05-14 13:20:10 -04:00
syl20bnr a7b7e1c168 c-c++: Rename functions with `spacemacs-` prefix
Respect 80 chars per line
2017-04-09 17:55:50 -04:00
syl20bnr cc61e08b30 Allow usage of dir-local variable for c-c++-enable-clang-format-on-save 2017-04-09 17:50:21 -04:00
Robbert van der Helm 91a2ca456f Add automatic formatting on save for C++ using ClangFormat
This can be enabled by setting both `c-c++-enable-clang-format-on-save` and
`c-c++-enable-clang-support` to `t`.
2017-04-09 17:41:44 -04: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
Jacob Lewallen cbb195141c Match entire path after -I for passing to expand-file-name.
Otherwise I was seeing these transformations:

invocation-dir = C:/Some/Directory

-I../another/directory
-IC:/another/directory

Became

-Ic:/Some/Directory./another/directory
-IC:/SOME/DIRECTORY/C:/another/directory
2016-10-17 20:11:49 +02:00
Magnus Therning 6e64e08f06 c-c++: Set paths for C headers from clang.
Signed-off-by: Magnus Therning <magnus@therning.org>
2016-02-23 20:37:16 +01:00
syl20bnr 046d86800c Clean copyrights and update for year 2016 2016-01-11 21:42:17 -05:00
Eivind Fonn 98c07024f9 Fix flycheck clang args loading (zhengyangfeng00) 2015-12-09 12:35:06 +01:00