Commit graph

1588 commits

Author SHA1 Message Date
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
Muneeb Shaikh
b7fd2fab6e [core-themes] Add support for doom-monokai-pro 2020-03-14 09:02:35 +01:00
Maximilian Wolff
c7af787257
Add setting to dotfile to deactivate clean-aindent-mode
There have been complains about issues with `clean-aindent-mode` from
multiple users. For some of these deactivating the mode in their user-init
did not work as intended. Therefore I have added a setting for it in the
dotfile.
2020-03-13 19:00:48 +01:00
Bruno Morais
d4cc5cf916 Add doom-molokai back to supported themes 2020-03-13 18:19:18 +01:00
Bruno Morais
4186ebb658 Replaced doom-molokai with doom-monokai-classic 2020-03-13 08:16:49 +01:00
Muneeb Shaikh
3f526479e3
[themes] add highly accessible themes - modus-{operandi, vivendi}
Modus themes are highly accessible themes for GNU Emacs, conforming with the
highest accessibility standard for colour contrast between background and
foreground values (WCAG AAA standard).

Screenshots: https://gitlab.com/protesilaos/modus-themes/-/wikis/Screenshots
2020-03-12 21:25:44 +01:00
JAremko
6abe62efb5 [spacebind] generate less code 2020-03-12 22:17:17 +02:00
JAremko
710aa947b7 [spacebind] use cl-every 2020-03-11 10:35:11 +02:00
JAremko
62bbff5567 [spacebind] add tests and docs for overrides 2020-03-11 10:35:11 +02:00
JAremko
2e81c032ef [spacebind] enable nested form fmt 2020-03-11 10:35:11 +02:00
JAremko
a18b4d76b2 add :label for atl labels 2020-03-10 20:54:57 +02:00
JAremko
130f00e4f3 make key names more coherent 2020-03-10 20:54:57 +02:00
JAremko
7d177d4e66 Improve spacebind docs 2020-03-10 20:54:57 +02:00
Hong Xu
2c99a99d59
Remove executable permission from core/templates/.spacemacs.template
733a3a8199 accidentally adds executable
permission to core/templates/.spacemacs.template. This commit removes
the executable permission.
2020-03-08 12:27:20 +01:00
JAremko
0753287864 rename spacebind -> spacemacs|spacebind
Also fix stuff.
2020-03-05 12:21:01 +02:00
Muneeb Shaikh
bb0a118344
[core-themes] Add support for doom-ephemeral 2020-03-05 00:00:38 +01:00
jaremko
b83521edbb Add spacebind macro and tests for it 2020-02-27 21:48:40 -05:00
Maximilian Wolff
f44047ccdc
Make interactive installation of python layer not fail
If a layer is interactively installed by visiting a file the progress
file is updated without being properly initialized before causing a
division by zero.

Now `spacemacs/update-progress-bar` will ignore the call if
`spacemacs-loading-dots-chunk-threshold` is <= 0.
2020-02-25 22:14:01 +01:00
Zach Pearson
733a3a8199
Add option to hide version string in Spacemacs buffer. 2020-02-24 12:37:37 +01:00
Maximilian Wolff
d10ca8d6d5
Update quelpa.el to latest version 2020-02-24 12:04:19 +01:00
Maximilian Wolff
fcb79bf55b
Update page-break-lines.el to latest version 2020-02-24 12:02:18 +01:00
Maximilian Wolff
5735221365
Update package-build.el to latest version on melpa 2020-02-24 11:42:41 +01:00
Maximilian Wolff
5ba8159037
Update mocker.el from v0.3.0 to v0.3.1 2020-02-24 11:20:00 +01:00
Maximilian Wolff
2823f2876e
Update ido-vertical-mode from package version 20160429.1037 to 20180618.2101 2020-02-24 01:34:24 +01:00
Maximilian Wolff
2db7d720bc
Upgrade spacemacs-theme to latest version 2020-02-24 01:17:50 +01:00
Maximilian Wolff
2f70ed83ad
Update ht.el from v2.0 to 2.2 2020-02-24 01:10:48 +01:00
Steven Allen
9176e93497
[dump] Fix several dumper issues
This commit contains the following original ones:
[dump] don't assume spacemacs start directory when dumping
[dump] dump to a temporary file and atomically rename it
[dump] cleanup after dumping
2020-02-18 20:41:43 +01:00
Aaron Jensen
840b431cf6
configuration: fix redundant update checking
Fixes #13114
2020-02-09 19:23:19 +00:00
Muneeb Shaikh
0d7d8ce0ed
[themes][doom] Sync with updated list of doom themes
Added following themes:

