I have to be honest: I was enjoying Emacs -- even if all I was doing was small stuff -- but the current rms/fsf situation kinda makes me want to drop everything.
(It's not "Emacs SUCKS!" or anything else, it is just kinda like a statement, you know?)
@juliobiason Don't. While RMS do post on the dev mailing list at times, he hasn't been in charge of its development for very long.
@juliobiason Unfortunately I haven't found anything else that I'd be willing to switch to. VSCode seems to come closest to a "modern Emacs", but Electron makes it a non-starter for me. Maybe Electron will eventually stop sucking so badly?
@juliobiason It seems like NeoVim is capable of doing almost everything I need, but from reading the non-responses people get when asking about using it as an IDE, I'm guessing it would be something of an uphill battle. I have trouble imagining an Emacs person responding to a question about using Emacs as an IDE with "Emacs is an editor."
Which is a bit silly given that "enabling new applications" is right on NeoVim's home page. But it does make a difference how the community thinks about it.
I guess you can do all those right now (documentation I believe I can get from the lsp plugin, but if you're crazy enough, you can change the "open manpage" command for your preferred language) with the glaring exception of the browser. I don't think Vim/NVim have anything even close to eww (or whatever this is called now).
@freakazoid @rob Honestly, I know it is not that easy to transition: There is more than plugins and settings and what-not that makes someone pick an IDE/Editor/Whatever. It is how much they "adere" to our own workflow and, thus, even if NeoVim could have all the features you want, I'm pretty sure its workflow would, somehow, clash with your own.
In other words: Happy Emacsing :)
@rob @petit @juliobiason Why are we talking about windows and tabs and tmux at all? I don't want to switch back and forth *at all*. Someone brought up eww. I don't use that. I use ctrl-c ctrl-d to open the documentation of the symbol at the cursor directly in Emacs, or I can just hit ctrl-d on a completion option. And if I leave the window open that has the documentation in it, it updates automatically as I navigate.
@rob @petit @juliobiason It's not even just switching back and forth. I have no interest in searching through documentation either. I already have the symbol I want docs for on my screen. I should just be able to navigate directly to it. And to the source code. If that's straight forward to set up in NeoVim or whatever, great. But if tmux or a tiling window manager or vim windows or tabs are somehow part of the answer, then the person responding doesn't understand the question.
@petit @juliobiason @rob A mediocre approximation to what exactly? Most of the time I'm programming in Python. The documentation that comes up in Emacs is exactly what comes up if I type help(<symbol>) in the Python interpreter.
Switching between different Emacs windows is not an issue because I am doing it constantly. It's switching to a different program with different navigation paradigms that's an issue.
@petit @juliobiason @rob I should also point out that I run the Python interpreter *in Emacs*. And it's not just running in a window; I can send code directly to it, single-step through functions, etc.
Emacs is also aware of virtualenvs, so I can navigate to the docs for a package that's not globally installed, in a Python interpreter that's not globally installed.
@petit @juliobiason @rob The thing that got me to switch back to Emacs from vim wasn't people saying "You can do that in Emacs." It was someone saying "I do that in Emacs. Here, look." Anyone who isn't already doing the things with vim that I'm looking to do isn't going to be able to make a compelling argument. There's a big difference between "X is possible" and "here's an example of someone doing X as part of their regular workflow."
@freakazoid I do understand. The misleading part of the "enable new applications" is basically "make easy to people create new frontends with NeoVim backend without hacks or anything".
But I feel that what you want may come in the future (how long I'm not sure): With the work into replacing VimScript with Lua and tools like Fennel maybe it would be easier for the things you're looking for.
@juliobiason I don't really care whether an editor supports Lisp. The thing I like about Emacs is that it's mostly implemented using its own extension language. That's why I think VSCode comes closest; it's implemented and extended using JS. I'm not a huge fan of JS, but worst case you can always work in a better language and transpile like with Fennel.
@juliobiason And responding to a reply I think you may have deleted, I'm not that picky about the specifics of the workflow. My Emacs workflow is far from perfect. On-the-fly checking and code navigation are by far the most time-saving features for me. The rest is just gravy.
Actually, that's a lie: helm-projectile saves a huge amount of time, too. Being able to navigate to any file in a large project just by typing part of its name is a huge time saver as well.
@freakazoid Well, not Lisp specifically, but I believe Lua have more features than VimScript, and that will allow more complex extensions -- like Org-Mode, for example.
The Fennel thing is just that parts of what already exist in Emacs could be somewhat ported to Lua as a scaffolding/bootstrap for extensions.
@juliobiason ELisp is dynamically scoped, so I'm not sure how much easier it would make porting. There are some packages that use Emacs's Common Lisp compatibility, and those might be easier. But any such package is still going to use a ton of functions that are implemented either in Elsp or in C.
@juliobiason People could certainly implement stuff like Org Mode in Lua, but I think a big challenge with Lua is that people who are already capable of writing complex programs usually aren't going to want to write a lot of Lua. It's a fine language, but it's quirky in ways that make it annoying for an experienced programmer, like starting array indexes at 1.
ELisp isn't much better on this front, but it's already got the ecosystem. JS or Python would be better.
@juliobiason It's hard for me to get away from the idea that "fixing Electron" is the way to go, though. Something like Mozilla's old XUL applications. Ship the runtime and the actual packages separately. Maybe build package discovery into the runtime.
This seems like it might be a good project for Mozilla.
@phel @juliobiason Also note that I said it was annoying. Whether it's that a core construct has an unusual behavior or that a bunch of people change the behavior of core constructs to suit their preferences, it's still annoying.
JS and Ruby have similar issues in the latter regard, in that people sometimes modify prototypes in JS and it's common to extend core classes in Ruby. It's not too hard to avoid in JS, but extending classes is a way of life in Ruby, making Ruby a lost cause IMO.
In lisp, we basically never use indexes and transverse the whole thing, anyway. So 1 or 0 or everything is just a mindset that you have to bring when using the language.
(Sure, it is hella confusing the first time, but you can get used to it.
ipairs on the other hand... 😬 )
@juliobiason @phel It doesn't stop me from using it, either. It just makes using it slightly more annoying. And it doesn't take much added friction to prevent a project from ever gaining enough momentum.
There have only been decent choices for embedding JS interpreters for a few years now, so it's perfectly understandable why they would have picked Lua. But I would not pick Lua *today* for such a project.
@juliobiason @freakazoid heh, one of the positive folks involved with emacs is one of the fennel guys. (Technomancy, which... he has 2 accounts on the fediverse... not sure which I should link to (: )
to be clear: I did this a few years ago. I did the whole "try something instead of Emacs" thing. I _liked_ textmate, it was made by an old Amiga and Emacs user... and when it turned into Sublime Text, I tried that. It got unwieldy. I went so far as to try to modify vim so it would use emacs keybindings, and so on : discovered that you just CANNOT take modal editing out of vim, and I can't do modal editing. (It blocks my work, I need _flow_ like what emacs does.) I tried a lua based editor, I even paid for it, but then went back to emacs because it _does what I want_ and _what I need_ with org mode, magit, and tramp.
The lua editor I tried (and which was pretty good) was textadept. (console and gui also.)
You may find that suits you.
@Truck @juliobiason I don't have a strong opinion on modal vs non-modal editing, but I think you have a point - if I think Emacs's quirky extension language and other outdated paradigms doom it to eventual irrelevance, then the same is almost certainly true of modal editing. The huge adoption rate of VSCode seems to demonstrate that the real winner of vim vs emacs is "neither".
@freakazoid I'm struggling to get to the tail end of this converstaion, but "TextAdept" is written in Lua and I've found it easy to extend with Fennel - other folk in this thread might be into that.
@juliobiason The number of positive, non-RMS people you'll meet who use Emacs is FAR greater than the number of people you'll meet who are RMS.
Use what works for you.
(And if you're going to stop using products because someone is shitty, well... have you looked at the PLANET we live on? )
The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!