Commit Graph

483 Commits

Author SHA1 Message Date
Henrik Lissner
59f33855dd Fix kill-this-buffer switching to fallback buffer too soon (again) 2018-01-18 23:08:26 -05:00
Henrik Lissner
d2bab1dc4d Fix kill-this-buffer's dashboard addiction, the sequel
Again, the dashboard was being switched to too early (there were still
other real buffers to display).
2018-01-09 04:05:33 -05:00
Henrik Lissner
af37d430fb Fix kill-this-buffer's dashboard addiction
Our kill-this-buffer advice, which tries to ensure the user will always
land on a real buffer after killing another, would prematurely jump to
the dashboard even though there were other available, real buffers.

Also fixes an issue where kill-this-buffer would get stuck switching
between the last buffers (because they aren't killed if they're visible
in other windows). If the only buffers left are visible in other
windows, it will now switch to the fallback buffer (dashboard or
scratch).
2018-01-08 19:32:53 -05:00
Henrik Lissner
50abff78c8 Fix doom-hide-modeline-mode not respecting doom--modeline-format
feature/popup is using this mode to give certain windows special
modelines.
2018-01-07 05:56:02 -05:00
Henrik Lissner
25ec2bdcbb Fix kill-this-buffer killing popup buffer instead of window 2018-01-06 17:04:20 -05:00
Henrik Lissner
20a8f2cbad Fix kill-this-buffer advice thinking everything is a popup 2018-01-04 16:16:45 -05:00
Henrik Lissner
69385fac1a Major rewrite of core-ui
Phases out dependence on the doom-kill-buffer workflow, which ensured
the user would always land on a real buffer (or the fallback buffer)
after killing a buffer. This required all quit-window, kill-this-buffer
and various buffer-killing commands be advised or remapped. There was no
need, kill-buffer-query-functions is better.

Also introduces a new hook: doom-init-theme-hook. doom-init-ui-hook
still exists, but is used for UI initialization (surprise), while theme
hooks should be moved over.
2018-01-04 03:01:35 -05:00
Henrik Lissner
8134c49ec3 ibuffer-use-other-window = t (hand off to popup system)
Addresses #309
2018-01-01 17:01:23 -05:00
Henrik Lissner
fd11f958f9 Move doom*quit-window to core-editor 2018-01-01 16:30:22 -05:00
Henrik Lissner
a370b5b125 Add kill-buffer-query-fns at post-init (fix race condition) 2017-12-30 01:30:41 -05:00
Henrik Lissner
9632b8c09d Flip default kill flag in quit-window #309 2017-12-30 01:19:56 -05:00
Henrik Lissner
6279241ec3 More reliable doom|protect-visible-buffers 2017-12-30 00:53:51 -05:00
Henrik Lissner
a56b2afa46 Refactor all-the-icons disabler advice 2017-12-29 01:46:20 -05:00
Henrik Lissner
5c54f58ff8 protect-visible-buffers: get-buffer-window-list => get-buffer-window
The "current" window is forgotten by the time
doom|protect-visible-buffers runs, so use get-buffer-window (native
C function) to detect if another window housing this buffer exists.
2017-12-29 01:23:05 -05:00
Henrik Lissner
60e8f6297e doom-kill-buffer: extract protect-visible-buffers logic
Protecting buffers that were visible in other windows (burying them
instead) is not the responsibility of doom-kill-buffer. This is a job
for kill-buffer-query-functions, hence doom|protect-visible-buffers.
2017-12-28 22:06:22 -05:00
Henrik Lissner
59846473ca visual-fill-column: account for emacs 26 line numbers 2017-12-27 18:20:58 -05:00
Henrik Lissner
89f07f88c5 General & minor refactor 2017-12-23 22:13:48 -05:00
Henrik Lissner
d57d0d9305 Better error-handling for missing fonts #301 2017-12-22 23:36:35 -05:00
Henrik Lissner
4560fe7163 Address (literal) edge cases with hl-line eob fix 2017-12-11 15:23:42 -05:00
Henrik Lissner
e109d72121 Fix hl-line mode bleeding into window in Emacs 26 2017-12-11 13:46:09 -05:00
Henrik Lissner
ae25e319b0 Silence 'cannot load' false positive errors when byte-compiling 2017-12-10 14:51:32 -05:00
Henrik Lissner
76a4ae459d Fix obsolete (when|if)-let messages in Emacs 26 2017-12-10 14:49:52 -05:00
Henrik Lissner
5a09d539ba Breaking change: remove font and theme settings
I am removing settings for core configuration to reduce "magic" in Doom.
set! is meant for cross-configuring modules that may or may not be
enabled. There should be no such concern for configuring Doom core.

From now on, change your fonts with:

  (setq doom-font (font-spec :family "Fira Mono" :size 12)
        doom-variable-pitch-font (font-spec :family "Fira Sans")
        doom-unicode-font (font-spec :family "DejaVu Sans Mono")
        doom-big-font (font-spec :family "Fira Mono" :size 19))
2017-12-08 23:14:12 -05:00
Henrik Lissner
9d81bc5a8b Major refactor: use-package-always-defer = nil & use :hook
Possibly breaking change: packages are no longer deferred by default.

