Commit Graph

145 Commits

Author SHA1 Message Date
96e2a7726d ui/doom: remove 'append in doom-load-theme-hook 2019-08-28 00:40:50 -04:00
a3e262c7ac 💥 Refactor add-hook! macro & change arg order
This update may potentially break your usage of add-hook! if you pass
the :local or :append properties to it. This is how they used to work:

  (add-hook! :append 'some-mode-hook #'do-something)

Thsoe properties must now follow the hooks, e.g.

  (add-hook! 'some-mode-hook :append #'do-something)

Other changes:
- Various add-hook calls have been renamed to add-hook! because I
  incorrectly assumed `defun` always returned its definition's symbol,
  when in fact, its return value is "undefined" (so sayeth the
  documentation). This should fix #1597.
- This update adds the ability to add multiple functions to hooks
  without a list:

    (add-hook! 'some-mode-hook
               #'do-something
               #'do-something-else)

- The indentation logic has been changed so that consecutive function
  symbols at indented at the same level as the first argument, but forms
  are indent like a defun.

    (add-hook! 'some-mode-hook
               #'do-something
               #'do-something-else)

    (add-hook! 'some-mode-hook
      (message "Hello"))
2019-07-26 20:17:29 +02:00
82ae3a73f3 def-advice!->defadvice! & conform to new advice conventions
This commit does two things:

- Renames def-advice! to defadvice!, in the spirit of naming convenience
  macros after the function/macro they enhance or replace.
- Correct the names of advice functions to indicate visibility and
  intent. A public advice function like doom-set-jump-a is meant to be
  used elsewhere. A private one like +dired--cleanup-header-line-a
  shouldn't -- it likely won't work anywhere but the function(s) it was
  made to advise.
2019-07-23 17:24:56 +02:00
76cacb5bfe 💥 Rename def-package! -> use-package!
Calling this pivotal macro "def-package!" has frequently been a source
of confusion. It is a thin wrapper around use-package, and it should be
obvious that it is so. For this reason, and to match the naming
convention used with other convenience macros/wrappers, it is now
use-package!.

Also changes def-package-hook! -> use-package-hook!

The old macros are now marked obsolete and will be removed when straight
integration is merged.
2019-07-23 12:50:45 +02:00
20e2aa0b18 ui/doom: only load solaire-mode for supported themes 2019-07-23 02:06:35 +02:00
99e23adec1 ui/doom: simplify solaire init 2019-07-22 02:30:38 +02:00
8c41093fae ui/doom: update doom-themes config for treemacs/neotree 2019-07-22 02:30:38 +02:00
149b2617b0 💥 revise hook/var fns naming convention (2/2)
This is second of three big naming convention changes. In this commit,
we change the naming conventions for hook functions and variable
functions:

1. Replace the bar | to indicate a hook function with a -h suffix, e.g.

     doom|init-ui -> doom-init-ui-h
     doom|run-local-var-hooks -> doom-run-local-var-hooks-h

2. And add a -fn suffix for functions meant to be set on variables,
   e.g.

     (setq magit-display-buffer-function #'+magit-display-buffer-fn)

See ccf327f8 for the reasoning behind these changes.
2019-07-22 02:30:38 +02:00
51d3b1b424 💥 revise advice naming convention (1/2)
This is first of three big naming convention updates that have been a
long time coming. With 2.1 on the horizon, all the breaking updates will
batched together in preparation for the long haul.

In this commit, we do away with the asterix to communicate that a
function is an advice function, and we replace it with the '-a' suffix.
e.g.

  doom*shut-up -> doom-shut-up-a
  doom*recenter -> doom-recenter-a
  +evil*static-reindent -> +evil--static-reindent-a

The rationale behind this change is:

1. Elisp's own formatting/indenting tools would occasionally struggle
   with | and * (particularly pp and cl-prettyprint). They have no
   problem with / and :, fortunately.
2. External syntax highlighters (like pygmentize, discord markdown or
   github markdown) struggle with it, sometimes refusing to highlight
   code beyond these symbols.
3. * and | are less expressive than - and -- in communicating the
   intended visibility, versatility and stability of a function.
4. It complicated the regexps we must use to search for them.
5. They were arbitrary and over-complicated to begin with, decided
   on haphazardly way back when Doom was simply "my private config".

Anyhow, like how predicate functions have the -p suffix, we'll adopt the
-a suffix for advice functions, -h for hook functions and -fn for
variable functions.

Other noteable changes:
- Replaces advice-{add,remove}! macro with new def-advice!
  macro. The old pair weren't as useful. The new def-advice! saves on a
  lot of space.
- Removed "stage" assertions to make sure you were using the right
  macros in the right place. Turned out to not be necessary, we'll
  employ better checks later.
2019-07-22 02:27:45 +02:00
9a02bd8ac8 Minor refactors across the board
- when-let* -> when-let
- Fix projectile-locate-dominating-file for connected remote files
2019-06-26 14:31:06 +02:00
3240238a18 tools/vterm: improve UI/UX
- Don't prompt about processes when killing buffer
- Hide modeline in vterm buffers (doesn't do anything useful and would
  be consistent with settings for eshell and term modules).
- Refactor +vterm/open & +vterm/open-popup
- Add Emacs window redraw hack to force vterm to redraw, fixing
  artefacting in some edge cases.
- Fix ansi-color-names-vector when solaire-mode is present, otherwise
  you get a mismatched background in vterm (and other terms).
2019-05-17 01:58:42 -04:00
949d5ab343 Defer added hooks until doom-themes is loaded
Fixes an issue where doom-themes-{org,neotree,treemacs}-config are
called before doom-themes is loaded (which may never happen if you
aren't using a doom-themes theme).
2019-03-17 23:19:55 -04:00
1ec9f5b2e9 Move hl-line-range-function fix to ui/doom
Remapping the hl-line face is what causes the bug that this fix
addresses.
2019-03-05 03:01:59 -05:00
99f65cba79 Don't swap-bg for doom-molokai
The lighter background should be used for file-visiting buffers, and
darker for sidebars and such.
2019-03-04 04:57:07 -05:00
9f1a0ee81e ui/doom: remove mixed-pitch-mode compat hack
Made obsolete by changes upstream in solaire-mode.
2019-03-02 12:48:08 -05:00
c033bfaca2 Fix mixed-pitch affecting all buffers
Both solaire-mode and mixed-pitch-mode use face-remap to do their thang.
We ensure the order by ensuring activation order.
2019-02-12 00:37:00 -05:00
6992e27884 ui/doom: use solaire-global-mode #1070 2018-12-26 17:36:52 -05:00
4e81605463 ui/doom: set load-theme hooks sooner
Allows users to remove them without after! blocks.
2018-10-16 02:49:21 -04:00
0c39e73a1e Refactor/reformat core-ui
+ Move minibuffer fringe disabler to ui/doom
+ Disable blink-cursor-mode (too distracting, causes other issues e.g.
  #892)
2018-09-18 15:19:50 -04:00
7d3ffdff06 Remove third line in section headers
This is truly important stuff. We've saved many lives with this update.
2018-09-09 09:58:19 -04:00
0cf9d1f2f2 Minor refactor & revision across the board 2018-08-31 02:53:50 +02:00
e003c2aa6a Remove :load-path
Accidentally snuck into a commit!
2018-08-22 22:44:22 +02:00
417736ecf6 Move hideshow config from ui/doom->emacs/hideshow 2018-08-03 18:20:27 +02:00
50a82e72f6 ui/doom: enable solaire-mode in doom-tomorrow-night 2018-08-03 16:35:42 +02:00
35b76ee49b Enable minimalistic icon theme for treemacs
Still experimental.
2018-07-10 23:05:01 +02:00
f39d49c954 Conditionally enable custom neotree icon theme
If :ui neotree is disabled, disable the icon theme.
2018-07-03 12:29:27 +02:00
9756a0a18c Remove doom-themes-common reloading
No longer necessary with upcoming doom-themes update.
2018-07-03 03:41:08 +02:00
60779c9aed feature/version-control => ui/vc-gutter, emacs/vc
Reorganize vcs functionality. Moves the custom fringe bitmaps into :ui
vc-gutter.
2018-06-22 01:49:20 +02:00
03022d09f9 Remove doom//x naming convention
This naming convention was meant to be for batch commands, but it grew
to include "commands that were helpful with managing Doom", but many of
these commands shouldn't be interactive in the first place!
2018-06-17 21:35:58 +02:00
d0e4e0801f Setup solaie mode for doom themes. 2018-06-17 14:22:29 +02:00
643ff13053 ui/doom: make solaire-mode a little pickier
Instead of only activating in buffers that a real (which is more
selective), simply activate in buffers that are file-visiting (this
means that real buffers that aren't highlighted can exist, particularly
term/eshell buffers).
2018-05-25 00:55:06 +02:00
09cb4f6716 Major refactor & optimization of how modules load their packages
Now that we are loading package autoloads files (as part of the
generated doom-package-autoload-file when running make autoloads), many
:commands properties are redundant. In fact, many def-package! blocks
are redundant.

In some cases, we can do without a config.el file entirely, and can move
into the autoloads file or rely entirely on package autoloads.

Also, many settings have been moved in their module's autoloads files,
which makes them available ASAP; their use no longer depends on module
load order.

This gained me a modest ~10% boost in startup speed.
2018-05-25 00:46:16 +02:00
0b8f884d18 ui/doom: simplify +doom-folded-face (now set in doom-themes) 2018-05-14 13:05:03 +02:00
52cdb0bd83 Remove doom-fringe-size; set default fringe in :ui doom
There was no way to customize doom-fringe-size. Better to customize
fringes by using fringe-mode, {left,right}-fringe-width or
set-window-fringes directly.
2018-05-11 10:00:23 +02:00
0afae2eacf Remove fringe-helper package 2018-05-08 19:42:28 +02:00
87aa05ffee ui/doom: solaire-mode support for doom-nord-light 2018-05-03 18:03:13 +02:00
f38cd94f33 ui/doom: improve solaire-mode theme integration
Now +doom-solaire-themes is an alist that informs Doom if the current
theme should be loaded with solaire-mode, and whether
solaire-mode-swap-bg should be used.
2018-03-28 06:49:54 -04:00
174e0518a1 ui/doom: fix void-symbol error caused by misnamed advice function 2018-03-28 03:32:52 -04:00
895b9d5484 ui/doom: +doom|reload-theme => +doom*reload 2018-03-22 23:27:31 -04:00
0e5e586826 ui/doom: improve theme+solaire-mode init process
Solaire-mode will now auto-enable itself and swap the bg for themes
defined in `+doom-solaire-themes`.

Also, use doom-load-theme-hook now.
2018-03-22 19:28:53 -04:00
b9da309d6b ui/doom: fix solaire not resetting post-load-theme 2018-03-22 19:27:25 -04:00
3f85c76a2c ui/doom: use ':weight light' in +doom-folded-face 2018-03-18 03:36:36 -04:00
f4a0311834 ui/doom: add solaire-mode-reset to focus-in-hook
Addresses an edge case where the fringes would forget their color.
2018-02-18 03:14:52 -05:00
7707aec28a Remove doom group
Not really useful, and Doom doesn't encourage using the Emacs Customize
interface.
2018-02-18 03:04:58 -05:00
bd6fb35007 ui/doom: turn-on-solaire-mode on org-capture-mode-hook 2018-02-07 01:36:16 -05:00
91357a3e5d 💥 Replace core-popup with new feature/popup module
This is a breaking change! Update your :popup settings. Old ones will
throw errors!

Doom's new popup management system casts off its shackles (hur hur) and
replaces them with the monster that is `display-buffer-alist`, and
window parameters.

However, this is highly experimental! Expect edge cases.  Particularly
with org-mode and magit (or anything that does its own window
management).

Relevant to #261, #263, #325
2018-01-06 02:17:43 -05:00
93f3f0ef38 ui/doom: update hooks, refactor & simplify
+ doom-init-ui-hook => doom-init-theme-hook
+ Remove specific mode hooks for solaire-mode (need to revisit this)
+ Preemptive removal of doom-popup-mode hook
+ Use function for hs-set-up-overlay instead of lambda
2018-01-04 16:14:59 -05:00
0ff5966379 Refactor solaire-mode init (fix startup errors in #285) 2017-12-09 16:52:23 -05:00
f8e8dbad8f General minor refactor 2017-12-08 23:14:12 -05:00
c3077d1049 ui/doom: update README 2017-12-08 23:14:12 -05:00