Commit graph

14 commits

Author SHA1 Message Date
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
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
Miciah Masters 07964b1a2e Work around ido-mode remapping Spacemacs keys
Add aliases for commands that ido-mode remaps that we want to bind to
Spacemacs keys, and use these aliases in the Spacemacs key bindings so that
these bindings invoke the original commands rather than the ido commands.

See <https://github.com/syl20bnr/spacemacs/issues/10237#issuecomment-359861570>.
2018-08-01 22:46:40 -04:00
syl20bnr 1ae5463051 Correctly lazy-load and disable zone 2018-07-29 15:42:32 -04:00
Kechao CAI 115c93050f +spacemacs: fix zone init
Commit 6f15744 causes the zone initialization error. This will fix #11101.
2018-07-29 15:32:31 -04:00
syl20bnr 6f157449c1 Fix zone-out-when-idle and correctly disable it when nil 2018-07-28 18:32:23 -04:00
syl20bnr ad3ee59158 Smart lazy load of line numbers 2018-06-14 21:23:02 -04:00
syl20bnr 36c5cb0725 Lazy load zone 2018-06-14 21:10:01 -04:00
Codruț Constantin Gușoi 0ebcc25369 Removes line numbers width setting
As discussed here: https://github.com/syl20bnr/spacemacs/issues/9362#issuecomment-393328914
2018-06-02 16:45:28 +03:00
bmag 8f82486154 Add support for native line numbers in Emacs 26
Emacs 26.1 will introduce a new native line numbers feature:
"display-line-numbers". It includes relative line numbers, is faster than
current linum-mode, and doesn't use the margin area (it has its own area). So
yeah, we want to use the new feature when possible.

No changes are required on the user side, except for Emacs 26 users are
recommended to remove nlinum layer from their configuration (if they have
enabled it).

With this change:
- Emacs 26:
  - uses display-line-numbers by default.
  - linum and linum-relative packages are excluded.
- Emacs 25:
  - does NOT use display-line-numbers.
  - continues to use linum and linum-relative.
- nlinum layer:
  - can still be used as before in Emacs 25.
  - is NOT recommended in Emacs 26, but can be used.
  - when enabled, excludes display-line-numbers.

Also contains some bug fixes:

Fixes a bug where setting `dostpacemacs-line-numbers` to `t` or `relative`
enabled line numbers in every buffer, instead of only in buffers that derive
from prog-mode and text-mode.

Likewise fixes a bug where specifying `:enabled-for-modes nil` (or not
specifying `:enabled-for-modes` at all) in `dotspacemacs-line-numbers` settings
meant "enable in all modes" instead of "enable in modes derived from prog-mode
or text-mode".

Because of this change, also adds a way for users to enable line numbers
in *all* buffers.

Removes check for special buffer. All our current checks should be enough to
enable line numbers only where it makes sense. Disabling in all special buffers
is not necessary.
2018-05-28 19:29:15 +03:00
Bet4 7fb966d3db recentf: use recentf-expand-file-name to generate recentf-exclude 2018-05-27 23:38:38 +03:00
syl20bnr 87dc5f100c dump: add support for winner
pdump cannot dump window configurations so we make sure to activate winner
outside of the dump phase
2018-05-20 03:58:48 -04:00
syl20bnr ed9123984a dump: require recentf and eldoc when dumping 2018-05-20 03:58:48 -04: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
Renamed from layers/+distributions/spacemacs-base/packages.el (Browse further)