practicalli

Drew Verlee 2023-07-22T23:31:58.153389Z

@jr0cket are you using astonvim for your clojure work? Or just helping the community grow?

practicalli-johnny 2023-07-23T10:46:32.511929Z

In part, yes I have been using AstroNvim to work on the practicalli/project-template project, which is Clojure. Conjure is a very nice Clojure REPL client. I start the REPL process in one terminal and then open AstroNvim with the Clojure project in a second. I use Kitty terminal which has multiple terminal tabs. I included some opinionated Conjure config, not showing the HUD (repl read only output) as I didnt find it as useful as the inline eval results or eval to comment. I've been using Portal inspector a lot more, which provides the features of the Cider Inspector, along with a few more visuals. I have been using AstroNvim as the main tool in the last couple of months and have found the setup quite rewarding. I have mainly been working on the Practicalli books, the Project templates and the REPL workflow for services (integrant, donut components, portal, mulog setup in dev/user.clj) Neovim & AstroNvim has worked very well.

👀 1
practicalli-johnny 2023-07-23T10:51:08.265369Z

AstroNvim does make using Neovim much easier, specifically managing plugins with Lazy and installing LSP servers, format and lint tools with mason. I use Neogit as a Git client which is similar to Magit, although there are some features missing (rebasing - modify or reword a commit is not there yet), although a lot of features have been added this month, so very good progress is being made.

practicalli-johnny 2023-07-23T10:55:36.499759Z

I still used Spacemacs when working with multiple projects or need to do Git rebase, or anything that AstroNvim doesnt do well or support. Neovim / AstroNvim does not have the range of features that Spacemacs does, but that is only a concern if those features are needed. AstroNvim also doesnt have the nice mnemonic key bindings of Spacemacs, although there is now a local leader so key bindings for Conjure are the same.

practicalli-johnny 2023-07-23T10:59:23.928949Z

The vim/neovim/astronvim communities are usually very helpful, although I try steer clear of the vim : command approach as it feels quite challenging to retain. e.g. search and replace never seems to work quite right and requires a lot to remember. However, I found that multiple-cursors (Visual-Multi package) is much easier to use and has whichkey bindings in case I forget how to use it.

practicalli-johnny 2023-07-23T11:01:54.697679Z

The biggest win for me as a touch typist is the responsiveness of Neovim, it can keep up with me as I type. I also like the very minimal and responsive UI of Neovim and the AstroNvim choice of plugins. The diagnostics feedback is also presented very well, with info coming from LSP servers, format and Lint tools. The neovim/astronvim setup was a bit more challenging the Spacemacs and I have a lot to learn (or maybe not) about lua, mostly I've managed to copy paste - although still managed to create a Clojure language pack for AstroNvim.

practicalli-johnny 2023-07-23T11:04:44.250929Z

I think Spacemacs slowed down a bit for me at some point when using native-compilation, although one build of Emacs I had really did respond very fast. But after a few weeks it slowed down a little in response to typing. If I didnt type so fast, then I wouldnt have noticed any problem (I also flnd the slack app a little unresponsive some times, so I notice this sort of thing.)

practicalli-johnny 2023-07-23T11:08:13.130589Z

I assume I'll be using a mixture of Neovim/AstroNvim and Spacemacs for a while. Neovim is still evolving quite quickly and Emacs is starting to introduce some major changes in the next releasese (eglot is here already and treesitter is coming soon). I think (hope) treesitter is adopted and makes Emacs even more responsive, but it will take some work from Emacs package maintainers to make the most out of treesitter.

practicalli-johnny 2023-07-23T11:10:19.655119Z

I'm also unclear the direction Emacs Cider is taking. It seems to be growing by taking on clj-refactor features. Juggling Cider and LSP still feels a little uncertain, so I hope these projects become easier to use together without a lot of config options.

practicalli-johnny 2023-07-23T11:18:13.256879Z

I dont think the AstroNvim community needs my help, they are very active. Although there may be a few more PR's to the Astrocommunity (additional packages that are imported with one line of config. If anyone finds the Practicalli AstroNvim setup useful from the Clojure community, then that's great, although I'm doing the config and Neovim book for my own needs at the moment. I havent really had any questions about my Neovim use until now 🙂 More questions are welcome. I am thinking of a screencast, giving a tour of how I use Neovim/Astronvim for Clojure development, in part to see what I am missing 😄

Drew Verlee 2023-07-23T16:25:03.247999Z

> after a few weeks it slowed down a little in response to typing. I found that autocomplete was making things way worse, i turned it off.

Drew Verlee 2023-07-23T16:29:16.945879Z

I'm also unclear the direction Emacs Cider is taking. It seems to be growing by taking on clj-refactor features.Juggling Cider and LSP still feels a little uncertain, so I hope these projects > become easier to use together without a lot of config options. I feel that, but LSP was the first tool that allowed for navigation by references in cljs. So even i don't use anything else, that's a clear win 🙂 . I think cider is just trying to keep up with the demand and changing ecosystem. It might be trying to do too much, but a lot of the time, having a separate tool would be just as burdensome. Like portal is nice, but cider inspect is more integrated and it's always there.

fmjrey 2023-07-26T12:20:44.350659Z

Thanks #practicalli for the write up on your usage of the different tools, was almost going to ask! As I'll be navigating different projects and languages I'll stick to spacemacs for now.

practicalli-johnny 2023-07-26T16:08:11.485879Z

Happy to share my recent experience @fmjrey. Up until the last couple of months I've used Spacemacs almost exclusively, especially for commercial work. The only editor I liked before using Spacemacs was Lighttable, which was great for learning Clojure in the early days and for creating demos with the live evaluation. Neovim does provide an very good alternative to Spacemacs, although my setup is not as rich in features or as nice a menu system, but it is very fast. I've also used VSpaceCode (VS Code & Calva) that provides a decent modal editing, although with some limits. VS Code has an excellent Live Share feature that is very good for real pairing and collaborative coding (although I haven't worked with people familiar with Calva & key bindings, so can be a bit of a barrier)