Commit graph

92 commits

Author SHA1 Message Date
Miciah Masters e8cdaac8d3 Unique defvar for each ts full-hint toggle
Instead of using a single variable for all transient states' full-hint
toggle functions, define a unique variable for each toggle function so that
toggling the full hint for one transient state does not affect the others.

* CHANGELOG.develop: Add an entry for this change.
* layers/+spacemacs/spacemacs-defaults/keybindings.el
(spacemacs--window-manipulation-ts-full-hint-toggle): New variable.
(spacemacs//window-manipulation-ts-toggle-hint)
(spacemacs//window-manipulation-ts-hint): Replace
spacemacs--ts-full-hint-toggle with
spacemacs--window-manipulation-ts-full-hint-toggle.
* layers/+spacemacs/spacemacs-layouts/config.el
(spacemacs--ts-full-hint-toggle): Delete variable.
(spacemacs--layouts-ts-full-hint-toggle)
(spacemacs--workspaces-ts-full-hint-toggle): New variables.
* layers/+spacemacs/spacemacs-layouts/funcs.el
(spacemacs//layouts-ts-toggle-hint, spacemacs//layouts-ts-hint): Replace
spacemacs--ts-full-hint-toggle with spacemacs--layouts-ts-full-hint-toggle.
(spacemacs//workspaces-ts-toggle-hint, spacemacs//workspaces-ts-hint):
Replace spacemacs--ts-full-hint-toggle with
spacemacs--workspaces-ts-full-hint-toggle.
2019-10-13 10:09:42 +02:00
Miciah Masters 7be37a2aed Use truth values for spacemacs--ts-full-hint
Use nil and t instead of 0 and 1 for spacemacs--ts-full-hint values.

* layers/+spacemacs/spacemacs-layouts/config.el
(spacemacs--ts-full-hint-toggle): Define with an initial value of nil.
* layers/+spacemacs/spacemacs-defaults/keybindings.el
(spacemacs//window-manipulation-ts-toggle-hint)
(spacemacs//window-manipulation-ts-hint):
* layers/+spacemacs/spacemacs-layouts/funcs.el
(spacemacs//layouts-ts-toggle-hint, spacemacs//layouts-ts-hint)
(spacemacs//workspaces-ts-toggle-hint, spacemacs//workspaces-ts-hint):
Replace (logxor ... 1) and (equal 1 ...) with (not ...) and a simple truth
check.
2019-10-13 10:09:42 +02:00
duianto 556433f95c Limit lines to 80 chars
And fix comment indentation. Vertically aligned comments in function
definitions, indents them in the help buffer.
2019-09-17 20:36:30 +02:00
duianto 3521d7a11e Switch recreated messages buffer to evil-normal-state
If the messages buffer is deleted.
When it's recreated, then it opens in evil-evilified-state
where the evil keys `w` and `b` are undefined.
2019-08-19 20:48:41 +02:00
Troy Pracy 3c67ba94f3 Add docstring to align-repeat-x commands
Update 'spacemacs|create-align-repeat-x macro to add a docstring to created
functions. The docstring refers the user to the macro, providing a link to
the source code.
2019-08-19 18:11:29 +02:00
bb2020 8ed7e5e7a1 Add `spacemacs/iwb-region-or-buffer'. 2019-08-11 20:15:40 +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
duianto 4bcd3402fe [doc] Clarify line wrapping vs truncation 2019-08-04 00:13:18 +02:00
smile13241324 d5d26af533 Disable lazy loading for winner-mode
Lazy loading of `winner-mode` breaks `ediff` and
`winner-undo`. As a hotfix I have deactivated
lazy loading for that package for now.

Just activating `winner-mode` after `winner-undo`
or `winner-redo` has been called does not solve
the issues described in #12582.
2019-08-02 22:48:08 +02:00
smile13241324 175ed2bcc2 Fix winner lazy loading issues 2019-08-02 22:06:47 +02:00
syl20bnr 0e2935b8d6 Add autoloads for winner-mode 2019-07-26 22:44:35 -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 d6cdd6aa88 Add a tutorials section to SPC h T
`SPC h T e` for `emacs-tutorial` (aliased from `help-with-tutorial` for a more
descriptive name)
`SPC h T v` for `evil-tutor-start`

Added a wikipedia link to the `vi` article, where the origins of modal editing
is discussed.
2019-07-07 11:34:16 +02:00
Brandon T. Willard 2cfcf54458 Use return value from advised function in yank-indent-region
Closes #12479.
2019-06-28 12:08:49 +02:00
syl20bnr 1aa0af260e Move indirect buffer key bindings to SPC b N prefix 2019-06-26 00:10:01 -04:00
syl20bnr f04ff9e837 Change SPC , to SPC j c to go to last change 2019-06-25 23:52:21 -04:00
syl20bnr 6ce974795e Change SPC j C to SPC j ( to jump to fist unbalanced parens 2019-06-25 23:49:21 -04:00
jcaw d4cca74854 Add support for visual line numbers
Emacs 26 added built-in support for line numbers, relative line numbers, and
visual line numbers. Spacemacs supports only absolute and relative, but there is
no way to access the visual mode. It's hard to get around this, since Spacemacs
abstracts line numbers to a reasonably high degree.

Arguably, `visual` is much more useful than `relative` as a display type. Visual
line numbers are like relative line numbers, but only lines that are actually
showing are counted. This means:

  1. Hidden lines are not counted. If a large amount of text is folded, the line
     numbers won't jump from "10" to "546". This is particularly useful in
     buffers like `magit-status`, where a large amount of information is folded
     by default.

  2. Lines that are wrapped are counted as multiple lines, since they're being
     displayed as multiple lines in the editor. Each visual line will be
     numbered - unlike `relative`, where the entire thing is numbered... Once.

With standard relative line numbers, you can't actually navigate using the line
numbers in the sidebar as soon as folded or wrapped lines are introduced. Since
this is one of the main use cases for relative line numbers, this is a big
problem.

Visual mode fixes that problem. Every line that's being displayed is labelled.
Numbers always correspond to the actual number of lines you'd need to navigate
to reach that line.

This commit extends Spacemacs' line number interface to provide visual line
number support.
2019-06-23 19:16:44 +02:00
duianto de2297b2e1 Fix copied dir not in minibuffer, clipboard disabled
Fixed the minibuffer showing: `nil`
when `select-enable-clipboard` is `nil` and the current files
path/dir/file/line/column/etc. is copied with the keys under
the prefix: `SPC f y`
2019-06-17 09:20:01 +02:00
Juha Jeronen 672e3db625 Customizable major-mode for new empty buffers
New var: dotspacemacs-new-empty-buffer-major-mode

Set to a symbol naming a mode (e.g. 'text-mode) to apply that major mode to any
buffers newly created in Spacemacs by spacemacs/new-empty-buffer.

Fixes #12382.
2019-06-17 08:26:56 +02:00
Alexander Miller 2e14b4a88c Don't use large file check in buffers already in fundamental-mode.
This change will prevent unnecessary requests to literally open files that are
literal already (like elfeed's index file).
2019-06-13 15:05:34 +02:00
Anton Alekseev b5027f8f2a Add key bindings for indirect buffer functions 2019-06-08 20:36:34 +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
bb2020 e1cde25da6 Add bindings for goto-last-change and check-parens 2019-05-24 18:42:55 +02:00
JAremko 8f7b979808 add devdocs tool 2019-05-20 13:10:10 +03:00
Ag Ibragimov fd76a7f300 Add j and k to transient states
It is nicer when user can stay in the "home row" for basic operations like
zooming in and out

Font Scaling Transient State
`k` scale up
`j` scale down

Frame Transparency Transient State
`k` increase transparency
`j` decrease transparency

Zoom Frame Transient State
`k` zoom frame in
`j` zoom frame out

Added two additional Zoom Frame TS keys:
`m` max frame
`f` fullscreen
2019-05-19 22:24:11 +02:00
Anton-Latukha f6660f82d4
Switch to the new layers generator 2019-05-15 21:08:21 +03:00
bb2020 dd67908f75 Remap M-SPC and SPC-x-d-SPC to cycle-spacing 2019-05-08 19:00:14 +02:00
Compro-Prasad 989da8bb8f Fix void function error when recentf-save-list is undefined
This happens because there is an idle timer which runs `recentf-save-list` every
600 secs.
2019-05-06 00:54:01 +02:00
JAremko 77c680160e Add placeholder tags 2019-05-05 20:40:47 +03:00
Bet4 d4b180a735 Various improvements when indent code 2019-04-28 01:19:14 +02:00
Bet4 44cd57d2e2 Remove the use of 'spacemacs|advise-commands' 2019-04-25 19:30:29 +02:00
Bet4 554ca097f2 Check for universal arg before paste
This commit fixes #4219 and fixes #8897
2019-04-25 19:30:29 +02:00
yuhan0 a3469c04ea Add window maximization bindings to transient state 2019-04-11 10:50:41 +02:00
yuhan0 13fd53d65d Make window manipulation transient hint collapsible
Window sizing and layouts can be affected by a large transient state hint,
so having a option for minified hint is especially useful here.

Also reformats the full hint to place `golden ratio` under the "Resize" heading,
reducing overall height by one row.
2019-04-11 10:50:41 +02:00
yuhan0 f961d622cf Add 'SPC w' leader bindings for window resizing
For convenience they directly enter the window manipulation transient state,
since resizing operations tend to involve repeated key presses.
2019-04-11 10:50:40 +02:00
duianto 3819cf4dbd Add SPC o which-key prefix name: user bindings 2019-04-06 16:00:34 +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 95422ae5d5 Second part of review and tweaks of release notes 2019-02-10 12:37:41 -05:00
syl20bnr 474f945709 defaults: add SPC T N key binding to cycle theme backward 2019-02-10 10:10:51 -05:00
JAremko 24d875e193 Add transient state for centered buffer 2019-01-27 20:49:40 +02:00
yuhan0 6737c8c8e5 Add ivy option to buffer transient state 2019-01-21 23:06:08 +02:00
JAremko 69a89cc412 Replace centered-buffer-mode with writeroom-mode 2018-11-26 11:14:04 -05:00
duianto 438ad905da Update delete file messages
problems:
the delete file prompt doesn't show which file it's about to delete,
and when the deletion request is canceled, then the question remains in the
minibuffer (the text disappears when an action updates the minibuffer, like
moving the cursor, but it might be confusing to still be seeing the question
after it's been answered)

solution:
show the file name in the delete file prompt, and show a canceled message
2018-11-12 22:07:25 +00:00
Ag Ibragimov 27b2fb424a Keeps previous position on toggle-maximize-buffer 2018-11-12 22:01:56 +00:00
yuhan0 0596e90c3d Add 'z' recenter bindings for various transient states
By analogy with the "zz", "zb", "zt" vim / evil bindings, this adds an
additional key binding "z" for `recenter-top-bottom` to the following
transient states which navigate around the buffer in large jumps:
- auto-symbol-highlight
- error
- buffer
- vcs
- org-babel

This allows for repositioning of the buffer for visibility without having to
exit the transient state.

Minor updates are also made to documentation of other transient states.
2018-11-12 21:47:17 +00:00
Boris Buliga 69a1e056ff
support directories in spacemacs/rename-file
1. Fix `short-name` for directories. Previously it was empty string.
2. Remove redundant check for existing buffer:
   1. `(get-buffer new-name)` always return `nil`, because `new-name` is a path
      to file, not a file name.
   2. `(find-file new-name)` handles this situation.
   3. `dired-rename-file` handles this situation as well.
3. Use `dired-rename-file` to do the dirty stuff.
   1. Renames files and directories.
   2. All associated buffers are updated. If you rename a directory, all buffers
      that were visiting files from that directory now visit files from new
      directory.
4. Properly handle recentf list update for directories - all files from the
   renamed directory are removed from recentf list and the same files but from
   new directory are added back.
2018-10-31 20:56:28 +02:00
Boris Buliga 5d4b80bbad
set load-prefer-newer to t 2018-10-23 07:11:47 +03:00