Lapce

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • SonarQube - Static code analysis for 29 languages.
  • Scout APM - Less time debugging, more time building
  • SaaSHub - Software Alternatives and Reviews
  • lapce

    Lightning-fast and Powerful Code Editor written in Rust

    > It's a 55 MB executable. You could fit at least one hundred full blow almost self contained (CLI) text-editors with the feature-set of Lapce in that size…

    Sure, why not, I've got time to waste on endless bikeshedding... :D

    IMO 55MB isn't "gigantic"--a 450MB binary could rightly be called "gigantic": https://github.com/lapce/lapce/issues/24#issuecomment-100122... (But, ya know, ya don't get this here debugging info for free.)

    FWIW the Linux binary I downloaded can be immediately shrunk from 57413256 bytes to 44604432 bytes (~43MB) by running `strip` on it.

    I imagine further size reductions can be found by following the, by now, "standard", list of steps at https://github.com/johnthagen/min-sized-rust but for a pre-pre-alpha personal project I imagine doing so is not a high priority.

    Also FWIW comparing a "self contained (CLI)" to a self-contained GUI editor seems pretty apples to oranges as comparisons go...

    I will accept though a 3x multiplier on the "bloated" `emacs25-nox` (~15MB) and a 50x on the svelte `vim.tiny` (~11MB) I found installed locally. (Apparently `emacs25-x` on another machine weighs in at ~17MB so I guess that's the eventual target. :D )

    My primary interest in Lapce is for editing Rust code with LSP/Rust-Analyzer support (the latter being where there's actually issues with regard to constrained development environments), I recently almost got there with the KDE Kate editor but a Rust built editor with WASM/WASI as a target for plugins seems more attractive to me going forward.

  • wasi-libc

    WASI libc implementation for WebAssembly

  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

  • wasmtime

    A standalone runtime for WebAssembly

    WASM and WASI are two different things. WASI is the WebAssembly System Interface.

    https://github.com/bytecodealliance/wasmtime/blob/main/docs/...

  • wasmer

    🚀 The leading WebAssembly Runtime supporting WASI and Emscripten

    I would love to know if the IDE frontend could be compiled to Wasm so it could run in the browsers, similarly to Makepad [2]

    https://wasmer.io/

  • Code-Server

    VS Code in the browser

    I haven't had a chance to test this yet but this is fantastic to see.

    Anything like this that progresses the cross-platform remote model that we now have with VSC, particularly if the endpoint is fast and memory-efficient, is really important, because of the variety of dev environments.

    What I would _really_ like, of course, is an iPad editor that could do the same.

    If you could make an iPad editor that has VSC-style remoting, that is the killer app right now for a lot of people.

    I am not big on iOS subscription apps and I'm budget-constrained, but I'd pay $50 per year without hesitation for a fast remoting iOS editor that had 80% of the functionality of VSCode Remote and had a viable built in browser to avoid the process switch; the code-server* project definitely works but something a bit more native would be amazing.

    *: https://github.com/coder/code-server

  • lite

    A lightweight text editor written in Lua

    I like the single lapce.exe and loads reasonably fast.

    But this is in a pre pre-alpha stage, so many bugs it's far too early for public feedback. It loads reasonably fast except chrome stats in top left then jerks towards the center. The start page says to bring up the command palette which I was unable to navigate via keyboard.

    The open file dialog takes an eternity to load the first time, the path is in a text box that's not editable. Focusing a text file gives an Insert cursor which is in text mode, there's a noticable slow delay before writing the first character, text selection is non existent so lacks basic text editing features.

    There is a built-in terminal however there's only a single tab.

    The only thing that gives it potential is that the folder/file browsing is super quick even with a node_modules folder so it might be built on efficient rendering that can be improved.

    Even for such a basic editor it's 38mb download. For a far smaller + more complete editor checkout Lite:

    https://github.com/rxi/lite

  • flathub

    Pull requests for new applications to be added

    meta comment. Often people working on a big system like this aren't the same people who would know about flatpak or flathub and nor do they have to be the same people to implement that packaging. I find if I include a link to said recommendations that it increases the likelihood that someone will takeup the recommendation. Esp if the link espouses why it is great.

    https://docs.flatpak.org/en/latest/introduction.html#reasons...

    https://flathub.org/home

    > Flathub only hosts stable application releases, and not development snapshots.

    from https://github.com/flathub/flathub/wiki/App-Submission

    > If there’s an app that you'd like to be distributed on Flathub, the best first course of action is to approach the app’s developers and ask them to submit it. Remember that for some projects or communities, this may be the first that they have heard of the Flatpak technology or interacted with somebody who advocates it.

    Also from the above link.

  • Scout APM

    Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.

  • lintplus

    An improved linting plugin for the lite text editor.

    Former contributor and user of Lite XL here.

    It's an awesome little editor. I quit using it though because it seemed like the future direction of the project wasn't very clear, and from a practical standpoint VS Code simply has a better developer experience, but I had great fun hacking around it nevertheless.

    One of my favorite things about rxi/lite and Lite XL is just how easy it is to write plugins. Simply create a new .lua file in the plugins directory and monkey-patch whatever you need. And while it might seem like monkey-patching isn't the most clean solution, that's not exactly true — the source code of the editor doesn't need to be cluttered with explicit hooks, and plugins interoperate with each other very well, because one plugin doesn't know about the others' existence. From its standpoint it just modifies the vanilla editor.

    This extensibility allowed me to write some really cool stuff, the one plugin I'm especially proud of is lint+ [1], which leverages the immediate mode nature of the UI to draw pretty lint messages atop the text editor (and it even renders Rust's friendly compiler errors with little rails on the left! see issue #3 [2]).

    Can recommend.

      [1]: https://github.com/liquidev/lintplus

  • ryo-modal

    Roll your own modal mode

  • boon

    Ergonomic Command Mode for Emacs

  • god-mode

    Minor mode for God-like command entering

  • druid

    A data-first Rust-native UI design toolkit. (by linebender)

  • gtk-rs

    Rust bindings for GTK 3

  • vscode-remote-release

    Visual Studio Code Remote Development: Open any folder in WSL, in a Docker container, or on a remote machine using SSH and take advantage of VS Code's full feature set.

    MOSH is not likely to be a supported protocol in the near future, that would probably have been a good fit for your needs: https://github.com/microsoft/vscode-remote-release/issues/33...

  • min-sized-rust

    🦀 How to minimize Rust binary size 📦

    > It's a 55 MB executable. You could fit at least one hundred full blow almost self contained (CLI) text-editors with the feature-set of Lapce in that size…

    Sure, why not, I've got time to waste on endless bikeshedding... :D

    IMO 55MB isn't "gigantic"--a 450MB binary could rightly be called "gigantic": https://github.com/lapce/lapce/issues/24#issuecomment-100122... (But, ya know, ya don't get this here debugging info for free.)

    FWIW the Linux binary I downloaded can be immediately shrunk from 57413256 bytes to 44604432 bytes (~43MB) by running `strip` on it.

    I imagine further size reductions can be found by following the, by now, "standard", list of steps at https://github.com/johnthagen/min-sized-rust but for a pre-pre-alpha personal project I imagine doing so is not a high priority.

    Also FWIW comparing a "self contained (CLI)" to a self-contained GUI editor seems pretty apples to oranges as comparisons go...

    I will accept though a 3x multiplier on the "bloated" `emacs25-nox` (~15MB) and a 50x on the svelte `vim.tiny` (~11MB) I found installed locally. (Apparently `emacs25-x` on another machine weighs in at ~17MB so I guess that's the eventual target. :D )

    My primary interest in Lapce is for editing Rust code with LSP/Rust-Analyzer support (the latter being where there's actually issues with regard to constrained development environments), I recently almost got there with the KDE Kate editor but a Rust built editor with WASM/WASI as a target for plugins seems more attractive to me going forward.

  • zig

    General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts