Commit Graph

205 Commits

Author SHA1 Message Date
Arif Er 00f9ab19ac chore: update copyright headers to 2022
The script used to identify and update the change is added into the GitHub
workflows script directory. A workflow action can be created to trigger the
script to update the headers on the first of every new year. Possibly a task for
a consequent PR.
2022-06-03 17:32:20 +02:00
Thanh dd1e077c5d [core] enable lexical binding for all 2022-05-11 19:48:17 +02:00
Lucius Hu b7e1dee13f
spacemacs-buffer: Added optional feature to show file icons (#15332)
Co-authored-by: Lucius Hu <lebensterben@users.noreply.github.com>
2022-02-15 06:52:00 +00:00
Lucius Hu 42dc30e33c
core-spacemacs: fix daemon font size (#15295)
Co-authored-by: "ruquan.chen" <ccruquan@gmail.com>
2022-01-29 03:18:22 +00:00
Lucius Hu d7f9eb6342 Update minimum supported emacs version to 27.1 2022-01-01 14:32:46 +01:00
Sylvain Benner 9c7e4bd5f1
[init] Disable GUI elements in early-init as well (#14559)
* [init] Disable GUI elements in early-init as well

Can provide a smoother startup by reducing graphical artifacts.

* [core] Add file for early-init functions

Needed to make the tests to work as early-init.el is not sourced
during tests.

Fixes error:

   Symbol’s function definition is void: spacemacs/removes-gui-elements
2021-04-08 22:25:14 +02:00
syl20bnr 97cd83e169 Apply GPLv3 terms explicitly to all elisp files 2021-03-25 22:59:32 -04:00
syl20bnr d55a9e2e67 Update header for year 2021 2021-03-25 22:59:32 -04:00
JAremko 0f2df2727d Validate .spacemacs variables. 2021-03-18 15:47:02 +02:00
JAremko 7238eb03e8 Better .elc cleanup 2021-02-11 16:08:29 +02:00
JAremko 16073171d8 Make Spacemacs byte-compilation optional 2021-01-31 13:32:06 +02:00
JAremko 5182a450e6 Rework byte recompile of built-in libs 2021-01-26 12:54:03 +02:00
JAremko 0fd0af5d8c Remove core .elc files on rev change 2021-01-25 04:03:14 +02:00
JAremko 78a3adc7e4 Refactor core-compile stuff 2021-01-25 04:03:14 +02:00
Lin Sun ba9e0afa34 [Core] *core-spacemacs.el: fix default-path for compiling built-in libs 2021-01-20 02:54:13 +02:00
JAremko 787820a7ad Compile built-in libs 2021-01-18 16:52:39 +02: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
Robert O'Connor 82ba73a1c0
update copyright to 2020 2020-09-23 21:25:01 +02:00
syl20bnr 65e8d8553b [core] Parse command line argument when using the dumper 2020-08-29 21:35:24 -04: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
jaremko b83521edbb Add spacebind macro and tests for it 2020-02-27 21:48:40 -05: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
duianto ae51fd7a77 Revert "Improve theme handling to support themes using `spacemacs-theme` custom api"
This reverts commit 5f308b0306.

This message is shown on startup:
spacemacs/startup-hook: Symbol’s value as variable is void: spacemacs-theme-custom-colors
and it broke several things.
2019-08-17 11:07:48 +02:00
smile13241324 5f308b0306 Improve theme handling to support themes using `spacemacs-theme` custom api 2019-08-16 23:05:42 +02:00
smile13241324 85fca8f323 Restore winner-mode auto start without breaking dumping
As winner-mode was moved from init.el to dump-init.el winner-mode
was not longer properly started for non-dumped emacs sessions.
Having winner-mode auto activate at startup did fix the issue
for non-dumping users but in turn broke the dumping process.

I have now moved the necessary winner-mode init to
spacemacs/setup-startup-hook which is only called
in the non-dumping case. To allow customizations I activate
winner-mode prior to loading user-init this will allow users
to deactivate winner-mode in the dotfile and fix ediff themselves
if this is wished for.
2019-08-04 14:49:10 +02:00
bb2020 af1ddfd7bd Add `dotspacemacs-undecorated-at-startup` template variable 2019-06-01 00:01:20 +02:00
bmag 5eff620e83 custom setting: don't write to dotfile before loading all of them
Fixes a bug where saving a custom variable (e.g. package-selected-packages)
before reading the custom settings from dotspacemacs/emacs-custom-settings could
overwrite the stored settings.
2019-02-18 14:21:06 -05:00
John Eismeier 5e3c96562a Propose a couple of spelling corrections 2018-08-02 00:20:06 +03:00
syl20bnr a013d86874 core: update environment variables management
* add new dotfile function `dotspacemacs/user-env`
* add ignored env. vars with variable spacemacs-ignored-environment-variables
* ignore env vars: SSH_AUTH_SOCK and DBUS_SESSION_BUS_ADDRESS
* update documentation in DOCUMENTATION.org
* update .spacemacs.template with new function
* rename environment file from spacemacs.env to .spacemacs.env
* move location of .spacemacs.env file to home or dotdirectory
* add a header to the generated .spacemacs.env file to explain what it is
* make SPC f e e fallbacks to the function dotspacemacs/user-env if the user
  manages the env var by themselves
* make SPC f e E call the new function dotspacemacs/user-env
* sort environment variables in .spacemacs.env file
2018-07-03 01:25:28 -04:00
syl20bnr 6220ace290 core: rework environment variables and PATH management
See updated DOCUMENTATION.org and FAQ.org for more info.

* add core-env.el
* add library load-env-vars.el
* add bootstrap package dotenv-mode.el
* remove spacemacs-environment from bootstrap layer
* remove dotspacemacs variable dotspacemacs-import-env-vars-from-shell
* remove dotspacemacs variable dotspacemacs-improt-env-vars-shell-file-name
* add new key binding SPC f e e to open spacemacs.env file
* add new key binding SPC f e E to reload environment variable from env file
* add new key binding SPC f e C-e to re-initialize the env file from shell.
2018-06-25 02:55:28 -04:00
syl20bnr bd316f4c30 core: add new macro spacemacs|add-transient-hook
Transient hooks vanishes when they are evaluated.
2018-06-11 01:30:18 -04:00
syl20bnr ac247396f3 core: avoid unecessary output in message buffer at startup
Unless in debug mode.
2018-06-10 02:49:51 -04:00
syl20bnr a0a3ff0c20 core: refactor the progress bar
Spacemacs is slow to startup so better give it a not buggy progress bar :-)

* Move progress bar code to core-progress-bar.el file
* Remove the counters at the end of the progress bar
* Fix update of the progress bar value
* Fix progress bar size when staring Emacs maximized
2018-06-10 02:32:29 -04:00
syl20bnr 14b71afb42 dump: auto-dump emacs on load if layer list has changed
* rename core-dump.el to core-dumper.el
* add function spacemacs/dump-emacs
* explicitly load core-dumper.el file in init.el
* asynchronously dump emacs if layer list has changed, see special buffer
  *spacemacs-dumper* for the output.
2018-05-20 03:58:48 -04:00
syl20bnr 2580e43c66 Add support for dumping Spacemacs
Create dump with:

   ./emacs --batch -l ~/.emacs.d/dump-init.el \
           -eval '(dump-emacs-portable "spacemacs.pdmp")'

Load dump with:

   ./emacs --dump-file=spacemacs.pdmp

User can require/load additional libraries in new dotfile function:

   dotspacemacs/user-load
2018-05-20 03:57:54 -04:00
syl20bnr 72c89df995 core: add dotspacemacs-gc-cons variable 2018-01-28 23:22:38 -05:00
syl20bnr 6f7b57650b core: backport battery fix for macOS 2018-01-12 22:37:04 -05:00
syl20bnr 326965d4ce Happy New Year 2018! 2018-01-04 02:00:25 -05:00
syl20bnr cc73871cb4 core: Fix issue with custom settings and lazy loading
Fixes #9736
2017-10-29 10:39:48 -04:00
syl20bnr 65d5e42b8e core: add support for stable ELPA repository hosted on GitHub
Use the official spacelpa ELPA repository.
address: https://github.com/syl20bnr/spacelpa

ELPA repository configuration is now in a file called .lock at the root of the
git repository. Its goal is to setup the ELPA repositories for a given branch
and it should not be modified! The philosophy of Spacemacs is to never fork the
git repository and this lock file has been put in the repo on purpose.

Only the master branch will have a .lock file that points to spacelpa, the
develop branch won't use the stable ELPA repository and will continue to behave
like it always did.

BUT for testing purpose and until the first major version of Spacemacs that uses
the stable ELPA repo is released I push a .lock file to develop branch that
points to spacelpa.

I understand that some people can be annoyed by this so the variable
configuration-layer--elpa-archives can be overriden by putting a setq in your
dotfile in the user-init function like this:

  (setq configuration-layer--elpa-archives
        '(("melpa"    . "melpa.org/packages/")
          ("org"      . "orgmode.org/elpa/")
          ("gnu"      . "elpa.gnu.org/packages/")))
2017-10-29 01:20:25 -04:00
ZarsBranchkin 4353535a98 Fix disabled scrollbar remains 2017-06-21 09:37:05 +02:00
Eivind Fonn ef12c6073a theming: robustness
Disable all applied themes in all cases, when a theme is applied
2017-06-18 12:38:01 +02:00
syl20bnr 8db21403d7 Fix support for fancy frame title 2017-04-28 23:39:41 -04:00
Kepi 7e266f4f3c Improve support for fancy frame title 2017-04-28 23:16:22 -04:00
Uri Sharf cb30ec1df8 Add support for fancy frame title
Acked-by: Uri Sharf <uri.sharf@gmail.com>
2017-04-28 23:13:25 -04:00
syl20bnr 6212795523 core: allow users to set custom-file variable
In this case Spacemacs won't write custom variables to the
dotspacemacs/emacs-custom-settings variable.

Move setq and add-advice to spacemacs/initialize-custom-file which is now
called in spacemacs/init function just after dotspacemacs/user-init function.
2017-03-12 12:10:21 -04:00
syl20bnr c5fd3dac04 core: fix theme application
Force theme do be disabled when applying them at the end of loading.
Fix computation of theme package directory when theme is a symbol.

Fixes #8319
2017-02-11 17:23:14 -05:00
syl20bnr 415b29b140 core: dotspacemacs-themes entries now accept package properties
It is now possible to use package properties like :location in
dotspacemacs-themes.

Added hooks ran at the beginning and end of configuration-layer/sync:
- configuration-layer-pre-sync-hook
- configuration-layer-post-sync-hook

configuration-layer-pre-sync-hook is used to hook the new function
spacemacs//add-theme-packages-to-additional-packages. This new function updates
dotspacemacs--additional-theme-packages variables.

Update documentation to mention the new feature.
2017-02-01 22:59:03 -05:00
syl20bnr b3c8ebc816 core: improve theme application
Add all theme packages defined in dotspacemacs-themes to the variable
dotspacemacs-additional-packages and delay the application of user theme at the
end of startup (only when user theme cannot be applied at the very beginning
of Emacs startup).

This has nice properties:
- we leverage the layer system to handle the theme packages installation and
  cleanup.
- theme packages are automatically owned by the dotfile preventing them from
being garbage collected.
- the protected package mechanism is now obsolete since themes were the last
packages using it. This mechanism may be removed in a near future.

Thanks to TheBB for the initial idea.
2017-01-25 23:37:57 -05:00
syl20bnr 9ac779a2e4 core: import spacemacs-theme into libs
Distribute spacemacs-theme with Spacemacs so we don't need to download the
package of the theme at startup. It was delaying the display of the home buffer.

Now Spacemacs fallback to spacemacs-dark theme if the user theme cannot be
applied. Spacemacs then tries to install and reapply the user theme. If
successful, at the subsequent startups the user theme is applied right away
instead of spacemacs-dark. If the installation failed then we display a warning
informing the user and suggesting some actions.

There is now no package left to be installed manually at the start of Spacemacs.
2017-01-25 00:30:31 -05:00