Fork me on GitHub
#emacs
<
2023-02-06
>
ericdallo12:02:25

๐Ÿ‘€ 10
emacs 15
โœจ 5
zalky14:02:40

This looks great! A little off-topic, but can I ask what you used to produce the animated gif screencast?

ericdallo14:02:11

Sure! It's called peek, really useful and works for Linux (me)

zalky15:02:03

Thanks for the response!

otfrom14:02:42

anyone here use meow as an alternative to evil or holy emacs modes? https://github.com/meow-edit/meow

๐Ÿ‘ 2
Benjamin14:02:43

Yes I do. https://github.com/benjamin-asdf/dotfiles/blob/master/mememacs/.emacs-mememacs.d/lisp/init-meow.el this is probably not so well organized just a lot of lispy and meow stuff for my needs and taste

otfrom14:02:48

thx! I take it you like it?

Benjamin14:02:15

yes I do. The selling point for me to not use evil anymore was that evil implemented it's own search and replace even though emacs already has a system. Meow is bare metal normal emacs and gives you a modal text editing similar to vim binds.

Benjamin14:02:38

there are still some rough edges that make me slightly less effective at text manipulation as I was with evil in the end but I am figuring those out with time

๐Ÿ‘ 2
oly15:02:56

not tried meow, but I have been using boon for quite a while https://github.com/jyp/boon which gives me similar modal editing.

๐Ÿ‘ 2
oly15:02:48

meow beacon mode sounds interesting

๐Ÿ‘ 2
lilactown16:02:00

I've been using it for a few months now and I'm enjoying it. I'm not a power user but, as benjamin said, I like how light weight it is

lilactown16:02:03

my config is here. it's mainly setting up support for my keyboard layout, colemak-dh

xificurC08:02:01

@U4YGF4NGM did you somehow resolve the doom (evil) vs keypad tension?

otfrom08:02:13

I had a play with meow last night, and the tutorial was very focused on multiple cursors. There were definitely some movement things I felt I was missing. Is this fair or did I come away with the wrong impression?

Benjamin08:02:10

I end up using x and s constantly and then lispy things. I honestly don't even use the multiple cursors so much yet. Also ] [ meow-inner-thing meow-bounds-of-thing are crucial. Say you want to mark to the end of a paren you can do ] r

otfrom08:02:02

x to mark a line and s to kill/cut it?

Benjamin08:02:35

yes and s without selection to kill the line. With lispy that preserves parens

otfrom08:02:56

how do you navigate in and out of sexps?

otfrom08:02:05

just hjkl?

Benjamin08:02:15

lispy has opinions about this. usually ( ) , then hjkl move you from sexp to sexp and importantly f moves you inside. Ah also d to go to the other side. I wanted to make a video about this soon ๐Ÿ™‚

otfrom08:02:48

So meow+ lispy then. I'm wondering how combobulate will change things.

Benjamin10:02:49

looks like something to try out ๐Ÿ‘

lilactown16:02:45

@U09FL65DK I moved away from doom to my own config, which uses meow's built in keypad

respatialized16:02:03

Has anyone implemented a wrapper function for cider-interactive-eval that wraps the Clojure expression in a future for background evaluation? Does this capability already exist in CIDER somewhere? It doesnโ€™t seem too hard to implement but I figured itโ€™s worth asking.

vemv16:02:56

IIRC each evaluation you perform in CIDER is in a separate thread, which you can verify by calling (Thread/currentThread) repeatedly. If returning an evaluation takes more than a fixed amount of time, cider.el will handle the timeout gracefully. You can add a future wrapping in the same way that you could manipulate any input textually (e.g. wrap it in (tap>)) but it may be the case that it's not worth it

respatialized16:02:46

Even if they are in separate threads, cider-eval-last-sexp blocks by default until itโ€™s done, so other evaluation has to wait. Am I correct in understanding you that there should be a timeout threshold that returns control after an eval takes sufficiently long?

vemv16:02:13

> Am I correct in understanding you that there should be a timeout threshold that returns control after an eval takes sufficiently long? yes that's the behavior I recall, please grep for timeout in the cider repo cider

2
Benjamin17:02:42

(defun wrap-future (&optional beg end)
  (interactive "r")
  (let ((s (buffer-substring beg end)))
    (delete-region beg end)
    (insert
     (format
      "(def fut-eval (future %s))"
      s))))
don't know how useful it is but here is a future wrapper in emacs ๐Ÿ™‚