Henrik Lissner
0c9f1b1a9c
Minor refactors & comment revision
2020-01-11 17:27:04 -05:00
Henrik Lissner
f6852a2c9f
Add --discard switch to 'doom upgrade' #2224
...
Also rewrites straight prompt-in-batch-Emacs hack, and move it to
core-cli.el.
2020-01-09 03:36:00 -05:00
Henrik Lissner
b7dc9c644e
Don't use find if find can't be found
2020-01-08 22:09:42 -05:00
Henrik Lissner
f78f71a74c
Minor refactors & comment revision
2020-01-01 23:52:02 -05:00
Henrik Lissner
7a348f8784
Refactor how we indent straight's progress output
...
More work up front, less work in the trenches.
2020-01-01 19:34:30 -05:00
Henrik Lissner
4f676bd218
Refactor autoload generator bootstrappers
2020-01-01 13:31:40 -05:00
Henrik Lissner
a4653f475b
Print filename instead of absolute paths for purged ELPA packages
2019-12-30 17:28:31 -05:00
Henrik Lissner
908bd4b945
Remove FORCE-P argument for doom-cli-reload-autoloads
...
We weren't using them anyway.
2019-12-30 06:44:16 -05:00
Henrik Lissner
f8ff50565e
Refactor autoload generator
...
- Halves LOC
- Adopts functional paradigm where possible.
- Reduces the filesize of autoloads files by ~10-20%
- Speeds up autoloads generation by ~20%
2019-12-29 22:20:48 -05:00
Henrik Lissner
8d3954257e
Refactor 'doom purge' & fix elpa purging
...
Wasn't picking up ELPA packages.
2019-12-28 14:02:07 -05:00
Henrik Lissner
6396cbf6cd
Refactor 'doom build'
2019-12-28 14:01:36 -05:00
Henrik Lissner
2f540f8c45
Remove vestigial references to doom--finalize-straight
2019-12-27 03:30:03 -05:00
Henrik Lissner
550c9bda74
cli/packages: implement commit pinning support
...
This is step 2 toward version pinning and rollback.
Next step is to actually pin packages.
Step 1 was 125561eb0
2019-12-25 14:02:43 -05:00
Henrik Lissner
8dd647b9bd
Make 'doom update' Skip local packages
...
i.e. packages with a user-specified :local-repo
2019-12-14 20:50:16 -05:00
Henrik Lissner
886fa36ac8
Improve 'doom purge' progress output
2019-11-25 02:18:01 -05:00
Henrik Lissner
d37ebee2f8
Print progress to same line on 'doom update'
...
Experimental.
2019-11-24 16:50:46 -05:00
Henrik Lissner
4351474bf3
Add "X updated" notice after package is updated
...
To make it clearer what package was just updated after spewing a lot of
git log output.
2019-11-22 16:15:06 -05:00
Henrik Lissner
3896b994b5
Remove double-negative filesize from 'doom purge'
2019-11-08 17:30:21 -05:00
Henrik Lissner
873fc5c0db
Rewrite core-cli
...
Highlights:
- 'doom purge' now purges builds, elpa packages, and repos by default.
Regrafting repos is now opt-in with the -g/--regraft switches.
Negation flags have been added for elpa/repos: -e/--no-elpa and
-r/--no-repos.
- Removed 'doom rebuild' (it is now just 'doom build' or 'doom b').
- Removed 'doom build's -f flag, this is now the default. Added the -r
flag instead, which only builds packages that need rebuilding.
- 'doom update' now updates packages synchronously, but produces more
informative output about the updating process.
- Straight can now prompt in batch mode, which resolves a lot of issues
with 'doom update' (and 'doom upgrade') freezing indefinitely or
throwing repo branch errors.
- 'bin/doom's switches are now positional. Switches aimed at `bin/doom`
must precede any subcommands. e.g.
Do: 'doom -yd upgrade'
Don't do: 'doom upgrade -yd'
- Moved 'doom doctor' from bin/doom-doctor to core/cli/doctor, and
integrated core/doctor.el into it, as to avoid naming conflicts
between it and Emacs doctor.
- The defcli! macro now has a special syntax for declaring flags, their
arguments and descriptions.
Addresses #1981 , #1925 , #1816 , #1721 , #1322
2019-11-08 16:02:06 -05:00
Henrik Lissner
45240699e0
Remove doom-elpa-dir variable
...
And just use package-user-dir. No need for two variable when one will
do.
2019-09-26 14:26:47 -04:00
Henrik Lissner
f03eb67314
Fix 'doom rebuild' generating broken autoloads
...
Causes errors about being unable to find general.el
2019-09-20 01:23:58 -04:00
Henrik Lissner
18329fdeaf
Add switch docs in update & purge commands
2019-09-12 17:25:54 -04:00
Henrik Lissner
84837fa0d6
Add --threads option to 'doom update' #1736
2019-09-12 17:25:54 -04:00
Henrik Lissner
4fda7cd287
Don't auto-purge ELPA packages on 'doom refresh'
...
...or 'doom purge', without the -e or --elpa switches (or --all).
2019-09-09 23:04:07 -04:00
Henrik Lissner
005647fd64
Fix wrong-type-arg package-desc error on 'doom refresh'
2019-09-03 14:07:09 -04:00
Henrik Lissner
81ee250c09
Minor refactor & revision across the board
2019-09-03 00:59:46 -04:00
Henrik Lissner
4ce86b06d4
Use more ambiguous reset target when normalizing repos
...
Possibly addresses "ambiguous target" errors during 'doom update'.
Might address #1738 and #1721
2019-09-03 00:59:46 -04:00
Henrik Lissner
49fb34d1c1
Fix 'doom purge' trying to purge site packages
...
It should only manage packages installed in
doom-elpa-dir (~/.emacs.d/.local/elpa, by default).
2019-09-02 13:12:57 -04:00
Henrik Lissner
8ac1e1a781
Refactor doom init process
...
- Refactors doom-initialize
- Moves doom-initialize-modules call to init.el, to more easily isolate
it during unit testing.
2019-08-27 00:05:12 -04:00
Henrik Lissner
025a4c3d26
Properly reset packages on 'doom update'
...
Prevents some cases of infinite hanging while updating certain packages.
2019-08-22 16:13:23 -04:00
Henrik Lissner
e502031412
Fix 'doom purge' not regrafting all repos on first use
2019-08-22 16:12:22 -04:00
Henrik Lissner
eb567f51c8
Handle git submodules from 'doom update'
2019-08-22 13:02:24 -04:00
Henrik Lissner
94ba098e43
Normalize package before checks in 'doom update'
...
This reduces the likelihood that straight will throw up invisible
popups, blocking the update process indefinitely.
2019-08-21 18:34:55 -04:00
Henrik Lissner
b854a089eb
Sort & optimize package list on 'doom purge'
2019-08-18 11:24:44 -04:00
Henrik Lissner
5aa7415d87
Add -t/--timeout switch to 'doom update'
...
To get around timeout issues on slower connections or larger packages.
2019-08-15 01:34:28 -04:00
Henrik Lissner
2cd9685758
Discard timed out future correctly on 'doom update'
...
And list packages immediately after message (no newlines).
2019-08-09 22:23:38 -04:00
Henrik Lissner
0a44881df1
Increase number of sub-processes for 'doom update'
2019-08-08 23:00:54 -04:00
Henrik Lissner
c266680c11
Fix #1653 : uncaught error when async process times out
2019-08-08 22:59:57 -04:00
Henrik Lissner
115a436273
Fix 'doom update' for chemacs users
...
Or users who have Doom in a non-standard location (i.e. outside
~/.emacs.d).
2019-08-08 11:48:13 -04:00
Henrik Lissner
ef60762a92
Fix wrong-type-arg: listp error on 'doom update'
...
Caused when async fails to create a child process for a certain group of
packages (needs to be investigated more).
2019-08-07 21:07:43 -04:00
Henrik Lissner
4a92d12267
Fix void-variable package error on 'doom update'
2019-08-07 17:22:46 -04:00
Henrik Lissner
54edffc4bb
cli/packages: emit a little more debug info
...
To mark the start of purging/regrafting procedures.
2019-07-29 21:29:43 +02:00
Henrik Lissner
435436e390
Fix 'doom purge' failing to delete build directory
2019-07-29 21:18:49 +02:00
Henrik Lissner
7559949e09
Rewrite 'doom purge'; add repo regrafting
...
'doom purge -r' now re-grafts shallow cloned packages (compacting them
as much as possible).
2019-07-29 21:09:23 +02:00
Henrik Lissner
87fd81281f
Rewrite 'doom update'
...
- Is now much more fault tolerant (produces better errors)
- Now handles async.el process errors as well
- Standardizes data structure of thread responses
2019-07-29 21:01:46 +02:00
Henrik Lissner
da954aa361
Improve 'doom build' reporting & checks
...
- Fix 'doom build' not byte-compiling stale dependencies of rebuilt
packages.
- Fix 'doom build' logging the wrong number of packages that were
rebuilt.
2019-07-29 20:59:52 +02:00
Henrik Lissner
ba07fe575e
Add {--no-{elpa,builds},-r,--repos} flags to 'doom purge'
2019-07-29 03:47:12 +02:00
Henrik Lissner
c2af0723d7
Show progress percentage during 'doom update'
2019-07-28 16:10:54 +02:00
Henrik Lissner
efb4584797
Alias 'doom build' to 'doom rebuild'
2019-07-28 14:02:51 +02:00
Henrik Lissner
4dc42de9e3
def-command! -> defcli!
...
And def-command-group! -> defcligroup!, to match our new convention for
naming definer macros.
2019-07-28 02:32:25 +02:00