Note
Newtrodit is undergoing a complete code rework, which will significantly enhance its performance, cross-compatibility, support for 24-bit RGB colors, memory management, and large file handling. Additionally, it will offer full Unicode support!
Efficient and simple yet powerful console text editor written in C
See the Newtrodit website for more information
- Fast and light
- Real time cursor position
- Line numbering (with highlighting of the current line)
- Highly configurable
- Various string manipulation functions such as:
- String finding (case sensitive and insensitive)
- String replacing
- ROT13 encoding
- Uppercase/lowercase conversion
- Fully configurable syntax highlighting including custom rules
- Code autocompletion based on syntax highlighting rules
- Built-in manual
- Mouse support (Windows exclusive)
- Can edit files up to 6400 lines
- Some file utilities:
- File compare
- File locating
- File type checking
- Customizable macros
- Insertion of current time
- Up to 64 files open at once
- Vim-like simple command palette
It was a day when I tried to make a clone of the old MS-DOS EDIT.COM in batch, but in the making, I realized it would be complicated to make it in batch, and performance issues were starting to appear.
As I was very new to C, it was a challenge to see how well I could recode it, but with more features. The UI slowly changed, having a blue background and lateral bars. I realized I wanted to make my editor and not just a clone, and that's why today I'm continuing to develop Newtrodit.
The name "Newtrodit" comes from 3 words: neutron (hence the atom logo), edit, and new.
Compiling and running Newtrodit doesn't require any external libraries apart from the WinAPI simple libraries. Build Newtrodit with the following command line:
tcc newtrodit.c -o newtrodit.exe -luser32
Or if you prefer using GCC:
gcc newtrodit.c -o newtrodit.exe -luser32 -O2
Newtrodit is compatible with OSes starting from Windows XP, but you can enable a small support for Windows 95/98/ME by changing the _NEWTRODIT_OLD_SUPPORT
constant to 1 in newtrodit_core.h
. However, this isn't recommended for regular builds, as the compiled executable will lack some features such as UTF-8 file reading.
To report a bug, feel free to create an issue explaining the bug and the way to get it. Contribution is highly appreciated as Newtrodit is still in beta, so there are a bunch of bugs that need to be fixed.
If you want to contribute to Newtrodit, fork the project and create a pull request with the changes you want to do, describing the changes you made.
To get information about the usage of Newtrodit, press F1 at Newtrodit or run newtrodit --help
The documentation contains everything you need to know to use Newtrodit. If you have any questions, contact me on Discord.
Newtrodit offers some configuration capabilities by editing the file newtrodit.config
, with the purpose of customizing the editor as per your preferences. The file format is INI-like. All the information required can be found in the documentation, with an example configuration file. Keep in mind that incorrectly modifying Newtrodit's settings can lead to unexpected issues.
For an example configuration file, you can see an example of a configuration file.
Join the Newtrodit development channel on Discord!
Newtrodit will be released in a short time, but you can compile using TCC and running the script make.bat
Or you can run the binaries inside the bin
directory.
Meanwhile, you can enjoy the 0.6 release candidate 1 version! Keep in mind that it has some known issues which have to be fixed. See more in the security readme file.
Newtrodit Linux Compatibility Layer (aka Newtrodit-LCL) is, as the name says, a compatibility layer to run Newtrodit on Linux natively. It is currently being developed by @ZackeryRSmith and myself (anic17). Newtrodit-LCL will be released when Newtrodit 0.6 (the actual release) comes out, which shouldn't take long.
Huge thanks to all the contributers who helped make Newtrodit possible! β€οΈ
anic17 π¨ π» |
ZackeryRSmith π» |
timlg07 π |
KeithBrown39423 π |
TheKvc π§ͺ |