Skip to content

anic17/Newtrodit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

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!

Newtrodit
newtrodit-stars newtrodit-forks newtrodit-license newtrodit-issues newtrodit-issues

Efficient and simple yet powerful console text editor written in C

Editing a C header file with Newtrodit

See the Newtrodit website for more information

Features

  • 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

Small history

Why I started to code Newtrodit?

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.

Building

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

Compatibility

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.

Bug reports

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.

Contributing

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.

Documentation

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.

Configuration

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.

Contact

Join the Newtrodit development channel on Discord!

Release

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-LCL

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

πŸ§ͺ

Copyright Β© 2024 anic17 Software