[[file:screenshots/howdoyou.png]]
The result is then showed in an ~org-mode~ buffer. For each result, question and three answers were showed, but they are collapsed by default except the first answer. As this package uses Google to get the links, for each query there will be a dozen of links, the fist link will be used, then users can go to next link and previous link. The author believes that when searching for solutions it is important for users to read both questions and answers, so no "quick look" features such as code only view or code completion are provided.
[[https://melpa.org/#/howdoyou][file:https://melpa.org/packages/howdoyou-badge.svg]]
Spacemacs layer:
https://github.com/thanhvg/spacemacs-eos
Dependencies ~promise~ and ~request~ are required. User must have ~org-mode~ 9.2 or later installed also.
Commands
~howdoyou-query:~ prompt for query and do search
~howdoyou-next-link:~ go to next link
~howdoyou-previous-link:~ go to previous link
~howdoyou-go-back-to-first-link:~ go back to first link
~howdoyou-reload-link:~ reload link
Customization
~howdoyou-use-curl:~ default is true if ~curl~ is available
~howdoyou-number-of-answers:~ maximal number of answers to show, default is 3
~howdoyou-switch-to-answer-buffer~: switch to answer buffer if non nil, default is nil
Use with helm-google-suggest add this snippet to you config file
(with-eval-after-load "helm-net" (push (cons "How Do You" (lambda (candidate) (howdoyou-query candidate))) helm-google-suggest-actions))
Now =helm-google-suggest= will pass suggestion to howdoyou-query as default action.
Note that =spacemas-eos= has its own faster google suggetion engine provided by [[https://github.com/thanhvg/emacs-google-suggest][google-suggest]] package.
add this function definition to your config file
(defun my/howdoyou-with-suggestions ()
"Call howdoyou-query' with suggestions from
counsel-web-suggest'."
(interactive)
(counsel-web-suggest nil
"How Do You: "
(lambda (x)
(howdoyou-query x))))
Now when calling =my/howdoyou-with-suggestion= (either from ~M-x~ or by [[https://www.gnu.org/software/emacs/manual/html_node/elisp/Changing-Key-Bindings.html][key binding]] of your choice) it will pass =counsel-web-suggest= suggestions to howdoyou-query.
[[file:screenshots/howdoyou.gif]]
[[file:screenshots/howdoyou2.gif]]
Test ** generate google html files
cd test bash curl.sh
new google html files are created to run test aganst them. ** run test at project root
cask exec ert-runner
Contributors (in no particular order): [[https://github.com/dvzubarev][dvzubarev]], [[https://github.com/leothelocust][leothelocust]], [[https://github.com/dickmao][dickmao]], [[https://github.com/AloisJanicek][Alois Janíček]], [[https://github.com/EvanMeek][Evan]], [[https://github.com/Boruch-Baum][Boruch Baum]]
Shoutout
References