Commit graph

161 commits

Author SHA1 Message Date
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
Henrik Lissner
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
Henrik Lissner
72fb5603e7
Minor, general refactor & reformatting
Also swaps C-o and M-o in ivy

And use new ;;;###package cookie (not used yet)
2019-04-06 01:36:46 -04:00
Henrik Lissner
53e0ebb700
Merge pull request #1050 from rschmukler/rschmukler/fix-ivy-buffer-icons
fix: restore +ivy-buffer-icons config var
2019-04-06 00:14:58 -04:00
Henrik Lissner
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
Henrik Lissner
49bbc7107f
Disable fuzzy matching for counsel-rg #1292 2019-03-30 00:07:57 -04:00
Henrik Lissner
60c965ded8
Revert restored revert of ee6e4a8b
Holy reverts Batman.
2019-03-14 00:31:59 -04:00
Henrik Lissner
e50157bcec
Restore reverted ee6e4a8b
Although Yevgnen/ivy-rich#51 was merged upstream, due to Melpa issues,
it hasn't been pulled. I'll restore this under it has.
2019-03-13 01:35:46 -04:00
Henrik Lissner
cec93933d0
Revert ee6e4a8b
Fix was merged upstream: Yevgnen/ivy-rich#51
2019-03-09 04:38:22 -05:00
Henrik Lissner
b6fcd59a01
completion/ivy: remap describe-bindings & set-variable 2019-03-09 03:42:55 -05:00
Henrik Lissner
54d1c0dd56
Minor, general refactors 2019-03-09 03:42:55 -05:00
Henrik Lissner
ee6e4a8b5c
Fix ivy--queue-exhibit: void-function nil error
Until Yevgnen/ivy-rich#51 is merged
2019-03-08 17:58:58 -05:00
Andrew Whatson
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
Henrik Lissner
cf07bac383
Fix persisted workspace storing broken posframes #1017
Not confident this is the best solution, but it will work for now.
2019-02-28 14:19:05 -05:00
Andrew Whatson
faa4367636 Improved switch-to-buffer-other-window for ivy 2019-02-25 22:29:41 +10:00
Ryan Schmukler
861856df8d fix: restore +ivy-buffer-icons config var
This commit restores the functionality of the `+ivy-buffer-icons`
variable. I tested it in both childframe and regular mode.
2019-02-22 16:56:18 -05:00
Henrik Lissner
d7308799f6
Remove -z flag from ag/rg commands
No guarantee the user has the associated decompression libraries
installed. I'll implement feature detection for these later.
2019-02-21 19:13:35 -05:00
Henrik Lissner
4daa9271a0
Introduce general.el & rewrite map!
+ Now uses an overriding keymap for leader keys, so that it is always
  available, even outside of normal/visual states. In insert/emacs
  states, or in sessions where evil is absent, an alternative prefix is
  used for leader/localleader keys. See these variables:
  + doom-leader-prefix
  + doom-leader-alt-prefix
  + doom-localleader-prefix
  + doom-localleader-alt-prefix
+ Keybinds now support alternative prefixes through the new :alt-prefix
  property. This is useful for non-evil users and non-normal evil
  states. By default, this is M-SPC (leader) and M-SPC m (localleader).
+ Removed +evil-commands flag from config/default (moved to
  feature/evil/+commands.el).
+ config/default/+bindings.el has been split into
  config/default/+{evil,emacs}-bindings.el, which one is loaded depends
  on whether evil is present or not. The latter is blank, but will soon
  be populated with a keybinding scheme for non-evil users (perhaps
  inspired by #641).
+ The define-key! macro has been replaced; it is now an alias for
  general-def.
+ Added unmap! as an alias for general-unbind.
+ The following modifier key conventions are now enforced for
  consistency, across all OSes:
    alt/option      = meta
    windows/command = super
  It used to be
    alt/option      = alt
    windows/command = meta
  Many of the default keybinds have been updated to reflect this switch,
  but it is likely to affect personal meta/super keybinds!

The map! macro has also been rewritten to use general-define-key. Here
is what has been changed:

+ map! no longer works with characters, e.g. (map! ?x #'do-something) is
  no longer supported. Keys must be kbd-able strings like "C-c x" or
  vectors like [?C-c ?x].
+ The :map and :map* properties are now the same thing. If specified
  keymaps aren't defined when binding keys, it is automatically
  deferred.
+ The way you bind local keybinds has changed:

    ;; Don't do this
    (map! :l "a" #'func-a
          :l "b" #'func-b)
    ;; Do this
    (map! :map 'local "a" #'func-a
                      "b" #'func-b)

+ map! now supports the following new blocks:
  + (:if COND THEN-FORM ELSE-FORM...)
  + (:alt-prefix PREFIX KEYS...) -- this prefix will be used for
    non-normal evil states. Equivalent to :non-normal-prefix in general.
+ The way you declare a which-key label for a prefix key has changed:

    ;; before
    (map! :desc "label" :prefix "a" ...)
    ;; now
    (map! :prefix ("a" . "label") ...)

+ It used to be that map! supported binding a key to a key sequence,
  like so:

    (map! "a" [?x])  ; pressing a is like pressing x

  This functionality was removed *temporarily* while I figure out the
  implementation.

Addresses: #448, #814, #860
Mentioned in: #940
2018-12-22 04:14:43 -05:00
Henrik Lissner
c2392039f0
counsel-describe-face -> counsel-faces
counsel-faces displays useful information alongside each face.
2018-10-29 02:31:51 -04:00
Henrik Lissner
ae99f52b99
completion/ivy: re-enable counsel-projectile
See ddf107a.
2018-10-19 17:46:30 -04:00
Henrik Lissner
c6c3054fbb
completion/ivy: update ivy-rich integration
And remove unused/defunct code. Also fixes a `file-in-directory-p: Wrong
type argument: stringp, nil` error when invoking counsel-recentf.
2018-10-17 14:34:43 -04:00
Henrik Lissner
4a9a2c00d9
Remove smex-completion-read reference
Doom no longer uses smex.
2018-09-26 12:29:55 -04:00
Henrik Lissner
b53b300657
Don't affect ivy-switch-buffer's transformer
ivy-rich already does this under the hood. This is redundant.
2018-09-23 16:30:43 -04:00
Henrik Lissner
f415762e8b
completion/ivy: fix ivy-rich integration 2018-09-19 23:34:00 -04:00
Henrik Lissner
86d51dd056
Add +doom-dashboard-mode to swiper-font-lock-exclude
It breaks the dashboard
2018-09-09 09:58:22 -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
7a578eb242
Move counsel+helpful integration to ivy module 2018-08-17 03:37:07 +02:00
Henrik Lissner
7d1246888b
Only set display function for counsel-ag
counsel-rg and counsel-pt both identify themselves as counsel-ag, so
these extra specifications were unnecessary.
2018-08-15 21:19:59 +02:00
Henrik Lissner
ddf107a507
Disable counsel-projectile temporarily #93
Until upstream resolves ericdanan/counsel-projectile#93
2018-08-11 01:59:37 +02:00
Henrik Lissner
9a3e71731c
completion/ivy: bring back flx 2018-08-04 13:47:19 +02:00
Henrik Lissner
e916a4d6fe
Remove ivy-prescient
Doesn't bring enough to the table, slows down fuzzy searches too much,
and alters the way ivy highlights.
2018-08-04 02:42:32 +02:00
Henrik Lissner
41a641f53b
Disable counsel-projectile-find-file transformer 2018-08-04 02:30:26 +02:00
Henrik Lissner
1f1f2c3ebf
completion/ivy: fix ivy--regex-fuzzy typos 2018-08-03 21:57:47 +02:00
Henrik Lissner
35b88a597b
Activate ivy-prescient-mode on ivy-mode 2018-08-03 21:40:54 +02:00