Commit Graph

358 Commits

Author SHA1 Message Date
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
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