Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Please DO NOT require hydra #46

Closed
c02y opened this issue Feb 2, 2015 · 5 comments
Closed

Please DO NOT require hydra #46

c02y opened this issue Feb 2, 2015 · 5 comments

Comments

@c02y
Copy link

c02y commented Feb 2, 2015

When I update my packages from melpa, I noticed that the hydra package of yours has been downloaded and you require it inside lispy package, but only a few lines of code is related, I don't know if you are going to add more or not, but I rarely use hydra, and honestly, the functions lispy provides is too much, I already disable several lispy-mode-map bindings,

lispy is great, it provides a lot of commands I won't even imagine, the bad thing is, it will use a lot of bindings to replace the default ones related to Ctrl and Alt which I already defined and maybe will use in my own init.el.

Have you ever thought about making it cleaner and cutting off some features/functions that are not that important, you really don't have to take every possibility into consideration and put it into lispy.

@bcarrell
Copy link
Contributor

bcarrell commented Feb 2, 2015

Going to take a bit of a different stance: I personally like the experimental features and aggressive changes and fast development pace. If I don't like a particular feature, I'll modify them. I'd like to keep Hydra and see what it can bring.

@abo-abo
Copy link
Owner

abo-abo commented Feb 2, 2015

I have the same opinion: lispy is very far from stable. I keep trying new ideas; some of
them work, some of them don't work. But to get the really good ones I have to try a lot of
new ideas.

Besides, (require 'hydra) does absolutely nothing to modify the behavior of your Emacs.
It just defines a couple of macros and nothing is done unless the user calls these macros
in her config. What I did so far, was to make the previously unbound z into a
Hydra. No other behaviors were changed. But you should expect that x will
become a Hydra eventually, possibly with current behavior as a fallback through a custom
var.

Note that this is completely different from the currently very popular evil package which
installs and enables undo-tree even when evil-mode is not on.

If you like to be conservative, you can stick to stable versions of lispy.
Each time I release a new version, I list the user-visible changes, so that you can modify
them if you want in your own config.

Btw, here's my personal config; I don't just merge it into lispy willy-nilly:

(use-package lispy
    :load-path "~/git/lispy"
    :init
    (progn
      (define-key lispy-mode-map (kbd "φ") 'lispy-parens)
      (define-key lispy-mode-map (kbd "σ") 'lispy-braces)
      (define-key lispy-mode-map (kbd "ρ") 'lispy-brackets)
      (define-key lispy-mode-map (kbd "θ") 'lispy-quotes)
      (define-key lispy-mode-map (kbd "C-φ") 'lispy-parens-down)
      (define-key lispy-mode-map (kbd "χ") 'lispy-right)
      (define-key lispy-mode-map (kbd "C-M-a") 'lispy-beginning-of-defun)
      (define-key lispy-mode-map (kbd "C-x C-j") 'lispy-debug-step-in)
      (define-key lispy-mode-map (kbd "C-8") nil)
      (define-key lispy-mode-map (kbd "C-9") nil)
      (define-key lispy-mode-map (kbd "<return>") 'lispy-alt-line)
      (define-key lispy-mode-map (kbd "RET") 'lispy-newline-and-indent-plain)
      (define-key lispy-mode-map (kbd "C-M-h") 'lispy-backward)
      (setq lispy-helm-columns '(1 46 51 80))
      (setq lispy-no-permanent-semantic t)
      (set-face-background 'lispy-command-name-face "#d8d8f7")))

@abo-abo abo-abo closed this as completed Feb 2, 2015
@c02y
Copy link
Author

c02y commented Feb 2, 2015

Please push stable version of lispy to http://stable.melpa.org/packages/ so I can install it using package.el.

@abo-abo
Copy link
Owner

abo-abo commented Feb 2, 2015

It's already there at http://stable.melpa.org/#/lispy.

@c02y
Copy link
Author

c02y commented Feb 2, 2015

Sorry, I didn't see it in the *Packages* buffer after installing it but I can get it at http://stable.melpa.org/packages/ , it turns out, if you've already installed it, there will not be another one from other repo, I have to remove the installed one and refresh the buffer.

BTW, if it is possible, please do not put it into lispy stable version, I know hydra won't do a thing or modify the behavior of my Emacs unless I call it manually. The thins is, if I got something in my disk but I never use it, I will just delete it, but if I delete hydra, the hydra will be downloaded again once I update lispy.

abo-abo added a commit that referenced this issue Jun 10, 2015
* lispy-pkg.el (hydra): Remove dependency.
(multiple-cursors): Remove dependency.

* lispy.el (defhydra): Add a stub macro that offers to install hydra and
  recompile/reload lispy when a hydra command is called.

Re #74
Fixes #46
sooheon pushed a commit to sooheon/lispy that referenced this issue Sep 10, 2015
* ivy.el (ivy-read): All args but PROMPT and COLLECTION are now keys.
The existing basic calls to `ivy-read' should still work, the others
need to be updated. It's best to try to use `ivy-completing-read' if
possible, since it conforms to the `completing-read' arguments.
New arguments: REQUIRE-MATCH and HISTORY. If HISTORY is nil, `ivy-history'
is used.

(ivy--sorted-files): Don't try to extend the collection.
(ivy-completing-read): Update.

* swiper.el (swiper--ivy): Update.

* counsel.el (counsel-describe-symbol-history): New defvar.
(counsel-describe-variable): Update the call, require match, use
`counsel-describe-symbol-history'.
(counsel-describe-function): Update the call, require match, use
`counsel-describe-symbol-history'.

* ivy-test.el: Update tests, since zero and one length input doesn't
  return immediately any more.

Re abo-abo#46
sooheon pushed a commit to sooheon/lispy that referenced this issue Sep 10, 2015
* ivy.el (ivy-previous-history-element): Update.
(ivy-next-history-element): Update.
(ivy--maybe-scroll-history): New defun. When the history element string
has ivy-index property, set `ivy--index' to that.

Fixes abo-abo#46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants