Commit graph

16 commits

Author SHA1 Message Date
duianto
f578e618a5
[nlinum] Show deprecation (Emacs 26.1+) warning on startup
The warning:
nlinum layer is deprecated for Emacs 26.1 and above
wasn't shown until SPC h SPC was pressed.

Because the variable: configuration-layer--used-layers
wasn't populated before the warning check occurred in
nlinum/packages.el.

The solution (suggested by syl20bnr) was to move the
check to a new file: nlinum/config.el.
2020-02-18 21:09:23 +01:00
duianto
7b28e62fb0 [nlinum] Fix symbol name typo
Thanks bcc32
2020-02-03 21:37:00 +01:00
wangtianshu
b6f9f7ffc9
Disable warning unless use the nlinum layer 2020-02-01 08:03:41 +00: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
syl20bnr
8660f93dec nlinum: deprecate layer for Emacs 26.1 and above 2018-06-02 01:28:54 -04: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
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
326965d4ce Happy New Year 2018! 2018-01-04 02:00:25 -05:00
deb0ch
8ea2bd7b6c fix error when nlinum is enabled and dotspacemacs-line-numbers is t 2017-03-04 10:18:46 +02:00
syl20bnr
4ab741b1da Fix error global-linum-mode-check-buffers wrong type error
Check dotspacemacs-line-numbers type before getting any keyword value.
Fixes #8318
2017-02-06 08:56:16 -05:00
deb0ch
c346c7dc99 nlinum: activating nlinum-relative now activates nlinum
reflect ddbee36.
2017-02-05 12:47:23 -05:00
deb0ch
a28e17c4d3 line numbers: finer configuration of line numbers activation 2017-02-05 12:47:19 -05:00
syl20bnr
fb27ede558 Bump year in copyright headers
Happy New Year 2017!
2017-01-05 23:08:17 -05:00
Eivind Fonn
62fc64f745 core: special toggle API for minor modes 2016-05-31 22:33:44 -04:00
syl20bnr
fd756a124e New layer nlinum + revert default support for linum
To use nlinum + nlinum-relative add the nlinum layer

Note: there are still work to do on nlinum-relative, at some point we
may replace linum by nlinum completely.
2016-05-20 23:57:32 -04:00