Commit graph

332 commits

Author SHA1 Message Date
emacspace
901f35849a documentation fixes: Tue Oct 23 14:18:21 UTC 2018 2018-10-23 23:38:16 +03:00
emacspace
0fb6470acf documentation fixes:Wed Oct 17 04:03:28 UTC 2018 2018-10-17 04:03:28 +00:00
JAremko
cd39f80c24 Reformat documentation 2018-10-11 00:13:43 +03:00
JAremko
cea81dd0ce [spacemacs-docker] clean .#recentf 2018-08-30 13:41:32 +03:00
JAremko
96d0fff00c [spacemacs-docker] up clojure installer 2018-08-29 23:12:02 +03:00
JAremko
6946e255e6 Reformat docs 2018-07-20 02:45:21 +03:00
Rudi Grinberg
c5d4107248 Fix handling of keymap property when it's symbol valued
The previous code would only handle the case when the property was a keymap. But
it can also be a symbol representing a keymap.
2018-07-11 00:04:46 +03: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
e1c8f1e3d6 Use add-to-list instead of push
Avoid pushing several time the same element on top of evil-surround-pairs-alist
2018-06-16 03:54:38 -04:00
syl20bnr
1abce5ec10 Correctly import PATH environment variable with setenv
Previously we were only updating exec-path.
2018-06-15 10:29:48 -04:00
syl20bnr
d28990537f Add new variable dotspacemacs-import-env-vars-shell-file-name
Used to fetch the environment variables. This allows to keep shell-file-name
untouched.
2018-06-15 02:40:44 -04:00
syl20bnr
9ee832955a core: async import of env.vars and add new dotfile variable
* new variable dotspacemacs-import-env-vars-from-shell
 * asynchronous import of environments variables
 * move loadenv function to funcs.el
 * update documentation
2018-06-15 01:38:07 -04:00
fiveNinePlusR
75f1d915a8 [CORE] synchronize the environment variables from the default shell 2018-06-14 20:12:26 -04:00
syl20bnr
e24be2186a Truly lazy load helm based on key bindings
We will need to also support Emacs editing style.
2018-06-14 02:05:01 -04:00
syl20bnr
55d18a1a3a Move SPC s c to bootsrap layer 2018-06-14 00:21:56 -04:00
Codruț Constantin Gușoi
8754b24509 Fixes errors when env file does not exist at startup 2018-06-12 23:05:14 +03:00
syl20bnr
c12b72090c Cache PATH and env vars. fetched with exec-path-from-shell
See updated documentation in this commit.
2018-06-11 03:54:51 -04:00
Josh Santos
7944ed2634 Fix environment variable setting for go and rust layers 2018-06-09 01:22:56 -04:00
syl20bnr
b282e553ba Use dotspacemacs backward compatibility macro instead of aliases 2018-06-08 02:24:38 -04:00
syl20bnr
434df17f8b Rename hybrid-mode-xxxx variables to hybrid-style-xxxx
Use aliases to retain backward compatibility.
2018-06-08 02:24:38 -04:00
syl20bnr
9539e4206d Rename Vim style related variable to vim-style-xxxxx
Update the documentation
Define alias for backward compatibility
2018-06-08 02:24:38 -04:00
syl20bnr
a67e890965 Fix link to dash layer 2018-06-06 01:23:38 -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
3595708d5f Enable italics in spacemacs theme 2018-06-05 16:50:30 -04:00
CeleritasCelery
6905d9cafa fix bug with evil-pasted object 2018-05-24 10:38:55 -07:00
JAremko
b5debe944c Update Docker deps. 2018-05-17 02:00:33 +03:00
bmag
260c3d98e3 pcre2el: move ownership to bootstrap
pcre2el is used by several layers, such as ivy and helm, so it needs to be
available outside of spacemacs-editing layer.
See also https://github.com/syl20bnr/spacemacs/pull/5990#issuecomment-217400470
2018-05-10 20:26:55 +03:00
syl20bnr
0fa3658cd8 reorganize spacemacs-base distribution into +spacemacs/spacemacs-xxx
This idea is to have the spacemacs-base distribution only configure defaults for
built-in packages. Those buit-in packages are now configured in the new layer
spacemacs-defaults.
Additionally some other packages of spacemacs-base have been dispatched to
better suiting spacemacs layers.

