Commit graph

543 commits

Author SHA1 Message Date
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
Thanh Vuong 7bc23b895f Layout layer: counsel-projectile: requires fix
Guard :requires against ivy not projectile. projectile is already owned by
buil-in spacemacs-project layer, so it's always t.

This prevents install of ivy, counsel, swiper and counsel-projectile
packages regardless of helm layer
2019-07-28 16:45:53 +02:00
syl20bnr 0e2935b8d6 Add autoloads for winner-mode 2019-07-26 22:44:35 -04:00
duianto eaed61fb39 Fix canceling spacemacs/ace-buffer-links
problem:
Canceling "spacemacs/ace-buffer-links" with "C-g" showed the error message:
"goto-char: Wrong type argument: number-or-marker-p, t"

solution:
Only go to and press the link if it's a position (number).
2019-07-14 23:10:57 +02: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
smile13241324 2384c7e5d2 Fix small typo in default popwin config for *undo-tree* buffer 2019-07-14 22:30:18 +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
Jake Romer 7c3d211726 Run foreign keys in evil-numbers transient state 2019-07-06 01:59:04 +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 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