Addresses #286
2017-12-08 23:14:11 -05:00
Henrik Lissner
27cf1dab21 Conditionally re-enable hl-line upon exiting visual mode
Addresses #281
2017-12-04 21:40:10 -05:00
Henrik Lissner
95a5b46dc5 New // naming convention + refactor doom management functions 2017-11-05 19:54:43 +01:00
Henrik Lissner
52be654cc4 General/minor refactor 2017-09-24 20:49:36 +02:00
Henrik Lissner
6a07ba8d1f Add docstrings to theme and font settings 2017-09-24 17:10:48 +02:00
Henrik Lissner
582e69db05 Move vi-tilde-fringe to new ui/vi-tilde-fringe module 2017-09-24 17:10:48 +02:00
Henrik Lissner
91783e0695 General refactor & cleanup 2017-09-15 14:37:20 +02:00
Henrik Lissner
85c28444b3 General cleanup & refactor 2017-08-06 16:30:53 +02:00
Henrik Lissner
7e4a0dbe95 Try to prevent wrong-type-argument font-spec error
Addresses #164, #165
2017-07-28 19:54:31 +02:00
Henrik Lissner
903f5b1a80 New function: doom|disable-vi-tilde-fringe 2017-07-19 00:25:05 +02:00
Henrik Lissner
e6658b7d8e General minor refactor 2017-07-19 00:25:05 +02:00
Henrik Lissner
f2d8681ef4 Refactor line number implementation
+ Add relative line number support (see doom-line-numbers-style)
+ Update doom/toggle-line-numbers
+ New hook functions: doom|enable-line-numbers,
  doom|disable-line-numbers

Addresses #156
2017-07-19 00:25:05 +02:00
Henrik Lissner
c0bfaec9d4 Add display-line-numbers support in Emacs 26 #59 2017-07-12 23:59:38 +02:00
Henrik Lissner
e87d278811 Remove (interactive) from non-interactive funcs 2017-07-12 14:59:00 +02:00
Henrik Lissner
dfa6c468c3 Change doom-line-number-pad-char default to space
There are some subtle issues with using the unicode, which depends
largely on the font you use. It is also slightly faster to use a space.
If you use whitespace-mode's space-mark feature, then change this to
?\u2002.

Addresses #109
2017-07-05 12:26:11 +02:00
Henrik Lissner
d7fa7c228d Add theme and font settings 2017-07-05 02:59:17 +02:00
Henrik Lissner
b771997105 Make font variables default to nil 2017-07-05 02:59:17 +02:00
Henrik Lissner
6093b81412 +present/big-mode => doom-big-font-mode
And added new variable: doom-big-font

app/present is deprecated so this feature has been moved into core.
2017-07-05 02:58:50 +02:00
Henrik Lissner
0f6884f9d6 Favor horizontal splits (for widescreen LCDs) 2017-07-02 16:55:39 +02:00
Henrik Lissner
069d085eec Inhibit font loading in non-gui sessions 2017-06-28 18:13:25 +02:00
Henrik Lissner
29f88e6c63 Add fboundp guard around fringe-mode 2017-06-28 18:05:11 +02:00
Henrik Lissner
ecd8ad0f46 Change how themes, fonts & modelines are loaded
WARNING: THIS IS A BREAKING CHANGE FOR THEME/FONT/NLINUM CUSTOMIZATIONS.

This change was motivated by the need to decouple theme and font loading
from the ui/doom module.

Now, it is doom-core's purview. Theme and fonts are loaded after
initfiles are read (attached to the doom-init-ui-hook hook), giving
other modules (especially private ones) a chance to change the theme or
fonts.

+ Refactor core-ui.el
+ New init hook: doom-init-ui-hook
+ Decouple theme/font loading from ui/doom
+ Load modelines are doom-init-ui-hook
+ New theme/font variables (replaces old ui/doom variables)
  + doom-theme
  + doom-font
  + doom-variable-pitch-font
  + doom-unicode-font
+ Change nlinum variables
  + doom-line-number-lpad
  + doom-line-number-rpad
  + doom-line-number-pad-char

Addresses #117
2017-06-28 16:18:24 +02:00
Henrik Lissner
804fd31aab Fix hl-line toggle in evil visual mode
Prior to this fix, hl-line would be disabled and stay off.
2017-06-28 16:16:10 +02:00
Henrik Lissner
5ebda9b0c6 Refactor buffer functions & update tests
+ Split doom-buffer-list into doom-buffer-list
  & doom-project-buffer-list.
+ doom-real-buffers-list => doom-real-buffer-list (for naming
  consistency).
2017-06-28 12:26:49 +02:00
Henrik Lissner
5ef61c7bb4 Remove :load-path for nlinum-hl 2017-06-24 02:25:15 +02:00
Henrik Lissner
e75bc10baa Unset mode-line-format sooner in startup process 2017-06-24 02:25:15 +02:00
Henrik Lissner
c60970ff2d Remove inject-trailing-whitespace functionality
This was buggy, inefficient and more trouble than its benefits were
worth. Perhaps we can now switch back to highlight-indent-guides...
2017-06-24 02:25:15 +02:00