Projectile has been moved to the new layer spacemacs-project

- Move the following packages to bootsrap distributio layer:
  - exec-path-from-shell
  - evil-evilified-state
  - holy-mode
  - hybrid-mode
  - spacemacs-theme
- ace-window has been moved to spacemacs-navigation
- centered-buffer-mode has been moved to spacemacs-editing-visual
- pcre2el has been moved to spacemacs-editing
- evil-escape and evil-visualstar have been moved to spacemacs-evil
2018-03-04 20:54:54 -05: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
bmag
5c251f6415 use-package-always-defer: fix regressions: hybrid-mode, line-numbers
These changes were missed in commit 29c78ce841
2018-02-28 22:50:11 +02: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
smile13241324
aead79ca48 Fix doc for S>-bootstrap, S>-navigation, S>-visual and S>-org 2018-02-28 03:01:39 +02:00
smile13241324
d526121202 Fix doc for first bunch of internal spacemacs layers 2018-02-22 17:36:45 +02:00
syl20bnr
5aba44f415 Import help-fns+.el as local package
Imported from https://github.com/emacsmirror/help-fns-plus
2018-01-25 00:11:15 -05:00
Carl Lange
6da15a0c6e add .spacemacs config for the initial scratch message 2018-01-19 23:04:10 -05:00
Kalle Lindqvist
6efe43b222 Fix hjkl bindings in image-mode and add leader bindings. 2018-01-18 00:09:09 -05:00
Codruț Constantin Gușoi
8be802f8db Buffer keybind for kill together with window 2018-01-12 23:18:55 -05:00
Codruț Constantin Gușoi
aa666326a1 Window keybind for kill together with buffer 2018-01-12 23:18:55 -05:00
syl20bnr
3cb9fea0ff Reset useful and useless buffers to empty lists
I feel like we should start from scratch on this one and carefully choose the
defaults.

Also this settings is a very personal setting so if we make some buffers
useless we must have a consensus on it. Marking all special buffers starting
with `*` as useless is too aggressive and make Spacemacs less POLA since two
consecutive press on SPC TAB may not revert to the original buffer.
2018-01-10 10:59:15 -05:00
duianto
3dba3f6794 Add switch-to-help-buffer function and keybinding
`SPC b H` is available, for opening or selecting the help buffer (if it
exists). This makes it much easier to open the help buffer, than having
to open the buffer list (`SPC b b`), then typing one or more characters,
to select the help buffer, and finally pressing `RET`.
2018-01-09 23:19:57 -05:00
oisincar
911544759f Fix #10091, which-key interface delay/ lag.
A fix for #10091. The default behavour for which-key is for
'which-key-idle-delay' to affect both the initial trigger and subsequent
actions. By setting 'which-key-idle-secondary-delay' to something non-nil,
that delay acts over the subsequent actions instead.

The which-key wiki recommends setting it to a 'non-zero value', as zero could
cause issues, so instead set it to 0.01.
2018-01-08 02:04:19 -05:00
duianto
b3ddc962ec Fix 3 typos 2018-01-06 11:25:23 -05:00
Ag Ibragimov
f0a5c0960c Adds maximize-vertically function 2018-01-06 11:25:23 -05:00
syl20bnr
326965d4ce Happy New Year 2018! 2018-01-04 02:00:25 -05:00
JAremko
020eee4501
Update Docker distro 2017-12-31 18:04:09 +02:00
Gunnar Bastkowski
857f6304c7 Add keybinding to align by percent 2017-12-23 10:54:01 -05:00
Alexander Miller
6c77ed57a5 core: make it possible to define an evil state face without an evil cursor.
treemacs: do not define an evil cursor for treemacs.
2017-12-01 19:27:48 +02:00
JAremko
e08400cec8 add ruby package to html layer deps installer 2017-11-19 11:35:52 +02:00
JAremko
2ad62c7233 fix html layer deps installer 2017-11-19 06:29:10 +02:00
duianto
d4016dbb04 Change Frame delete bindings from c/C to d/D
The Frame delete bindings SPC F c and C, are inconsistent with the delete window
and buffer bindings, that use: d and D

Changed the dired-other-frame binding from d to O
2017-10-21 15:40:44 +03:00
duianto
5883d085d8 Update themes transient state, t for helm-themes
Add the key binding: t
to open helm-themes, without having to use the arrow up key.

Reorder/rename: cycles backward and cycles forward
to: next and previous

Next is listed first, because it's the most common action, and it matches the
order in other transient states.

Change the t argument in the call to spacemacs/cycle-spacemacs-theme, to the
symbol 'backward, to make it clear what the argument does.

Add documentation for the Themes Transient State bindings.
2017-10-21 15:00:38 +03:00
syl20bnr
037d1367e7 Remove T N binding and make T n cycle and start the transient state 2017-10-15 11:37:01 -04:00
AdrieanKhisbe
9eab3bb6aa Enable backward theme cycling and add dedicated transient-state
Original Commit List
- update cycle-spacemacs-theme function to work backward with universal arg
- add a transient-state hydra to cycle through the modes
- move the transient-state definition in the +distribution spacemacs-base
- refactor using hydra syntax for expression as command
- modified cycle-theme to handle negative command argument
- add keybing for helm-themes in the transient-state
2017-10-15 11:29:21 -04:00
syl20bnr
038100d149 Change buffer transient state key bindings
b -> list buffers as in SPC b b
C-d -> burry buffer (all all b bindings are already taken)
2017-10-15 11:26:47 -04:00
AdrieanKhisbe
23fa553b4f improved buffer transient mode with extra bindings and new commands 2017-10-15 11:21:06 -04:00
syl20bnr
e6ef759fb0 Move SPC h U to SPC f e U to upgrade packages
SPC f e stands for Files Emacs so it makes sense to have it under this prefix.
Also there is already the reloading of the dotfile under SPC f e.
2017-10-15 11:08:01 -04:00
Codruț Constantin Gușoi
d987ded361 Adds keybinding for updating packages 2017-10-15 11:08:01 -04:00
bmag
450da6f204 spacemacs-evil-cursors: make them easy to configure
Motivation: so layers with their own evil states (e.g. treemacs) can also
contain their own cursor configuration

Example usage: `(spacemacs/add-evil-cursor "treemacs" "RoyalBlue1" '(hbar . 0))`
2017-10-15 17:15:23 +03:00
syl20bnr
6e4eab6b97 Add helm to spacemacs default distribution 2017-10-08 07:52:15 -04:00
syl20bnr
67aaf51631 Move neotree to its own layer in new +filtree folder
Add neotree layer to default spacemacs distribution.
2017-10-08 07:51:43 -04:00
JAremko
7ff7f51e50 (docker dist) fix pdf-tools installer 2017-09-23 22:12:58 +03:00
syl20bnr
95699ee61c core: add layer shadowing system
Layers can now declare in their layers.el file that they shadow one or more
layers using the following functions:

- configuration-layer/shadow-layers
- configuration-layer/shadow-layer

Those function are commutative so:
    (configuration-layer/shadow-layer 'layer1 'layer2)
is the same as
    (configuration-layer/shadow-layer 'layer2 'layer1)
and means that
layer1 shadows layer2
and
layer2 shadows layer1

The typical use-case is helm and ivy layers. Helm shadows the ivy layer and
Ivy shadows the helm layer.

Shadowing is sensitive to the order of declaration of layers in the dotfile,
for instance:

    (setq dotspacemacs-configuration-layers '(
      helm
      ivy
     ))

means that ivy shadows helm so helm layer is effectively ignored,
whereas

    (setq dotspacemacs-configuration-layers '(
      ivy
      helm
     ))

means that helm shadows ivy so ivy layer is effectively ignored.

This mechanism can be turned off using the :can-shadow keyword:

    (setq dotspacemacs-configuration-layers '(
      ivy
      (helm :can-shadow nil)
     ))

means that both ivy and helm layers will be installed (not recommended in this
case)

