Commit graph

294 commits

Author SHA1 Message Date
Henrik Lissner
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
Henrik Lissner
182b8a3ba9
completion/ivy: ivy-extra-directories = nil
Removes the ./ and ../ entries from ivy file completion commands. These
can still be typed in to navigate buffers.
2019-10-20 10:58:53 -04:00
Henrik Lissner
0e9596244d
counsel-find-file-at-point = nil
This is disruptive when you use counsel-find-file to quickly jump to
another file in or near the current directory. There's already gf for
this sort of thing anyway.
2019-10-20 10:58:52 -04:00
Henrik Lissner
19ec099e25
completion/ivy: swiper-action-recenter = t 2019-10-18 21:10:56 -04:00
Henrik Lissner
ace4c4c782
completion/ivy: minor refactor 2019-10-18 21:10:55 -04:00
Alexey Shiklomanov
f2233b73cb Rename ivy-dispatching-done{-hydra,}
Based on this Ivy commit:

1ad457d8e7 (diff-59c8f3240a0249f3809ead0286a450b7)
2019-10-18 12:51:50 -04:00
Henrik Lissner
323e0adf45
Minor refactors & reformatting across the board 2019-10-17 01:47:58 -04:00
Henrik Lissner
d5d85d1b03
completion/ivy: make counsel-compile projectile-aware 2019-10-17 01:45:30 -04:00
Henrik Lissner
1826421cba
completion/ivy: persist counsel-compile-history 2019-10-17 01:43:37 -04:00
Henrik Lissner
d5e6c8813e
completion/ivy: use counsel-compile
Wrote wrappers to replace compile and projectile-compile-project.
2019-10-17 01:41:37 -04:00
Henrik Lissner
46b7945015
completion/ivy: extend +ivy-task-tags
To support the new tag list used in ui/hl-todo. These were derived from
https://github.com/bbatsov/emacs-lisp-style-guide
2019-10-15 22:24:56 -04:00
Henrik Lissner
9c548a60e3
completion/ivy: load counsel earlier 2019-10-12 19:31:05 -04: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
Rudi Grinberg
5c76bfce75 Use mdfind for counsel-locate on a Mac
This is the more sensible option as locate isn't configured by default
and spotlight is turned on by default.

Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2019-09-23 00:35:57 +09:00
Henrik Lissner
e10cd8cf2e
Insult byte-compiler's mom
Yeah, that shut him up.
2019-09-20 23:10:53 -04:00
Henrik Lissner
20eb5ce4f6
Bind SPC / f to locate/counsel-locate 2019-09-15 16:21:10 -04:00
Henrik Lissner
2cd1c43217
Suppress errors in +ivy--set-jump-point-maybe-h 2019-08-17 16:04:26 -04:00
Henrik Lissner
1dcbdc8dfb
completion/ivy: optimize counsel-file-jump
Instead of `find`, force it to use fd or ripgrep, if available.
2019-08-06 19:43:54 -04:00
Henrik Lissner
19ecf8e46a
Correct last inline hook defuns
See a3e262c7 for rationale
2019-07-28 16:10:53 +02:00
Henrik Lissner
82ae3a73f3
def-advice!->defadvice! & conform to new advice conventions
This commit does two things:

- Renames def-advice! to defadvice!, in the spirit of naming convenience
  macros after the function/macro they enhance or replace.
- Correct the names of advice functions to indicate visibility and
  intent. A public advice function like doom-set-jump-a is meant to be
  used elsewhere. A private one like +dired--cleanup-header-line-a
  shouldn't -- it likely won't work anywhere but the function(s) it was
  made to advise.
2019-07-23 17:24:56 +02:00
Henrik Lissner
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
Henrik Lissner
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
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
fb16afb4f2
ivy-prescient-retain-classic-highlighting = t
Because prescient's highlighting turns any assumptions themes make
about ivy's faces on their head, making them look odd.
2019-07-11 17:23:20 +02:00
Henrik Lissner
a201409fdd
Minor refactors across the board 2019-07-10 21:27:12 +02:00
Henrik Lissner
563629cbd3
Remove unneeded autoloads 2019-07-06 23:22:27 +02:00
Henrik Lissner
9a8faf1df3
completion/ivy: don't ignore order in file search 2019-07-02 13:12:21 +02:00
Henrik Lissner
b5c5b7f10d
Move posframe+persp-mode fix to ui/workspaces 2019-06-26 14:31:06 +02:00
Henrik Lissner
33ae889e39
Enable evil-collection-ivy 2019-06-14 11:05:54 +02:00
Henrik Lissner
b1ecd68381
completion/ivy: fix +fuzzy & +prescient
Causd by ivy-re-builders-alist overwriting their modifications.
2019-06-11 18:11:51 +02:00
Henrik Lissner
766fc3e4a9
completion/ivy: inhibit ivy completion in evil-ex
`ivy-completion-in-region' struggles with completing certain
+evil-ex-specific constructs, like globs (:e prefix*.el) or vim filename
modifiers (:e %:p:h).
2019-06-10 09:38:56 +02:00
Henrik Lissner
1de21f57eb
completion/ivy: use ivy--regex-ignore-order 2019-06-10 09:38:55 +02:00
Brice Waegeneire
761bc570aa completion/ivy: ivy-posframe upstream update 2019-06-04 00:01:28 +02:00
Andrew Whatson
9f4352006f Increase ivy-flx-limit for improved fuzzy behavior
The default setting of 200 is too low for common use-cases like
`describe-function`, `describe-variable` or `counsel-projectile`.

This has a performance impact, but it's barely noticeable on a fast
machine. If performance is not acceptable, set `ivy-flx-limit` lower or
consider disabling the `+fuzzy` feature entirely.
2019-05-29 00:46:57 +10:00
Andrew Whatson
2a511a6576 Add +prescient option for :completion ivy
This provides an alternative backend for filtering and sorting ivy
searches. Uses prescient instead of flx for fuzzy completion when both
+prescient and +fuzzy are selected.
2019-05-29 00:46:57 +10:00
Henrik Lissner
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
Henrik Lissner
a7069b93f2
Remove vestigial imenu-anywhere remappings 2019-05-20 21:09:10 -04:00
Henrik Lissner
39d4fa2256
Improve better-jumper integration into ivy
And remove unnecessary set-jump on imenu-after-jump-hook (it should
happen before the jump, not after).
2019-05-19 02:18:26 -04:00
Henrik Lissner
c4a5a1b007
Remove redundant +ivy--switch-buffer transformer
Mentioned in #1408
2019-05-14 10:12:37 -04:00
Henrik Lissner
2fa2639d64
Add value column to {describe,helpful}-variable 2019-05-14 10:06:36 -04:00
Andrew Whatson
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
Henrik Lissner
1911f44e66
completion/ivy: add +icons flag
This replaces +ivy-buffer-icons.

Renders #1362 unnecessary.
2019-04-25 22:20:31 -04:00
Henrik Lissner
a4c5396558
Add better-jumper
Replaces evil's jumplist; makes its functionality available for non evil
users.
2019-04-24 18:16:04 -04: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
7e7d6ae5a2
Fix hydra-ivy keybind on M-o #1342 2019-04-20 02:18:49 -04:00
Andrew Whatson
e3cd82016e Disable fuzzy-matching for swiper-isearch 2019-04-16 11:07:06 +10:00
Henrik Lissner
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
Henrik Lissner
f9b6f6746f
General, minor refactor/reformatting 2019-04-08 23:03:19 -04:00
Henrik Lissner
00bb00649b
Fix #1065: add +ivy-buffer-unreal-face option 2019-04-07 15:55:45 -04:00