Commit Graph

383 Commits

Author SHA1 Message Date
59f33855dd Fix kill-this-buffer switching to fallback buffer too soon (again) 2018-01-18 23:08:26 -05:00
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
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
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
25ec2bdcbb Fix kill-this-buffer killing popup buffer instead of window 2018-01-06 17:04:20 -05:00
20a8f2cbad Fix kill-this-buffer advice thinking everything is a popup 2018-01-04 16:16:45 -05:00
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
8134c49ec3 ibuffer-use-other-window = t (hand off to popup system)
Addresses #309
2018-01-01 17:01:23 -05:00
fd11f958f9 Move doom*quit-window to core-editor 2018-01-01 16:30:22 -05:00
a370b5b125 Add kill-buffer-query-fns at post-init (fix race condition) 2017-12-30 01:30:41 -05:00
9632b8c09d Flip default kill flag in quit-window #309 2017-12-30 01:19:56 -05:00
6279241ec3 More reliable doom|protect-visible-buffers 2017-12-30 00:53:51 -05:00
a56b2afa46 Refactor all-the-icons disabler advice 2017-12-29 01:46:20 -05:00
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
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
59846473ca visual-fill-column: account for emacs 26 line numbers 2017-12-27 18:20:58 -05:00
89f07f88c5 General & minor refactor 2017-12-23 22:13:48 -05:00
d57d0d9305 Better error-handling for missing fonts #301 2017-12-22 23:36:35 -05:00
4560fe7163 Address (literal) edge cases with hl-line eob fix 2017-12-11 15:23:42 -05:00
e109d72121 Fix hl-line mode bleeding into window in Emacs 26 2017-12-11 13:46:09 -05:00
ae25e319b0 Silence 'cannot load' false positive errors when byte-compiling 2017-12-10 14:51:32 -05:00
76a4ae459d Fix obsolete (when|if)-let messages in Emacs 26 2017-12-10 14:49:52 -05:00
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
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
27cf1dab21 Conditionally re-enable hl-line upon exiting visual mode
Addresses #281
2017-12-04 21:40:10 -05:00
95a5b46dc5 New // naming convention + refactor doom management functions 2017-11-05 19:54:43 +01:00
52be654cc4 General/minor refactor 2017-09-24 20:49:36 +02:00
6a07ba8d1f Add docstrings to theme and font settings 2017-09-24 17:10:48 +02:00
582e69db05 Move vi-tilde-fringe to new ui/vi-tilde-fringe module 2017-09-24 17:10:48 +02:00
91783e0695 General refactor & cleanup 2017-09-15 14:37:20 +02:00
85c28444b3 General cleanup & refactor 2017-08-06 16:30:53 +02:00
7e4a0dbe95 Try to prevent wrong-type-argument font-spec error
Addresses #164, #165
2017-07-28 19:54:31 +02:00
903f5b1a80 New function: doom|disable-vi-tilde-fringe 2017-07-19 00:25:05 +02:00
e6658b7d8e General minor refactor 2017-07-19 00:25:05 +02:00
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
c0bfaec9d4 Add display-line-numbers support in Emacs 26 #59 2017-07-12 23:59:38 +02:00
e87d278811 Remove (interactive) from non-interactive funcs 2017-07-12 14:59:00 +02:00
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
d7fa7c228d Add theme and font settings 2017-07-05 02:59:17 +02:00
b771997105 Make font variables default to nil 2017-07-05 02:59:17 +02:00
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
0f6884f9d6 Favor horizontal splits (for widescreen LCDs) 2017-07-02 16:55:39 +02:00
069d085eec Inhibit font loading in non-gui sessions 2017-06-28 18:13:25 +02:00
29f88e6c63 Add fboundp guard around fringe-mode 2017-06-28 18:05:11 +02:00
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
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
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
5ef61c7bb4 Remove :load-path for nlinum-hl 2017-06-24 02:25:15 +02:00
e75bc10baa Unset mode-line-format sooner in startup process 2017-06-24 02:25:15 +02:00
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