Commit graph

1631 commits

Author SHA1 Message Date
thanhvg e3b6464649
[core][tide][lsp] improve spacemacs/set-leader-keys-for-minor-mode and apply it to tide and lsp layers (#14141)
* [core][keybinng] improve minor mode binding

This commit added add a new function defun spacemacs/declare-prefix-for-minor-mode
and improved spacemacs/set-leader-keys-for-minor-mode.

`which-key` package recently introduced a new api
which-key-add-keymap-based-replacements which improves perfomance and allows
prefix and namings to be stored directly in keymap. This is a great improvement.

With this new api we now make change to spacemacs/declare-prefix-for-minor-mode
to manage prefix also. For example:

  (spacemacs/set-leader-keys-for-minor-mode 'lsp-mode
    "=" "format"
    "=b" #'lsp-format-buffer)

Before we had to use another api to bind prefix
spacemacs/declare-prefix-for-mode which only works on major-mode. As lsp-mode is
a minor mode this api causes a lot of problems to which-key performance. An
example is https://github.com/syl20bnr/spacemacs/issues/12455 which led to my
hack in https://github.com/syl20bnr/spacemacs/pull/12474.

The improved spacemacs/set-leader-keys-for-minor-mode will take care of both
prefix and key naming for the minor mode. This will allows us to have a better
set up for dynamic minor modes such as lsp-mode, tide-mode etc.

Also another api is created to make prefix for minor mode:
spacemacs/declare-prefix-for-minor-mode.

Usage:
(spacemacs/declare-prefix-for-minor-mode 'tide-mode "E" "errors")"

* [tide] improve prefix

* [lsp] improve prefix
2020-11-21 07:34:55 +01:00
Ray 31cff79099
Add persistent-scratch and unkillable-scratch into core/spacemacs-editing layer (#14115) 2020-11-14 10:02:51 +01:00
Ray Wang 905d4392c5
Add spacemacs-scratch-mode-hook
Also run-hooks in spacemacs/switch-to-scratch-buffer

update CHANGELOG.develop and retrigger workflow
2020-10-23 18:34:25 +02:00
Daniel Nicolai acc136168f
Update additional-packages docstring with info about loading package
Many new users (quite logically) assume that the additional-packages list
behaves like installing a layer, so they assume the file is also loaded
automatically. This commit adds info about the requirement to also load the
package with load/require/use-package in the user-config section of the dotfile.
2020-10-22 23:32:38 +02:00
Lucius Hu f98e66d841 fixed typo in .spacemacs template 2020-10-17 10:19:58 +02:00
Brandon T. Willard ac3c3546a2 Fix misc. compilation warnings 2020-10-15 23:49:33 +02:00
Keith Pinson f4a050bc18 [editing] Integrate evil-vimish-fold via dotspacemacs-folding-method
Not confident that I have plugged this in everywhere that I should have. However
I tested locally and it seems to be working.
2020-10-15 23:21:15 +02:00
mark30247 c6c949156a fixes the wrong display of Release Notes
Quickhelp and Release Notes are currently not correctly displayed in the home buffer. This fixes it.
2020-10-10 04:08:34 +02:00
JAremko 72932b804b fix spacebind prefixing bug 2020-10-08 09:35:40 +03:00
Robert O'Connor 82ba73a1c0
update copyright to 2020 2020-09-23 21:25:01 +02:00
syl20bnr dd94a13a48 [core] Add message feedback about dump result 2020-09-21 02:19:33 -04:00
syl20bnr fd5113d0fb [core] Add a global spinner in mode line when dumping Spacemacs 2020-09-21 02:10:22 -04:00
syl20bnr 04f8d2ac54 [core] Add spinner.el from Artur Malabarba to libs 2020-09-21 01:12:41 -04:00
syl20bnr 2c86ae7426 [core] Display dumper process buffer with universal prefix argument
Display process buffer when the universal prefix argument is set with function
spacemacs/dump-emacs.
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
Maximilian Wolff 0125af2beb
[dotfile] Add warning about using spacelpa
See #13926 for details
2020-09-18 22:05:56 +02:00
syl20bnr 52ec07bb44 [core] Fix installation of unused layer dependencies after SPC h SPC
Fix bug where layer dependencies of all layers (even the unused ones)
are installed after SPC h SPC and then SPC f e R
2020-08-29 21:51:52 -04:00
syl20bnr c3cf2275a7 [core] Remove popup of the dump process buffer 2020-08-29 21:51:52 -04:00
syl20bnr b5f673e0a7 [core] Update message when force dumping 2020-08-29 21:51:52 -04:00
syl20bnr b5ac0ae65a [core] Fix docstring for dotspacemacs-emacs-dumper-dump-file 2020-08-29 21:35:24 -04:00
syl20bnr 65e8d8553b [core] Parse command line argument when using the dumper 2020-08-29 21:35:24 -04:00
Alex d17492e6d5 [core] Fix append path from .spacemacs.env 2020-08-26 22:18:53 +02:00
syl20bnr 39df5e26b6 [editing] Add qwerty-ca-fr layout to evil-swap-keys config 2020-08-21 17:35:24 -04:00
Maximilian Wolff 346be150f9
[core] Replace snoopy with evil-swap-keys and simplify setup
See #9316 for the discussion.
2020-08-18 00:08:01 +02:00
Alex 033647422d Add doom-monokai-spectrum and doom-zenburn themes 2020-08-17 20:12:46 +02:00
Maximilian Wolff ca2cdd0fcc
[core] Fix ugly comment formating
In my last commit I have messed up the comment
formats so that they not longer show correctly
in help buffers. This fixes it.
2020-08-11 00:16:09 +02:00
Maximilian Wolff 793898f818
[core] Move snoopy mode to spacemacs-editing layer 2020-08-11 00:05:40 +02:00
duianto 4b7273cd09 [themes] Sort supported themes alphabetically 2020-07-21 23:29:13 +02:00
Kirill Chernyshov 9e6cfbb83e Add almost-mono-themes into core-themes-support list of aliases 2020-07-20 22:33:29 +02:00
Maximilian Wolff c43b9ea104
[core] Revise "do not delete system package" check
Fixed some smaller issues and added the missing
logging feature.
2020-07-13 00:55:23 +02:00
William Cedervall 52d5d9d98f
Only remove non system pkg
Added "configuration-layer//system-package?" based on package-delete
(pretty much a direct partial copy-paste) so that
"configuration-layer//package-delete" can check if package is a
system package

No crash on spacemacs boot (with unused system-package present).
Though right now "configuration-layer//package-delete" only ignores system
packages instead of reporting them. Not entierly what @nbraud proposed,
but insufficient err-logging is a significantly smaller issue.

Fixes #11160
2020-07-13 00:55:23 +02:00
Maximilian Wolff 5ea876a161
Revise file name abbreviation mechanism
The new variable was not following the naming conventions.
The file was not initialised in core-dotspacemacs.el.
The file was not part of the .spacemacs.template.
2020-07-03 00:52:14 +02:00
Gregor Olenik 111e7a6a36
Use file-name-nondirectory to shorten filenames on home buffer 2020-07-03 00:32:44 +02:00
Mihaly Barasz 0f7693c4d5 Fix spacelpa public key file name
This fixes the issue that users have to import the public key manually
to pass spacelpa archive verification. See #12652
2020-07-01 21:11:33 +02:00
Ag Ibragimov 41276119ea [core] Fix: removes nils from layers list
Spacemacs allows to define layers declaratively like so:

dotspacemacs-configuration-layers
`(,(when (eq system-type 'darwin) 'osx))

The problem - in Linux that would add a nil element into the list, which then
makes it unable to run dotspacemacs/sync-configuration-layers <SPC f e R>, the
tests won't pass.
2020-06-29 07:36:31 +02:00
yqu212 ac83fe3aaa [core] fix broken --timed-requires and --adv-timers under emacs 27 and above
time-date.el requires cl-lib under Emacs 27 and above. Then the around advice
spacemacs//timed-require and spacemacs//load-timer of require will cause
recursive load under emacs 27 and above. The load sequences is: requiring cl-lib
uses autoload function time-since which loads time-date.el and then time-date.el
requires cl-lib.

The solution to break this recursive load sequence is to load time-date.el
before adding the around advice spacemacs//timed-require and
spacemacs//load-timer to require.
2020-06-20 22:54:09 +02:00
Maximilian Wolff c0288e8374
[core] Drop warning from spacemacs|use-package-add-hook
The original idea was to have a warning when
use-package-inject-hooks is set to nil however
having a warning in that macro caused too much
negative side effects and also does not cover
all cases.

Therefore it is to be removed.
2020-06-14 21:09:07 +02:00
Maximilian Wolff 6e6bbe039e
[core] Make spacemacs|use-package-add-hook emit code for warning generation
In my first commit I did not add the warning message properly.
Basically the macro should emit code to create a warning if
the generated code is run and the predicate is not fulfilled.

However in my last commit it did run the code during macro
expansion which would do the testing there which is not
what I wanted.
2020-06-07 21:32:42 +02:00
Maximilian Wolff fbb8354c89
[core] Warn if spacemacs|use-package-add-hook won't have any effect
spacemacs|use-package-add-hook is generating code which
is dependent on use-package-inject-hooks being non-nil.

If this happens now a big warning is written to the log
informing users of a potential issue or problem caused
by their user-config.
2020-06-07 21:09:42 +02:00
Kunal Bhalla cdc189f33d
[RFC] Add poet's variant themes
Someone requested adding poet's variants to the theme -> package mapping in spacemacs at https://github.com/kunalb/poet/issues/20.
2020-06-07 18:40:49 +02:00
duianto 464bd697ef [core] Terminal fix mode line indicator overlap
In a terminal, when a modes mode line name is diminished,
to two characters, and the first one is a unicode character,
then the second character overlaps the right side of the first character.
2020-06-07 18:23:20 +02:00
John Practicalli Stevenson 4349485cc7 Add doom-gruvbox-light theme
Add doom-gruvbox-light theme to prevent Spacemacs from trying to download a
package with the same name from elpa (and failing because there is no such
package).

doom-gruvbox-theme can now be included in dotspacemacs-themes configuration
without generating an error or trying to download a non-existent package.
2020-06-05 13:43:17 +02:00
Evan Klitzke b114dde28d Encode emacs-version in dotspacemacs-emacs-dumper-dump-file 2020-05-18 23:32:46 +02:00
Maximilian Wolff d314cc7eef
Make auto-complete more configurable and efficient for lsp
To optimise performance of lsp mode in emacs 27 and above
I have introduced a new dotfile variable to define the size
of data read from external processes. The default I have
set to the recommended setting from lsp-mode.

In addition I have introduced a new layer variable for
auto-complete-layer to define the minimum prefix length.

I have also added instructions to auto-complete's readme
how to set these variables to the recommended settings
for lsp-mode.

Changes inspired from #13507
2020-05-15 22:22:28 +02:00
Wieland Hoffmann ed8fc556da
Make spacemacs/cycle-spacemacs-theme work with themes with keywords
Themes can now contain keywords in addition to just the theme name like

   dotspacemacs-themes '((name :location (recipe :fetcher github
                                                    :repo "user/repo"))
                         solarized-light
                         solarized-dark)

However, for theme cycling, we first try to detect whether the current
theme (spacemacs--cur-theme) is in the list of cycleable themes and go on from
there. Since spacemacs--cur-theme is just a name, this fails when
spacemacs--cur-theme is the name of a theme that's specified with additional
keywords in dotspacemacs-themes.

To fix this, check if spacemacs--cur-theme is in the list of theme names.
2020-04-16 22:35:36 +02:00
duianto acdb59767c [core] Enable eager spacebind bindings by default 2020-04-15 16:04:17 +02:00
Maximilian Wolff 6a745993e3
Make dotspacemacs-major-mode-emacs-leader-key use same default in core 2020-03-21 21:14:01 +01:00
Richard Kim 782ad723a9
Fix emacs major mode leader key binding for GUI emacs 2020-03-21 21:12:50 +01:00
Matt Kramer f1e2d974ed
Make spacemacs/open-junk-file create junk directory and fix counsel issues
This is a squash commit including below commits

Add dotspacemacs--pretty-ignore-subdirs

Within the specified subdirs of `dotspacemacs-start-dir`,
spacemacs/prettify-org-buffer (and hence space-doc-mode) will not be called.
Without this variable, using spacemacs/open-junk-file to create an Org file will
result in prettification, which is not necessarily the desired behavior.

Call make-directory in spacemacs/open-junk-file

This imitates the behavior of open-junk-file.

Prevent spacemacs/open-junk-file from getting confused by Dired

If we're in a dired buffer, counsel-find-file will ignore
current-directory (i.e. junk-dir) and use (dired-current-directory) instead. We
fool Counsel by shadowing major-mode to nil.

Update CHANGELOG.develop re spacemacs/open-junk-file
2020-03-21 20:52:21 +01:00
Muneeb Shaikh bb8ec23ec1 [themes][keybindings] Use apt completion framework for loading theme
Theme transient state key-binding `t` is broken if `ivy` completion framework is
used. The binding unconditionally invokes `helm-themes`.

This change adds a new function which takes care of invoking correct
theme-loader function based on completion framework currently in use.

The old binding used `helm-themes` but the new function uses already defined
`spacemacs/helm-themes` which removes the number of candidates limit.
2020-03-19 10:48:59 +01:00