Fork me on GitHub
#spacemacs
<
2018-10-04
>
plexus08:10:42

Does anyone know anything about the status of Spacemacs? Looking at the repo the last activity on the main branch was over three weeks, and issues and pull requests are being added at a rate of several per day...

vijaykiran08:10:53

activity happens on develop not on master

vijaykiran08:10:17

also - I don’t think 3 weeks is enough to worry about such a large project

plexus08:10:13

@vijaykiran I was talking about the develop branch. I do find it worrisome that such a project is apparently hinging on a single maintainer.

vijaykiran08:10:21

I’m not sure if that’s a red-flag yet 🙂

vijaykiran08:10:12

personal anecdata is that I am always on develop and it has been stable software - so no-commits don’t worry me that much

plexus08:10:47

hmmm I guess we have different experiences. I've been on develop for a long time as well, but have more than once had to patch things. It feels more like alpha/pre-release quality to me than stable software.

vijaykiran08:10:22

quite possible that my usage isn’t similar to others 🙂 it is emacs after all

vijaykiran08:10:49

I think there is official gitter - perhaps folks there have better pic

vijaykiran08:10:06

I remember whenever syl is on holiday it slows down a bit

practicalli-johnny08:10:10

There are several maintainers of the project who have been working on the 3.0 stable release, Spacemacs melpa and other aspects. There is a lot of interaction from the maintainers when raising issues and pull requests (that is my experience with the Clojure layer related pull requests).

practicalli-johnny08:10:14

If someone posted on Reddit that something is dying it means that it has become mainstream. Many of the Clojure developers I know use Spacemacs for their daily work, as do I.

👍 8
practicalli-johnny08:10:40

I've used develop branch for the last year and a half and the only issue I had was an org-mode package. A quick Google and someone had a fix already.

plexus08:10:47

Found some good info in this thread about the current process https://github.com/syl20bnr/spacemacs/issues/8686#comment-302284122

plexus08:10:43

Don't get me wrong I am absolutely not here to bash on Spacemacs or its maintainers, just trying to understand what the situation is.

vijaykiran08:10:28

@plexus I didn’t take it as bashing at all 🙂 I know you, man

plexus08:10:04

just making sure, lots of people in this channel 🙂

plexus08:10:28

It seems Syl has a policy of keeping the core team small, which sounds to me like setting themselves up for burnout. That said there seems to be some constructive discussion about process and policies so curious to see where it will go.

vijaykiran08:10:05

like clojure.core 😛

👍 4
practicalli-johnny09:10:16

I can understand wanting to keep the core team small. They are building something quite unique on top of Emacs and so need to ensure the contributions continue to build on this work effectively. It's a similar approach taken by Clojure.core and on a larger scale, Linux kernel.

practicalli-johnny09:10:48

There is perhaps more scope to add maintainers for specific language layers, although having a core maintainer shadow them would be appropriate.

practicalli-johnny09:10:52

There are several people here that have helped shape and test the Clojure layer and have had good support from the core maintainers.

practicalli-johnny09:10:10

I would love to see master be updated every 6 months to make the project look more active to the new user. However, thinking about all the interesting development and changes that go into all the hundreds (thousands) of packages out there, my own needs suit the develop branch rolling release far better.

practicalli-johnny09:10:20

Thanks for sharing your concerns @plexus, it is good to discuss these to ensure we aren't complacent. I will put more effort myself into contributing back (as I am writing a book on Spacemacs, so want to see it continue to be successful)

practicalli-johnny09:10:18

@plexus thanks for all the great contributions to the Clojure community, your efforts are much appreciated

plexus10:10:10

> I am writing a book on Spacemacs That's very cool! Also quite an undertaking, respect!

practicalli-johnny14:10:37

Thank you @plexus. The book currently has a narrow focus on Clojure development with Spacemacs, but am steadily expanding the general workflows of Evil mode (as I learn them) so most should apply to other languages. Lots of great feedback of ideas from this channel and #clojure-uk and the London Clojure community. Work in progress of the book is here https://practicalli.github.io/spacemacs/

