928983da47
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 |
||
---|---|---|
.. | ||
aprilfool | ||
banners | ||
info | ||
libs | ||
templates | ||
tools/spacefmt | ||
core-auto-completion.el | ||
core-command-line.el | ||
core-configuration-layer.el | ||
core-debug.el | ||
core-display-init.el | ||
core-documentation.el | ||
core-dotspacemacs.el | ||
core-emacs-backports.el | ||
core-fonts-support.el | ||
core-funcs.el | ||
core-jump.el | ||
core-keybindings.el | ||
core-load-paths.el | ||
core-micro-state.el | ||
core-release-management.el | ||
core-spacemacs-buffer.el | ||
core-spacemacs.el | ||
core-themes-support.el | ||
core-toggle.el | ||
core-transient-state.el | ||
core-use-package-ext.el |