Commit graph

76 commits

Author SHA1 Message Date
Robert O'Connor 82ba73a1c0
update copyright to 2020 2020-09-23 21:25:01 +02:00
syl20bnr 022b6128f2 [elisp] Fix loading of nameless from a dump 2020-09-20 21:17:21 -04:00
syl20bnr e3acd91118 [core] Rename spacemacs|require to spacemacs|require-when-dumping 2020-09-20 21:17:21 -04:00
Ivan Yonchovski b227a68c7b [emacs-lisp] Added emr integration
- I have used the shortcuts from the clojure layer
- see https://github.com/Wilfred/emacs-refactor
2020-04-20 19:30:22 +02:00
madand e1ad035513 Improve rainbow-identifiers experience for Elisp and CL
Make rainbow-identifiers not colorize special operators and macros, so they
always visually stand out. Rationale behind this change is that special
operators and macros in Lisp may be considered "syntax" elements, so it makes
sense to have them visually distinguished at all times.
2020-01-20 11:37:20 +01:00
JAremko 9b83609370 Add flycheck-elsa 2019-12-27 12:24:56 +02:00
Maximilian Wolff d2f6d08247
Make helpful layer replace existing emacs help functions
The helpful layer delivers more sophisticated help buffers,
at least for elisp and emacs specific objects. Therefore
it makes sense to replace the existing help functions for
these bindings silently if this layer is loaded.
2019-12-08 10:29:46 +01:00
Magnus Therning 3240c24873
Use "mgb" for jumping back
[elisp] use "mgb" for jumping back
[lsp] use "mgb"/"mGb" to jump back
[haskell] use "mgb" for jumping back
2019-11-23 21:52:13 +01:00
duianto b26ea277fb Add documentation to two toggles
Two `SPC h SPC` toggles were missing their documentation:
- Nameless
- Minibuffer System Monitor (the symon package)

Now they match the other entries by showing:
- current state
- name (this was only shown before)
- documentation
- key binding (only minibuffer-system-monitor shows a key binding)

The nameless key binding `SPC m T n` only works in emacs-lisp-mode. It's key
binding might need to be described another way.
2019-05-01 01:24:12 +02:00
Aaron Jensen f977732687 emacs-lisp: Initialize flycheck-package 2019-04-18 21:46:32 +02:00
smile13241324 6a32d31da8 Fix accidental activation of flycheck-pos-tip-mode in emacs lisp layer
The issue was that `flycheck-package` explicitly
activated `flycheck-pos-tip-mode` however
this package is owned by `syntax checking layer`
and should only be activated by it directly.
2019-04-12 20:31:37 +02:00
jjzmajic 8b88025ef8 Add flycheck-package' to emacs-lip' layer for writing Emacs packages.
For those with MELPA on their mind. It's easier to work when packaging errors
are reported on the fly, and we don't even have `package-lint` integration for
occasional checkups yet.

It adds no unnecessary verbosity as it is only triggered by `Package-Requires`
and `Package-Version` headers.
2019-04-11 22:46:16 +02:00
duianto ee811f7b13 Unify packages list parentheses style
problem:
some layer packages lists have the open and closing parentheses on the same line
as the first and last listed package, but most seem to have them on a separate
lines.

solution:
put the open and close parentheses on separate lines, except for lists with only
a single package, they are written on the same line as the variable name and
parentheses.

fix the lists indentation
2018-11-21 21:35:38 +00:00
syl20bnr 9951013bee Lazy load eval-sexp-fu 2018-06-10 23:24:44 -04:00
Miciah Masters e0b751bee3 Avoid non-idempotent use of push in init code
Replace push with add-to-list in layer init functions and related code.

Modify spacemacs|add-toggle to check for and update an existing toggle in
spacemacs-toggles and only create a new toggle if none already existed.

Replace a conditional push onto erc-packages with use of :toggle.

When initializing which-key, set which-key-replacement-alist to its default
or customized setting before adding all the Spacemacs replacements.  We
want to keep the stock replacements but avoid adding duplicates of the
Spacemacs replacements.

