Re: lispy.el - a vi-like Paredit. Some Clojure features added.

2014-02-04 Thread Oleh
OK, I've added a second screencast as both video and gif:
https://raw.github.com/abo-abo/lispy/master/doc/screencast-2.ogv
https://raw.github.com/abo-abo/lispy/master/doc/screencast-2.gif

Oleh

On Tuesday, February 4, 2014 7:41:15 AM UTC+1, Benjamin Peter wrote:

 Thanks but it is playing way too fast considering you have to monitor two 
 windows. (buffer and keys).

-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: lispy.el - a vi-like Paredit. Some Clojure features added.

2014-02-04 Thread Colin Yates
This looks excellent!  Desperately trying to suppress the whole emacs/vi 
battle raging inside which has is now rising up again :).

On Sunday, 2 February 2014 13:44:12 UTC, Oleh wrote:

 Hi all,

 I've recently added some Clojure support to
 https://github.com/abo-abo/lispy.

 A short description of the package is that it's all the Paredit
 functions (and more) bound to unprefixed keys, e.g. a, c, 1, 2
 etc. Nothing to do with evil package. Keys call commands instead
 of self-inserting when the point is in positions called special
 (marked here with |):

 |(defn sqr |[x]| |(* x x)|)|

 This comes together nicely since you rarely want to self-insert in those 
 positions.

 Just to show how succinct the usage can be, you can transform
 from this:

 |(defn sqr [x] (* x x))

 with just 4c to this:

 |(defn sqr [x] (* x x))
 (defn sqr [x] (* x x))
 (defn sqr [x] (* x x))
 (defn sqr [x] (* x x))
 (defn sqr [x] (* x x))

 and further with 3j to this:

 (defn sqr [x] (* x x))
 (defn sqr [x] (* x x))
 (defn sqr [x] (* x x))
 |(defn sqr [x] (* x x))
 (defn sqr [x] (* x x))

 and further with 2; to this:

 (defn sqr [x] (* x x))
 (defn sqr [x] (* x x))
 (defn sqr [x] (* x x))
 ;; (defn sqr [x] (* x x))
 ;; (defn sqr [x] (* x x))

 Here's another example that shows how to transform

 |(map sqr (filter odd? [1 2 3 4 5]))

 to

 (- [1 2 3 4 5]
  (map sqr)
  (filter odd?))|

 I show it in a run-able test form (many more tests at github):

 (should
  (string=
   (lispy-with
|(map sqr (filter odd? [1 2 3 4 5])) 2(-]]]wwlM)
   (- [1 2 3 4 5]\n  (map sqr)\n  (filter odd?))|))

 The steps are:

 1. 2( - wrap with parens. 
 2. - - self-insert (because point isn't special).
 3. ] - forward list - point becomes special.
 4.  - barf.
 5. ]] - forward, barf, forward.
 6. ww - move sexp up twice.
 7. l - exit list forwards.
 8. M - transform sexp to multi-line.
 9. you can e - eval to see if code works.
 
 Full description and some screenshots can be found at 
 https://github.com/abo-abo/lispy.

 Here's a list of Clojure-specific features (cider is used for most):

 - look up doc inline in an overlay with C-1
 - look up function arguments inline with C-2
 - eval with e
 - eval and insert with E
 - goto symbol in file with g (clojure-semantic required)
 - goto definition with F

 The package is available in MELPA if you want to give it a go.
 Feedback welcome.

 regards,
 Oleh





-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


lispy.el - a vi-like Paredit. Some Clojure features added.

2014-02-03 Thread Benjamin Peter
Hello Oleh,

thank you, this looks cool. Haven't tried such addon yet but this looks 
inviting.

Bye

Ben.

-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: lispy.el - a vi-like Paredit. Some Clojure features added.

2014-02-03 Thread Benjamin Peter
Thanks but it is playing way too fast considering you have to monitor two 
windows. (buffer and keys).

-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


lispy.el - a vi-like Paredit. Some Clojure features added.

2014-02-02 Thread Oleh
Hi all,

I've recently added some Clojure support to
https://github.com/abo-abo/lispy.

A short description of the package is that it's all the Paredit
functions (and more) bound to unprefixed keys, e.g. a, c, 1, 2
etc. Nothing to do with evil package. Keys call commands instead
of self-inserting when the point is in positions called special
(marked here with |):

|(defn sqr |[x]| |(* x x)|)|

This comes together nicely since you rarely want to self-insert in those 
positions.

Just to show how succinct the usage can be, you can transform
from this:

|(defn sqr [x] (* x x))

with just 4c to this:

|(defn sqr [x] (* x x))
(defn sqr [x] (* x x))
(defn sqr [x] (* x x))
(defn sqr [x] (* x x))
(defn sqr [x] (* x x))

and further with 3j to this:

(defn sqr [x] (* x x))
(defn sqr [x] (* x x))
(defn sqr [x] (* x x))
|(defn sqr [x] (* x x))
(defn sqr [x] (* x x))

and further with 2; to this:

(defn sqr [x] (* x x))
(defn sqr [x] (* x x))
(defn sqr [x] (* x x))
;; (defn sqr [x] (* x x))
;; (defn sqr [x] (* x x))

Here's another example that shows how to transform

|(map sqr (filter odd? [1 2 3 4 5]))

to

(- [1 2 3 4 5]
 (map sqr)
 (filter odd?))|

I show it in a run-able test form (many more tests at github):

(should
 (string=
  (lispy-with
   |(map sqr (filter odd? [1 2 3 4 5])) 2(-]]]wwlM)
  (- [1 2 3 4 5]\n  (map sqr)\n  (filter odd?))|))

The steps are:

1. 2( - wrap with parens. 
2. - - self-insert (because point isn't special).
3. ] - forward list - point becomes special.
4.  - barf.
5. ]] - forward, barf, forward.
6. ww - move sexp up twice.
7. l - exit list forwards.
8. M - transform sexp to multi-line.
9. you can e - eval to see if code works.

Full description and some screenshots can be found at 
https://github.com/abo-abo/lispy.

Here's a list of Clojure-specific features (cider is used for most):

- look up doc inline in an overlay with C-1
- look up function arguments inline with C-2
- eval with e
- eval and insert with E
- goto symbol in file with g (clojure-semantic required)
- goto definition with F

The package is available in MELPA if you want to give it a go.
Feedback welcome.

regards,
Oleh



-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.