Commit graph

531 commits

Author SHA1 Message Date
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 4d4d1b5b38 Update Helm Transient State, show g and G keys
Revealed already bound navigation keys:
- `g` go to first candidate
- `G` go to last candidate

Moved `[q] quit` from bottom left to bottom right, to match other TSs.
Reduced spacing between keys and descriptions from two to one space.
2019-06-21 19:30:30 +02:00
duianto 1554bdda9f Remove new layout confirmation question 2019-06-17 13:23:17 +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
Miciah Masters 461a36b981 purpose: Add chat and mail purposes
Map erc, jabber, rcirc, and slack buffers to the "chat" purpose.

Map gnus, mu4e, and notmuch buffers to the "mail" purpose.
2019-06-09 21:47:21 +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
emacspace c7c348a676 documentation formatting: Sun May 26 20:58:52 UTC 2019 2019-05-27 01:23:35 +03:00
bb2020 e1cde25da6 Add bindings for goto-last-change and check-parens 2019-05-24 18:42:55 +02:00
Sorawee Porncharoenwase 8671362aa9 evil-unimpaired switch from normal to motion state
This change will make buffers with the motion state
(e.g., spacemacs home buffer) be able to use the
evil-unimpaired navigation key bindings.

Note that the normal state will inherit the motion
state map anyway, so there's no need to set the
normal state map separately.
2019-05-23 08:59:58 +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
duianto bf75b9d899 Move add-hook inside progn
And limit lines to 80 chars.
2019-05-16 15:43:36 +02:00
Anton-Latukha f6660f82d4
Switch to the new layers generator 2019-05-15 21:08:21 +03:00
Miciah Masters 322528ca8d spacemacs-layouts: Fix adding buffers to new persp
Delete the hook that commit 9fcf8c898d added
to persp-created-functions, and change spacemacs/ivy-spacemacs-layouts,
spacemacs/helm-perspectives, spacemacs/helm-persp-switch-project, and
spacemacs/ivy-persp-switch-project to achieve the intended goal of adding
the desired buffers after creating a new perspective.

Change spacemacs/helm-persp-switch-project and
spacemacs/ivy-persp-switch-project as follows: If the user selects a
project but then quits without selecting a file or buffer, the new
perspective is now immediately killed.  Otherwise, if the perspective did
not already exist, any buffers that belong to the selected project are
added to the perspective.

Add the following actions to spacemacs/ivy-spacemacs-layouts and
spacemacs/helm-perspectives:

* Create a new perspective with the Spacemacs home buffer (default action).
* Create a new perspective with the buffers that belong to the current
  buffer's project.
* Create a new perspective with the buffers that belong to the current
  perspective (i.e., make a copy of the current perspective).

This commit resolves the problem reported in
9fcf8c898d (commitcomment-33343455).

This commit also fixes a problem with the default action for
spacemacs/ivy-spacemacs-layouts and spacemacs/helm-perspectives.  According to
commit 7b931a9f5b, the default action is supposed
to display the home buffer if the action creates a new perspective, which was
determined by checking whether the perspective was missing from the list of
perspectives _before_ switching.  However, commit
eb7ca651fe changed this logic so it was checking
whether the perspective was missing from the list of perspectives _after_
switching.  This commit restores the correct logic.