* doom-acario-dark
* doom-acario-light
* doom-horizon
* doom-laserwave
* doom-manegarm
* doom-material
* doom-oceanic-next
2020-02-09 19:10:38 +00:00
Ag Ibragimov
7f92a4388d fix: ignore nil values in dotspacemacs-configuration-layers
otherwise it throws warnings when layers introduced imperatively, e.g.:

dotspacemacs-configuration-layers
`(
  ,(when (eq system-type 'darwin) 'osx)
  ,(when (eq system-type 'gnu/linux) 'exwm))
2020-02-05 20:54:13 +01:00
duianto
ad521fff5c
Spacemacs buffer in other window with prefix arg 2020-02-01 08:53:46 +00:00
duianto
4b451a5fe3
Fix void destructuring-bind after cl pkg deprecation
destructuring-bind is a macro in the deprecated package: cl

SPC-TAB calls: spacemacs/alternate-buffer
In the spacemacs-base distribution, it shows the message:
spacemacs/alternate-buffer: Symbol’s function definition is void: destructuring-bind

Also renamed three instances of destructuring-bind in the rirc layer.
2020-02-01 08:47:55 +00:00
Ivan Yonchovski
06cb81e90a [themes] Add doom-dark+ 2020-01-23 11:05:45 +01:00
Zach Latta
1d2a1fa6e4 Fix capitalization of GitHub
Change instances of "Github" to "GitHub".
2020-01-20 09:14:12 +01:00
Mpho Jele
08d19389cc Frame title setting doesn't need to depend on environment (gui/cli)
Enables frame titles in gui emacsclient frames.
2019-12-22 16:52:41 +01:00
madand
5dc9e2f271
Fix CI builds by reverting a breaking change to mocker.el
The change was introduced by #13059. mocker.el is a large piece of legacy code
that depends on deprecated functionality in EIEIO and cannot be trivially
converted to use `cl-lib` by search and replace.
2019-12-15 21:41:51 +00:00
kimr
da80634370
converted cl to cl-lib 2019-12-14 20:20:51 +00:00
duianto
a52fc88b16
Fix SPC-TAB in spacemacs-base distribution
Problem:
The variable spacemacs-layouts-restrict-spc-tab is defined in:
~/.emacs.d/layers/+spacemacs/spacemacs-layouts/config.el
But the spacemacs-layouts layer isn't loaded by default in spacemacs-base.

Solution:
Check if the variable is bound.
2019-12-08 11:12:35 +01:00
duianto
7feed6215d
Prevent Spacemacs buffer redisplay in filetree window 2019-12-06 22:30:08 +01:00
duianto
623ca354fe
Fix home buffer version and banner
- Removed the first line deletion.
This required the banners to have an empty first line.

- Removed the empty first line from the banners.

- Made sure that there is a single empty line between:
  - The Version and Banner.
  - Banner and Buttons ([?] [Homepage] ...).
  - Version and Buttons (when the banner is hidden).

- Reordered the backend version insertion function call
to match the frontend Spacemacs buffer order.
  - version
  - banner
  - buttons

Before it added:
- the banner
- then the buffers first line was removed
- then the version was added to the first line
- then the buttons were added at the bottom of the buffer
(there are more things added after the buttons,
but they haven't been changed by this commit).

- Removed the version insertion call in:
core/core-spacemacs-buffer.el

The changes above caused the version to appear twice
in the Spacemacs home buffer on startup.

I'm not sure if it has/had other uses.

This seems to be where it was first added to:
core-configuration-layer.el:
core: restore default mode line in home buffer
77161bd591

It was slightly modified in this commit:
core: defer distro insertion in home buffer
cd50d9c069

Here it was joined with the banner:
Fix version injection in home buffer
  Don't inject version if banner is nil
a764eb4eb9

core: condensed versions into one string in left-hand side
  spacemacs-version@emacs-version (distribution)
627e934453

- I had not seen that the version was joined with the
banner on purpose until now.

It seemed useful to still be able to see the versions
if one just wanted to hide the banner.

Therefore I opened this PR (it's been cherry-picked):
Uncouple version from banner in spacemacs buffer #11901
https://github.com/syl20bnr/spacemacs/pull/11901

If there's a good reason to combine them again,
then the changes can be reverted.
2019-12-03 20:44:22 +00:00
Muneeb Shaikh
f3f2db8315 Update the list of solarized themes
Upstream has added a blend of solaized themes with different color palettes.
2019-12-02 18:41:23 +01:00
Maximilian Wolff
dd7a5d98be
Revise helm recompile package action and bind recompile-elpa
The newly introduced function to compile an elpa package
was very much redundant with the existing recompile-elpa function.

I have adapted recompile-elpa so that it can be used for the helm action too.

In addition I have bound recompile-elpa to `SPC c C-c` to allow users to
easily recompile their entire elpa directory if the need arises.

I have also removed the error handling in the helm action in favor of
standard error reporting via the *Compile-Log* buffer.
2019-11-24 02:07:15 +01:00
Gia Thanh Vuong
94de754504
[core] [helm] add action to recompile an elpa package
How to use: `SCP h p` select package then `F3` or `C-z` and choose `Recompile`

Motivation: Some packages when compiling need other packages to be loaded first.
The pacakage maintainers should make sure of this requirement but sommetimes
they don't. It also doesn't help when Spacemacs is lazy loading and compiles
updated pacakges on startup. So the manual fix for this problem is recompile the
package once Spacemacs has fully loaded. This requires user go to the package
install location to delete elc files and then do a `spacemacs/recompile-elpa`.
This commit will do that chore for them.

This will make fixing the problem with `org-plus-contrib` or `dumb-jump` update
every now and then easier.
2019-11-23 23:40:50 +01:00
Miciah Masters
a55df96caa [core] Environment variable caching fixes
Fix several problems with environment variable caching.

First, if a shell printed extra output besides the command output,
spacemacs//init-spacemacs-env included the extra output in .spacemacs.env.
For example, a login shell could print a motd, which would be erroneously
included in .spacemacs.env.  To avoid this, spacemacs//init-spacemacs-env
now redirects the command output to a temporary file and then reads the
file.

Second, spacemacs//init-spacemacs-env sorted lines using the entire
"name=value" string for each line whereas the correct behavior is to sort
only on the "name" part.  To fix this, spacemacs//init-spacemacs-env now
uses sort-regexp-fields with an appropriate regexp to match the "name" part
and ignore the "value" part.

Third, although load-env-vars-set-env added all PATH settings in
.spacemacs.env to exec-path, it set PATH to the first PATH setting in
.spacemacs.env.  Now load-env-vars-set-env sets PATH from exec-path so that
it will reflect that combined value.

Fourth, load-env-vars-set-env set exec-path and PATH without consideration
to the operating system's directory separator.  Now load-env-vars-set-env
converts backslashes to forward slashes when adding path entries to
exec-path and converts forward slashes to backslashes when setting PATH on
platforms that use backslashes.

Fifth, load-env-vars-set-env now normalizes exec-path by deleting trailing
slashes from path entries, converting drive letters in path entries to
lower-case, and deleting duplicate path entries.

Sixth, Spacemacs no longer uses exec-path-from-shell, but a changelog entry
said that it did.  This commit corrects the changelog entry, deletes
another outdated entry, and merges two entries that covered the same
functionality.

Finally, this commit corrects several typos and tries to improve wording in
several docstrings, messages, and comments.

* CHANGELOG.develop: Delete mention of exec-path-from-shell, which
Spacemacs no longer uses by default.  Delete mention of
dotspacemacs-import-env-vars-from-shell and
dotspacemacs-import-env-vars-shell-file-name, which no longer exist.
Merge entries about synchronizing environment variables.
* core/core-env.el (spacemacs-ignored-environment-variables): Fix typos and
mention that the strings are regexps that are matched against the names of
environment variables.
(spacemacs//init-spacemacs-env): Use a temporary file rather than standard
output in order to avoid getting motd and other noise.  Sort lines using
only environment variables' names, not their values.  Better describe the
behavior with respect to spacemacs-ignored-environment-variables, duplicate
settings, and PATH.  Try to make wording clearer.
(spacemacs/edit-env): Fix typos in the docstring.
* core/libs/load-env-vars.el (load-env-vars-set-env): Fix typos in the
docstring.  Delete trailing slashes from path entries in exec-path, convert
drive letters to lower-case, delete duplicate path entries, and convert
backslashes to forward slashes when setting exec-path.  Set PATH from
exec-path, converting forward slashes to backslashes on platforms that use
backslashes.
2019-11-03 22:25:05 +01:00