Written in C++ without fancy libraries like ncurses. It should be familiar to anyone used to typical GUI text editors, and has some nice features like multiple cursors. Some of the more "basic" (tho still a nightmare to program) features it has right now are undo/redo and selecting text. I plan to add copy and paste, auto closing brackets/quotes, find and replace, basic syntax highlighting, etc. I also plan to make many aspects configurable.
#Vext, an intuitive but (hopefully) powerful terminal text editor
1 messages · Page 1 of 1 (latest)
Did you forget the link :v
In the mean time
- why did you want to make a text editor?
- why C++

- have you looked at other TUI text editors out there and what do you think of them? (for example
editby microsoft)
There is none yet. It's not on GitHub or anything. Maybe once I finally get around to figuring out how to use GitHub I'll put it there.
Wait, you don't know how to use GitHub yet? Do you know git or are you a beginner programmer and you're making a text editor as one of your first projects :0
If so that's very cool
I wanted to make a text editor because other ones have annoyed me with their questionable choices. That's where the name comes from. It's a pun on "vexed", b/c I've been vexed by other text editors.
C++ b/c it's the only language I know well enough to make a project like this
Yes, I've looked at other TUI text editors (not edit tho), and most seem to be either way too hard to learn or just lacking in certain features (and/or have weird defaults)
I sorta know git, but only like the very basics that you learn in 5 minutes. I'm not a beginner programmer, I just haven't got around to learning these things that I probably really should know by now
Lol I see
Well, edit is probably in the very ballpark of the kind of text editor you'd want, so do give it a try. If anything it might give you some inspiration for your own editor
https://github.com/microsoft/edit
It's very simple and, despite being written in Rust, the binary is very lightweight :p
Do you use C++ in an OOP way, or in a kind of procedural C with a bit more features way? And also do you use a lot of templates or something
I'll look into it
Currently, my favorite TUI text editor is Micro. It's like Nano but way less weird, and generally a bit more powerful.
OOP, tho I only like to use objects when I really need to. I barely ever use templates.
i c
Well, if you need help setting up a GitHub (or any other (probably ethically better) git hosting servers) and SSH and GPG keys and stuff like that, people in this server will gladly help xd
I'll probably get into GitHub soon. Already have an account, but haven't actually done anything with it yet
Based
Cool project- what are your 'highest' goals with it?
So I kinda gave up on this project a while ago. The code was not my worst, but it was not thought out very well, making certain features kinda impossible to develop without rewriting major parts of the code, which I didn't feel like doing.
Biggest issue was that I was just using C++ interacting directly with the terminal, meaning it was a nightmare to get working, I barely understood what I was doing, and it would almost certainly not work on 99% of people's computers
However
I've restarted from scratch!
In Rust this time, using an actual library to do all the scary stuff for me: Ratatui
It's kinda insane how much faster development has been now that I'm using a proper tool
In 1 day I've done like 30% of what my entire raw C++ version had after months.
Also will support utf-8 unicode, unlike my C++ one
Btw, I highly encourage anyone interested in making TUI applications to try out Ratatui. It's a lot simpler than I expected, and just so easy to set up a complex layout for all the parts of your application
Anyway, it's 3:30 AM. I've never been so excited to continue working on a programming project
Gaming
reached the point where I can open Vext's source code in itself
btw, ALL of Vext's source code is in main.rs rn, so it only took 158 lines for me to reach this point
line numbers exist now
Can scroll now. Also started designing a system for configurable themes. Also started making a scrollbar.
I know Ratatui already has built in scrollbar widgets, but they don't work properly by my standards
E.g., Ratatui's scrollbar can change length just from scrolling (probably due to how it rounds the position of the top and bottom of the scrollbar). I don't like that.
woah it worked first try
Such is the ergonomic power of Rust
I added cursors
They just move around rn
Spent a decent chunk of time refactoring the code into several modules instead of everything being in main.rs
Working on being able to actually type
Got sidetracked remembering I want to support UTF-8
But now I've fixed the parts that didn't support that
multiple cursors typing