Replace the emacs-lisp-mode-hook lambda with a named function to avoid
adding duplicate hooks (which can add duplicate definitions of the
evil-surround pair).
2018-06-05 22:17:13 -04:00
syl20bnr a6542f8e7c Activate nameless only in GUI
Nameless triggers lots of graphical glitches making Emacs unusable in a terminal
when it is enabled.
2018-06-03 01:49:07 -04:00
syl20bnr 4a2e04a4ed dump: require some emacs-lisp modes while dumping
auto-compile
elisp-slime-nav
nameless
2018-05-20 03:58:48 -04:00
syl20bnr ebe4c60264 Revert "Defer packages by default using use-package-always-defer"
This reverts commit 29c78ce841 and all other fixes
that have been made afterwards.

The motivation is that use-package is seen by many as a replacement for
`require`. Is use-package always defer the loading of packages then is breaks
this use case, this does not respect POLA so even if it was making Spacemacs
loading faster (up to 3s faster on some startup on my machine) we just cannot
use it, it would be irresponsible. Spacemacs should be easy to use, loading
performance will come with time but it is not a priority.
2018-03-03 23:40:10 -05:00
syl20bnr 29c78ce841 Defer packages by default using use-package-always-defer
Warning now `:defer t` is implied, to force a package to load `:demand t` is
now necessary.
2018-02-27 23:32:52 -05:00
syl20bnr 2c16d19ab7 semantic: make it possible to exclude stickyfunc 2018-01-17 23:03:33 -05:00
syl20bnr 3b24f451f8 emacs-lisp: add dotspacemacs alias for nameless 2018-01-04 02:13:22 -05:00
syl20bnr 326965d4ce Happy New Year 2018! 2018-01-04 02:00:25 -05:00
syl20bnr 2cb98447af Move evil-cleverparens to spacemacs-evil with major mode toggle
Delete layer evil-cleverparens and move the package to spacemacs-evil layer.

The feature is called "Safe structurral editing" for lisp dialects. Support for
it is added via pre-init functions in each of the concerned layer and proper
documentation is added to their README.org files.

This also removes the recently added package evil-smartparens. The goal is
to choose the best package for evil safe structural editing. For now we use
evil-cleverparens as we supported it first, if evil-smartparens is shown to be
a better package we will be able to switch to it.
2018-01-04 01:40:52 -05:00
syl20bnr 6265c057bf emacs-lisp: change nameless key binding to respect conventions
Convention for major mode specific toggles is to put them under SPC m T prefix.
Used `n` instead of `>` because there is no unicode squared symbol with `>`.

Also use the new generated function to register the hooks.
2018-01-04 01:40:52 -05:00
syl20bnr 2ed3946d7b emacs-lisp: improve nameless configuration
- Change nameless prefix to > instead of default :
- Change toggle to SPC m >
- Set nameless separator to nil in order to make it work with any type or separator
- Add diminish unicode ⧁
- Define some default global aliases for Spacemacs source code
- Rename layer variable emacs-lisp-nameless-mode to emacs-lisp-hide-namespace-prefix
- Make variable nameless-current-name safe as a local variable for string values
- Set nameless prefix for core-configuration-layer.el
2017-12-17 23:30:24 -05:00
AdrieanKhisbe 71f8919ebf fix typo and use a layer variable for auto nameless-mode 2017-12-17 22:17:05 -05:00
Adriean Khisbe 3dc09cfc4d hide automatic nameless behind a nameless-auto-mode switch 2017-12-17 22:16:32 -05:00
AdrieanKhisbe 2d40793804 setup nameless package (replacing package prefix with :) 2017-12-17 22:16:08 -05:00
AdrieanKhisbe ad5ac65263 add overseer (ert test runner) to emacs layer, bindings with prefix 2017-12-17 22:15:33 -05:00
AdrieanKhisbe 295b4752ca identify Cask files as emacs-lisp-ones 2017-12-17 22:15:04 -05:00
Robbert van der Helm c61ae1a1c1 Add ivy support to the gtags layer
It would be much better to have a single function for each layer that
initializes ggtags, helm-gtags and counsel-gtags for a mode.
2017-12-17 22:03:01 -05:00
Eivind Fonn fab3b2a4e4 Clean up parinfer layer
- Move to misc instead of vim
- Move add-hook calls into dependent layers
- Improve readme
2017-05-29 11:36:46 +02:00
syl20bnr 714b82f7fb emacs-lisp: revert factorization of evilified macro calls 2017-05-14 12:46:31 -04:00
Keith Wygant 08734cb595 Fix key binding `dolist's
Dolists for `spacemacs/set-leader-keys-for-major-mode' were using
'emacs-lisp-mode instead of the loop variable 'mode'. Hopefully using the loop
variable was the intention.

