Commit graph

25 commits

Author SHA1 Message Date
syl20bnr 145bf065f4 helm-gtags: more conventional way to add helm-gtags support to a mode 2015-04-16 00:01:42 -04:00
Tu Do cdbfe68cee Enable c++ mode in proper files
Aside from cpp, better enable c++-mode in .h file since C is a subset of
C++ anyway. Without it, when entering .h file of C++, syntax
highlighting is wrong.
2015-04-14 23:37:18 -04:00
syl20bnr a4919b3eda New layer syntax-checking
Move flycheck
2015-04-10 22:23:16 -04:00
syl20bnr 90fc74d799 Fix company-backends error with ymcd and c-headers 2015-04-09 01:27:53 -04:00
syl20bnr 0c6682cbd1 Refactor one more time the auto-completin macros
It is important to define the buffer local backend variables
in a config.el otherwise it is not available in the layer
configuration if the auto-completion layer is removed.
There were also some issues by hiding the explicit
configuration of company inside a macro, for instance
helm-spacemacs is unable to display the company package
configured in a given layer if the auto-completion layer
is removed.
2015-04-09 00:03:51 -04:00
Tristan Hume e79e077edf Fix bugs in c-c++ and ycmd auto-completion 2015-04-07 16:03:13 -04:00
syl20bnr 57fcb93799 Rename *-declarep functions to *-usedp functions
Makes more sense from a user view point.
2015-04-03 19:13:52 -04:00
syl20bnr 318bd23dc4 Add pre and post init functions support to configuration-layers
Now in addition to the <layer>/init-<pkg> function there are
- <layer>/pre-init-<pkg> (executed before <layer>/init-<pkg>)
- <layer>/post-init-<pkg> (executed after <layer>/init-<pkg>)

The init function is mandatory, if it is not present then the
package is ignored and not installed.

This mechanism allows soft (implicit) cross layers dependencies
between packages (see company for more info).

It is now possible to remove flycheck from spacemacs layer and
move it to its own syntax-checking layer.
2015-04-03 17:12:56 -04:00
syl20bnr 769d54da02 New layer auto-completion
Move company and auto-complete to a common layer.
They are not enabled globally anymore, each mode using them
must explicitly declare a hook.
Only one frontend is supported for a given mode, we have to
choose the best between the two.
Only one key binding to toggle auto-completion on `SPC t a` no
matter if it is company or auto-complete. The lighter in the
mode-line is Ⓐ for both frontends.
2015-04-03 00:28:13 -04:00
syl20bnr 5e993d8e4c c-c++ layer: Fix append of company-cmake 2015-03-31 22:37:53 -04:00
syl20bnr 46248b1e73 New local company backends 2015-03-31 22:24:01 -04:00
syl20bnr 0fa0409523 Restore reset of local company-backends and add with-yas param 2015-03-30 00:48:41 -04:00
Tristan Hume cb43a91a15 Add company backend add macro and use it everywhere 2015-03-30 00:01:33 -04:00
Diego Berrocal 78f8c6aae0 Change condition for company-mode detection
changed configuration-layer/package-declaredp for
configuration-layer/layer-declaredp in company-mode
2015-03-29 23:49:37 -04:00
Michael Hauser-Raspe 43c9e14d16 Add projectile-find-other-file key bindings 2015-03-23 21:52:55 -04:00
syl20bnr b1adef0626 Heavy refactoring of company-mode layer
- Enable lazy-loading of company.
- The company layer is now agnostic of any packages which use company
- company-backends is now buffer local and contains only the backends
which are relevant for the current modes
- New macro `spacemacs|reset-local-company-backends`
2015-03-22 02:23:12 -04:00
syl20bnr ff7960fe5d Lazy-loading for c-c++ layer 2015-03-15 21:44:10 -04:00
Diego Berrocal 6e348c0a54 Fix compatibility with use-package 2.0 2015-03-15 18:51:18 -04:00
Tu Do 3e277409ea [Fix #738] Display all parameters in the top line
This change allows semantic-sticky-func-mode to display parameters that
are scattered in many lines by using stickyfunc-enhance package. It also
specifically handles Python to also display assigned values if
available.

Also update documentation.
2015-03-14 22:56:20 -04:00
syl20bnr a1732a8098 Remove unneeded code in C++ layer packages.el file
Use variable spacemacs-cache-directory
2015-03-10 20:33:49 -04:00
Tu Do 67e5f2733b Change Semantic cache location and update documentation
Also make it compatible with Emacs 24.3
2015-03-10 20:33:45 -04:00
Tu Do 30dac136bb Enable Semantic support for C/C++; add Srefator
With Semantic mode enabled, it enables IDE features such as:

- Enable helm-semantic-or-imenu to jump with Semantic instead of Imenu.

- Show function signature of current function point is inside at the
top (with global-semantic-stickyfunc-mode)

- Show function signature of current function at point at the
bottom (with global-semantic-idle-summary-mode).

- Add Srefactor for refactoring using Semantic parser framework. Bind it
  to "SPC m r".

- Load 'compile package, otherwise compilation-mode-map won't exists and
  Semantic fails to bind some key to the map and throw error.
2015-02-27 20:36:00 -05:00
syl20bnr ceefe88b75 Update CONTRIBUTE.md and add file headers
Also add default file header to layer templates.
2015-01-13 23:12:56 -05:00
syl20bnr f770404255 Dispatch flycheck hooks in relevant layers 2014-12-22 22:51:44 -05:00
syl20bnr 61a9481e96 Move C/C++ and CMake to c-c++ layer
Although CMake can support different compilers it is mainly
used for C++ projects. So it makes sense to add it here.
2014-12-13 23:08:55 -05:00