Commit graph

1206 commits

Author SHA1 Message Date
deb0ch f8cb17eaf4
home-buffer: fix error on footer insertion when window is narrow 2016-12-22 16:31:13 +02:00
syl20bnr 467a5cc0ff core: move some functions to their correct source file 2016-12-18 12:05:10 -05:00
syl20bnr 28f2a6079d core: add explanation about double loading of customs in code
The explanation was in the previous commit message but it should be made more
obvious, so I move it directly into the source code.
2016-12-18 11:50:50 -05:00
syl20bnr 0ab8b7ba35 core: fix deletion of some custom settings when installing new packages
Given the loading process of Spacemacs we have no choice but to set the
custom settings twice:
- once at the very beginning of startup
- once at the very end of loading

The first application of custom settings is to be sure that Emacs knows all the
defined settings before saving them to a file (otherwise we loose all the
settings that Emacs does not know of).
The second application is to override any settings set in dotfile functions
like `dotspacemacs/user-config`, users expect the custom settings to be the
effective ones.

This double loading issue is independent from the managment method used for
custom settings. Even with a separate custom-settings file explicitly loaded in
the dotfile we would have been forced to load this file twice to acheive the
expected result described here.

Note: Loading custom-settings twice is not ideal since they can have side
effects! Maybe an inhibit variable in Emacs can supress these side effects?
2016-12-18 11:46:23 -05:00
syl20bnr a5c486364b core: fix "select deleted buffer"
Fixes #7898 #7963 #7976

For the fix to work, the file .custome-settings in .cache directory must
be delete once.
2016-12-18 02:07:45 -05:00
syl20bnr 679da2436a core: scope minor-mode specific key bindigns under major-mode leader
Also remove unnecessary bindings for org-edit-src-exit
2016-12-16 08:57:45 -05:00
d12frosted 5dbfaf3a8d
encode ; in issue report body 2016-12-14 18:23:44 +02:00
Markus Koller 766c284332 Disable paste transient state by default
To match the default configuration template which also disables it.
See https://github.com/syl20bnr/spacemacs/issues/6251#issuecomment-262289770
2016-11-24 23:05:55 +01:00
syl20bnr 6ae2fbcfa9 core: use an advice to write custom settings to dotfile
Should fix #7816
2016-11-23 16:32:10 -05:00
syl20bnr e699f1816a core: wrap Emacs custom in a dotfile new function
New function `dotspacmacs/emacs-custom-settings` wrapping Emacs
custom settings sexps.
`dotspacemacs/emacs-custom-settings` is called just after the user
configuration (`dotspacemacs/user-config`)

Customize cannot write its auto-generated sexps inside a function, to
accomplish this we trick Emacs by setting the custom file to a file
in `.cache` directory, the path to this file is defined by the variable
`spacemacs--custom-file`. At the startup of Emacs we read this file
to insert its content inside the function
`dotspacemacs/emacs-custom-settings` in the dotfile, this is done in the
function `spacemacs/write-custom-settings-to-dotfile`.

I don't think we need to write the custom settings to the dotfile when
exiting Emacs as well, since we do it at startup at the very beginning
(i.e. before actually loading the dotfile) we should be OK.

