Commit graph

359 commits

Author SHA1 Message Date
syl20bnr 584392bd92 [core] Fix layer dependencies based on layer variables
There was a edge case with the declaration of the `lsp` layer in `layers.el`
files.
The `hy` layer depends on the `python` layer which in turn depends on the `lsp`
layer if and only if the `python-backend` layer variable is set to `lsp`.
When the `hy` layer was declared first then it declares the `python` layer
without its layer variables, thus the `lsp` layer was not declared because the
`python-backend` variable was not set.

The fix is to gather all the layer dependencies and resolve them only after all
the used layers have been declared.

* new function `configuration-layer/declare-layer-dependencies`
* replace all calls to `configuration-layer/declare-layer` by the new function
  except for distribution layers (we declare layer dependencies right away in
  distribution layers)
2019-09-30 02:00:48 -04:00
madand 89b006b432 Fix hybrid-mode error when dumping (fixes #11923) 2019-09-13 23:25:21 +02:00
syl20bnr 08dc9567b8 [dump] Delay holy and hybrid config after dump is loaded 2019-07-26 22:46:08 -04:00
duianto b9e61e6437 Add transient state keys _, j, k
Thanks sdwolfz for the suggestion to add underscore to the transient states,
then the shift key doesn't have to be released if it was held down to press `+`.

Added key bindings:
Evil numbers:
`SPC n _` decrease number under point
in the transient state:
`j` decrease number under point
`k` increase number under point

`SPC T T _` decrease transparency
`SPC z x _` scale down font
`SPC z f _` zoom out frame

Update documentation:
Zoom frame:
`q` quit transient state

Evil numbers:
`SPC n =` increase number under point
`SPC n _` decrease number under point
`0..9` add a number prefix argument
`q` quit transient state

Fixed a typo and made a small rewrite of the tip about using a prefix argument.

Added keys to transient states:
Font scaling:
Added `_` scale down
Reordered `k` assignment to match the order in the transient state

Frame transparency:
Added `_` decrease
Reordered `k` assignment to match the order in the transient state

Evil numbers:
Added `k` increase
Added `_` and `j` decrease

Zoom frame:
Added `_` zoom frame out
Reordered `k` assignment to match the order in the transient state

Which-key entries for Evil numbers `SPC n`:
Group together keys that call the same command:
From: + and =
To:   +,=

From: - and _
To:   -,_
2019-07-14 22:56:57 +02:00
duianto 9aaef2a22b Update Scrolling Transient State
Added new key bindings:
- In the Buffer column:
Added "g" and "G":
[</g] beg
[>/G] end
- In a new Other column:
[q] quit

Reordered the columns:
From: Large to small: buffer, full page, half page, line/column
To: Small to large: line/column, half page, full page, buffer

Reason: The most used (first listed) bindings are probably not scroll to the
"beginning" or "end" of the buffer.

Rearranged the half page columns two instances of "down/up" to one "down" and
one "up".

Reduced the TS width:
- Separated the line/column and full page keys to one "down" and one "up", and
the buffer keys to one "beginning" and one "end".
- Renamed "beginning" to "beg".

Reordered the key bindings (TS) logically: "up" above "down".

Reordered the key bindings (code):
Arranged them in the same order as the columns in the TS.
2019-06-13 00:49:43 +02:00
duianto 3868a5364f [doc] Fix typos and add missing/remove extra ~
Add missing ~ (tilde) around key bindings.
Remove an extra ~.
2019-06-01 20:40:22 +02:00
emacspace 2aa62bb5ed documentation formatting: Tue May 28 14:41:10 UTC 2019 2019-05-28 17:43:54 +03:00
JAremko ce4e6e355f tag docs 2019-05-28 17:35:49 +03:00
JAremko e89f6f8537 fix html installer (docker dist) 2019-05-28 17:35:49 +03:00
emacspace c7c348a676 documentation formatting: Sun May 26 20:58:52 UTC 2019 2019-05-27 01:23:35 +03:00
JAremko 4da94bc4ca Use single dockerfile
At the moment of this commit
the images haven't been updated yet
2019-05-20 15:25:00 +03:00
Dominik Schrempf 15d8a03e5b `spacemacs-theme'; no overrides.
Do not override customizable settings from `spacemacs-theme', since those should
be set on a per user basis in the configuration file.
2019-05-16 00:00:31 +02:00
Anton-Latukha f6660f82d4
Switch to the new layers generator 2019-05-15 21:08:21 +03:00
JAremko 77c680160e Add placeholder tags 2019-05-05 20:40:47 +03:00
JAremko 5d02b1c4bb Add more tags 2019-05-03 03:44:19 +03:00
emacspace 202da65b1c documentation formatting: Sun Apr 21 20:04:25 UTC 2019 2019-04-22 23:16:20 +02:00
JAremko 23842fa77e Simplify descriptions of layers 2019-04-21 22:09:34 +03:00
Scott Moynes 5510749ea2 Fix typo in holy-mode 2019-04-18 23:29:48 +02:00
duianto 3de7081950 Cleanup which-key names
Moved:
- ("ai" "irc") to both the `erc` and `rcirc` layers. They don't have to be
  renamed until the layers are loaded.

- ("ay" "ipython notebook") to the `ipython-notebook` layer.

- ("p$" "projects/shell")
  ("'"  "open shell")
  ("as" "shells")
  to the `shell` layer.

- The commands with keybindings from spacemacs-bootstrap/packages.el to
  spacemacs-defaults/keybindings.el.

Removed:
- ("gd" "diff") it seems to be an old group name, there's no `SPC g d` group at
  the moment.

- ("Re" "elisp") and ("Rp" "pcre") because they have moved to:
  ("xr" "regular expressions")
  ("xre" "elisp")
  ("xrp" "pcre")

- ("xm" "move") seems to be an old move text group, the current keybindings are
  `SPC x J` and `SPC x K` which opens the Move Text Transient State.

- ("b" "persp-buffers") because `SPC b` is also renamed as ("b" "buffers") which
  is more general and not persp-mode specific.
2019-02-18 14:35:00 -05:00
syl20bnr 3dd753945f bootstrap: refactore which key replacement list
And enable multiple replacements.
2019-02-10 10:11:38 -05:00
syl20bnr 66f7b9dda1 Fix undefined function spacemacs-docker//load-env when SPC f e R 2019-02-09 17:31:27 -05:00
JAremko e8a6bc2690 Load docker env vars via user config hook 2019-01-24 15:24:44 +02:00
Alexander Miller e7d13da61d Make treemacs the default file browser. 2019-01-20 14:31:36 +02:00
JAremko 68a1b15ec8 Cleanup 2019-01-19 05:02:01 +02:00
emacspace 8aa7395fc5 documentation formatting: Thu Jan 17 23:18:48 UTC 2019 2019-01-18 17:22:07 +02:00
JAremko 460dc35fce Fix/improve dependency installers 2019-01-18 17:21:19 +02:00
JAremko 8bbf6b3f53 Update layers dependency installers 2019-01-18 01:13:22 +02:00
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