kirill.salykin15:10:24

is it possible to fold/expand in spacemacs only on specific level? for instance fold all except 1 levels (top forms)? similar to magit-show-section-level-1?

practicalli-johnny16:10:13

@kirill.salykin have you discovered the fold transient state, SPC z . Or in Vim Normal state, the z keybinding shows a menu that contains the code folding commands

kirill.salykin16:10:10

But I don’t see any levels mentioned there?

kirill.salykin16:10:23

I can collapse/expand all...

kirill.salykin16:10:02

Is it possible to collapse all except top level forms?

practicalli-johnny18:10:51

@kirill.salykin not sure what you mean by levels. Code folding does what I expect, i dont know what (or why) you need anything different. We all have different tastes though, so should be easy to hack something by looking at the code.

ag18:10:53

@kirill.salykin I guess you can write it yourself, shouldn’t be very difficult. But very often when I need something non-trivial, I soon find it that I actually don’t need that at all

👍 4
Mario C.18:10:43

I think he means

(defn my-fun [_] ;this is first level
  (some-fn "arg1" .... :this is second level
    ));

Mario C.18:10:33

I just go around folding functions in the way with z-c

Mario C.18:10:47

I open a file and automatically do z-m

practicalli-johnny18:10:17

well then we would need to agree on what levels are because Mario, your first level is actually three levels potentially, the symbol for the function, the doc string (abscent) and the argument list

practicalli-johnny18:10:35

and what happens if you have sequential code forms in the top level expression. I get what you are asking, but this could be quite bespoke to the individual developer.

practicalli-johnny18:10:56

With Org-mode, Markdown and Magit, then you already have levels. In Clojure it seems you would need to impose your own level semantic (or make that customisation so it fits different tastes). Or am I missing something completely.

Mario C.18:10:15

Hopefully this explains better visually what we mean by levels

kirill.salykin18:10:49

Yes, Mario perfectly explained what I meant

kirill.salykin18:10:52

Similar to what magit do when you press 1,2,3

practicalli-johnny19:10:56

I would suggest you just dont need that in Clojure because your functions are less complex (or should be). Most of my production code has function definitions that are only a few lines deep, so I have never considered folding any differently that the current way. Do you have any Clojure examples when you see an advantage in folding at different levels (and what should each level contain. With languages that have more complex syntax and structure, then yes I can see the benefit.

kirill.salykin19:10:14

For instance defn let if do - 4 levels deep, and I won’t consider it being complex

kirill.salykin19:10:31

Or couple nested let

kirill.salykin19:10:53

It is not must have thing

kirill.salykin19:10:02

But sometimes seems handy)

practicalli-johnny20:10:32

@kirill.salykin assuming you are using the default evil folding method, you could try origami instead. Edit your .spacemacs file and update dotspacemacs-folding-method 'origami. This adds a recursive open and close, and what it calls an org-mode header collapse (which is what I understand as your levels). Changing this setting will download the origami package, so I suggest restarting Emacs rather than just reloading the configuration. I still believe you will need to teach the folding about the levels you want, by writing your own parser. The https://github.com/gregsexton/origami.el website has some basic details

ag20:10:37

origami works fine for some languages. but it sucks for others. same thing can be said about evil-fold. I wish there was an easy way to configure these for different modes

practicalli-johnny21:10:53

There is also https://github.com/mrkkrp/vimish-fold/blob/master/vimish-fold.el which some have commented to be really good for everything, however, I dont think this has been added to Spacemacs. I am trying out Origami now, but it seem less useful for Clojure than evil-fold, as folding seems to only work at the top level. I could be doing something wrong, or the Clojure parser for origami needs tweeking. I would love to see the argument list still shown when folding, as an example.

practicalli-johnny21:10:04

If anyone wants to try the evil-vimish-fold, you can add it to your .spacemacs file as follows 1) add the package name evil-vimish-fold to dotspacemacs-additional-packages 2) add (evil-vimish-fold-mode 1) to user-config