Skip to content

Batch-Man/Newtrodit

 
 

Repository files navigation

Note After almost a year and a half after the first release, Newtrodit 0.6 rc-1 is out! Feel free to try it, and remember, all feedback is highly appreciated!

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 position of cursor
  • 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 at 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 really 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 good I could recode it, but with more features. The UI slowly changed, having a blue background before and lateral bars. I realized I wanted to make my own 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 on beta, so there's a bunch of bugs needing 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 shows 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 on 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 is 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 reelase) comes out, which shouldn't take long.


Huge thanks to all the contributers who helped make Newtrodit possible! ❤️

anic17

🔨 💻

ZackeryRSmith

💻

timlg07

🐛

KeithBrown39423

🐛

TheKvc

🧪

Copyright © 2023 anic17 Software

Releases

No releases published

Packages

No packages published

Languages

  • C 99.8%
  • Batchfile 0.2%