Commit Graph

149 Commits

Author SHA1 Message Date
263c82def1 Remove references to old ivy/helm search commands
And consolidate ex commands into :pg[rep][!] and :pg[rep]d[!].
2019-11-18 15:06:11 -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
449ddb986c Minor refactors & reformatting across the board 2019-11-15 22:17:31 -05:00
bd4755123f Replace */tasks commands w/ magit-todos-list
If we want ivy/helm interfaces to it, we should use magit-todos as a
backend.
2019-11-15 22:17:31 -05:00
a383293530 Merge pull request #2017 from bennofs/fix-jumplist-empty-buffer
Fix nil error in +ivy/jump-list for empty buffers
2019-11-12 16:19:44 -05:00
e19c73843d Display empty string instead of magic EMPTY BUFFER 2019-11-11 22:03:48 +01: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
31b2a5a19e Fix nil error in +ivy/jump-list for empty buffers
For empty buffers which don't have any lines, `(thing-at-point 'line)`
will return `nil`. This broke `+ivy/jump-list`.
2019-11-04 11:57:52 +01:00
cf21cdc68c completion/ivy: minor refactor 2019-10-25 20:25:21 -04:00
f79d191701 completion/ivy: use region is active & fix regex quoting
Fixes #1930
2019-10-22 12:36:43 -04:00
45a17c86ba Add +ivy/jump-list & bind 'SPC b j' to it
Falls back to evil-show-jumps for non-evil users.
2019-10-20 19:57:27 -04:00
e0469e14c0 Minor refactors & reformatting across the board 2019-10-20 19:57:27 -04:00
cbc7c2aaf0 completion/ivy: remove -S switch
If ivy-case-fold-search == 'auto, counsel-{ag,rg} does this for us.
2019-10-20 10:58:53 -04:00
d5e6c8813e completion/ivy: use counsel-compile
Wrote wrappers to replace compile and projectile-compile-project.
2019-10-17 01:41:37 -04:00
6ba7c97501 Remove the_platinum_searcher support
I'm reducing the scope of our project search so we can eventually focus
on ripgrep. By specializing I can extend Doom's features for project
searching.
2019-10-10 22:02:18 -04:00
e10cd8cf2e Insult byte-compiler's mom
Yeah, that shut him up.
2019-09-20 23:10:53 -04:00
d7ed52f3c7 Add ui/hydra module
And conforms all existing hydras to the naming convention for
interactive commands, e.g.

  +vc-gutter-hydra -> +vc/gutter-hydra
2019-07-22 23:51:12 +02:00
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
854d8ce00a Fix (null uniquify-buffer-name-style) errors from ivy
Errors out in Emacs 25.x
2019-07-17 16:14:38 +02:00
750f45328a Mark helm/ivy search engine autoloads interactive
Otherwise they don't show up in M-x
2019-07-02 23:17:19 +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
86ebe08593 Show dirname in ivy-switch-buffer #1506
Makes buffer names more readable in case uniquify-buffer-name-style is
nil (which is necessary to work around a limitation of persp-mode).
2019-06-26 14:28:40 +02:00
0a7221798b Start file searchs from basic sh/dash shell
Uses the most basic, uncustomized shell to a) prevent interference
caused by slow shell configs and b) speed up project text searches. This
comes at the cost of isolating these programs from envvars that the user
may have set in their shell configs in order to change
ag/rg/pt/git-grep/grep's behavior.

If this bothers you, change +ivy-file-search-shell to your shell (or
to the value of `shell-file-name`).

Possibly relevant to an issue mentioned in #1260
2019-06-17 15:10:55 +02:00
76143d5a51 Escape pipes in selection for rg project searches
Pipes need to be double-escaped, because they're meaningful to both ivy
and ripgrep, and searches conducted on a selection need to be literal.
2019-06-16 23:04:39 +02:00
6f3c1c6d00 Fix how project search escapes spaces #1487
When invoking project search (via SPC / p) with an active selection.
2019-06-13 09:37:01 +02:00
4ef345fe50 Fix how project search escapes regexps #1486
When invoking project search (via SPC / p) with an active selection, the
selection is captured and escaped, but was escaped incorrectly.
2019-06-12 20:17:47 +02:00
750d7629e1 Fix {git-,}grep backends for project search #1479 2019-06-10 16:04:48 +02:00
2f569eda51 Silence malformed function warnings from ivy-hydra 2019-05-21 00:30:42 -04:00
fe36bbca1f Standardize C-c C-e for ivy wgrep
Removes backtab in favor of standardizing C-c C-e. Already used by helm,
wgrep and dired.
2019-05-21 00:30:42 -04:00
d3cb394ce4 Refactor +ivy/tasks
Just realized ivy passes the candidate in its original data structure to
its handlers.
2019-05-19 02:18:26 -04:00
2fa2639d64 Add value column to {describe,helpful}-variable 2019-05-14 10:06:36 -04:00
876e2a250f Fix ivy-switch-buffer virtual buffer support 2019-05-13 23:45:21 +10:00
9cdd5b2f99 Fixes for ivy-switch-buffer icons
Corrects the ivy-switch-buffer transformer to use buffer icons (not file
icons), and fixes alignment issues in the icon display.
2019-04-27 00:14:53 +10:00
77e4cc4d58 💥 Remove :feature category
:feature was a "catch-all" category. Many of its modules fit better in
other categories, so they've been moved:

- feature/debugger -> tools/debugger
- feature/evil -> editor/evil
- feature/eval -> tools/eval
- feature/lookup -> tools/lookup
- feature/snippets -> editor/snippets
- feature/file-templates -> editor/file-templates
- feature/workspaces -> ui/workspaces

More potential changes in the future:

- A new :term category for terminal emulation modules (eshell, term and
  vterm).
- A new :os category for modules dedicated to os-specific functionality.
  The :tools macos module would fit here, but so would modules for nixos
  and arch.
- A new :services category for web-service integration, like wakatime,
  twitter, elfeed, gist and pastebin services.
2019-04-24 18:16:04 -04:00
7e7d6ae5a2 Fix hydra-ivy keybind on M-o #1342 2019-04-20 02:18:49 -04:00
0f8baf3f3e Minor comment tweaks 2019-04-17 11:19:37 -04:00
ee11262aca Fix wrong-number-of-args in project-search-from-cwd 2019-04-17 00:32:35 +10:00
b6611d215f Fix wrong-num-of-args error on SPC *
Adds QUERY and DIRECTORY args to +{ivy,helm}/project-search
2019-04-14 13:39:30 -04:00
3ef2abfb22 Improve ivy-switch-buffer transformer
- Highlights remote/tramp files with ivy-remote face
- Highlights non-file-visiting buffers with ivy-subdir face
- Highlight modified buffers with ivy-modified-buffer face
- Disable built-in ivy-switch-buffer transformer (redundant with our own
  transformer)
2019-04-10 19:24:17 -04:00
a4283427f5 Fix autoloaded hydras
They weren't marked as interactive, making them unavailable for `M-x` or
keybinds.
2019-04-07 16:06:52 -04:00
00bb00649b Fix #1065: add +ivy-buffer-unreal-face option 2019-04-07 15:55:45 -04:00
e60b44d255 Fix #1311: remove project check in ivy transformer
Also: minor refactor of `cond` fallback blocks
2019-04-07 15:55:45 -04:00
2514b7476e completion/ivy: refactor transformers
- Mode icons will now fall back to fundamental-mode icon, rather than
  the blank file icon (whose irregular width ruins ivy's formatting)
- Fixes project-based buffer name highlighting in switch-to-buffer
- Fixes a void-variable ivy-rich--ivy-switch-buffer-transformer error

Relevant to #1159
2019-04-06 01:37:11 -04:00
337c16cb68 Dear byte-compiler, you drive me to drink,
About Emacs Lisp that I have to rethink.
The world could end,
And humanity transcend,
But you'd still be here raising a stink.
2019-04-05 23:52:29 -04:00
09a833338f Fix +ivy-buffer-preview no longer ignoring virtuals
Upstream updated `counsel--switch-buffer-update-fn` to check
`ivy--virtual-buffers` instead of `ivy-use-virtual-buffers`.
2019-03-21 14:37:23 +10:00
0f0b0d720b Tidy up +ivy-buffer-preview functionality
Let-binding `ivy-use-virtual-buffers` is neater and more robust than the
previous solution using some copy-pasta.  Calling the unwind routine
will become important once counsel is patched to restore buffer-list.
2019-03-08 16:14:19 +10:00
c7a29ca025 Add optional support for switch-buffer previews
When `+ivy-buffer-preview` is non-nil, our various switch-buffer
functions will preview the current candidate buffer, like how
`counsel-switch-buffer` works.

When `ivy-use-virtual-buffers` is non-nil, virtual buffers are *not*
previewed unless `+ivy-buffer-preview` is `'everything`.
2019-03-07 14:28:56 +10:00
46f7e6c7e6 Improve +ivy/switch-workspace-buffer
Allow current buffer to be selected when switching other window, so you
can quickly get a second window to the current buffer.

Preselect the most recently selected buffer, so repeated C-x b RET will
switch between your two most recent buffers.
2019-03-07 01:18:37 +10:00
4f40e67e28 Better regexp escaping for ivy project search 2019-03-05 01:59:05 -05:00
faa4367636 Improved switch-to-buffer-other-window for ivy 2019-02-25 22:29:41 +10:00