Commit graph

58 commits

Author SHA1 Message Date
Henrik Lissner
51744ce294
Fix #4180: omit .git from file searches 2020-11-16 20:00:07 -05:00
Henrik Lissner
a904b718f8
Default to showing dotfiles in ripgrep searches 2020-10-24 16:51:56 -04:00
Henrik Lissner
3b6fd1b360
Deactivate mark after successful file search
Fixes #2523
2020-02-11 13:36:23 -05:00
Jonas Møller
93ebe4a4bb Moved adding of helm-hide-minibuffer-maybe hook
From a racy when condition in the posframe autoload, into an
unconditional hook in the helm config.el file.
2020-01-23 12:58:39 +01:00
Jonas Møller
dc8ad7896a Display header line in Helm posframe
But only if helm-echo-input-in-header-line is set to true.
2020-01-22 12:06:29 +01:00
Henrik Lissner
b144a3862a
Bind 'SPC h d S' to text search; expand ivy/helm file-search API 2019-12-23 01:51:43 -05:00
Henrik Lissner
e6de13b4c9
Treat +ivy/project-search & +default/project-search as counsel-rg
This gives the former commands access to any actions (on C-o) or counsel
configuration meant for counsel-rg.
2019-12-17 23:31:10 -05:00
Henrik Lissner
6facc534ce
completion/helm: replace helm-ag with helm-rg 2019-12-05 16:10:46 -05:00
Henrik Lissner
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
Henrik Lissner
fd979d8e52
completion/helm: fix void variable refs #2071 2019-11-18 14:17:48 -05:00
Henrik Lissner
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
Henrik Lissner
449ddb986c
Minor refactors & reformatting across the board 2019-11-15 22:17:31 -05:00
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
6a67572e1d
Fix 'no such live buffer' errors from helm +childframe 2019-08-22 18:54:30 -04:00
Henrik Lissner
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
Henrik Lissner
51d3b1b424
💥 revise advice naming convention (1/2)
This is first of three big naming convention updates that have been a
long time coming. With 2.1 on the horizon, all the breaking updates will
batched together in preparation for the long haul.

In this commit, we do away with the asterix to communicate that a
function is an advice function, and we replace it with the '-a' suffix.
e.g.

  doom*shut-up -> doom-shut-up-a
  doom*recenter -> doom-recenter-a
  +evil*static-reindent -> +evil--static-reindent-a

The rationale behind this change is:

1. Elisp's own formatting/indenting tools would occasionally struggle
   with | and * (particularly pp and cl-prettyprint). They have no
   problem with / and :, fortunately.
2. External syntax highlighters (like pygmentize, discord markdown or
   github markdown) struggle with it, sometimes refusing to highlight
   code beyond these symbols.
3. * and | are less expressive than - and -- in communicating the
   intended visibility, versatility and stability of a function.
4. It complicated the regexps we must use to search for them.
5. They were arbitrary and over-complicated to begin with, decided
   on haphazardly way back when Doom was simply "my private config".

Anyhow, like how predicate functions have the -p suffix, we'll adopt the
-a suffix for advice functions, -h for hook functions and -fn for
variable functions.

Other noteable changes:
- Replaces advice-{add,remove}! macro with new def-advice!
  macro. The old pair weren't as useful. The new def-advice! saves on a
  lot of space.
- Removed "stage" assertions to make sure you were using the right
  macros in the right place. Turned out to not be necessary, we'll
  employ better checks later.
2019-07-22 02:27:45 +02:00
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
0f8baf3f3e
Minor comment tweaks 2019-04-17 11:19:37 -04:00
Andrew Whatson
ee11262aca Fix wrong-number-of-args in project-search-from-cwd 2019-04-17 00:32:35 +10:00
Henrik Lissner
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
Henrik Lissner
3c01de8876
Fix #1320: generalize SPC *
Was formerly using ripgrep, and only ripgrep.
2019-04-10 20:14:50 -04:00
Henrik Lissner
ce22e21853
Refactor helm commands 2019-03-02 02:04:11 -05:00
Henrik Lissner
a89a2aa70c
completion/{helm,ivy}: fix stringp error
Cause by the expectation that doom-project-root would never return
nil (which was changed to return nil if not in a valid project, due to
an update upstream, in projectile).
2018-12-11 18:59:30 -05:00
Aria
d378fdbed0 Clean up after swoop removal
removed in 7f5e778b0c
2018-12-08 19:17:52 +11:00
Henrik Lissner
9d374b3bfb
Fix "not in project" projectile error #1037
helm-projectile-find-file doesn't respect
projectile-require-project-root by hard-coding it's no-project error
handling into its helm-projectile-* functions. This means if you try to
use helm-projectile-find-file in a non-project you get this error. So we
use helm-find-files for non-projects instead.
2018-12-05 14:16:42 -05:00
Henrik Lissner
11793be240
completion/helm: fix void-variable error #954
The grep backend assumes helm-projectile is available and references its
variables, but in some cases, it won't be (e.g. if a search command is
used early enough after startup).
2018-10-17 12:13:03 -04:00
Henrik Lissner
53fe7a1f04 Refactor Project API to reflect changes upstream
projectile-project-root no longer returns `default-directory` if not in
a project (it returns nil). As such, doom-project-* functions (and their
uses) have been refactored.

