fix autoload error if evil wasn't loaded before
Just pass the list of keys to completing-read
fix: prescient does not want symbol keys, convert them to strings
yasearch-mode binding never worked, remove it
just bind gb in motion state to yasearch-operator manually
Fix yasearch-mode-map not properly defined
evil-define-key doesn't work when used to modify a lexical variable.
The problematic code looks like this:
;; I copied this pattern from evil-commentary; this works there because
;; it doesn't use lexical-binding.
(let ((map (make-sparse-keymap)))
(evil-define-key 'normal map "gb" 'yasearch-operator)
map)
With dynamic binding, it returns (with characters rewritten in human
readable form):
(keymap
(normal-state keymap "Auxiliary keymap for Normal state"
(?g keymap
(?b . yasearch-operator))))
With lexical binding, it returns:
(keymap)
ie. (evil-define-key ...) has no effect.
Why?
- It uses evil-delay, which takes quoted sexps as code. I don't think
its argument forms can see lexical variables outside.
- with (evil-define-key 'normal map ...), it generates (boundp 'map).
boundp only works for non-lexical variables.
add a new variable for setting browser specifically for yasearch
give up on trying to support evil without pulling it in as dependency
try to move evil support into a with-eval-after-load form
don't require yasearch-evil from main file
don't autoload yasearch-evil
add yasearch-evil explanation in README.md
fix yasearch-evil not actually working
move engine-asking to its own function
force query with prefix arg