HNHacker News
TopNewBestAskShowJobs

stewartlynch8

38 karma · joined January 3, 2023

Developer of 10x Editor https://10xeditor.com/

follow on twitter: https://twitter.com/StewartLynch8

follow on Mastodon: https://mastodon.gamedev.place/@stewartlynch8

submissionscomments
stewartlynch8··on 10x Editor Version 1.0 Released
After 3 years in open Beta, 10x Editor has finally launched. I've worked on this as a solo dev for 6 years now, writing almost everything from scratch. It would be great to have feedback and I'd be happy to take any questions.

10x is mainly aimed at professional C++ programmers working on huge codebases and is currently Windows only. The focus is on performance, productivity and speed of navigation around large projects.

The aim was to have an editor with the speed of a lightweight code editor with some of the productivity features of a full IDE.

stewartlynch8··on 10x C++ Editor
Screenshots added https://10xeditor.com/screenshots.htm
stewartlynch8··on 10x C++ Editor
I'm exactly the same, which is why I take UI design so seriously. I literally wrote my own editor because no text editor was exactly how I wanted it. Having said that, it should feel familiar to anyone used to Visual Studio or VS Code.

I'll get some screenshots added to the new website.

stewartlynch8··on 10x C++ Editor
I've uploaded the new website which hopefully addresses some of the questions/comments: https://10xeditor.com/

There is now an about page: https://10xeditor.com/about.htm

I'm still working on it though, and I'll be adding more in the next few days.

stewartlynch8··on 10x C++ Editor
The new website I've just uploaded has a feature list https://10xeditor.com/features.htm

It has autocomplete, goto-definition, find references, type hover box etc. You should find everything that intellisense has.

stewartlynch8··on 10x C++ Editor
Thanks for the feedback. Templates are supported fairly well, but the one missing piece is function overloading which isn't supported yet. Strangely it hasn't come up as much of an issue yet. There's a bug for it here: https://github.com/slynch8/10x/issues/259

It sounds like you may have the Control W key mapped multiple times in the key mapping file?

STL include paths should be automatically added, I'll check that.

I'll add those other bugs as well.

Thanks again.

stewartlynch8··on 10x C++ Editor
As I say, I haven't used Treesitter so I can't say, but in my experience most options do not perform well on huge codebases (> 5 million loc)
stewartlynch8··on 10x C++ Editor
Yeah, it sometimes feels like it :-)

The parser is written in C++. I don't use any standard parsing techniques, it's all custom stuff. It's hard to explain, but I talk about it a lot in my live streams: https://10xeditor.com/vlog.htm

stewartlynch8··on 10x C++ Editor
I can understand screenshots for things such as games, but for text editors, one text editor screenshot looks pretty much the same as the next. I don't think it is usual for software like this to have a sreenshots page. What sort of things are you looking for here? The new website will have gifs on the front page showing some of the features.
stewartlynch8··on 10x C++ Editor
retained
stewartlynch8··on 10x C++ Editor
I tried it on Chromium a while back and it seemed to cope fine
stewartlynch8··on 10x C++ Editor
I've not used Treesitter so I couldn't say.

The incremental parsing is definitely worth it. Not having to wait for a full parse of the entire file on each edit is a game changer.

stewartlynch8··on 10x C++ Editor
I've written the parser myself, adding features as needed. The C++ spec is incredibly complex so I'm not exactly sure which versions are fully supported. But hopefully it covers most things.

I measure the 10x performance all the time. But it's not possible to compare like-for-like with other editors unfortunately.

10x has been tested on Unreal Engine source from the start, which is many millions of lines of C++.

I don't use a GUI tookkit. I write the UI system myself.

It doesn't support LSP.

stewartlynch8··on 10x C++ Editor
I understand the resistance to a monthly subscription, but it's the only way I can continue to work on 10x. I've been working on 10x for 6 years now, and even with the generous support from the beta subscribers I can't go on indefinitely like this. Hopefully the subscription will seem worth it with all of the bug fixes and features that are planned. I will continue uploading new versions regularly, as I have been doing: https://10xeditor.com/versions.htm
stewartlynch8··on 10x C++ Editor
Thanks for this advice. I'm currently in the process or re-doing the website and this is really useful feedback. Hopefully a lot of these issues have already been addressed. I'll be uploading the new site in a day or two.

The sudden activity on this site kind of took me by surprise, I wasn't quite ready for the big reveal.

stewartlynch8··on 10x C++ Editor
I mean custom as in "I wrote it myself". It's not based on a slow and bloated UI framework. Hopefully it's fairly standard from a Windows point of view though.

If you want to know more, I have lots of dev videos on my youtube channel. https://www.youtube.com/@puredevsoftware

stewartlynch8··on 10x C++ Editor
Do you mean a navigation bar at the top that shows the scopes? If so that is planned after the 1.0 release.
stewartlynch8··on 10x C++ Editor
I've only tried sublime text briefly to be honest. I like its speed, but I need something that can open huge Visual Studio projects. I also wasn't sure about the C++ parsing which requires installing packages.

Just to be clear, 10x supports syntax highlighting for many languages, it's only the parser that is C++ specific.

stewartlynch8··on 10x C++ Editor
The way I see 10x competing is by general speed and responsiveness, and the robustness of the parser. The parser may not be fully C++ compliant, but it is dependable and scales well.

I don't want to be specific here, but my experiences with some other IDEs is that they can stall, lock up and operations can take seconds to complete regardless of the hardware. All this can break the flow. I think you really have to try 10x on a large project to notice the difference. The instance search feature alone can be a game changer.

> I don't believe that one person can create both a good code editor and a fully compliant C++ parser

Believe me, I question this myself almost every day. A small hobby project turned into a 6 year marathon and here we are. The parser will probably never be fully compliant, but hopefully it's good enough for most code. And the speed and robustness will hopefully compensate for this.

> Another problem I see is that very few of large codebases are C++ only

Even though I market 10x as a C++ editor, it has syntax highlighting for many other languages. And you can add more languages using the regex system. I'll hopefully be adding some parsing for other languages after the 1.0 launch.

stewartlynch8··on 10x C++ Editor
Point taken. I'm currently working on a new website and I'll try and I'll try and address these issues.

It's simply down to time, I spend most of my time working on making 10x better. Because it's still in Beta I haven't focused on the website much.

stewartlynch8··on 10x C++ Editor
Please don't judge the website too harshly. I agree it doesn't communicate what 10x is very well and isn't very professional. I'm currently working on an update that I'll be uploading in the next day or two. I wasn't quite ready for a big announce yet, but I'm pleased more people are discovering 10x.

> If there was an editor/ide that had many of the features of CLion and the speed of VIM, I would certainly consider that to be "10x".

This is exactly what 10x is meant to be. Whether it has enough features yet is up to you to judge. Everyone needs a different set of features, but if it has the features you need then I hope it lives up to its name.

I've written the parser myself, but I haven't been keeping track of exactly what version of C++ is supported. The C++ spec is incredibly complex. Over the last 6 years I've been adding things as they are requested. The good thing about the parser is that it will skip anything it doesn't understand and continue on. This sounds bad, but it actually works out very well. It will do a pretty good job of most things you throw at it. The best thing is to try it and see. If you need specific support for something, let me know and I'll see what I can do.