I also updated the redundant bindings for `edebug-mode-map' and
`edebug-eval-mode-map' to use `dolist'. It probably makes more sense to put the
whole thing after :bindings rather than around it, but I wasn't sure if that
might break something.
2017-05-14 12:38:12 -04:00
syl20bnr ea1c0d3e14 emacs-lisp: change edebug-go-mode key binding to c
As per convention.
2017-04-12 23:46:01 -04:00
hodge 32587a2458 fix spacemacs/edebug-instrument-defun-off and add a shortcut 2017-04-12 23:40:36 -04:00
syl20bnr f45ce1a88e syntax-checking: rename function add-flycheck-hook to enable-flycheck
spacemacs/add-flycheck-hook was not really hooking anything, change the name
to better reflect what it does.
Also changed the push for a add-to-list to avoid duplicates.
2017-03-19 12:40:36 -04:00
syl20bnr 3072e72773 Replace use-package :diminish by spacemacs|hide-lighter 2017-02-13 08:38:37 -05:00
syl20bnr 3da2f3702e emacs-lisp: don't use custom-set-variables
As it make evil to error when the delq form is written the customize file,
instead we call the set method manually and it works fine.

Would be better and more future proof to curry the set function into a named
function of 0 arity for evil-intercept-maps custom setting.
2017-02-12 22:59:26 -05:00
syl20bnr d97143be08 emacs-lisp: remove SPC g f as it is already available with SPC j f 2017-02-12 13:49:40 -05:00
syl20bnr a0bcbbd38a Add conventional evilified key bindings for edebug-mode 2017-02-12 13:48:02 -05:00
syl20bnr 36b6b29cde Fix evilification of edebug-mode-map 2017-02-12 12:50:07 -05:00
syl20bnr 6e713ed89f emacs-lisp: add support for debugger and edebug
Make edebug key bindings work in normal state.
Add evilification of debugger stack trace buffers.
2017-02-11 17:23:14 -05:00
syl20bnr 64e0787123 emacs-lisp: add SPC m g f to go to a selected known function definition 2017-02-11 17:23:14 -05: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
syl20bnr a5c87776d1 emacs-lisp: fix eval-last-sexp and add SPC m e C
Important evil advices for eval-last-sexp were removed for smartparens users,
it made eval-last-sexp not working correctly in normal state by evaluating the
sexp before the evil cursor and it was impossible to evaluate an sexp when the
cursor was on the last character of a line.

Also add SPC m e C which will execute the first defun or setq sexp encountered
before point.
2016-12-24 12:06:17 -05:00
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
syl20bnr c6a6c41d92 Replace hooks by regular list for jump lists
Hook semantic is to be used with run-hooks API and run all hooks
sequentially, jump list semantic is different since the running
functions are not guaranteed to be executed so we prefer using regular
list API to manage jump-lists.
2016-09-04 12:28:40 -04:00
syl20bnr c1c2d06f36 Remove SPC j F and SPC j V and add SPC m g G in Emacs Lisp
SPC j F and SPC j V don't fit the SPC j prefix because they require
the thing under point to be an Emacs lisp thing, which means that these
bindings should be major mode specific.
To replace them and accordingly to the convention the key bindings
SPC m g G in Emacs Lisp buffers has been added to go to definition
in other window.

SPC j f and SPC j v (minus letters) don't require the current buffer
to be Emacs Lisp and thus I only updated the documentation about them
mentioning that they're about Emacs Lisp variables and functions.
2016-08-25 21:19:21 -04:00