Commit graph

745 commits

Author SHA1 Message Date
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
Henrik Lissner
3762d877b1
Appease almighty byte-compiler sama 2017-06-19 12:41:30 +02:00
Henrik Lissner
392c58ea47
General refactor & cleanup 2017-06-19 00:32:45 +02:00
Henrik Lissner
27cbd36b69
Improve hl-line disable hook for visual mode 2017-06-19 00:04:20 +02:00
Henrik Lissner
a8df81b259
Optimize modeline rendering slightly 2017-06-18 23:43:08 +02:00
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
1606deb046
Fix missing all-the-icons-material function 2017-06-15 23:57:57 +02:00
Henrik Lissner
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
Henrik Lissner
816df321a5
General refactor & cleanup 2017-06-14 21:15:19 +02:00
Henrik Lissner
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
Henrik Lissner
e5a04e512f
core-ui: refactor echo-keystrokes hooks 2017-06-12 01:41:55 +02:00
Henrik Lissner
38f9e4b0a6
Fix delete-frame => doom/delete-frame remap 2017-06-12 01:41:54 +02:00
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
c5f2879927
core-ui: optimize hooks 2017-06-10 01:54:59 +02:00
Henrik Lissner
6d2a7e22b3
Fix typo in nlinum--region advice 2017-06-09 14:20:45 +02:00
Henrik Lissner
7ba22d0d86
Possibly fix disappearing line numbers (#59) 2017-06-09 13:48:28 +02:00
Henrik Lissner
f071e55dc0
Enable nlinum-highlight-current-line 2017-06-09 01:09:19 +02:00
Henrik Lissner
e165450903
Refactor fringe-helper config 2017-06-09 01:09:19 +02:00
Henrik Lissner
58b77716c9
Move all-the-icons to core-ui 2017-06-09 01:09:19 +02:00
Henrik Lissner
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
Henrik Lissner
4aece988ff
Add fringe-helper to core-ui 2017-06-07 14:32:34 +02:00
Henrik Lissner
861cc537cc Add nlinum-hl 2017-06-05 12:35:51 +02:00
Henrik Lissner
60a02b4792 Fix lingering hl-line overlays 2017-06-05 12:35:51 +02:00
Henrik Lissner
cbf9f7a079 Move window-divider-mode from ui/doom => core-ui 2017-06-05 12:35:51 +02:00
Henrik Lissner
30402495fe General refactor + cleanup 2017-06-05 12:35:51 +02:00
Henrik Lissner
ee1fc701b9
Check for tool-bar-mode (fix 25.1 travis test) 2017-06-04 21:28:19 +02:00
Henrik Lissner
9967284977 Disable toolbar even in tty 2017-06-03 12:05:43 +02:00
Henrik Lissner
e8d454a251 Add doom-ui-mode-names for renaming major-modes 2017-05-28 16:13:55 +02:00
Henrik Lissner
e3162c453a Improve stability of nlinum flushing 2017-05-28 15:39:36 +02:00
Henrik Lissner
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
Henrik Lissner
f148d67607 Add pos-tip settings 2017-05-16 22:21:55 +02:00
Henrik Lissner
5475ec372a Reduce show-paren-delay 2017-05-16 00:49:42 +02:00
Henrik Lissner
f49a507ec8 feature/evil: new code-folding system 2017-05-15 20:26:33 +02:00
Henrik Lissner
5fb028b49d feature/evil: refactor 2017-05-15 20:26:32 +02:00
Henrik Lissner
7b1687170f core-ui: be quiet linum-mode 2017-05-14 13:33:16 +02:00
Henrik Lissner
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