Commit Graph

377 Commits

Author SHA1 Message Date
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
3762d877b1 Appease almighty byte-compiler sama 2017-06-19 12:41:30 +02:00
392c58ea47 General refactor & cleanup 2017-06-19 00:32:45 +02:00
27cbd36b69 Improve hl-line disable hook for visual mode 2017-06-19 00:04:20 +02:00
a8df81b259 Optimize modeline rendering slightly 2017-06-18 23:43:08 +02:00
8f9bd835a5 Make whitespace-injection more robust
+ No longer try to affect read-only buffers
+ Only activate if indent-tabs-mode is nil (spaces)
2017-06-18 23:43:08 +02:00
6d39c323c5 Hide mode-line during startup
Produces the appearance of a smoother start-up, with fewer UI elements
transforming as it reads the config.
2017-06-16 02:32:44 +02:00