- Встановлення
cmake
якщо його немає на вашому комп'ютері:
sudo apt install cmake
- Встановлення
ninja
:
sudo apt install ninja-build
- Потрібно для бібліотеки
fmt
:
sudo apt install libfmt-dev
GTK3
потрібен для використання буферів обміну:
sudo apt install libgtk-3-dev
- Переходимо в теку з проектом
- Пишемо
cmake -G Ninja
, ця команда створить конфігураційні файли дляninja
- Останній крок це прописати
ninja
, це почне збирати проект, або не збирати і ви отримаєте інформативну помилку)
- Ctrl + q - Вийти з програми
- Ctrl + s - Зберегти зміни
- Ctrl + c - Копіювати одне слово яке обмежене пробілами
- Ctrl + l - Копіювати рядок на якому знаходиться курсор
- Ctrl + v - Вставити рядок з буфера
PreM створюється для покращення життя Linux-адміністраторам.
Планується зробити редактор коду/файлів конфігурації. Фішка в тому, що для розробників є багато редакторів коду + плагінів під них, для адмінів таких можливостей менше, тому я і вирішив почати писати цей проект.
Це приблизна схема як все буде виглядати (зроблена на колінах).
- Робоча область, тут буде основна взаємодія користувача з програмою
- Область для виведення підказок для авто-доповнення
- Вертикальний повзунок (для покращення орієнтування у файлі)
- Горизонтальний повзунок
- Область для нумерації рядків
- Статус-бар, тут будуть відображатися повідомлення від редактора а також інформація щодо положення курсору
Приклад, як приблизно будуть відображатися підказки. Тут потрібні ще правки.
- Зробити нарешті нормальну README.md (це буде коли релізну першу версію проги, по-факту вона буде схожа на те що є зараз але з деякими виправленнями)
- Зробити нормальний WindowContainer (планується що цей клас буде чимось подібним до QMainWindow, він буде контейнером для інших вікон)
- Додати декілька типів вікон (в PreM всі віджети будуть називатися вікнами)
- WindowContainer - як головне вікно-контейнер
- BufferedWindow - для тексту з прокруткою
- SimpleWindow - для тексту без прокрутки (можливо буде динамічне, щось подібне до FlexLayout в деяких бібліотеках)
- (new) Scroll - подібне до ScrollBar але трішки урізаний
- (new) NumSideBar - вікно для відображення номеру рядка
- Зробити авто-доповнення та почати писати парсер (це буде реалізовано на Python, програма буде служити для створення словників)