Skip to content
This repository has been archived by the owner on Oct 21, 2022. It is now read-only.

Porting features from paredit-plus #18

Open
5 tasks
cldwalker opened this issue Nov 6, 2014 · 4 comments
Open
5 tasks

Porting features from paredit-plus #18

cldwalker opened this issue Nov 6, 2014 · 4 comments
Assignees

Comments

@cldwalker
Copy link
Member

This is a meta issue to port handy paredit functions from paredit-plus. We need to have one well-maintained plugin we can all rely on. Features that should be ported (list updated as needed):

  • Kill sexp and add to CodeMirror's yank buffer
  • Raise sexp
  • Splice sexp
  • Wrap with ({[
  • Join sexp

I'll take this on unless @otijhuis is interested in helping with some of it (I know you're back in emacs land ;))

@cldwalker cldwalker self-assigned this Nov 6, 2014
@kenny-evitt
Copy link

@cldwalker I could really use 'wrap'. Let me know when you could go over this with me; at least a push in the right direction.

@cldwalker
Copy link
Member Author

@kenny-evitt Unfortunately I don't know any of this code base. If you just want wrap fns to use, paredit-plus has them. If you want to add to this plugin that's also great. We may also want to consider adopting @rundis' https://github.com/rundis/parembrace at some point
@rundis Do you know what advantages and disadvantages parembrace has compared to this plugin?

@rundis
Copy link

rundis commented Oct 23, 2015

From the top of my head;

Advantages in favour of parembrace

  • It's not far from being feature-complete compared to the emacs version. I'e supports much more of paredit than this plugin. it also support additional handy features
  • The code is more readable, maintainable and the ops are more composable
  • It uses rewrite-cljs so the codebase is smaller. And rewrite-cljs really knows how to parse, traverse and rewrite clojure/clojurescript/edn code.
  • It's better documented (not than paredit-plus, but the LT paredit that is) !

Disadvantages by using parembrace

  • It really only supports clojure/clojurescript/edn. It's biggest limitation (but also it's greatest advantage, working on clojure ast nodes through a zipper rather than all editor and text parsing/tokenization)
  • It's not as fast (but mostly fast enough)

@kenny-evitt I'm a little bit familiar with the code of this plugin, but really if we are to continue supporting a language neutral paredit, I think the code base needs a serious rewrite to make it maintainable.
From a personal perspective I don't really work on any other lisps so I'm not interested in putting effort into this plugin, my time would be betters spent improving parembrace.

I'd be more than happy to hand over ownership of parembrace to LT :-)

@kenny-evitt
Copy link

@cldwalker No worries. I'll put working on this plugin onto the 'maybe' list then. I'm not sure what's responsible for the feature, but I can wrap a selection if I make a 'regular selection' – it's just the Vim selections (and, therefore, the Vim navigation features) that don't work.

@rundis I'll have to play with parembrace now too. I've got a list with several of your plugins on it to get thru eventually.

Maybe we should just canonize paredit-plus as the 'official' paredit plugin. There haven't been any updates in a while, but there aren't really any major open issues either.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants