10 ms·
Emacs-ng: A project to integrate Deno and WebRender into Emacs
- netzego 3y agoprobably one should start with implementing systemd in GNU/Emacs..
- stevekemp 3y agoNo need to be systemd, but emacs can already run as /sbin/init: https://news.ycombinator.com/item?id=8325308 https://news.ycombinator.com/item?id=8325308
- diffeomorphism 3y ago> https://www.gnu.org/software/shepherd/ https://www.gnu.org/software/shepherd/ > The GNU Shepherd is a service manager written in Guile that looks after the herd of daemons running on the system. It can be used as an “init” system (PID 1) and also by unprivileged users... Not systemd, but it is an init system.
- dmm 3y ago> Webrender Would this allow emacs to be used as a web application?
- artsi0m 3y ago>allow emacs to be used as a web application I think that it is already possible if you compiled emacs with gtk3/pgtk as toolkit of choice and use Broadway GDK backend.
- dmm 3y agoI don't know how I missed this. You made my day! Thanks!
- chrismorgan 3y ago> WebRender is a GPU-based 2D rendering engine written in Rust from Mozilla. Firefox, the research web browser Servo, and other GUI frameworks draw with it. emacs-ng use it as a new experimental graphic backend to leverage GPU hardware. No.
- rice7th 3y agoNo. Webreneder is a graphics renderer/library very similar to skia, however webrender is developed by mozilla, written in rust and used in firefox and servo. It basically gives emacs GPU acceleration since cairo doesn't have it IIRC.
- deleted 3y ago[deleted]
- rullopat 3y agoElectron for Emacs?
- JNRowe 3y agoThis was discussed a couple of years ago with lots of comments¹. I'm unsure how much has changed in the meantime, as the top couple of pages of commits on GH are upstream emacs changes. Would make me happy to see it progressing though, as(like with neovim) the tugs in different directions allows things to be tested out that might not make it past the original mail to a developer list in the upstream projects. Edit: I decided to have a quick poke around, and there are ~40 non-upstream commits this year. About half of those are minor cleanups and cargo dependency updates. ¹ https://news.ycombinator.com/item?id=26453174 https://news.ycombinator.com/item?id=26453174
- v3ss0n 3y agoEmacs becoming an OS is not a meme anymore with this. Now EMacs becoming a Starship.
- sakesun 3y agoTypescript with Web render engine ? Why not just build VSCode extensions ?
- letmeinhere 3y agoBecause they use Emacs? Let's say you are an org-mode user but write Typescript for your day job, and want to make a new plugin. This lets you do that with the language in which you are most proficient.
- rollcat 3y agoThe main advantage Emacs has over other, more modern IDEs is ELisp, and the vast ecosystem built around it. I don't see how supplementing ELisp with JS would make Emacs more attractive; most of Emacs' shortcomings originate elsewhere: single-threaded core, IO-blocks-UI, ELisp defaulting to dynamic scoping, bad defaults in general, poor OS/GUI integration, antiquated nomenclature, and just the sheer number of third-party packages and config tweaking that it takes to bring features that should work out of the box (sane dired, LSP, (ma)git, tabs, etc). Emacs desperately needs to deal with its tech debt, but adding a new language runtime without addressing the mountain of architectural issues is just circling around the problem, without actually even looking at it. Hats off for the effort but I'll pass.
- bvaldivielso 3y ago> IO-blocks-UI This is one of the things that _are_ addressed by the project. Regarding your broader point, I don't know if adding a new language would/will help emacs or not but it's _plausible_ something like that would work. The plugin ecosystem in the vim world became more vibrant once writing them in lua was an option.
- funcDropShadow 3y ago> I don't know if adding a new language would/will help emacs or not but it's _plausible_ something like that would work. I don't think it is plausible. Emacs extensibility and power stems from the fact you can see and change almost everything. You can add advice, i.e. modify, any function there is. And you can inspect any object that exists in the heap. If you add another language into the mix, these two languages either have to share an object/data structure model or they have to bridge them somehow. In vim you have plugins that add new commands, or hook into some callbacks. But in emacs you can extend every third-party functionality with another third-party library. Fragmenting the ecosystem into two language camps would probably diminish this advantage.
- johanvts 3y agoAgreed, but I think the defaults aren’t that bad. It should not be an IDE or git UI out of the box IMO. What’s needed is better default completion and discoverability.
- paddy_m 3y agoI'm glad to see ambitious development being done on the core emacs platform. Could you include some images of what is possible with webrender in the README and the introduction to your docs page. I think it will help others get excited about what you're building.
- coldacid 3y agoOne of the great things about Emacs is that I can run it on a terminal when needs be, or as a GUI application when I have a graphical environment up and running. Doing something like rebasing it on WebRender means I wouldn't be able to use it in the terminal anymore. There are plenty of problems in Emacs that need to be resolved, but this is NOT one of them.
- charcircuit 3y agoThis project probably didn't remove no window mode. Even if they did remove it, in 2024 people are using Emacs in a GUI whether directly or hosted within a terminal emulator.
- cloudhan 3y agoYou might also want to watch on helix, if PR 8675 is merged, then scheme will be the extension langauge, then we get the best of both world. Modal editing and scheme =) PR 8675: https://github.com/helix-editor/helix/pull/8675 https://github.com/helix-editor/helix/pull/8675
- __MatrixMan__ 3y agoI'm pretty excited about that. Helix is great and I have a plugin in mind and I aspire to get more acquainted with the lisp perspective (though I find emacs a bit much). It's gonna be fun.
- notnmeyer 3y agoman, this will be so great! getting a plug-in system in place will be huge for helix. gimme that sweet sweet copilot.
- vindarel 3y agoThere's also Lem, which has a good vim mode and is scriptable in Common Lisp (since it's built in CL) :D https://github.com/lem-project/lem/ https://github.com/lem-project/lem/ It has: LSP support, a treeview, project-related commands, a directory mode, a POC git mode… with ncurses and SDL2 UIs.
- deleted 3y ago[deleted]
- BaculumMeumEst 3y agothe text rendering on the SDL2 frontend is much better than the last time I tried it, and performance is much improved. the install process used to be quite painful before but is very easy now. maybe sometime in the next 5 years i'll build enough willpower to start trying to port over all my stupid little emacs customizations. but it would be a bummer to lose tramp.
- smegsicle 3y agopretty sure the -ng suffix is for a rewrite after the original is abandoned, not taking something that's still developed and slapping on random web tech
- mst 3y agoI might have called it emacsperiment instead but the documentation is very clear about what it is/isn't so shrug.
- layer8 3y agoJavaScript is like the hammer that makes every problem look like a nail.
- DDSDev 3y agoI am the main author behind the JS/TS integration for emacs-ng. I still think it is one of the cooler things I have done that people have taken note of. I am a game programmer by trade, and I had experiencing embedding JS into projects from a previous engine I worked on where JS was the primary gaming scripting layer. I love emacs and I love lisp in general - I added JS to emacs mainly to find out if I could do it. I also had a hope that adding JS could expand emacs usage to people that don't know elisp, and have JS be a "gateway" into elisp. I think that the JS integration is a huge testament to the flexibility and quality of emacs and elisp. As I have gotten older, I've had less and less time for open source, but I don't consider this project abandoned. I still want to upgrade us to the latest deno. My previous upgrade attempt (which you can see in draft PR at the time of this comment) was a little too ambitious - I tried to move us to a more multithreaded approach, but I think I need to work on this more incrementally.
- _hl_ 3y agoI’ve always wanted to start building something much like this, but the sheer scale of the task put me off. I tip my hat and then some to the fine folks rolling this stone up the mountain. And that’s coming from someone who is married to elisp.
- 3836293648 3y agoDoes webrender actually help yet or does it still bring everything to a crawl when transparency gets involved? The other unfortunate part of this is that it's based on the gtk branch, which breaks certain input chains that I personally rely on
- exxos 3y agoWhy not Bun ?