Fixes #5170
2016-11-22 22:55:36 -05:00
syl20bnr 034f2ea059 core: add support for conventional SPC m g G to jump-to-definition
Unfortunately the point jumps two times and we cannot use save-excursion due
to jump-to-definition being asynchronous depending on the handler.
2016-11-22 09:20:03 -05:00
Eivind Fonn 5c912e942f Don’t toggle maximized if already maximized 2016-11-20 18:59:57 -05:00
Keshav Kini 39667d3c87 Don't suggest SPC q r if restart-emacs is missing
When upgrading packages, Spacemacs backs up the old versions of the
packages and then tells the user to restart Emacs using `SPC q r` so
that the new version will be auto-installed.  But `SPC q r` doesn't
work if restart-emacs is one of the packages which is being upgraded,
and hence isn't currently installed.
2016-11-20 18:57:52 -05:00
Wieland Hoffmann 9fb5086fd1 Use "non-nil" in .spacemacs.template
Replace the mixture of "non nil" and "non-nil" with the latter. It seems to be
the form used by Emacs itself (for example in the docstring of `when`).
2016-11-20 18:55:12 -05:00
syl20bnr c7370cc592 core: use memq instead of multiple calls to eq 2016-11-20 13:38:02 -05:00
Chris Kaukis 1038c84597 Add Doom themes to required dependencies for dash 2016-11-20 13:33:38 -05:00
Eoin Houlihan 51c27f7db3 Add ripgrep to search tools in template 2016-11-11 17:42:25 +00:00
ksjogo 12284e16b0 Removed deprecated insert-string and replace by insert 2016-11-11 15:23:49 +02:00
Aron Griffis 385c12743a Add ripgrep support
* Add rg to helm completion layer
* Add rg to ivy layer
* Prepend rg to dotspacemacs-search-tools
* Add rg to documentation
2016-11-11 15:22:03 +02:00
syl20bnr 2c4cd4dd42 core: Revert dotfile installation time and fix editing style bug
Force a call to dotspacemacs/init after dotfile installtion.
Move call to (spacemacs/maybe-install-dotfile) to spacemacs/init.
2016-11-07 10:40:39 -05:00
syl20bnr caca16052a core: remove empty function dotspacemacs//install-and-replace 2016-11-07 10:24:51 -05:00
Eivind Fonn 24c3859d1e Install dotfile earlier 2016-11-07 10:07:28 -05:00
deb0ch e952eef1a6 home buffer: center buffer on fixed width 80 when not responsive 2016-11-07 09:15:56 -05:00
deb0ch bb5fdd8eaa home buffer: framed notes: allow for numbered and dotted lists
enumeration lists of the form:

 - lorem ipsum
 * lorem ipsum
 + lorem ipsum
 1. lorem ipsum
 2) lorem ipsum

will be treated as separate paragraphes and not be squished by
fill-region anymore.
2016-11-07 09:14:18 -05:00
deb0ch 67c5b2cb01 home-buffer: adapt home buffer notes toggling to responsiveness 2016-11-07 09:14:13 -05:00
deb0ch 3fa8b40057 home buffer: better framed notes display <3
More flexible framed text generation:

- adjust frame width to content width
- define minimum and maximum width
- allow for inserting a caption at the bottom of the frame

Unless dotspacemacs-startup-buffer-respinsive is nil:

- framed notes are centered
- max width is adapted to the window width

Also add a note inviting the user to update his packages and dotfile on
every new release (fixes #7357).
2016-11-07 09:13:46 -05:00
Rostislav Svoboda 0fa634c11c Display 'done' after a theme is loaded 2016-11-05 12:32:51 +02:00
Eivind Fonn 7082301cd8 Thank d12frosted too 2016-11-03 15:23:37 +01:00
Eivind Fonn f61a3a7881 Autumnal cleanup finished 2016-11-03 15:17:30 +01:00
deb0ch 3b92a4c2bf maximize frame earlier in the startup process 2016-10-23 19:44:35 +02:00
bmag e5c9632678 New dotvariable to control switch-to-buffer behavior
With a nil value for dotspacemacs-switch-to-buffer-prefers-purpose,
switch-to-buffer prefers using the current window, same as vanilla
Emacs. With a non-nil value, switch-to-buffer prefers another window
with the same purpose as the buffer. This affects actions like
spacemacs/alternate-buffer, and opening buffers from Dired.
2016-10-23 19:44:35 +02:00
Harry Walsh 452931ba2d Cleaned up directory warning about duplicate layers.
Cleaned up a warning that occurs when loading private layers
The layer discovery loop scans the private layer directory (
~/.spacemacs.d/layers) AND also ~/.spacemacs.d
The code then checks if a layer directory already exists
but the comparison fails due to trailing / in some paths.

The fix is to strip any trailing slash from both directories being
compared.
2016-10-21 12:10:47 +02:00
syl20bnr 48c3ecd1f8 core: register warning message only when messages are not inhibited 2016-10-20 09:32:03 -04:00
syl20bnr ee6c353abd core: inverse inhibition of :toggle messages
Makes more sense to inhibit at install time instead of configuration
time.
2016-10-20 09:30:16 -04:00
Kechao CAI b550945087 home buffer: update quickhelp.txt in [?] 2016-10-19 11:02:55 +08:00
Eivind Fonn ae66a4cea1 Show warnings in home buffer 2016-10-18 10:13:17 +02:00
Eivind Fonn 1a97aeb215 Warn if layers changed outside dotspacemacs/layers 2016-10-18 10:13:17 +02:00
Aku Kotkavuo f478686c69 Fix typos 2016-10-17 13:52:09 +02:00
Eivind Fonn d7938d63b1 Check package excluded property before toggle 2016-10-17 13:33:46 +02:00
syl20bnr d6a286d176 Revert "Set default value of dotspacemacs-startup-lists to nil"
This reverts commit 36f861aaff.

This is indeed very useful for new users (and the others :-))
2016-10-16 22:33:05 -04:00
Eivind Fonn df49e2a8d2 Add support for doom themes 2016-10-12 16:22:15 +02:00
Arron Mabrey 07718584ba
Fix unclosed strings in spacemacs.template 2016-10-11 22:17:33 +03:00
JAremko 37d74f60a8
Report system-configuration-features 2016-10-11 22:16:21 +03:00
syl20bnr 04ebeb712d core: fix exclusion of package when installing all packages
Fixes #7059
2016-10-10 01:09:05 -04:00
syl20bnr 8b4f3462c6 core: simplify construction of package objects 2016-10-10 01:08:45 -04:00
syl20bnr e5906ff895 Update release notes for 0.200
Advertise Autumnal Cleanup
2016-10-10 00:51:00 -04:00
syl20bnr 574b2ffe5d core: allow links surrounded with [[]] in release notes 2016-10-10 00:50:29 -04:00
syl20bnr 22aafd9523 core: fix lazy installation of layers
Fixes #7256
2016-10-09 23:32:31 -04:00
syl20bnr 62f08d89fb Rename dotspacemacs-ex-key to dotspacemacs-ex-command-key
Also move the configuration to evil init function.
2016-10-09 21:28:09 -04:00
Dietrich Daroch d1457feafb Restore easy ex-command remap
Pressing semi-colon is easier than the default colon.

Added ex-key defvar too
2016-10-09 13:21:31 -04:00
syl20bnr 703f78c2b8 Cleanup pass on file spacemacs-base/funcs.el
- Apply `/` and `//` rules (double / is for private functions)
- Add missing `spacemacs/` prefixes
- Move functions used outside of spacemacs-base layer to
  core/core-funcs.el
- Remove unused functions

Commit originally intented to only rename linum-update-window-scale-fix
to spacemacs/linum-update-window-scale-fix :-)
2016-10-09 13:14:41 -04:00
syl20bnr 7ff631a1d9 Change j/k to J/K to navigate home buffer
Update the quick help and sort the key bindings a bit.
2016-10-09 13:14:41 -04:00
syl20bnr 36f861aaff Set default value of dotspacemacs-startup-lists to nil 2016-10-09 12:25:56 -04:00
Tobias Gläßer 65b076e4d9 Use j/k in spacemacs buffer for widget motions
Currently j/k were only navigating between lines, but hitting RET
wouldn't work on a recent file and the like, when the cursor wasn't
directly over the filename. Changing j/k to widget navigation, ensures
that the cursor is always on something clickable. This change should
make the home buffer feel more at home for evil mode users.
2016-10-08 19:42:27 +02:00
ynilu 3b6c0e3b31
Correct the format of recipe when check for update 2016-10-03 20:53:33 +03:00
syl20bnr e6357a5ea3 Add missing 0.200 release notes for home buffer 2016-10-03 02:16:42 -04:00
syl20bnr fcfae43ddc Add newsletter 01 2016-10-03 00:23:15 -04:00
syl20bnr 03c1b5c466 core: Add an alias for dotspacemacs-enable-paste-micro-state 2016-10-03 00:23:15 -04:00
deb0ch 7860804fff adjust or center startup lists in home buffer 2016-09-22 10:19:39 +02:00
Eivind Fonn 26df4a7799 Fix initial-buffer-choice in daemon mode 2016-09-15 12:07:51 +02:00
Eivind Fonn e02c012ba1 Additional home buffer fixes 2016-09-14 20:53:30 +02:00
Steven Allen 7e903da247 Never use negative widths when formatting the spacemacs buffer caption.
Fixes: #7114
2016-09-14 19:44:01 +02:00
deb0ch fd9ac4afce refactor spacemacs-buffer/goto-buffer: fix logic flaw, center in terminal
fix buffer not re-created when buffer does not exist and last-width did
not change.

