Commit graph

152 commits

Author SHA1 Message Date
Henrik Lissner
4b4447d31e
completion/ivy: dim non-project entries in counsel-recentf
Added +ivy-recentf-transformer to counsel-recentf. Entries that aren't
in the same project as the buffer recentf was opened from will be
slightly dimmed.
2018-01-08 19:05:12 -05:00
Henrik Lissner
1f52669684
completion/ivy: refactor switch-buffer transformer #331
Also switches to my private fork of ivy-rich until the changes are
merged upstream.
2018-01-08 19:04:21 -05:00
Henrik Lissner
3beb1f098a
completion/ivy: use font-lock-doc-face instead of ivy-remote 2018-01-08 15:02:54 -05:00
Henrik Lissner
f2e5321ce1
feature/ivy: fix virtual buffers in +ivy/switch-workspace-buffer #331
The former +ivy/switch-workspace-buffer constructed its own collection
of buffers, so ivy-use-virtual-buffers would have no effect on it.  Use
internal-complete-buffer instead and ivy-read will know what to do under
the hood.
2018-01-08 14:43:58 -05:00
Henrik Lissner
1c2683ce9d
completion/ivy: add ivy-rich; rewrite custom transformer #331
+ivy-buffer-transformer does *most* of what ivy-rich does, so lets cut down on
our own code, bring in ivy-rich, and add our customizations on top of it.

This fixes ivy-use-virtual-buffers support, too.
2018-01-08 14:41:41 -05:00
Henrik Lissner
9e3682535a
Fix describe-(function|variable) and ivy-resume
describe-(function|variable) weren't remapped to their counsel variants,
so ivy-resume wouldn't resume those sessions properly.
2018-01-06 00:08:53 -05:00
Henrik Lissner
c6764e0f24
Fix file search opening files from wrong default-directory 2018-01-04 16:16:45 -05:00
Henrik Lissner
815fc6ef02
Update +ivy*counsel-ag-function b/c of upstream changes 2018-01-04 16:16:44 -05:00
Amos Bird
052cee93db fix ivy.
Due to this commit 4f57b5a9eb
2018-01-04 15:49:18 +08:00
Henrik Lissner
a41f02e6e7
completion/ivy: turn off my "very magic" regex mod
This makes regex consistent between evil-search, ivy, ripgrep and ag.
2017-12-10 14:54:33 -05:00
Henrik Lissner
76a4ae459d
Fix obsolete (when|if)-let messages in Emacs 26 2017-12-10 14:49:52 -05:00
Henrik Lissner
85cfcba8ff
completion/ivy: fix :rgcwd not showing any results 2017-12-08 23:14:12 -05:00
Henrik Lissner
5ce249eaec
Fallback engine detection for +ivy file search 2017-11-05 01:16:36 +01:00
Henrik Lissner
6b9849fd57
Add conditional autoload/compile cookies #229 2017-11-05 01:16:35 +01:00
Henrik Lissner
59f39576de
Don't yank line at point for blank project searches 2017-10-04 18:07:49 +02:00
Henrik Lissner
55b9788351
ivy: fix void-variable counsel--git-grep-dir
Upstream updates replaced counsel--git-grep-dir with counsel--git-dir.
This broke a couple project-search utilities in doom.
2017-09-08 16:58:03 +02:00
Henrik Lissner
d2d71795e5 Merge branch 'develop'
* develop: (64 commits)
  Prepare for v2.0.5
  Temporarily disable doom-themes-visual-bell-config
  Fix neotree always changing root
  Update changelog
  Fix wrong-type-argument error from +org/insert-item
  Make +ivy-buffer-transformer autoloadable
  General refactor & cleanup
  Correct troubleshooting link in README
  org: set org-ellipsis to downward chevron
  Add elfeed-(show|search)-mode to evil-snipe-disabled-modes
  Autoload json library
  Rethink smartparens config #181
  README: expand troubleshooting
  Fix wiki links in README (again)
  Correct intro in README
  Fix wiki links in README
  Prevent private commands from affecting projectile cache
  Remove recentf-filename-handlers fix for projectile-recentf-files
  lang/sh: remove unused setup.sh
  Convert +ivy/switch-buffer to transformers + add mode icons #169
  ...
2017-09-03 23:32:23 +02:00
Henrik Lissner
c7957c9321
Make +ivy-buffer-transformer autoloadable 2017-09-02 20:28:04 +02:00
Henrik Lissner
8e0e4d67b1
Convert +ivy/switch-buffer to transformers + add mode icons #169 2017-08-21 21:54:12 +02:00
Brandon Orther
e07972cffb Gracefully handle +ivy-tasks match errors
When trying to use +ivy-tasks in one of my projects it was failing w/ error:
`(Stack overflow in regexp matcher)`. This was due to ripgrep searching a folder
in the project root containing a minified bootstrap CSS source map file (which
had a `TODO:` in it). Since that file was a single line of text concatenated
together, the regex was getting passed ~540KB of text.

To make it easier to recognize what is causing +ivy-tasks to fail I wrapped the
failing code in `condition-case-unless-debug` and report the error and the file
causing the error using `message!`. So now if there is a failure during the
extraction of task from the search cmd's results it moves onto the next and
alerts the user in separate pop-up.

To avoid including the bootstrap file in the ripgrep search result, I added a
`.ignore` file to the project that tells `rg` to ignore it.

NOTE: I was surprised that this problem file was include in the ivy-tasks search
because I expected the search to respect projectile ignore settings. Respecting
projectile's ignored/unignored files and directories wouldn't be too difficult
considering projectile provides a robust collection of functions to help support
this. Also projectile's `projectile-ag` function is a great reference.
2017-08-15 00:37:24 -07:00
Henrik Lissner
edeea02de3
Refactor +ivy--file-search & +ivy docstrings 2017-07-08 15:03:23 +02:00
Henrik Lissner
ddfcf11819
Remove current buffer from +ivy/switch-buffer #144 2017-07-08 13:42:21 +02:00
Henrik Lissner
32069eefd3
Add sharp-quote to function symbols 2017-07-07 14:44:49 +02:00
Henrik Lissner
0f76a2bc3d
completion/ivy: remove s.el dependency 2017-07-07 14:44:32 +02:00
Henrik Lissner
822c78554f
destructuring-bind => cl-destructuring-bind 2017-06-25 02:04:50 +02:00
Henrik Lissner
9ccffc718e
Fix +ivy/switch-buffer when buffer-list is empty 2017-06-16 02:10:33 +02:00
Henrik Lissner
e7b08082fd
Remove unused/redundant ivy bindings 2017-06-09 19:44:41 +02:00
Henrik Lissner
f65ae53e2e
ivy: remap apropos; load ivy-mode sooner; refactor 2017-06-09 13:38:54 +02:00
Henrik Lissner
102c7df400
Fix #100: void variables in +ivy--get-buffers 2017-06-09 13:16:30 +02:00
Henrik Lissner
c7254e7bdc
Major optimization refactor, across the board
+ enable lexical-scope everywhere (lexical-binding = t): ~5-10% faster
  startup; ~5-20% general boost
+ reduce consing, function calls & garbage collection by preferring
  cl-loop & dolist over lambda closures (for mapc[ar], add-hook, and
  various cl-lib filter/map/reduce functions) -- where possible
+ prefer functions with dedicated opcodes, like assq (see byte-defop's
  in bytecomp.el for more)
+ prefer pcase & cond (faster) over cl-case
+ general refactor for code readability
+ ensure naming & style conventions are adhered to
+ appease byte-compiler by marking unused variables with underscore
+ defer minor mode activation to after-init, emacs-startup or
  window-setup hooks; a customization opportunity for users + ensures
  custom functionality won't interfere with startup.
2017-06-09 00:47:45 +02:00
Henrik Lissner
717d0ec06f completion/ivy: revise documentation + slight refactor 2017-05-28 02:48:20 +02:00
Henrik Lissner
41a288d21d Refactor minibuffer bindings
+ conform their function names to naming conventions
+ place ivy-specific version in ivy autoloads
2017-05-26 20:22:45 +02:00
Henrik Lissner
5c34732266 +ivy/tasks: ag as a fallback 2017-05-20 18:40:13 +02:00
Henrik Lissner
7f385e6d6e private/hlissner: add q/Q help-mode-map bindings 2017-05-17 21:07:01 +02:00
Henrik Lissner
aeb2f23a3e completion/ivy: remove unused +ivy/kill-ring
It was also redundant with counsel-yank-pop
2017-05-16 18:05:39 +02:00
Henrik Lissner
28ba0607a5 completion/ivy: fix M-RET opening result in other-window 2017-05-14 17:40:33 +02:00
Henrik Lissner
6f6680489a completion/ivy: flexible column width for +ivy/tasks 2017-05-14 13:49:11 +02:00
Henrik Lissner
877ae26a96 completion/ivy: rewrite file search (:find => :ag/:rg) 2017-05-12 11:50:05 +02:00
Henrik Lissner
d99519d077 completion/ivy: fewer false positives with +ivy/tasks 2017-05-10 14:05:09 +02:00
Henrik Lissner
bfd79e78ce completion/ivy: fix +ivy/tasks, add :todo & +ivy:todo 2017-05-10 08:39:40 +02:00
Henrik Lissner
e265431507 General refactor, cleanup & commenting 2017-05-10 05:28:50 +02:00
Henrik Lissner
57a74b1761 completion/ivy: change +ivy:file-search
+ Removed literal search
+ Only escapes inserted selection
+ BANG now means: don't respect .gitignore
+ rg: use smart-case (-S) instead of case insensitivity (-i)
2017-05-10 05:25:40 +02:00
Henrik Lissner
f05819c85f completion/ivy: refactor ag other-window action; replace def-counsel-action macro 2017-05-10 05:20:54 +02:00
Henrik Lissner
b632319796 completion/ivy: add docstrings to evil funcs 2017-05-06 22:55:41 +02:00
Henrik Lissner
ce9fdaf839 completion/ivy: update ivy-minibuffer-map & +ivy/kill-ring docstring 2017-05-06 16:45:48 +02:00
Henrik Lissner
434a5efeda completion/ivy: switch from ag to ripgrep 2017-05-06 16:45:48 +02:00
Henrik Lissner
dc9a7c9780 Refactor out more s.el dependency 2017-04-17 02:30:54 -04:00
Henrik Lissner
0e7254d312 General cleanup + refactor 2017-04-17 02:20:07 -04:00
Henrik Lissner
f9ddc53bfc completion/ivy: escape regexp for literal ag searches 2017-04-11 09:25:04 -04:00
Henrik Lissner
3bebdb68a3 completion/ivy: add other-window behavior to +ivy/switch-buffer 2017-02-24 20:03:08 -05:00