Author: 22125113 - Nguyen Quang Truong
This is a source code text editor that focuses on performance. With the help of different data structures and algorithms, this editor offers superior performance over popular existing editors (Vim, Nano, Visual Studio Code, Sublime Text...), as it enables efficient editing operations and manages huge files (that would otherwise crash or stall other editors).
It is written in C++. There is also an incomplete port (95%) to C (branch c-rereimpl
).
It currently supports the following features:
- Fast editing operations (insertion and deletion, copy and paste, find and replace…);
- Autocompletion;
- Extensible syntax highlight;
- Vim-like navigation;
- Buffer management.
Here is the repository of the project on GitHub.
This project (the source code, the logo, and the released binary) is licensed under the GNU Affero General Public License v3.0.
Please check out the Release section of the repository.
Since the editor invokes system calls from the Linux kernel, this editor can only be run on Linux-based OS. However, ports for other kernels are coming very soon!
- A Linux-based OS (will update in the future)
- C++20 (GNU GCC 12.1.0)
- CMake 3.22 or above
- My modified version of Raylib
- Native File Dialog Extended
- Install the correct dependencies
- Clone this repository
git submodule update --init --recursive
cmake -S. -Bbuild
make -Cbuild [-j <number of threads>]
- The executable
jaledit
in the directorybuild/
will appear.
jaledit is greatly inspired by Vim, one of my favorite text editors. Most features in jaledit are copied from Vim, including the keybindings and the functionalities, but with my own twists.
Please refer to the instruction here for usage.
Please refer to the project report for more details.