allow for home buffer centering in terminals.
2016-09-14 11:41:40 +02:00
d12frosted 8578b40404
properly resolve local package archive urls 2016-09-13 16:44:41 +03:00
Paul Young 9031348617
Fix a typo in the version switching message 2016-09-13 13:21:52 +03:00
syl20bnr 03f9f9f700 core: contain side effects when loading packages for SPC h SPC
Fixes some edge cases like SPC f e R performed after SPC h SPC which
could wrongly install or uninstall packages.

Side effects is contained using the variable
configuration-layer--package-properties-read-onlyp, if non nil then
properties value of a package cannot be overwritten.
2016-09-05 20:54:07 -04:00
syl20bnr 34971edc32 core: fix make-package multiple calls side effects
Calling multiple times configuration-layer/make-package appends the
same layers to :owners, :pre-layers and :post-layers slot.

Use object-add-to-list instead of push.

Add some tests and mock some warning messages.
2016-09-05 15:01:35 -04:00
syl20bnr 7a9f031e2b core: Split configuration-layer/make-packages-from-layers
Split the function in two functions:
- configuration-layer/make-packages-from-layers
- configuration-layer/make-packages-from-dotfile
2016-09-05 12:40:44 -04:00
syl20bnr f7668181d6 core: refactor make-package and make-packages
Rename configuration-layers/make-packages to
       configuration-layers/make-packages-from-layers

Move all package initialization logic to configuration-layers/make-package
instead of having it split between make-packages and make-package.
2016-09-05 11:54:29 -04: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 43a445b1df Remove wrongly pushed change in core 2016-09-04 12:29:52 -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
Aaron Jensen bc5eb62e53 core: Add resize hook later in startup
Fixes hang while resizing on startup with initial-frame-alist.

