19 releases
0.5.1 | Jan 13, 2024 |
---|---|
0.5.0 | Jan 13, 2024 |
0.4.7 | Jan 13, 2024 |
0.4.1 | Dec 31, 2023 |
0.3.9 | Dec 30, 2023 |
#58 in Text editors
82KB
2K
SLoC
Cedrh - text editor written in Rust
WARNING: Work is still in the progress
Table of contents
Overview
Cedrh (от англ Console EDitoR with syntax Highlighting) - консольный текстовый редактор с базовой подсветкой синтаксиса.
https://github.com/SergoGansta777/Cedrh/assets/98104790/a68d4e14-f323-4674-a80b-d0a3621808e4
Редактор был написан в качестве курсовой работы по теме "Разработка программного комплекса текстовый редактор с подсветкой синтаксиса". В качестве языка программирования был выбран Rust, как современный язык системного программирования, еще этот язык активно используется при написании современных консольных утилит, таких как ripgrep или bat. Освновной целью работы было познакомиться с Rust и с общими принципами разработки текстовых редакторов с консольным интерфейсом, в процессе работы и изучения материала активно вдохновлялся Build Your Own Text Editor и Kiro
Более детальную информацию о проекте можно получить в wiki
Cedrh предоставляет следующие базовые функции:
- Открытие существующего файла или создание нового
- Редактирование файла (вставка, удаление, добавление новой строки и тд…)
- Сохранение изменений
- Базовая подсветка синтаксиса (цвета подсветки могут браться из терминала или используется стандартная цветовая схема)
- Инкрементный поиск
- Нативная поддержка UTF 8
- Кроссплатформенность
- Поддержка различных терминалов и их функций (изменение размера окна, полный экран…)
Cedrh является кроссплатформенной утилитой, которая поддерживает следующие операционные системы:
- MacOs
- Unix/Linux
- Windows
- BSD
Installation
Пожалуйста, используйте новейшую версию Rust.
Cargo install
Текстовый редактор можно установить с помощью cargo
. Для этого введите команду:
cargo install cedrh
После этого Вы можете запустить редактор с помощью:
cedrh
Binary
- Клонируйте этот репозиторий
git clone https://github.com/SergoGansta777/Cedrh.git
- Установите rust
- Запустите следующую команду в корне репозитория:
cargo build --release
- Затем вы можете запустить собранное приложение:
./target/release/cedrh
- Затем вы можете добавить символическую ссылку для запуска приложения
Usages
Для получения вспомогательной информации используйте флаг --help
cedrh --help
Вы можете открыть на редактирование существующий файл с помощью:
cedrh file
Если вы хотите создать новый файл, запускайте редактор без аргументов или с указанием имени файла, который хотите создать
Mappings
Управление редактором оптимизировано для работы с клавиатурой, следует знакомым клавишным комбинациям по nano
или micro
Operations
Mapping | Description |
---|---|
Ctrl-q |
Выйти |
Ctrl-s |
Сохранить текущий файл |
Ctrl-f |
Инкрементный поиск |
↑ or ← after Ctrl-f |
Предыдущее совпадение |
↓ or → after Ctrl-f |
Следущее совпадение |
Navigation
Mapping | Description |
---|---|
↑ |
Передвинуть курсор вверх |
↓ |
Передвинуть курсор вниз |
→ |
Передвинуть курсор вправо |
← |
Передвинуть курсов влево |
Home |
Перенести курсор в начало строки |
End |
Перенести курсор в конец строки |
PageUp |
Перейти на первую строку |
PageDown |
Перейти на последную строку |
Additional Info about Syntax Highlighting
Cedrh - это текстовый редактор с поддержкой подсветки синтаксиса. Для подсветки cedrh использует несколько вариантов определения цветов подсветки:
- Использование поддерживаемого эмулятора терминала - В таком случае, согласно документации терминала cedrh спарсит конфиг, в котором перечислены цвета терминала. Таким образом cedrh поддерживает цветовой стиль среды и вкусовые предпочтения пользователя, с которыми работает. Если пользователь пожелает изменить цвета редактора, ему придется изменить настройки своего терминала
- Если терминал не поддерживаемый, тогда используется заранее предустановленные стандартная цветовая палитра cedrh.
- Возможно добавления кастомного файла, с конфигурацией цветов, если таковой указан, предпочтение будет отдаваться ему.
- Запуск программы с флагом
-d
всегда запустит со стандартной цветовой палитрой (подробнее --help)
List supported terminals
- Kitty
- Iterm2
Directory path of custom config
Linux/MacOs
: "~/.config/cedrh/cedrh.conf"- Windows: work in progress
Example of custom config
foreground #CDD6F4
background #09081B
active_border_color #B4BEFE
# The 16 terminal colors
color0 #45475A
color8 #585B70
color1 #F38BA8
color9 #F38BA8
color2 #A6E3A1
color10 #A6E3A1
color3 #F9E2AF
color11 #F9E2AF
color4 #89B4FA
color12 #89B4FA
color5 #F5C2E7
color13 #F5C2E7
color6 #94E2D5
color14 #94E2D5
color7 #BAC2DE
color15 #A6ADC8
Dependencies
~2.3–7.5MB
~57K SLoC