* CHANGELOG.develop: Update.
* layers/+completion/ivy/funcs.el (spacemacs/ivy-spacemacs-layouts): Add
"Copy Current Layout" and "Create Project Layout" actions to the docstring.
Use spacemacs//create-persp-with-home-buffer for the default action.
* layers/+completion/ivy/packages.el (ivy/post-init-persp-mode): Add
actions for spacemacs//create-persp-with-current-project-buffers and
persp-copy.
* layers/+spacemacs/spacemacs-layouts/funcs.el
(spacemacs||switch-layout): New macro.  Switch to the named perspective,
and initialize it using the provided forms if the perspective is new.
(spacemacs//create-persp-with-current-project-buffers): New function.
Create a new perspective with the current project's buffers.
(spacemacs||switch-project-persp): New macro.  Switch to the named
perspective, and evaluate the provided forms with
projectile-after-switch-project-hook bound with a hook that adds the
current project's buffers to the perspective.  If the user quits during the
evaluation of the forms, kill the perspective.
(spacemacs//create-persp-with-home-buffer): New function.  Switch to the
named perspective, and go to the Spacemacs home buffer if the perspective
is new.
(spacemacs/helm-perspectives): Use spacemacs//create-persp-with-home-buffer
for the default action.  Add actions for
spacemacs//create-persp-with-current-project-buffers and persp-copy.
(spacemacs//helm-persp-switch-project-action): New function.  Switch to the
named perspective and call projectile-switch-project-by-name, using the new
spacemacs||switch-project-persp macro.  Bind helm-quit-hook with a hook
that kills the new perspective if the user quits
projectile-switch-project-by-name.
(spacemacs/helm-persp-switch-project): Use
spacemacs//helm-persp-switch-project-action.
(spacemacs//ivy-persp-switch-project-action): New function.  Switch to the
named perspective and call counsel-projectile-switch-project-action with a
hook to add the project's buffers to the new perspective.
(spacemacs/ivy-persp-switch-project): Delete advice for
counsel-projectile-switch-project-action.  Use
spacemacs//ivy-persp-switch-project-action instead.
(spacemacs//add-project-buffers-to-persp): Deleted.
* layers/+spacemacs/spacemacs-layouts/packages.el
(spacemacs-layouts/init-persp-mode): Don't add a hook to
persp-created-functions.
2019-05-13 17:11:27 +02:00
syl20bnr 8fa16d19a9 [editing] Document key binding ~SPC x y~ and sort them 2019-05-12 10:59:57 -04:00
Sam Pillsworth 89aae06f86 global-hl-todo-mode prevents activation in org
global-hl-todo-mode uses function to activate only for modes that are in the
activate list but are not org-mode.

Reference: 24b9925b1b/hl-todo.el (L185-L188)

Adds a comment re `hl-todo-activate-in-modes` var
2019-05-10 12:38:38 +02:00
Charlie Barto e27f89e529 fix finding find on windows 2019-05-09 18:56:05 +02:00
Benno Fünfstück d6b7e335ed spacemacs-modeline: fix modeline if daemon is used 2019-05-09 18:34:10 +02:00
William Casarin 42d6e143fc link-hint: bind link-hint-copy-link to SPC x y
Signed-off-by: William Casarin <jb55@jb55.com>
2019-05-09 16:44:55 +02: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
JAremko 5d02b1c4bb Add more tags 2019-05-03 03:44:19 +03:00
duianto b26ea277fb Add documentation to two toggles
Two `SPC h SPC` toggles were missing their documentation:
- Nameless
- Minibuffer System Monitor (the symon package)

Now they match the other entries by showing:
- current state
- name (this was only shown before)
- documentation
- key binding (only minibuffer-system-monitor shows a key binding)

The nameless key binding `SPC m T n` only works in emacs-lisp-mode. It's key
binding might need to be described another way.
2019-05-01 01:24:12 +02:00
康小广 2e6817ef34 Add symbol-overlay package to spacemacs/navigation layer
Defines a transient state for symbol-overlay, and bind it to ~SPC s o~ and ~SPC s O~.

Updates:

* update due to the signature change of `symbol-overlay-get-list`.
* align the docstring using `^^` and add `quit` button.
2019-04-30 17:42:40 +02:00
Christian Bäuerlein dd5240d55e Fix spacemacs-project setup readme
Before this, the readme file was just a copy of the spacemacs-org readme file.
2019-04-28 10:39:31 +02:00
Bet4 d4b180a735 Various improvements when indent code 2019-04-28 01:19:14 +02:00
smile13241324 2c449f72af Fix SPC h SPC binding after latest change
I have introduced a bug by merging
efa04de617.

This change removes the symptom with the
cost of again violating the 80 chars limit
in spacemacs-editing-visual's packages.el.
2019-04-26 23:58:18 +02:00
duianto efa04de617 spacemacs-editing-visual/packages.el 80 char limit 2019-04-26 22:27:33 +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
Miciah Masters 9fcf8c898d spacemacs-layouts: Add project buffers to new persp
Fix issue #11282.

When a new perspective (layout) is created and we are in a Projectile
project, add all buffers belonging to that project to the perspective.

* layers/+spacemacs/spacemacs-layouts/funcs.el
(spacemacs//add-project-buffers-to-persp): Add new function.
* layers/+spacemacs/spacemacs-layouts/packages.el
(spacemacs-layouts/init-persp-mode): Add
spacemacs//add-project-buffers-to-persp to persp-created-functions.
2019-04-24 19:31:26 +02:00
duianto b646b75ece Fix doom-modeline in the messages buffer
problem:
the doom-modeline isn't applied to the messages buffer

solution:
call `(doom-modeline-init)` without a hook
2019-04-23 22:40:24 +02:00
duianto 29a6ce0ec1 Update Symbol Highlight TS: reorder keys
What: Move "[z] recenter" to end of first row.
Why:  Top row (red keys) will not exit, bottom row (blue keys) exits.
2019-04-22 23:26:12 +02: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
duianto 2342f76cf1 Exclude which-key from layer sync powerline restore
When syncing the configuration layers `SPC f e R`,
don't restore the powerline to the which-key buffer.
2019-04-15 10:29:59 +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
Hoyon Mak beab291332 Don't lazy load keybindings for evil surround 2019-04-10 19:30:32 +02:00
Langston Barrett a60bc0f52e Add ranger-mode to golden-ratio-exclude-modes
Ranger manages window sizing in a way that conflicts with golden-ratio
2019-04-08 17:44:18 +02:00