Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
> VSCode does not even have keyboard macros.
https://marketplace.visualstudio.com/search?term=macros&targ...
> Either "every keystroke is a programmable command" is not exactly what is going on in VSCode
There are commands (JavaScript-Functions) which one can be bind to keys. But who knows whether all keys have a command behind them? An with a GUI, I wondern whether all interactions are bindable commands. Mouse-Interaction, especially in context of some widget might be more complex to handle than just recording an input-flow.
> because so far there has been 5 years of whining and 0 patches: https://github.com/Microsoft/vscode/issues/4490
Which only means it has no priority. But considering there are 4.7k open issues and 103k closed, taking a single issue is just a hint that the community is likely not pushing hard enough for this specific issue.
I think specifically, transient.el is the 2d CLI. https://github.com/magit/transient
It is quite a bit more readable comparing (for example) to what you'd do in Python, basically a matter of few extra quotes. Here's an example https://github.com/magnars/dash.el/blob/a17b6b5409825891423b...
Another benefit apart from macros is that you can replace whole subexpressions to modify the function code: https://github.com/raxod502/el-patch#el-patch Although arguably you can achieve the same with source code and other languages: https://github.com/adamchainz/patchy#patchy
Although (as a keen Emacs user & someone who often hacks into existing librairies) user I'm not really convinced either that homoiconicity plays that huge of a role in Emacs malleability in particular -- to me it's more about hooks/advice system and being able to dynamically override things to tweak into the way I want them to behave -- and I don't see a good reason why this couldn't be possible in other languages.
Thank you for this thoughtful comment. I assume you are talking about use-package? I've been using it for several years.
There is a long standing effort to have it merged into emacs/elpa, so we hope the situation will improve.
https://github.com/jwiegley/use-package/issues/282
I hear what you're saying, as I regularly run up against the rough edges of emacs too, but buffers and org-mode are absolute gamechangers for me and my productivity.
I have ADHD, so not being able to switch between active files/tabs/whatever + my TODO list at lightning speed + having to constantly use the mouse devastates my productivity.
That's to speak nothing of the embrace-extend-extinguish behaviors Microsoft has been exhibiting in its development of VS Code -- e.g., deprecating their open source, editor-agnostic Python language server in favor of a proprietary, closed-source VSCode-only server[1].
I regularly update and play around with VSCode in an effort to keep an open min, but frankly I haven't found it to offer anything worth the trouble + spiritual taint (I'm saying this sort of tongue in cheek!) of switching
[1] https://github.com/microsoft/pylance-release/issues/4
Well, it's not Elisp, but:
https://github.com/Ruin0x11/OpenNefia
It's an engine rewrite of an old roguelike I used to play in Lua. I'm trying to experiment with making a game where the engine is similar in flexibility to Emacs.
It has an Emacs frontend, and I designed it with the zealotry of an Emacs user, meaning it has advice, hooks, interactive evaluation and runtime module hotloading. You can run anything the engine can run from a REPL (and cause all the state to become broken easily).
Related posts
- Progress Quest: the original idle game
- Show HN: Modern port of Umbra, an unfinished free Lovecraftian RPG from 2001
- How to Develop a User Data Storage Registration Form Using Python.
- Practicing Rust, Learning Bevy, Creating a WASM Snake Game for the Browser
- FeedMyFurBabies – Send and Receive MQTT messages between AWS IoT Core and your micro-controller