A lightweight text editor written using Rust w/ EMACS styled key binding.
Explore the docs »
CI Status
·
Report Bug
·
Request Feature
Pointer Editor (we'll call it Pointer or ptre in the rest of the document) is a currently under developing (we just started it) lightweight text editor in Rust.
- Rust
- Cargo
- Ratatui
You will need to have Rust & Cargo ready on your system. Please note that network is required as Cargo will download its dependencies.
Please have Rust & Cargo ready, then you may use the following command to build:
$ cargo buildYou may find the binary file on target/debug/build/ptre.
To run the code directly:
$ cargo runTo open an existing file in the editor buffer, pass its relative or absolute path:
$ cargo run -- README.mdA folder opens as a project, as Ctrl + C Ctrl + P A does:
$ cargo run -- srcMultiple arguments are rejected.
NOTE: Network connection WILL BE REQUIRED!!
To build a Debian binary package, simply run:
$ ./build-deb -dDependencies will automatically being installed to your computer.
Next time you may run:
$ ./build-debTo do a cleanup, run:
$ ./build-deb -cNote that this will also clear the artifacts generated.
NOTE: Network connection WILL BE REQUIRED!!
To build a Arch zstd package, simply run:
$ ./build-pkg -dDependencies will automatically being installed to your computer.
Next time you may run:
$ ./build-pkgTo do a cleanup, run:
$ ./build-pkg -cNote that this will also clear the artifacts generated.
The usage section has been moved to the doc/ folder. The list below shows some handy documents.
For more examples, please refer to the documentation directory.
- C/C++ editor buffer
- C/C++ code auto completion.
- C/C++ Clang-tidy/Cpplint error displaying.
- C/C++ error autofix.
- Rust editor buffer
- Provide code auto completion.
- Provide linting.
- Application
- Provide color icon mode.
- Provide i18n translations.
- Packaging
- Debian.
- Archlinux.
- Fedore/OpenSUSE.
- Nix.
- AmberPM.
See the open issues for a full list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
Please refer to the Contributor Guide and Code of Conduct before contributing, thanks.
ptre is licensed under GNU GENERAL PUBLIC LICENSE Version 3, you may find a copy of the license here.
Special thanks to these libraries:
- Crossterm-rs: https://github.com/crossterm-rs/crossterm
- Lsp-types: https://github.com/gluon-lang/lsp-types
- Ratatui: https://github.com/ratatui/ratatui
- Ratatui-code-editor: https://github.com/vipmax/ratatui-code-editor
- Serde-json: https://github.com/serde-rs/json
- Best-readme-template: https://github.com/othneildrew/Best-README-Template
For all dependencies, please refer to Cargo.lock.