Commit Graph

339 Commits

Author SHA1 Message Date
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
3f69ebdfc8 Don't modify buffer on whitespace injection (#110)
In doom|inject-trailing-whitespace, for highlight-indentation-mode
2017-06-16 02:09:35 +02:00
1606deb046 Fix missing all-the-icons-material function 2017-06-15 23:57:57 +02:00
d3270a9b00 Fix whitespace-mode space-marks in nlinum (#109)
...by changing the padding character in line numbers.
2017-06-15 14:45:33 +02:00
816df321a5 General refactor & cleanup 2017-06-14 21:15:19 +02:00
6dff6e124b Bring back nlinum-hl
I moved the nlinum--region fix to the nlinum-hl package; which also
contains fixes for other problematic major-modes.
2017-06-14 02:51:24 +02:00
e5a04e512f core-ui: refactor echo-keystrokes hooks 2017-06-12 01:41:55 +02:00
38f9e4b0a6 Fix delete-frame => doom/delete-frame remap 2017-06-12 01:41:54 +02:00
4984a548d1 Refactor DOOM init & add new init hooks
+ Add doom-init-hook and doom-post-init-hook to simplify Emacs init
  hooks into less ambiguous ones.
+ Attach former after-init-hook and emacs-startup-hook hooks to new doom
  init hooks.
+ Vastly improves daemon and tty support: preventing incorrect colors
  from bleeding across face class barriers, and into GUI Emacs and vice
  versa, when spawned with emacsclient.
+ Fix persp-mode breaking Emacs daemon, and ensuring that initialization
  is done properly in terminal Emacs (and emacsclient frames).
2017-06-12 00:37:14 +02:00
66cfbb2563 Fix quit confirmations in daemon; add for frames
+ Add quit confirmation when closing a frame with real buffers
+ Ensure quit confirmations also work in daemon frames (tty or gui)
2017-06-11 16:24:49 +02:00
c5f2879927 core-ui: optimize hooks 2017-06-10 01:54:59 +02:00
6d2a7e22b3 Fix typo in nlinum--region advice 2017-06-09 14:20:45 +02:00
7ba22d0d86 Possibly fix disappearing line numbers (#59) 2017-06-09 13:48:28 +02:00
f071e55dc0 Enable nlinum-highlight-current-line 2017-06-09 01:09:19 +02:00
e165450903 Refactor fringe-helper config 2017-06-09 01:09:19 +02:00
58b77716c9 Move all-the-icons to core-ui 2017-06-09 01:09:19 +02:00
c7254e7bdc Major optimization refactor, across the board
+ enable lexical-scope everywhere (lexical-binding = t): ~5-10% faster
  startup; ~5-20% general boost
+ reduce consing, function calls & garbage collection by preferring
  cl-loop & dolist over lambda closures (for mapc[ar], add-hook, and
  various cl-lib filter/map/reduce functions) -- where possible
+ prefer functions with dedicated opcodes, like assq (see byte-defop's
  in bytecomp.el for more)
+ prefer pcase & cond (faster) over cl-case
+ general refactor for code readability
+ ensure naming & style conventions are adhered to
+ appease byte-compiler by marking unused variables with underscore
+ defer minor mode activation to after-init, emacs-startup or
  window-setup hooks; a customization opportunity for users + ensures
  custom functionality won't interfere with startup.
2017-06-09 00:47:45 +02:00
4aece988ff Add fringe-helper to core-ui 2017-06-07 14:32:34 +02:00
861cc537cc Add nlinum-hl 2017-06-05 12:35:51 +02:00
60a02b4792 Fix lingering hl-line overlays 2017-06-05 12:35:51 +02:00
cbf9f7a079 Move window-divider-mode from ui/doom => core-ui 2017-06-05 12:35:51 +02:00
30402495fe General refactor + cleanup 2017-06-05 12:35:51 +02:00
ee1fc701b9 Check for tool-bar-mode (fix 25.1 travis test) 2017-06-04 21:28:19 +02:00
9967284977 Disable toolbar even in tty 2017-06-03 12:05:43 +02:00
e8d454a251 Add doom-ui-mode-names for renaming major-modes 2017-05-28 16:13:55 +02:00
e3162c453a Improve stability of nlinum flushing 2017-05-28 15:39:36 +02:00
8ca6e2630b Bring back nlinum
linum-mode *really* slows down buffers when they're displayed in more
than one window. This lag isn't present in nlinum. nlinum isn't perfect
either but... lesser of two evils.

This includes advisors and an ESC hook to mitigate the issue of
disappearing nlinum line numbers.
2017-05-28 02:48:20 +02:00
f148d67607 Add pos-tip settings 2017-05-16 22:21:55 +02:00
5475ec372a Reduce show-paren-delay 2017-05-16 00:49:42 +02:00
f49a507ec8 feature/evil: new code-folding system 2017-05-15 20:26:33 +02:00
5fb028b49d feature/evil: refactor 2017-05-15 20:26:32 +02:00
7b1687170f core-ui: be quiet linum-mode 2017-05-14 13:33:16 +02:00
653e80e655 Fix missing 'define-fringe-bitmap' function errors
If Emacs wasn't built with X, Cocoa or NS display support (as is the
case for evm emacs-25.1-travis build), the fringe library is missing and
throws errors.
2017-05-14 11:54:18 +02:00
527c459f11 core-ui: uniquify-buffer-name-style = forward
Uniquify's effect is invisible except in places where buffer-name is
used (like in switch-buffer), where it can be very helpful to
distinguish between clashing buffers.
2017-05-14 09:44:22 +02:00
200846ee35 General refactor + cleanup; update TODO.org 2017-05-14 00:26:53 +02:00
435c414e18 core-ui: add vi-tilde-fringe 2017-05-14 00:20:00 +02:00
5c39e9f3bc core-ui: disable hl-line in visual mode 2017-05-14 00:19:45 +02:00
5491fd552e Replace nlinum with linum 2017-05-13 22:40:52 +02:00
7713cdb0bd core-ui: hide modeline in completion-list popups 2017-05-13 22:37:37 +02:00