Fixes #6986
2016-09-03 12:07:07 +02:00
Eivind Fonn e207038208 Add dsm variable for responsive home buffer 2016-09-03 12:07:03 +02:00
Eivind Fonn 2ef8c00e6b Add global bound on startup list lengths 2016-09-03 12:06:57 +02:00
Andrew Schwartzmeyer 6a08e2f65e Fix get-package-directory regex
Previous change in 5d6e9ab789 dropped the
"/" marker to match at beginning of string. Since directory-files
matches a regex, use "\\`" to indicate match at beginning of string.
2016-09-02 21:44:43 +02:00
Eivind Fonn 3a28393a23 Implement :enabled-for layer keyword 2016-08-31 22:15:13 -04:00
Eivind Fonn a90414cc1b Add additional linebreak in home buffer 2016-08-31 18:48:27 +02:00
deb0ch 55accac7e5 center startup summary in spacemacs buffer 2016-08-31 18:44:15 +02:00
deb0ch 7dfa038107 redisplay startup info summary when re-centering and refreshing spacemacs buffer 2016-08-31 18:42:19 +02:00
Eivind Fonn df255da69a Fix: only choose random banner once 2016-08-31 18:33:48 +02:00
ralesi a7d4674202 Auto center spacemacs-buffer on window resize. 2016-08-31 18:29:12 +02:00
Tej Chajed 4e7d80b50a
core: Use lowercase in bug report submit binding
"C-C C-C" is confusing since the Emacs convention is to use lowercase
letters in keybindings.
2016-08-30 14:26:43 -04:00
Kaleb Elwert d202ead5fa Add new base16 color schemes 2016-08-30 16:05:59 +02:00
syl20bnr 41f70e979c Add todo to remove delayed layer hack in future version 2016-08-25 22:51:32 -04:00
Eivind Fonn 734c87fb24 Don’t break asynchronous jumpers (fix #6898) 2016-08-24 13:11:57 +02:00
Kaleb Elwert 131e0faef9 Update base16 themes to match new list 2016-08-24 11:34:30 +02:00
Eivind Fonn b47d0661c2 Update base16-tomorrow-dark name (fix #6903) 2016-08-24 09:59:22 +02:00
Eivind Fonn 928983da47 Refactor jump to definition
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
2016-08-22 15:08:25 +02:00
syl20bnr 1e64768fb7 core: rename dotspacemacs-download-packages
Rename dotspacemacs-download-packages to dotspacemacs-install-packages
to better reflect the changes in the previous commit.

Also change the value 'used to 'used-only (note that 'used is still
supported for backward compatibility).
2016-08-19 21:31:57 -03:00
syl20bnr 564cbc40ed core: better behavior for dotspacemacs-download-packages
See end of this message for important breaking changes.

Previous behavior was to configure any installed package which caused
a lot of bad side effects and could make spacemacs unusable. This
behavior made little sense and does not fit with spacemacs.

This commit fixes this behavior by separating installed packages from
configured packages. In short dostspacemacs-download-packages variable
now only affect package installation. Packages are now configured if and
only if they are effectively *used* (i.e. listed in variable
dotspacemacs-configuration-layers or dotspacemacs-additional-packages).

IMPORTANT CHANGE: functions `configuration-layer/declare-used-layer` and
`configuration-layer/declare-used-layers` have been removed. These
functions have been introduced in develop branch only so the impact
should be minimal.
2016-08-19 21:04:33 -03:00
syl20bnr 64d3eb953e Standardize docstring for dotspacemacs-helm-use-fuzzy 2016-08-18 22:51:10 -03:00
syl20bnr a14bfb9d6d core: fix 'all value for dotspacemacs-download-packages 2016-08-18 22:48:34 -03:00
Nir Friedman ed1f782bdf Add option for helm fuzzy matching
Change-Id: If3f59e53fa954c230938876184852d1a34f3e7d3
2016-08-17 20:53:45 +02:00
ivanbrennan 622cd38532 use spacemacs-core-directory const
As long as we've defined a spacemacs-core-directory, we might as well use it where
possible.
2016-08-17 19:59:25 +02:00
ivanbrennan 5d6e9ab789 optimize spacemacs//get-package-directory
Saving a pkg-match regex to a temporary variable lets us avoid recomputing it on each
iteration. I didn't benchmark the performance impact, but unless there's a downside to
using `let*` vs `let`, it seems like a no-brainer.

Passing pkg-match to `directory-files` reduces the returned files to those that match the
regex rolling our own reduction.
2016-08-17 19:57:47 +02:00
Eivind Fonn 36f3b63079 Make elpa directory more flexible
- Rename variable to dotspacemacs-elpa-subdirectory
- Allow arbitrary form to be evaluated
2016-08-13 14:21:01 +02:00
Bar Magal 6b23983205 core: different elpa dir per emacs version
For emacs 24.5 packages will be installed in .emacs.d/elpa/24.5, for
emacs 24.4 packages will be installed in .emacs.d/elpa/24.4, etc.
For a user that uses several emacs versions with the same config, the
packages for version X will be in .emacs.d/elpa/X and the packages for
version Y will be in .emacs.d/elpa/Y.  This is instead of using the same
.emacs.d/elpa and possibly having copmiled elisp packages the are
incompatible with one of the emacs versions in use.

Rollback directories are also separated by version:
.cache/.rollback/24.5, .cache/.rollback/24.4, etc.
2016-08-13 14:02:06 +02:00
bmag 1aacf4003d Create $SPACEMACSDIR/init.el when needed
Don't fallback to default init file when SPACMACSDIR is used and
$SPACEMACSDIR/init.el doesn't exist. The file will be created during
the startup process.
2016-08-07 16:24:55 +02:00
bmag 6d60d2ef05 Prefer $SPACEMACDIR/init.el over ~/.spacemacs
If SPACMEACSDIR is used, and both $SPACEMACDIR/init.el and ~/.spacemacs
exist, use $SPACEMACDIR/init.el as the dotspacemacs file.
2016-08-07 16:24:52 +02:00