Commit Graph

774 Commits

Author SHA1 Message Date
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
8b27d19e0b Fix "err=[-50]" gnutls error
When updating/installing packages.
2019-07-20 11:05:52 +02:00
24b40824ce Add doom-{visible,buried}-buffer-p predicates 2019-07-18 13:13:31 +02:00
84d43643c9 Fix "Bad request" failures during package-refresh
Particular with elpa.gnu.org. This is caused by a known error in Emacs
26.x, which has been fixed in 27, and documented here:
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=34341
2019-07-15 01:00:49 +02:00
3313058c76 Make doom-adjust-font-size non-interactive
As it was intended.
2019-07-14 20:44:16 +02:00
17d7130804 Fix #1558: remember position on C-a/C-e
When the cursor is between the swap points.
2019-07-12 18:19:28 +02:00
e6540b419b doom/set-indent-width: set standard-indent buffer-locally 2019-07-12 16:55:36 +02:00
fddef812ec tools/editorconfig: refactor how we ignore lisp modes 2019-07-12 16:47:49 +02:00
f3fa1b0324 Fix editorconfig usage in doom/set-indent-width #1561 2019-07-12 16:39:00 +02:00
f0abd10409 Fix #1558: doom/forward-to-last-non-comment-or-eol
Should jump to EOL if end-of-non-comment is before point.
2019-07-12 13:33:31 +02:00
c627972d20 Add set-indent-width & toggle-indent-style commands
And SPC t I keybind

Also sorts keybinds under the SPC t prefix
2019-07-11 17:22:01 +02:00
c99c184f85 Fix error in doom/help-packages for gnu packages
Due to validation checking for the wrong strings. Also extends support
for user-supplied archives (though the link may not be as helpful).
2019-07-09 23:30:59 +02:00
cd9378bb9e Fix set-project-type!
Reference to non-existent variable, when
2019-07-09 02:19:35 +02:00
71d505b893 Cache doom-modules on doom refresh 2019-07-07 14:10:21 +02:00
b58b5e1d64 Fix auto-removal of builtin-preferred packges 2019-07-07 14:07:41 +02:00
dd4c70fe93 Add doom/reload-autoloads 2019-07-07 13:20:25 +02:00
51c067cc4d Fix vanilla-doom+ sandbox instance
Now initializes doom-modules correctly and suppresses an undo-tree
error.
2019-07-07 01:58:49 +02:00
d8e7a2003b Fix custom.el writing to DOOMDIR/init.el too early
This would cause ~/.doom.d/init.el to exist before `doom quickstart` can
copy ~/.emacs.d/init.example.el into it, causing some newcomers to
experience a wrong-type-argument: hash-table-p error at startup (and no
modules being enabled).
2019-07-02 23:17:20 +02:00
58299341b8 Fix vanilla-doom+ launcher in sandbox (C-c C-p)
vanilla-doom+ should launch an instance of Doom with doom core plus
modules minus your private config loaded.
2019-06-30 13:18:14 +02:00
81cf6080bf doom/window-maximizer-buffer: fail gracefully in popups
Doesn't work within popups and it's non-trivial to fix this, so better
it fail gracefully with a suggestion, instead of fail silently.
2019-06-27 17:21:00 +02:00
22cc519ac1 Add set-project-type! autodef
And use it for love2d projects in lang/lua module.
2019-06-27 17:16:40 +02:00
2aa9252725 Move doom|disable-show-paren-mode to autoload/ui 2019-06-27 13:26:03 +02:00
6317fa0435 Fix #1509: failure to resize certain popups (part 2)
doom/window-enlargen would fail silently for windows with a preserved
size (e.g. all ui/popup popup windows)
2019-06-26 23:06:46 +02:00
9c29ad78e0 Add SHELL to doom-info 2019-06-26 14:31:07 +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
26da625981 Fix #1509: failure to resize certain popups 2019-06-26 14:28:40 +02:00
ae365272ad Set exec-path/shell-file-name in doom-load-env-vars
And perform file-readable-p check inside doom-load-env-vars
2019-06-18 11:46:27 +02:00
e2869c62a1 Add file-readable-p check to doom-project-find-file 2019-06-17 20:57:29 +02:00
d27c148e14 Fix font-resizing in child frames #1500 2019-06-17 16:01:37 +02:00
5e9c020c21 doom-files-in: replace NOSORT w/ SORT; change default MATCH
- SORT defaults to t
- MATCH's new default regexp excludes files that start with underscore.
2019-06-16 19:16:23 +02:00
84fd744e3f Minor, general refactor & comment revision 2019-06-14 11:08:59 +02:00
6641e26283 Refactor package management API
Sets out to solve a number of issues with the package management
process. Namely:

- To-be-removed packages that are simply being removed are no longer
  incorrectly labeled "quelpa->elpa", but "removed" instead.
- A backend (elpa vs quelpa) column was added to the package listing
  confirmation when running `doom update`.
- Doom now correctly recognizes that packages installed with a psuedonym
  are installed, and will not endlessly attempt to uninstall and
  reinstall them on every `doom refresh`.
- Packages declared with :built-in will no longer lose their built-in
  marking if said package is not actually present in Emacs' site load
  paths. i.e. if you say it's built in, Doom won't question it.
- package!'s :ignore property is now treated as a form whose evaluated
  result will be used as its value.
2019-06-11 08:01:42 +02:00
158e4cc97c Fix doom/clone-and-narrow-buffer
Also restores window scroll position after widening.
2019-06-10 09:38:57 +02:00
aa64cf9426 Replace kill-this-buffer with kill-current-buffer
As per the documentation for kill-this-buffer, it should only be invoked
from the menu and behaves unpredictably when invoked programmatically.
2019-05-30 18:54:58 -07:00
390647da87 Fix case where package has no backend
In doom/help-packages
2019-05-30 13:59:39 -04:00
c9493038a0 Auto-unbind non-prefix keys on doom/reload #1431 2019-05-28 23:47:53 -04:00
9860cebe9f Don't save package-selected-packages to custom-file
It's already saved in doom-package-autoload-file
2019-05-28 23:47:52 -04:00
3d7626341f Fix vestigial reference to load-env-vars
Was replaced with in-house envvar parser.
2019-05-28 23:47:49 -04:00
977d587479 Bring back doom-big-font #1428
Falls back to doom-big-font-increment if doom-big-font isn't set.
2019-05-22 17:05:05 -04:00
8f9056906d Rethink scratch buffer keybinds & commands
For non-evil users:

<leader> x    doom/open-scratch-buffer
<leader> X    doom/switch-to-scratch-buffer
<leader> p s  doom/open-project-scratch-buffer
<leader> p S  doom/switch-to-project-scratch-buffer

For evil users:

<leader> x    doom/open-scratch-buffer
<leader> b s  doom/open-scratch-buffer
<leader> b S  doom/switch-to-scratch-buffer
<leader> p s  doom/open-project-scratch-buffer
<leader> p S  doom/switch-to-project-scratch-buffer
2019-05-20 21:09:12 -04:00
1df35c166a Display package homepage in doom/help-packages
If possible.
2019-05-20 21:09:11 -04:00
9f63d94b13 Add doom/help-package-homepage command (SPC h d P) 2019-05-20 21:09:11 -04:00
243a3a84a8 Add doom/help-news-search command (SPC h d N) 2019-05-20 21:09:11 -04:00
8aa6273dcf Remove org link syntax from help search commands
And prevent ivy sorting them.
2019-05-20 21:09:11 -04:00
01face314d Fix doom/help-* search commands
They weren't actually doing anything.
2019-05-19 02:17:59 -04:00
2e6d8be6fc Rethink SPC n keybinds and add new ones
Adds the following keybinds:

SPC n .    Browses org-directory
SPC n /    Text search in org-directory
SPC n *    Text search in org-directory with symbol at point
SPC n h    Jump to org headline in org-agenda-files
2019-05-17 23:57:24 -04:00
67b6c44939 Enable show-trailing-whitespace globally
The variable is buffer-local and must be set with setq-default instead.

Also adds doom|{enable,disable}-show-trailing-whitespace hooks.
2019-05-17 01:58:08 -04:00
40d2d4d222 Minor tweaks & byte-compiler offerings 2019-05-15 20:53:11 -04:00
c612ba58a9 Fix stringp errors in doom/help search commands 2019-05-15 20:51:52 -04:00