Commit Graph

111 Commits

Author SHA1 Message Date
5092bd82f9 Fix doom/help-search-{load-path,loaded-files}
counsel-rg-base-command now accepts a list.

Closes #3323
2020-06-07 13:55:23 -04:00
35ec72d080 Rename perl module to raku.
It doesn't actually contain any Perl config.
2020-06-05 21:01:23 +02:00
92b98bed11 Fix doom/help-search-loaded-files
Would throw a string type error because load-history doesn't only
contain sublists whose CARs are strings.
2020-05-19 17:33:57 -04:00
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
0c3ffbbb25 Fix wrong-type-arg arrayp error on doom/help search commands
The org crawler assumed that no headings were empty, which led to errors
when they were.
2020-05-03 16:38:44 -04:00
61b7368d49 Add a few missing modes to hdm alist
Rule was mostly to add major-modes defined by packages bundled in the module
2020-05-01 02:03:04 +02:00
2d766cfa0c Remove :lang assembly
This module is too trivial, and provides nothing that the user couldn't
install themselves.
2020-04-23 23:28:50 -04:00
2c2df9df8c Fix & extend doom/help-packages
+ It would display Doom's commit, rather than the package's
+ Add Homepage link
+ Fix module lists for packages that aren't installed
2020-03-13 17:33:40 -04:00
dd402b7db3 Remove references to enh-ruby-mode 2020-03-12 11:29:54 -04:00
d39961b30d Replace doom/help-package-homepage w/ straight-visit-package-website
No need to reinvent the wheel.
2020-01-24 22:19:00 -05:00
29250133e8 Replace doom/describe-symbol w/ helpful-symbol
And helpful-at-point.
2020-01-11 17:21:35 -05:00
1c237106aa Don't pollute module help warnings with text props 2020-01-04 17:12:49 -05:00
27bf3c85b5 Generalize thing-at-point & region functions 2020-01-03 02:39:47 -05:00
678a5d1f7c Improve prompts for various help commands
To make it clearer what you're searching for.
2019-12-28 19:57:37 -05:00
b38501a67b Refactor load-path & loaded-files search commands
Follow up to 0df480bf8
2019-12-28 19:55:44 -05:00
fe1642e854 Add special goto def/docs support in doom! blocks
- Pressing gd on a module in your doom! block will now browse that
  module's directory.
- Pressing K on a module will jump to that module's documentation, if any.
- Pressing K on a module flag will jump to that flag's description
  within that module's documenation.
- This is now explained in init.example.el

Closes #2249
2019-12-26 01:41:45 -05:00
59152248e6 bin/doom: fix wrong-type-argument hash-table-p errors #2227
We can't be consulting the active doom state before it has be
initialized.
2019-12-23 14:20:04 -05:00
b144a3862a Bind 'SPC h d S' to text search; expand ivy/helm file-search API 2019-12-23 01:51:43 -05:00
c13b8df5df Minor refactors & reformatting 2019-12-05 14:56:16 -05:00
ffc29a547c Associate clojurescript-mode with :lang clojure
For doom/help-modules
2019-11-24 19:39:10 -05:00
5b190c9eca Unfold hidden subtree after doom-completing-read-org-headings
Affects doom/help* commands, as well as +default/org-notes-headlines,
and others (any command that uses doom-completing-read-org-headings to
search org files).
2019-11-24 19:21:20 -05:00
a9f412bf5e Fix doom/help-* commands for helm users #2107 2019-11-24 16:50:46 -05:00
ebe1da4282 doom-module-from-path: exclude psuedo-modules #2107
Don't include :core and :private modules in '<help> d m'. They aren't
real and no help can be derived from them.
2019-11-23 15:01:34 -05:00
a66872fe25 Focus on ripgrep; remove ag, git-grep & grep support
We're focusing on ripgrep so we can iterate on search functionality in
Doom quicker. There is nothing the other search backends can do that
ripgrep can't. It is now a hard dependency for Doom.
2019-11-17 01:19:59 -05:00
44d5e097c9 shell-command-to-string -> doom-call-process #1887
Minor optimization to remove a layer of indirection when starting
processes.
2019-11-08 16:02:06 -05:00
633fd7c95f Exclude *.org files from doom/help-packages{,-config} 2019-11-03 15:43:18 -05:00
7a10a68f4e Merge pull request #1998 from rgrinberg/fix-autoload-cookie
Fix autoload cookie for doom/help-search-loaded-files
2019-11-01 13:09:28 -04:00
ec4a030370 Fix buttons in doom/help-packages 2019-11-01 20:43:22 +08:00
7900cef7da Follow symlinks when searching autoloads
Signed-off-by: Rudi Grinberg <me@rgrinberg.com>
2019-11-01 10:42:39 +09:00
0e2c642a86 Fix autoload cookie for doom/help-search-loaded-files
Signed-off-by: Rudi Grinberg <me@rgrinberg.com>
2019-11-01 10:30:56 +09:00
1dd73b7486 Integrate helpful into doom/describe-active-minor-mode 2019-10-26 13:30:53 -04:00
d0ae6c9bda Merge module list into doom/help-search 2019-10-26 02:12:58 -04:00
592c548b24 Fix ref to renamed function in doom/help-* helper
And improve their UX by displaying a loading message while Doom crawls
the headings.
2019-10-26 02:12:58 -04:00
ac58eaf031 Add comment to search loaded .el files
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2019-10-23 14:41:12 +09:00
0df480bf85 Bind 'SPC h d l' for text-searching load-path
Co-authored-by: Rudi Grinberg <139003+rgrinberg@users.noreply.github.com>
2019-10-23 00:51:09 -04:00
a8cc68e00b Add doom/homepage command
Not that the site exists yet, but I'm tired of having all these tidbits
of uncommitted code laying about. It'll exist eventually!
2019-10-20 15:14:37 -04:00
55e00bbd26 re-search-forward to search-forward when no re
When no regular expression is present, it's faster and simpler to use
search-forward

Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2019-10-13 12:25:41 +09:00
82167ab48a Remove :lang vala module
To small to warrant a module and vala-mode is unmaintained. It's trivial
for end users to install it themselves.
2019-10-10 21:31:13 -04:00
9e3974d2f3 doom/help-faq: restrict to second-levels headings 2019-10-10 16:11:41 -04:00
e10cd8cf2e Insult byte-compiler's mom
Yeah, that shut him up.
2019-09-20 23:10:53 -04:00
31ccd9be78 Replace vestigial references to def-package!
def-package! is deprecated and is replaced with use-package! to reduce
confusion about its purpose and connection to use-package.
2019-09-13 22:00:34 -04:00
44ef61a7f7 Fix doom/help-packages 2019-09-03 16:53:41 -04:00
e3d6d13be5 Fix doom/help-packages
Also adds doom-package-backend function.

TODO: Report more information about straight packages.
2019-07-29 03:18:38 +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
060ede0e2e General, minor reformatting across the board
And an offering of blood to our great lord Byte Compiler-sama.
2019-07-22 02:37:45 +02:00
b90dede1ab 💥 Replace package.el/quelpa with straight #374
There are a few kinks to iron out, but for the most part it's done. Doom
Emacs, powered by straight. Goodbye gnutls and elpa/quelpa issues.

This update doesn't come with rollback or lockfile support yet, but I
will eventually include one with Doom, and packages will be (by default,
anyway) updated in sync with Doom.

Relevant threads: #1577 #1566 #1473
2019-07-22 02:30:40 +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
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
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