Note that the `:can-shadow` mechanism will be fully implemented in a next
commit.
2017-09-21 23:56:09 -04:00
syl20bnr
6d73df7036 Fix SPC w = (balance windows) 2017-09-05 11:01:39 -04:00
CeleritasCelery
e32acfbf3b Fixed feature header 2017-08-29 20:00:44 +03:00
syl20bnr
b2eaf9fd30 groovy: update indent-variable-alist to support new groovy-mode 2017-08-28 11:02:44 -04:00
JAremko
626f5cdea0 add TypeScript deps installer & up JSes one 2017-08-27 18:29:45 +03:00
JAremko
afe221f222
up go installer to 1.9 2017-08-26 14:38:23 +03:00
JAremko
a1101eb38f fix links 2017-08-18 22:12:17 +03:00
Codruț Constantin Gușoi
7d4946901b
Improves the linum text scaling advice
The first improvement consists of running the scale fix only for
graphical emacs. The scale fix is not needed in the terminal. Also some
poeple still have problems with it in the terminal even though they run
latest emacs master and spacemacs develop.

The second improvement is related to the way the margins are scaled. It
was incorrect to calculate the scale factor and apply it to the current
window margin width, it needed to be applied to the initial margin
width.
2017-08-09 12:26:16 +03:00
J. Patrick Lanigan
0a873b9731 Fix link and features in spacemacs-docker/README
See #9346
2017-08-06 04:50:30 +03:00
Dela Anthonio
d874f21a48
spacemacs-base: Add key bindings for projectile-edit-dir-locals 2017-08-01 16:49:41 +03:00
duianto
1ecec7e538
Add missing which-key prefix names
Unnamed Which-key prefixes:
`SPC b`, `N -> +prefix`
`SPC x`, `j -> +prefix`
have to be opened to see what kind of commands they contain.
2017-07-29 22:13:25 +03:00
d12frosted
c77d826079
sort transpose functions and update documentation 2017-07-26 13:36:02 +03:00
Daniel Gomez
e2105b3f33
Add transpose senteces and transpose paragraphs keybindings. 2017-07-26 13:31:30 +03:00
JAremko
547458ae23 rearrange functions in space-doc and centered-buffer modes 2017-07-25 01:56:44 +03:00
JAremko
ac02216964 Fix html layer installer of spacemacs-docker 2017-07-23 01:22:33 +03:00
JAremko
24c9843041 Add customization for hiding original buffer
Set buffer-file, update docstrings...
2017-07-13 12:05:09 +03:00
ZarsBranchkin
efef39050b Prompt to save modified, user created buffers on quit 2017-07-06 14:39:26 +02:00
Alex Palaistras
4c57939fb3 Add SPC b u keybinding for reopening killed buffers
This is similar to the `Ctrl+Shift+T` keybinding found in major browsers, and
helps when accidentally killing a buffer (i.e. fat-fingering `SPC b d` when
meaning to press `SPC b s`).

Only buffers that resolve to existing files will be considered, and stored in a
stack which is pushed to and popped from on buffer kill.
2017-07-06 14:34:46 +02:00
Paul
d3cef31ed6 Fix docstring for spacemacs/evil-smart-doc-lookup 2017-07-06 12:29:22 +02:00
JAremko
44423c18d0 Implement and bind "distraction free mode" to SPC w C 2017-07-04 11:54:24 +03:00
JAremko
442b90e9e9 Rework centered-bufffer-mode 2017-07-04 11:54:09 +03:00
syl20bnr
e2e532bb49 core: change <function>p to <function>-p suffixes for consistency
Also defined aliases for backward compatibility with `usedp` functions.
2017-07-02 10:09:39 -04:00
Ben Lloyd
51bcba8964 Added frame manipulation commands 2017-06-18 14:10:42 +02:00
duianto
6a84fb3c0e Replace obsolete which-key functions
Problem:
Two which-key functions doc-strings, state that they are obsolete:

(which-key-declare-prefixes KEY-SEQUENCE REPLACEMENT &rest MORE)
This function is obsolete since 2016-10-05;
use ‘which-key-add-key-based-replacements’ instead.

(which-key-declare-prefixes-for-mode MODE KEY-SEQUENCE REPLACEMENT &rest MORE)
This function is obsolete since 2016-10-05;
use ‘which-key-add-major-mode-key-based-replacements’ instead.

Solution:
Replace the obsolete functions.

Searching with `SPC /` through the .emacs.d folder, didn't find any other
occurrences of these functions.
2017-06-15 13:22:13 +02:00
deb0ch
0dbfbd40ed bindings: improve buffers listing bindings
- bind spacemacs-layouts/non-restricted-buffer-list to SPC b B instead
of SPC B b
- rename buffer listing functions in which-key to be more explicit

