Commit Graph

627 Commits

Author SHA1 Message Date
ea18c83c0a General refactors & reformatting across the board 2020-05-15 01:44:53 -04:00
0e851ace9b Backport bits of CLI rewrite
The rewrite for Doom's CLI is taking a while, so I've backported a few
important changes in order to ease the transition and fix a couple bugs
sooner.

Fixes #2802, #2737, #2386

The big highlights are:

- Fix #2802: We now update recipe repos *before* updating/installing any
  new packages. No more "Could not find package X in recipe repositories".

- Fix #2737: An edge case where straight couldn't reach a pinned
  commit (particularly with agda).

- Doom is now smarter about what option it recommends when straight
  prompts you to make a choice.

- Introduces a new init path for Doom. The old way:
  - Launch in "minimal" CLI mode in non-interactive sessions
  - Launch a "full" interactive mode otherwise.
  The new way
  - Launch in "minimal" CLI mode *only* for bin/doom
  - Launch is a simple mode for non-interactive sessions that still need
    access to your interactive config (like async org export/babel).
  - Launch a "full" interactive mode otherwise.

  This should fix compatibility issues with plugins that use the
  async.el library or spawn child Emacs processes to fake
  parallelization (like org's async export and babel functionality).

- Your private init.el is now loaded more reliably when running any
  bin/doom command. This gives you an opportunity to configure its
  settings.

- Added doom-first-{input,buffer,file}-hook hooks, which we use to queue
  deferred activation of a number of packages. Users can remove these
  modes from these hooks; altogether preventing them from loading,
  rather than waiting for them to load to then disable them,
  e.g. (after! smartparens (smartparens-global-mode -1)) -> (remove-hook
  'doom-first-buffer #'smartparens-global-mode)

  Hooks added to doom-first-*-hook variables will be removed once they
  run.

  This should also indirectly fix #2386, by preventing interactive modes
  from running in non-interactive session.

- Added `doom/bump-*` commands to make bumping modules and packages
  easier, and `doom/bumpify-*` commands for converting package!
  statements into user/repo@sha1hash format for bump commits.

- straight.el is now commit-pinned, like all other packages. We also
  more reliably install straight.el by cloning it ourselves, rather than
  relying on its bootstrap.el.

  This should prevent infinite "straight has diverged from master"
  prompts whenever we change branches (though, you might have to put up
  with it one more after this update -- see #2937 for workaround).

All the other minor changes:

- Moved core/autoload/cli.el to core/autoload/process.el
- The package manager will log attempts to check out pinned commits
- If package state is incomplete while rebuilding packages, emit a
  simpler error message instead of an obscure one!
- Added -u switch to 'doom sync' to make it run 'doom update' afterwards
- Added -p switch to 'doom sync' to make it run 'doom purge' afterwards
- Replace doom-modules function with doom-modules-list
- The `with-plist!` macro was removed, since `cl-destructuring-bind`
  already serves that purpose well enough.
- core/autoload/packages.el was moved into core-packages.el
- bin/doom will no longer die if DOOMDIR or DOOMLOCALDIR don't have a
  trailing slash
- Introduces doom-debug-variables; a list of variables to toggle on
  doom/toggle-debug-mode.
- The sandbox has been updated to reflect the above changes, also:
  1. Child instances will no longer inherit the process environment of
     the host instance,
  2. It will no longer produce an auto-save-list directory in ~/.emacs.d
2020-05-15 01:33:52 -04:00
2bdc14710f Merge pull request #2986 from rushsteve1/eshell-improvements
Improved Eshell module part 1
2020-05-14 04:31:52 -04:00
8a70dd0379 Change path separator on Windows when using fd
Show slash instead of backslash
2020-05-14 16:07:04 +08:00
c881f98960 Merge branch 'develop' into eshell-improvements 2020-05-13 09:17:10 -04:00
dfab5b941f Merge pull request #3071 from dsdshcym/bump-ivy
Bump :completion ivy
2020-05-08 22:04:02 -04:00
0cc811750d Bump :completion ivy
abo-abo/swiper@9e0803c -> abo-abo/swiper@84efa3a

fixed #3069
2020-05-09 07:54:20 +08:00
29e1398977 Recenter after project search (with counsel) 2020-05-08 16:14:47 -04:00
a70cfce520 Merge branch 'develop' into eshell-improvements 2020-05-06 10:33:39 -04:00
6450fa5ade ido: fix up and down keybinds in file dir navigation 2020-05-04 07:16:16 -07:00
b51c4fc8b3 Fix projectile on Windows failing to index anything with ripgrep
Due to unescaped glob arguments.

Fixes #2897, and possibly #1803
2020-05-02 17:41:36 -04:00
ea1a1805b3 Fix projectile failing to index symlinks
Fixes cases where, if the contents of your ~/.doom.d were symlinks, fd
and ripgrep wouldn't index them (or recurse into them), so it'd miss out
of many files.

Possibly fixes #1803
2020-05-02 16:28:48 -04:00
e832ec5708 Fix projectile ignoring symlinks
Due to the underlying program (fd) ignoring them.
2020-05-02 13:17:10 -04:00
312707fac7 Merge pull request #3003 from rgrinberg/counsel-bookmark-ivy-rich
Improve ivy-rich with counsel-bookmark
2020-04-30 01:50:40 -04:00
8b52e8ca0f Refactor company defaults
In the interest of performance and reducing things we have to maintain.
2020-04-30 01:35:20 -04:00
af4e347df0 Bump :completion
DarwinAwardWinner/amx@e512e74 -> DarwinAwardWinner/amx@7fb7b87
Yevgnen/ivy-rich@596874d -> Yevgnen/ivy-rich@3f818b2
abo-abo/swiper@64f05f4 -> abo-abo/swiper@9e0803c
company-mode/company-mode@61ddd9a -> company-mode/company-mode@6333fc4
emacs-helm/helm@d978f20 -> emacs-helm/helm@b6db9fb
raxod502/prescient.el@5330773 -> raxod502/prescient.el@0f4a89b
raxod502/prescient.el@5330773 -> raxod502/prescient.el@0f4a89b
sebastiencs/company-box@8fc6168 -> sebastiencs/company-box@3814fcb
tumashu/posframe@e62e584 -> tumashu/posframe@093b29a

We're also transitioning from abbreviated SHA1 hashes to full ones. See
45cdfb125 for why.
2020-04-30 01:29:30 -04:00
ee4b5c61de Improve ivy-rich with counsel-bookmark
This adds a column that displays the path where the bookmark exists.

Signed-off-by: Rudi Grinberg <me@rgrinberg.com>
2020-04-29 16:34:44 -07:00
85cf7a794b Fixes from PR feedback
This contains fixes suggested by Henrik as feedback from the initial PR,
including updating and correcting the Eshell module README, and few
tweaks to the module configuration, and properly pinning
eshell-did-you-mean.
2020-04-28 09:35:06 -04:00
681851dd85 Make rg --path-separator argument work under Windows 2020-04-26 16:52:41 -04:00
8532aa8dbe Don't null-byte delimit ripgrep file list 2020-04-26 02:01:10 -04:00
3202b68b01 Fix "Found argument '--glob ...' which wasn't expected" error
When using +ivy/projectile-find-file.
2020-04-26 01:52:09 -04:00
632175d1e2 Fix #2322: delete open posframes on doom/reload 2020-04-25 17:02:47 -04:00
2389332b90 Fix #2963: ripgrep backend error for counsel-file-jump 2020-04-24 05:02:19 -04:00
06d5d5e6c0 General refactors, reformatting & comment revision 2020-04-23 23:56:17 -04:00
0a26a22d59 Fix incorrect M-RET keybind in ivy readme 2020-04-20 22:53:05 -04:00
c1bfdadc10 Bump :completion
DarwinAwardWinner/ido-completing-read-plus@74861ea -> DarwinAwardWinner/ido-completing-read-plus@98d3a6e
emacs-helm/helm@0181b7e -> emacs-helm/helm@d978f20
raxod502/prescient.el@a194852 -> raxod502/prescient.el@5330773
raxod502/prescient.el@a194852 -> raxod502/prescient.el@5330773
tumashu/ivy-posframe@6d697ff -> tumashu/ivy-posframe@ae9bafe
tumashu/posframe@c15800a -> tumashu/posframe@e62e584

Possibly fixes #2540
2020-04-12 17:53:55 -04:00
2e6e191da3 Remove helm-descbinds remapping
helm-descbinds-mode overrides describe-bindings itself.
2020-04-11 00:36:17 -04:00
5a14dcd48e Add helm-descbinds
This package allows for easier navigation of the assigned bindings.
The inbuilt describe-bindings (C-h b b) feature is remapped to the helm
equivalent.

Signed-off-by: Brian McGillion <brian@ssrc.tii.ae>
2020-04-11 01:24:29 +04:00
b78fc4eb76 Minor refactor & reformatting across the board 2020-04-08 15:30:10 -04:00
6d85ec6db7 Merge pull request #2738 from belak/ido-fixes-and-tweaks
Fix and improve ido module
2020-04-07 17:57:56 -04:00
fd6b85a7d2 Refactor ido module; add ido-mode-hook 2020-04-06 21:02:55 -04:00
d5673cb29e Fix and improve ido module
- ido will actually be loaded at startup - I'm hoping there's a better
  way to optimize this.
- ido-sort-mtime-mode was fixed
- Up/Down were added to get closer to
  `(setq ido-vertical-define-keys 'C-n-C-p-up-down-left-right)`
- Faces were re-enabled
- The number of results are now displayed with ido
2020-04-06 17:33:05 -07:00
7e40c1ebe3 Fix #2752: self-aborting company-box/docs 2020-04-02 00:46:58 -04:00
83b6f74d11 Minor refactors & reformatting 2020-03-27 21:39:27 -04:00
fa23a912de Fix #2778: +ivy/projectile-find-file hangs in / 2020-03-27 02:30:49 -04:00
07cde1ea70 Merge pull request #2723 from RBckmnn/helm-modifications
Minor changes to the helm module
2020-03-27 01:58:13 -04:00
169f9a6121 General, minor refactor & reformatting 2020-03-27 01:25:30 -04:00
538bdf1387 Bump :completion
Yevgnen/ivy-rich@0f22aff -> Yevgnen/ivy-rich@596874d
abo-abo/swiper@5f1d9ce -> abo-abo/swiper@64f05f4
company-mode/company-mode@9de9905 -> company-mode/company-mode@61ddd9a
emacs-helm/helm-org@8457e1e) -> emacs-helm/helm-org@b7a18df
emacs-helm/helm@21e778b -> emacs-helm/helm@0181b7e
raxod502/prescient.el@7fd8c3b -> raxod502/prescient.el@a194852
tumashu/posframe@8a9af54) -> tumashu/posframe@c15800a
2020-03-27 01:09:33 -04:00
cf19fe739c Apply some minor changes to the helm module
Remove usage of the following variables, since they are no longer
present in helm's source code:

helm-M-x-fuzzy-match
helm-completion-in-region-fuzzy-match

Also remove the usage of the deprecated helm-mode-fuzzy-match variable.
Instead, modify completing-styles so that helmized commands will use
multi- or fuzzy-matching, respectively.
2020-03-14 20:52:33 +01:00
dd402b7db3 Remove references to enh-ruby-mode 2020-03-12 11:29:54 -04:00
f4aa2a8ca7 Bump :completion ivy
abo-abo/swiper@7084d60 -> abo-abo/swiper@5f1d9ce
Yevgnen/ivy-rich@af43aba -> Yevgnen/ivy-rich@0f22aff

Fixes ivy-dispatching-done on Emacs 27+
2020-03-11 22:17:00 -04:00
ed2fb68362 Fix prescient breaking certain counsel commands due to post-sorting 2020-03-03 23:33:53 -05:00
a44df0b9c5 Bump :completion helm
emacs-helm/helm@8f56312 -> emacs-helm/helm@21e778b
tumashu/posframe@087a7fc -> tumashu/posframe@8a9af54
2020-02-29 11:47:12 -05:00
cd5152497d Ensure company-backends are computed late in mode init 2020-02-25 20:03:58 -05:00
9393680909 Fix counsel-file-jump advice for windows users
Was using the wrong arguments for windows version of ripgrep.
2020-02-24 22:11:36 -05:00
50efb3e01f Merge pull request #2582 from bricewge/develop
completion/ivy: sort projectile files with prescient
2020-02-24 20:44:16 -05:00
9c6d614f31 Bump :completion helm
emacs-helm/helm@c17f1c76e4 -> emacs-helm/helm@8f56312053
tumashu/posframe@c250771589 -> tumashu/posframe@087a7fc3c8
2020-02-24 20:35:59 -05:00
cbd9cab23d Bump :completion ivy
DarwinAwardWinner/amx@3af93ca -> DarwinAwardWinner/amx@e512e74
Yevgnen/ivy-rich@7bfc726 -> Yevgnen/ivy-rich@af43aba
abo-abo/swiper@098f8fe -> abo-abo/swiper@7084d60
asok/all-the-icons-ivy@babea62 -> asok/all-the-icons-ivy@a70cbfa
ericdanan/counsel-projectile@cadc6de -> ericdanan/counsel-projectile@b556ed8
mhayashi1120/Emacs-wgrep@e67e737 -> mhayashi1120/Emacs-wgrep@5977b8e
2020-02-24 20:35:59 -05:00
3f50dad5ee completion/ivy: sort projectile files with prescient 2020-02-22 21:35:15 +01:00
7f9623249f Abort company popups when entering normal mode
You likely don't need completion anymore once you exit insert state.
2020-02-20 20:30:43 -05:00