6 ms·
Author here. Thanks for all the feedback. I'm aware that Lapce lacks lots of basic stuff. It's a personal project so the initial set of features and key bindin
by dzhou121 5y ago
Author here. Thanks for all the feedback.
I'm aware that Lapce lacks lots of basic stuff. It's a personal project so the initial set of features and key bindings are tight to my personal preferences.
I'm currently working on the missing pieces, like multi cursor support(in master but not released yet), mouse support, sane default key bindings(probably I'll stick to an existing editor), basic UX etc.
Feel free to submit a feature request or bug report in Github Issues or leave your feedback here.
- GekkePrutser 5y agoWhat prompted you to develop it? The market for this is quite crowded with Atom and VS Code. Where you that dissatisfied with them? Just wondering. I like that this is native though. VS Code is one of the rare good electron apps but native is still nicer IMO. Will give it a try.
- dzhou121 5y agoIt's mainly speed. I don't know if it's fixed now. Previously when I was using VSCode, sometimes the "go to definition" hangs and it will freeze the whole editor, which was unacceptable. So in Lapce, nothing blocks the main thread other than your key press.
- GekkePrutser 5y agoInteresting, I'll definitely give it a try. Thanks for building it.
- mekster 5y agoI thought atom was ditched. Competitors would be VSC, Sublime and JetBrains.
- ihateolives 5y agoValiant effort and impressive personal project! > I'm currently working on the missing pieces, like multi cursor support(in master but not released yet), mouse support, sane default key bindings(probably I'll stick to an existing editor), basic UX etc. Website claims "Native GUI" but this is not native GUI. I'd rather have basic UX before multi cursor or anything else nice to have but totally optional things. On Windows open dialog is broken, you can't select drives, you have to enter the drive letter manually, but in input field delete key is not working. That's as far as I got trying it out.
- cyber_kinetist 5y agoMaybe the author should use a library like native-dialog (https://crates.io/crates/native-dialog https://crates.io/crates/native-dialog) for these rather than making a file picker from scratch in Druid (the current Rust UI framework).
- reacharavindh 5y agoIt is refreshing to see a new code editor, even with minimal set of features that feels fresh and fast. Thanks for putting it out there. Please please please keep that responsive experience and don't trade it off for a full set of features that will make this tool lose its charm and become just the same as the rest of the powerful tools.
- dzhou121 5y agoThanks for your kind words. It will, it's in the DNA. L comes before P.
- chrisweekly 5y agoAwesome. > " L comes before P." ?
- HereBeBeasties 5y agoLAPCE == Lightning-fast and Powerful Code Editor I.e. Lightning-fast comes before Powerful.
- chrisweekly 5y agoty (much kinder res than "rtfa" which I clearly didn't) slainte!
- brainwipe 5y agoExtremely impressive for a personal project! Great job, if it were mine, I'd be exceptionally proud of it. I think the heat you're getting here is from the very slick website that makes Lapce look more finished than it is. It might be a good idea to adjust the text to manage people's expectations. Great job!
- sjmm1989 5y agoI think you're right on the heat front. It's probably causing a form of dissonance with some people.
- tormeh 5y agoFirst thing I tried was ctrl+shift+f to grep through a project, which didn't work. I see the functionality is there, though. Both Intellij and vscode uses this shortcut, so harmonizing with them would be nice. Also the code completions are not clickable with a mouse, and using the "down" key also doesn't do anything. Anyway, development-wise these are minor issues in a project of this size. Nice work!
- follower 5y ago> Also the code completions are not clickable with a mouse, and using the "down" key also doesn't do anything. Yeah, unfortunately it seems like there's a (possibly recently introduced?) bug that appears to break arrow-key/list interactions. I was able to get code completion & command palettes to work by supplying a custom keymap I posted here: https://github.com/lapce/lapce/issues/133#issuecomment-1071515095 https://github.com/lapce/lapce/issues/133#issuecomment-10715... My impression is that the non-modal keymap isn't as regularly updated given the developer's preference for modal interaction. I'm happy enough I can at least still edit the keymap to workaround the issue. :D
- qwertox 5y agoOff Topic: https://www.lapce.dev https://www.lapce.dev has a certificate issue. Also, the editor does not seem to run on Windows 7 ("createpseudoconsole could not be located" in KERNEL32.dll)
- littlestymaar 5y ago> Also, the editor does not seem to run on Windows 7 ("createpseudoconsole could not be located" in KERNEL32.dll) Windows 7 EOL was 2 years ago though. (I know it's the last version of Windows that isn't an add-bloated spyware but still) https://www.microsoft.com/en-US/windows/windows-7-end-of-life-support-information https://www.microsoft.com/en-US/windows/windows-7-end-of-lif...
- cyber_kinetist 5y agoNote that Windows 10 has some really nice OS API additions that may make devs consider ditching Windows 7 support (such as the createpseudoconsole function you’ve mentioned: https://docs.microsoft.com/en-us/windows/console/createpseudoconsole https://docs.microsoft.com/en-us/windows/console/createpseud...)
- mccorrinall 5y ago> Windows 7 is EOL and should be treated as such.
- bobajeff 5y agoTrue. But it shouldn't be. It's like tearing down a perfectly good neighborhood to make way for a hotel that doesn't really benefit the town.
- gorjusborg 5y agoIn my opinion, that's a main reason developers should favor open source tools, they never truly 'go away'. The code is out there, so keeping it going then comes down to whether someone cares enough to maintain it. Not saying that path is all roses...
- jonkoops 5y agoAre there any plans to release the app as a Flatpak, they are a great way to package your application cross-distro with a central way of updating (such as Flathub).
- sitkack 5y agometa 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-to-use-flatpak https://docs.flatpak.org/en/latest/introduction.html#reasons... https://flathub.org/home https://flathub.org/home > Flathub only hosts stable application releases, and not development snapshots. from https://github.com/flathub/flathub/wiki/App-Submission 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.
- jpetso 5y agoNo relation to this project. Just wanted to chime in to say that KDE's Kate editor pulled its Flatpak because the sandboxing makes much of the system integration (terminal, git, language servers) hard or impossible. A Flatpak may have to ship with an independent copy of a lot of basic developer tools, and even then I don't know whether I want two different versions of git access the same local repository with a chance of incompatible repository formats.
- ciupicri 5y agoI'm having the same issue with the Visual Studio Code (Flatpak). I want to use the compilers, interpreters and tools from the host, not whatever it's provided by the Flatpak or the runtimes from flathub/gnome, if it's provided at all.
- unfocussed_mike 5y agoI 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 genuinely a killer app right now for a lot of people. That would be "just enough" editor for me so I could travel for a few days and still do a couple of hours of work here and there, without the laptop commitment. I am not big on iOS subscription apps and I'm budget-constrained, but I'd pay $50 per year (probably more, and I figure I wouldn't be alone), 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 for this, but something a bit more native would be amazing. https://github.com/coder/code-server https://github.com/coder/code-server
- radiKal07 5y agoWhy don't you install VS Code as PWA from https://vscode.dev/ https://vscode.dev/ ?
- unfocussed_mike 5y agoFrom the iPad perspective this is not actually that different to running code-server. (code-server is basically the open source parts of this from what I understand, and the back-end impact is really no different at all, except needing to open a port for the web interface.) I'm not sure whether vscode.dev will be able to connect to my own remotes yet; need to test that! The main problem is as far as I am aware the same; the browser-side connection can drop quite easily because of the limits of iOS (you can't switch away without losing it). That is obviously not something even a native version of Lapce would be able to totally avoid, but an iOS native app might have a few more strategies for maintaining background remote connections for a little while (SSH apps do for example).
- avidal 5y agovscode.dev is still for local development, not remote. It uses browser filesystem APIs to access your local filesystem. Whereas code-server runs on the remote and exposes a web server for you to connect to which serves up the filesystem on the remote.
- AlchemistCamp 5y agoFor me, the most important feature is VIM bindings. I used to suffer from severe RSI and VIM was a big part of what helped my wrists recover.
- honkycat 5y agoSeriously. I don't know how people text edit without the vim keybindings. I'll never go back!
- iimblack 5y agoIn emacs there are a few alternative modal editing modes I've been wanting to try. https://github.com/Kungsgeten/ryo-modal https://github.com/Kungsgeten/ryo-modal https://github.com/jyp/boon https://github.com/jyp/boon https://github.com/emacsorphanage/god-mode https://github.com/emacsorphanage/god-mode
- mekster 5y agoOnly if I rebind keys from the very unintuitive default vim binding. It's like it's trying to twist your brain.
- greyhair 5y agoYou an me both. I used emacs until I developed persistent tendonitis down the outside of my left hand. Switched to vim, and the tendonitis resolved itself in about two months. That was back around 1990.
- danielvaughn 5y agoI love that you're using Treesitter. I haven't followed the editor space much, but afaik, this is one of the first to implement it. The demos I'd seen were very impressive - definitely going to give it a shot!
- klaussilveira 5y agoHow are you rendering fonts? FreeType to render the glyph texture map and then quads for each character? Or SDF?
- dzhou121 5y agorender the glyph texture map and then quads for each character
- pdenton 5y agoI believe an open source editor should be built from source and I couldn't find links to sources or how to build from source on the website. The getting started documentation points to the download section. It would be cool if one of the downloads would be marked as source (for any OS).
- randonee 5y agoThere is a GitHub link on the top of the website. Build instructions are in the readme. https://github.com/lapce/lapce https://github.com/lapce/lapce
- andrewshadura 5y agoI don't see it on the phone.
- michaelcampbell 5y ago> It's a personal project so the initial set of features and key bindings are tight to my personal preferences. As it should be. Well done.
- greyhair 5y agoI am kind of curious. Which came first? The editor or Rust? I was wondering if you were learning Rust and decided that you needed a project to reinforce your learning? Or you were designing and editor and decided you should do it in Rust?
- dzhou121 5y agoI always wanted a "perfect" editor https://github.com/lapce/lapce/blob/master/docs/why-lapce.md https://github.com/lapce/lapce/blob/master/docs/why-lapce.md And my recent professional work was writing Rust, and I felt Rust would be really suitable for my editor.
- mkeedlinger 5y agoThis looks awesome!! The code editor space may seem saturated, but it's not! I've been looking for an alternative to VS Code for some time. Some things I'm really excited for: - Remote development as a first-class citizen! I use code-server a ton now, but getting away from browser jank would be nice. - In the future I wonder if something besides SSH would work for the connection. SSH doesn't handle bad connections or closing a laptop and moving very well. I use wireguard to connect to my code-server instance right now and it's pretty close to feeling like I develop locally. - Lighter and faster. Why does my laptop always have to be burning... - A more FOSS ecosystem. VS Code is "open source" but not really in practice. Some important extensions (from Microsoft) have non-foss licenses and the standard distribution is built with non-foss tidbits. There are projects like Codium that rectify these issues to some degree.
- bogeholm 5y agoMOSH is not likely to be a supported protocol it seems, that would probably have been a good fit for your needs: https://github.com/microsoft/vscode-remote-release/issues/334 https://github.com/microsoft/vscode-remote-release/issues/33...
- AllanLRH 5y agoI think Microsoft replaced SSH in vscode remote, part of the motivation being that the default SSH port (22?) is often blocked on corporate networks. I believe they use websockets instead, and I wonder if that might help with the problems associated with putting your computer to sleep and resuming your work (and connection)?
- bikamonki 5y agoDo you use Lapce to edit Lapce's source code?
- dzhou121 5y agoYes, for more than one year now.
- kybernetikos 5y agoThe speed on this is phenomenal and I'm really looking forward to you filling out a few more of the missing pieces. Really impressive achievement. I wonder if you've considered kakoune style modal editing rather than vim? If you've not come across it, it might be worth looking at, as I think it's a better paradigm and one that I expect will go nicely with the multiple cursors you're working on.