PR title:

bindings: non-restricted-buffer-list-* to SPC B b instead of SPC B b

PR message:

I don't know what was the thought behind this, but `spacemacs-layouts/non-restricted-buffers-list-*` was alone in its `SPC B` prefix and `SPC b B` was almost free, only used in one layer that I would be surprised if it was widely used (`ibuffer`).

I also renamed buffers listing functions in `which-key` to be clearer for the user. Indeed, I find that names like `helm-mini` are pretty obscure and kind of defeat the purpose of `which-key` and `spacemacs-layouts-non-restricted-buffer-list-blah` was so long that it couldn't even be displayed.

Now the user can choose between `list-buffers` or `global-list-buffers` for listing buffers.
2017-06-12 12:46:35 +02:00
Swaroop C H
1f8ad0fb09 [ipython-notebook] Change prefix from "ai" to "ay"
Because "ay" is already being used for IRC (ERC)!

It's weird to say ipython-notebook stuff under "IRC"
2017-06-12 12:35:27 +02:00
duianto
c6fda1a1d4 string-inflection: group which-keys, sort code/doc
Group together the which-key entries that call the same command:
k and - becomes k,-
u and _ becomes u,_

Declare a prefix name for SPC x i, this changes the SPC x entry:
from: "i -> +prefix"
to: "i -> +inflection".

Capitalize the transient state title, so that it matches the other TS titles.

Sort the code and documentation key bindings alphabetically.
2017-06-12 12:32:46 +02:00
Evan Klitzke
ee7bcc61ce fix a typo 2017-06-12 12:25:39 +02:00
Eivind Fonn
4489049cc2 bugfix: margin scaling ignores window
Thanks sdwolf and Eli Zaretskii
2017-06-01 13:49:34 +02:00
Eivind Fonn
5048aff9fa Properly require tramp 2017-05-28 15:07:01 +02:00
denin
5397b6f01f Rewrite sudo-edit
Old version worked only for method 'ssh' and did not work at all if
user was not specified (e.g. /ssh:hostname:/path). Since the symbol '@' was
required in a filename.
2017-05-28 15:06:20 +02:00
ralesi
a518d14c69 Fix some issues with persistent server
* frame killer logic wasn't correct when server not running
* even when debugging, we want to kill spacemacs
2017-05-24 13:42:49 +02:00
Eivind Fonn
df4cad42e1 Add condition for fringe-mode toggle 2017-05-24 13:05:17 +02:00
ralesi
5bacb13a75 recentf: fix referencing to cache directory when symlinked. 2017-05-24 11:48:23 +02:00
duianto
fd4b74559c Update which-key popup: key/command grouping
Comment the code and group the keys/commands based on the
which-key section they appear in.

Reduce the width of the listed keys:
By removing spaces around the two dots `..` in the key sequences, and
by removing the modifier keys before the last number in a sequence.

Update the renamed select-window-[1-9] command name, to the new
winum-select-window-[1-9] name.

Combine keys that call the same command.
2017-05-24 09:32:16 +02:00
Wieland Hoffmann
63ad55b57e compilation-finish-function: Set case-fold-search to nil
The various string-match calls in this function were obviosly written with that
in mind.

This also fixes the case where the compilation buffer contains the output of
`cargo test`, which includes "0 failed". Previously, this was treated as an
error, now it's not.
2017-05-23 15:13:29 +02:00
Eivind Fonn
5c4b7e62b1 Some changes to align-repeat
- Remove echo of regexp
- Use = instead of equalp
- Use use-region-p instead of checking line numbers
- Use when/unless instead of if
- Use point-at-{eol,bol} instead of point
2017-05-23 13:05:23 +02:00
Eric Siegel
5be474f5d3 Smarter default alignment with spacemacs/align-repeat (#8309) 2017-05-23 13:00:32 +02:00
duianto
e8694f5018 Combine 2 projectile spacemacs/set-leader-keys sections
Problem: There are two projectile spacemacs/set-leader-keys sections,
next to each other.

Solution: Combine and sort the keys alphabetically with lower case
before upper case. A quick search showed that order in a lot of
other set-leader-key sections.
2017-05-23 12:36:59 +02:00