Commit graph

4 commits

Author SHA1 Message Date
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
Eivind Fonn 928983da47 Refactor jump to definition
This commit defines:

- spacemacs-default-jump-handlers: a list of functions that can jump to
  definition in ALL modes.

- spacemacs-jump-handlers-MODE: a list of functions that can jump to
  definition in MODE.

- spacemacs-jump-handlers: a buffer-local list of functions that can
  jump to definition. This is made up of the values of the two previous
  variables whenever a given major mode is activated.

- spacemacs/jump-to-definition: a function that tries each function in
  spacemacs-jump-handlers in order, and stops when one of them takes us
  somewhere new.

- spacemacs|define-jump-handlers: a macro that
  * defines spacemacs-jump-handlers-MODE, possibly filled with initial
    functions
  * defines a function that is added to the hook of the given MODE
  * binds “SPC m g g” of that MODE to spacemacs/jump-to-definition

This is an attempt to harmonize all the different approaches to jumping.
Specifically,

- Existing intelligent jump packages that work for only a single mode
  should go to the beginning of spacemacs-jump-handlers-MODE. E.g.
  anaconda for python, ensime for scala, etc.

- Packages like gtags that work for several modes (but potentially not
  all) and which is dumber than the intelligent jumpers should go the
  the END of spacemacs-jump-handlers-MODE.

- Packages like dumb-jump that work for all modes should go to
  spacemacs-default-jump-handlers.

In all cases the order of the jump handlers in each list should be from
most to least intelligent.

Fixes #6619
2016-08-22 15:08:25 +02:00
syl20bnr 8e6fd86577 faust: refactor layer
Add a funcs.el.
Fix `use-package` usage.
Modify key bindings to meet conventions.
Prefix function with `spacemacs/`
2016-03-21 20:33:35 -04:00
Bart Brouns 3a9e8c1723 add faust-layer, remove faust from extra-langs
My first spacemacs layer, total elisp newb.
Does what it says in the README, with one bug:

I have auto-completion-enable-snippets-in-popup t in my .spacemacs
In faust files, only yas-keys that have a similar word in an open buffer
show up in the company menu.

Example: with no open buffers ne doesn't show a company menu,
if a file has the word nent in it, I get a menu with ne -> nentry (the snippet) and nent.

having ne$AnyTwoCharacters in the file also works, but just ne or nen doesn't.
2016-03-21 19:39:49 -04:00