+ doom-project-p & doom-project-root are aliases for
  projectile-project-p & projectile-project-root.
+ doom-project-{p,root,name,expand} now has a DIR argument (for
  consistency, since projectile-project-name and
  projectile-project-expand do not).
+ The nocache parameter is no longer necessary, as projectile's caching
  behavior is now more sane.
+ Removed some projectile advice/hacks that are no longer necessary.
+ Updated unit tests
2018-09-28 21:13:27 -04:00
Henrik Lissner
22a94fc41a
Make helm/ivy project search api more consistent
+{helm,ivy}/*-from-cwd no longer accepts a third DIRECTORY argument.
2018-09-09 09:58:21 -04:00
Henrik Lissner
7d3ffdff06
Remove third line in section headers
This is truly important stuff. We've saved many lives with this update.
2018-09-09 09:58:19 -04:00
Henrik Lissner
5021b0dbb6
completion/helm: fix undefined helm/grep* 2018-08-28 19:35:56 +02:00
Henrik Lissner
1a6519aa45
Display search command & directory in helm header
Displays the full command (minus formatting options) and target
directory rather than the unhelpful "The Silver Searcher", even if we're
using ripgrep or pt.
2018-08-17 03:56:45 +02:00
Henrik Lissner
c27ab26fd9
Refactor +helm-file-search & show prompt 2018-08-15 23:34:22 +02:00
Henrik Lissner
11b8ee55a1
Use helm-do-ag instead of helm-ag #805
Fixes project search matching against the leading file name.

And ensures modeline remains disabled.
2018-08-15 21:19:59 +02:00
Henrik Lissner
9d7f8c359e
Add docstrings to helm project search commands 2018-08-13 21:47:56 +02:00
Henrik Lissner
7d617f1541
Refactor helm project search API
+ Heavily refactored +helm-file-search
+ Removed -z flag from all engines by default
+ Changed the behavior of the universal argument for from-cwd
  interactive commands (e.g. +helm/rg-from-cwd). It used to enable
  recursive searches, but now enables inclusion of hidden and compressed
  files in the search instead. *-from-cwd searches are always recursive
  now.
+ Now generates +helm/X and +helm/X-from-cwd commands dynamically.
+ Split +helm/project-search into +helm/project-search-from-cwd.
  Universal arguments are passed from these commands to their delegated
  engine command.
2018-08-13 03:47:33 +02:00
Henrik Lissner
b0c71c2492
Add +helm/workspace-mini command & bind to SPC b b
+ Rename +helm/persp-buffer-list to +helm/workspace-buffer-list
+ Silence compiler warnings when feature/workspaces is disabled
+ Throw error if feature/workspaces is disabled and these commands are
  called.
2018-08-13 03:47:30 +02:00
Henrik Lissner
3b4fd56cac
Force helm posframe to respect min-(width|height)
And enable solaire-mode if available, and unused in origin buffer (to
make it easier to see posframe over non-solaire-mode buffers).
2018-08-11 01:59:37 +02:00
Henrik Lissner
01dcc248cf
Improve posframe/modeline focus fix
switch-to-buffer is more reliable than select-window
2018-08-09 12:57:46 +02:00
Henrik Lissner
3d363d4cb1
completion/helm: refactor posframe support (again) 2018-08-07 14:42:58 +02:00
Douglas Wilson
fd13df48a5 Fix helm-execute-persistent-action
With (helm +childframe) in doom! section, without this patch
execute-persistent-action opens an extra non-child frame. This
doesn't play nicely with my tiling window manager.

This patch is taken from helm-posframe, and seems to fix it.
2018-08-07 08:31:50 +12:00
Henrik Lissner
9c11ee9eef
Fix workspace-restricted helm-buffers-list
Now SPC b b and SPC b B can both enjoy the power of helm-buffers-list,
while the former is restricted to the buffers in the current workspace.
2018-08-06 00:31:23 +02:00
Henrik Lissner
41697e4e6e
Move helm posframe up slightly
And display input line in posframe.
2018-08-06 00:31:22 +02:00
Henrik Lissner
ca6afcf3c7
Add +helm-posframe-border-width option
Controls posframe's internal-border-width
2018-08-06 00:31:18 +02:00
Henrik Lissner
860dff3e63
completion/helm: refactor posframe config 2018-08-05 00:39:54 +02:00
Henrik Lissner
2c956593cf
completion/helm: don't index HOME
Invoke helm-find-files instead
2018-08-04 16:00:11 +02:00
Henrik Lissner
277915b28c
Fix order of +(helm|ivy)-project-search-engines 2018-07-24 14:18:44 +02:00
Henrik Lissner
a8d41a93c0
Fix helm project search commands
Used ivy variable in helm commands, causing a void-variable error.

Reported by @ar1a
2018-07-24 14:07:13 +02:00
Henrik Lissner
e865526c75
Add +(helm|ivy)-project-search-engines variables
This allows you to control what search engines for project-search
commands (bound to SPC / p) to try, and in what order. If you didn't
want to use ripgrep, for instance, remove 'rg from these variables, or
move it to the end of the list.
2018-07-23 00:06:47 +02:00