whoa, https://lapce.dev/ is getting really usable? still missing visual feedback for a bunch of long-running tasks, and modal handling (file open with vim mode enabled) is a bit of a mess but I could see myself using this daily for now
@fasterthanlime wait, have they made the perfect editor for me? Trying it right now!
@fasterthanlime I wouldn’t call editor with no rust-analyzer/cargo check usable tbh
@fasterthanlime the speed of development is astonishing, and with many more stuff to come soon ( proper plugin API for instances).
Right now the biggest issue we're facing is developer bandwidth. All contributions are welcome!
@fasterthanlime Lapce absolutely needs to exist IMO, and I'm glad other ppl are noticing.
I should recompile it- it's been a few months...
@cr1901 I only noticed there was an update because I just ran winget upgrade on my Windows 11 box! (don't tell the others)
@fasterthanlime This looks really interesting.. never been a huge fan of VSCode (typing lag etc.) so I've been using Sublime Text for years. Maybe there's finally an alternative 👀
@codecat I'm still encountering a bunch of bugs frequently but nothing that can't be worked around. I'd love to contribute!
one bug I encountered in lapce today was: creating a file from the file explorer from Windows SSH'd into Linux, created the file "foo\bar" instead of creating the file "bar" inside of the "foo" directory. So, y'know, there's still some rough edges but it's already gotten so good!
@yakei @fasterthanlime the only problem, the biggest problem, the problem that makes it unusable for me, is the fact there's no, literarely, no, accessibility support. I thought to try it, but it seemns I can't because the screenreader isn't reading anything but the window title. I know this is an issue inherently existing in most rust GUI libraries, maybe because native gui and the rust architecture don't mix very well, however most of them, especially those that implement imediate mode UI entirely in stead of something that's still based on native user interfaces aka gtk suffer from complete inaccessibility for screenreader users. Sure vscode is good, sure it's kinda fast now, sure it's very accessible, but it's electron after all and that's just how much it can be pushed, what's better than some electron? no electron of course, unless it's actually needed in which case maybe a good choice after all. What ui library does it use, maybe there's a hidden accessibility option somewhere.
@fasterthanlime yeah, unfortunately our proxy doesn't handle "cross-platform magic" nicely yet (and unfortunately it is me who should be blamed)
@fasterthanlime I've tried it a few times, it has been unusable every time. Might have to take a look again now, it's been half a year probably since last time.
@ima yeah I try it every few updates to see if it's usable now. I got further than usual this time!
@bgtlover @yakei @fasterthanlime They say "native GUI" in several places in the website and they seem to have a very different definition of "native" than what I imagine.
Instead of a big WebKit view it's a big OpenGL view... I won't say that's wrong but don't call it native :/
@nicolas17 @yakei @fasterthanlime yes, indeed. Native, in my opinion, means something that, at the end of the pipeline if nothing else, produces calls to the native system API's for rendering gui with native system controlls, which are accessible by design, therefore accessibility interfaces don't have to be written again and again, for no obvious reason but this is imediate mode UI and we love reinventing the wheel and hahaha accessibility, what's that, maybe we'll think about it...
@bgtlover @nicolas17 @yakei (y'all both need profile pictures btw, this is a confusing conversation). a11y is a must-have for sure, I don't think using "native widgets" is the way to do it, you'd effectively be developing 3 separate apps at this point (and none of Linux/macOS/Windows have a single "native UI toolkit") at this point. Talking directly to the various screen reading facilities etc. seems like the way to go (and a lot of work, but, yeah.)
@fasterthanlime Since I need some other languages than rust sometimes I prefer https://helix-editor.com/ also has all batteires included from emacs and neovim excelt language server which one needs to download seperately like with neovim.
@Toasterson so lapce isn't just Rust but yes Helix is also on my radar! I like actual GUIs though, the VSCode model for remote editing is much better for me than straight up TUI over ssh/mosh. (mosh is still a headache to set up properly, especially across platforms, because locales, TERM, etc.)
@fasterthanlime @nicolas17 @yakei about profile pictures, because I'm blind, I dk how to even put one properly, what about if it fits, looks good, or something as simple as, damn, did I select the right image this time, what is it? but anyway, I mean native widgets as in what react native does, what xamarin.forms did, etc. There are multiple projects native to each app, which can probably be binary crates in a workspace in rust lingo, which have dependencies native csystem crates for ui, such as winapi and gtk. Then, your crate actually lives in a separate thing inside the workspace, which calls into the backend agnostic api probably specified through a collection of traits, which then has platform specific targets to the implementation of those traits for each os. Now that I wrote this post, probably what you said is a better idea, however for that something like accesskit needs to exist sooner.
@bgtlover @nicolas17 @yakei apologies about the profile picture thing!
the "backend agnostic UI" thing is much, MUCH more involved than everyone seems to think, I think wxWidgets went the furthest down that path? the point I keep making is that folks using cross-platform toolkits with "non-native controls" (like electron, druid, etc.) aren't just "lazy" or "doing it wrong", they simply could not afford to develop what's essentially three separate apps (even if you try to to abstract over backends, it's an enormous amount of work).
@erk @fasterthanlime Which is why I was looking into lapce aswell. Since I could try to get it to work on illumos where I want my #AuroraOpencloud development to happen. But unless i find something more tramp like or get helix to run on the OS i'll be straight out of luck I guess.