Commit Graph

3366 Commits

Author SHA1 Message Date
Henrik Lissner
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
Henrik Lissner
158e4cc97c Fix doom/clone-and-narrow-buffer
Also restores window scroll position after widening.
2019-06-10 09:38:57 +02:00
Henrik Lissner
4ae6faf627 scroll-margin = 0 2019-06-10 09:38:56 +02:00
Henrik Lissner
d329f216e3 Fix #1444: recentf hangs Emacs on quit & cleanup
Caused by using file-truename on (disconnected) remote files, which
invoked TRAMP authentication.

Replaces #1451
2019-06-10 09:38:56 +02:00
Henrik Lissner
79941a4fd7 Make recentf more aggressive
- Updates file order on window switch
- Adds dired directories to recentf list
- Reduce recentf-max-saved-items from 300 to 200 (reduce worst-case
  resorting costs)
2019-06-10 09:38:56 +02:00
Henrik Lissner
29293aa17f Fix #1453: ensure package autoloads are reloaded
`doom-package-update` does not trigger regeneration of the package
autoloads file.
2019-06-10 09:38:56 +02:00
Henrik Lissner
653bd99b77 Polyfill kill-current-buffer in Emacs<=25.3 #1446
kill-current-buffer wasn't introduced until Emacs 26.
2019-06-10 09:38:55 +02:00
chrunchyjesus
2631ca90d9 fix shebang for macos patch 2019-06-08 07:31:24 +02:00
Brice Waegeneire
b29a7357c6 projectile: fd never use colors
Prevent projectile-find-file to be littered with escape codes when the
environment variable LS_COLORS is set.
2019-06-01 14:33:21 +02:00
Siddharth Shekar
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
Henrik Lissner
0733a6dfac Replace SPC h p with doom/help-packages
Now that it supersedes describe-packages in functionality.
2019-05-30 14:01:48 -04:00
Henrik Lissner
990896ac9c Fix doom quickstart help formatting
Not breaking lines in the right place.
2019-05-30 14:00:41 -04:00
Henrik Lissner
390647da87 Fix case where package has no backend
In doom/help-packages
2019-05-30 13:59:39 -04:00
Henrik Lissner
b68fb2aa11 Fix #1444: exclude TRAMP/remote files from recentf
Causes hanging due to authentication attempts.
2019-05-30 13:58:32 -04:00
Henrik Lissner
2643d7e5ba Prefer vertical splits 2019-05-29 23:46:45 -04:00
Henrik Lissner
c9493038a0 Auto-unbind non-prefix keys on doom/reload #1431 2019-05-28 23:47:53 -04:00
Henrik Lissner
6c69bf5313 Fix emoji font initialization 2019-05-28 23:47:52 -04:00
Henrik Lissner
9413e9ccae Remove tutorial--saved-dir
See #1433: it is a function, not a variable.
2019-05-28 23:47:52 -04:00
Henrik Lissner
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
Henrik Lissner
3d7626341f Fix vestigial reference to load-env-vars
Was replaced with in-house envvar parser.
2019-05-28 23:47:49 -04:00
Henrik Lissner
93876028b4 cli/upgrade: always update packages
Even when Doom is up-to-date.
2019-05-22 17:10:44 -04:00
Henrik Lissner
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
Henrik Lissner
4d6d90399e dtrt-indent-run-after-smie = t
Fix dtrt not updating indent variables in modes that use SMIE (like
sh-mode).
2019-05-22 14:50:31 -04:00
Henrik Lissner
7c3e4ffa0c Fix over-eager ` pairing in minibuffer 2019-05-22 03:51:12 -04:00
Henrik Lissner
efb06ee42f Improve deprecation warnings for modules
Hopefully makes them easier to understand.
2019-05-21 17:24:23 -04:00
Henrik Lissner
0383e504fe Fix exec-path on Windows #1423
Windows uses ; as its PATH separator.
2019-05-21 17:24:22 -04:00
Henrik Lissner
66ddbf981e Disable persistent undo
It's not worth the possible stack overflow and undo history corruption
issues.
2019-05-21 03:42:32 -04:00
Henrik Lissner
2214c3175e Minor tweaks across the board 2019-05-21 00:34:32 -04:00
Henrik Lissner
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
Henrik Lissner
1df35c166a Display package homepage in doom/help-packages
If possible.
2019-05-20 21:09:11 -04:00
Henrik Lissner
9f63d94b13 Add doom/help-package-homepage command (SPC h d P) 2019-05-20 21:09:11 -04:00
Henrik Lissner
243a3a84a8 Add doom/help-news-search command (SPC h d N) 2019-05-20 21:09:11 -04:00
Henrik Lissner
8aa6273dcf Remove org link syntax from help search commands
And prevent ivy sorting them.
2019-05-20 21:09:11 -04:00
Henrik Lissner
7c33d2c2e0 Fix C-c & C-x when used as leader keys 2019-05-20 21:09:11 -04:00
Henrik Lissner
448d5fc71f map!: fix :prefix-map for non-leader keys
Would no-op if used on a non-leader key.
2019-05-20 21:09:10 -04:00
Henrik Lissner
d6aea001c5 Implement lazy auto-revert
Instead of using auto-revert-mode or global-auto-revert-mode, we employ
lazy auto reverting on focus-in-hook, doom-switch-buffer-hook and
after-save-hook.

We do this because autorevert abuses inotify handles, which can grind
Emacs to a halt if you have hundreds of buffers open and something
performs expensive mtime or attribute-altering IO on their files outside
of Emacs. We only really need revert checks when we switch to or save a
buffer, or when we focus the Emacs frame.
2019-05-20 21:08:21 -04:00
Henrik Lissner
39d4fa2256 Improve better-jumper integration into ivy
And remove unnecessary set-jump on imenu-after-jump-hook (it should
happen before the jump, not after).
2019-05-19 02:18:26 -04:00
Henrik Lissner
c3cb7c5000 :tools password-store -> :tools pass
A simpler name and matches the prefix of its module.
2019-05-19 02:18:25 -04:00
Henrik Lissner
0674e4b4b0 Remove :emacs imenu module
Some of it was moved into core as reasonable defaults, but the rest of
it doesn't warrant a whole module dedicated to it.
2019-05-19 02:18:00 -04:00
Henrik Lissner
8c65a63b1c Move eshell, term & vterm modules to :term 2019-05-19 02:17:59 -04:00
Henrik Lissner
01face314d Fix doom/help-* search commands
They weren't actually doing anything.
2019-05-19 02:17:59 -04:00
Henrik Lissner
4cde9afd93 Refactor setq-hook!
Simplifies its expanded form and names the hook function to make the
hook's value more readable in help buffers.
2019-05-19 02:17:58 -04:00
Henrik Lissner
4d20655f78 Optimize incremental loading
Interrupt package loading if Emacs recieves input. This further reduces
percieved pauses at startup.
2019-05-19 02:17:58 -04:00
Henrik Lissner
f7fb729269 Enable show-trailing-whitespace selectively
Instead of enabling it globally and disabling it in particular modes, we
do the opposite. There are fewer edge cases this way.
2019-05-19 02:17:58 -04:00
Henrik Lissner
81a054deda Add custom-set-faces! convenience macro
For setting face attributes non-destructively. See docstring for usage
example.
2019-05-18 16:46:21 -04:00
Henrik Lissner
d62e13c803 Alphabetize plugins in core-editor
Easier to find them this way.
2019-05-18 14:44:40 -04:00
Henrik Lissner
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
Henrik Lissner
5ec0c5ba3f cli/env: refactor 2019-05-17 21:34:21 -04:00
Henrik Lissner
3ed54e191b Fix #1322: replace load-env-vars w/ custom loader
I've replaced load-env-var with our own custom parser. load-env-var
expects a well-formatted env file, which neither env nor set produces,
which is what doom env uses to dump the shell environment.

This should fix issues that arise when envvars (like PATH) contain
arbitrary whitespace.
2019-05-17 20:19:35 -04:00
Henrik Lissner
32f8fa9f46 Fix :prefix-map indentation in map! calls 2019-05-17 13:31:05 -04:00