Page 1 of 9
Еще один текстовый редактор
Posted: Fri Apr 02, 2021 11:44 pm
by akron1
Spoiler:
11-mar-2021
начало
02-apr-2021
Пока неюзабельно.
Нет скроллов, нет поиска/замены, нет отмены изменения, нет настройки отображения.
Не всё хорошо с производительностью.
Повышенный расход оперативной памяти, т. к. программа работает с фиксированными строками 1000 символов UTF16.
Открытие текстов только в кодировке UTF-8 с BOM или без, конец строки - CR/LF/CR+LF.
Сохранение в UTF-8 с BOM, конец строки - CR+LF.
Символы табуляции заменяются пробелами.
Буфер обмена работает с кодировкой CP866.
Подсветка синтаксиса пока только для Оберона, но нет проблем сделать для Си, Паскаля и т. д.
Работают все основные функции редактирования текста.
Выделение текста клавиатурой и мышью, прокрутка колесом мыши.
специальные клавиши:
ctrl+A -- выделить всё
ctrl+C -- копировать
ctrl+V -- вставить
ctrl+X -- вырезать
ctrl+Y -- удалить текущую строку
ctrl+S -- сохранить
ctrl+O -- открыть
ctrl+N -- создать новый
также:
(ctrl+)Home, (ctrl+)End, (ctrl+)PageUp, (ctrl+)PageDown
06-apr-2021
Поддержка кодировки CP866.
Подсветка для C
Подсветка для Pascal
08-apr-2021
Скроллы, мелкие исправления.
09-apr-2021
- отключение нумерации строк (ctrl+F1)
- настройка цветов (ini-файл)
- вопрос о сохранении файла при закрытии
- мелкие исправления
12-apr-2021
добавлен поиск, замена пока не работает
14-apr-2021
Замена, мелкие исправления.
17-apr-2021
- изменено поведение: курсор можно поставить только туда, где есть текст
- снято ограничение на длину строки
- уменьшено использование оперативной памяти
- мелкие улучшения
20-apr-2021
- Многократная отмена:
F5 - отменить (undo)
ctrl+F5 - вернуть (redo)
- Подсветка для FASM
23-apr-2021
сделано контекстное меню
24-apr-2021
- панель поиск/замена перенесена в левую часть окна
- добавлена функция "перейти на строку..."
01-may-2021
сделано главное меню
03-may-2021
- иконки на кнопки
- функция "изменить регистр" для выделенного текста
- поиск без учета регистра для русских букв
- некоторые улучшения интерфейса
05-may-2021
мелкие исправления
06-may-2021
подсветка для Lua
08-may-2021
выбор подсветки синтаксиса
09-may-2021
мелкие исправления
11-may-2021
- выбор и исполнение скриптов (.sh) для компиляции и выполнения программы
- автоопределение кодировки на вход, выбор кодировки на выход
14-may-2021
- мелкие исправления
- подсветка для .ini
17-may-2021
- меню tools
- пункт меню program->debug
- группировка кнопок тулбара
18-may-2021
- кнопки "компилировать" и "выполнить"
- выбор цветовой схемы
- загрузка ключевых слов из файла
- подсветка директив для Pascal
20-may-2021
- третья группа ключевых слов
- уточнение подсветки для Pascal
- мелкие исправления
24-may-2021
- исправлен путь к файлу icons16.png
31-may-2021
- подсветка #-комментариев для INI
03-jun-2021
системные цвета
06-jun-2021
- Esc -- скрыть панель поиска
- Shift-F3 -- найти предыдущий
- увеличен размер окна
- добавлен пункт меню view->x2 (увеличить шрифт)
14-jun-2021
мелкие исправления
15-jun-2021
мелкие исправления
06-jul-2021
- дублирование (ctrl+d), удаление (ctrl+del), перемещение (ctrl+up, ctrl+down) строк
- путь к скриптам по умолчанию
- выделение одинаковых слов
10-jul-2021
- вкладки
- file->save all
- file->close
12-jul-2021
- улучшенный дизайн
- метки: ctrl+F2 -- поставить/снять; F2 -- перейти к метке ниже; shift+F2 -- перейти к метке выше
- закрыть вкладку: ctrl+W или средней кнопкой мыши
- ctrl+Tab -- переключиться на следующую
16-jul-2021
- разные исправления
- улучшена работа функций "отменить" и "вернуть"
- пункт меню tools->board
- кнопка "свернуть панель поиска"
17-jul-2021
мелкие исправления
07-aug-2021
поддержка символов табуляции
08-aug-2021
мелкие исправления
10-aug-2021
мелкие исправления
11-aug-2021
Изменение отступа для выделенного текста:
Tab - увеличить
shift+Backspace - уменьшить
17-aug-2021
- подсветка для JSON
- исправлены ошибки
18-aug-2021
мигающий курсор
20-aug-2021
мелкие исправления
25-aug-2021
исправлена ошибка
28-aug-2021
вложенные меню
02-sep-2021
новые скроллы
03-sep-2021
мелкие исправления
06-sep-2021
выбор символа перевода строки (CRLF/LF/CR)
07-sep-2021
улучшенный таймер, мелкие исправления
08-sep-2021
новые чекбоксы
11-sep-2021
доступ к главному меню с клавиатуры (F10 - Esc)
14-sep-2021
некоторые изменения в главном меню
15-sep-2021
возможная подсветка операторов и разделителей
17-sep-2021
исправлена ошибка
21-sep-2021
поиск выделенного текста
24-sep-2021
мелкие исправления
Re: Еще один текстовый редактор
Posted: Thu Apr 08, 2021 1:14 am
by Leency
Супер! Это очень хорошая новость!
Текстовый редактор в топе того, что нужно Колибри.
Ещё отлично что мне не придется делать это все в Quark)))
С таблицами в браузере я уже обломался, с полноценным IDE наверное было бы тоже самое, ведь за 10 лет у меня лишь в 3 раза больше скиллов и в 7 раз меньше упорства)))
Re: Еще один текстовый редактор
Posted: Thu Apr 08, 2021 3:43 pm
by GerdtR
Легко изменяемая подсветка синтаксиса... и привлекательнее textedit. Неплохо, это однозначно есть смысл пилить. И круто будет возможность делать плагины. Ну хотя бы в целом структура проги была бы годная для будущей прикрутки плагинов. Эдакий маленький notepad++.
Re: Еще один текстовый редактор
Posted: Thu Apr 08, 2021 5:34 pm
by akron1
Пока, у меня задача -- сделать простой редактор с подсветкой синтаксиса, не более того. А дальше посмотрим...
Re: Еще один текстовый редактор
Posted: Mon May 03, 2021 7:54 am
by akron1
Подведу промежуточные итоги.
До полноценного редактора кода еще далеко, но кое-что уже есть:
- все основные функции текстового редактора
- автоотступ
- подсветка синтаксиса для C, Oberon, Pascal, Fasm
- нумерация строк
- поиск/замена
- переход на строку
- многократная отмена изменений
- изменение регистра для выделенного текста
Написано менее чем за два месяца (давно уже можно было сделать!) -- у меня было не очень много свободного времени, но много энергии. При этом, последний месяц я обходился без кросскомпиляции -- писал редактор в самой KolibriOS и в нём самом же.
На данный момент мне больше всего не хватает многостраничности, также, хорошо бы иметь возможность компиляции/запуска прямо из редактора.
Пока сделаю паузу, а потом подумаю куда и как пилить дальше.
Сейчас, выглядит так:
Spoiler:
-
1.png (30.16 KiB)
Viewed 14121 times
Обновление архива в первом сообщении.
Re: Еще один текстовый редактор
Posted: Mon May 03, 2021 4:56 pm
by Doczom
Очень хороший редактор, простой и понятный, интерфейс не перегружен, работает стабильно, редактировать код очень удобно.
из недостатков: не хватает комбинации клавиш ctrl+z , и кнопки компиляции, её можно сделать как запуск скрипта build.sh ,
иногда может понадобиться переключение кодировки текста, для меню открытия файла было бы неплохо сделать два варианта(открыть в новой вкладке, открыть в новом окне), ручной выбор синтаксиса, или возможность ассоциировать файлы с разным расширением к одному типу синтаксиса, например у паскаля файлы имеют расширение .pp, .pas .inc, .lpr , ну и небольшой вопрос: почему программа при запуске занимает в ОЗУ 4(5) мб, можно ли уменьшить данный объем, например до 2-3 мб?
Re: Еще один текстовый редактор
Posted: Mon May 03, 2021 7:47 pm
by akron1
Doczom wrote:не хватает комбинации клавиш ctrl+z , и кнопки компиляции
Если сделать "undo" на ctrl-z, то "redo" должно быть на ctrl-y. Но ctrl-y уже занято -- "удалить текущую строку" и я часто пользуюсь этой функцией. Поэтому "undo" (временно) сделано на F5, а "redo" -- ctrl-F5. Потом, может быть, переделаю.
Doczom wrote:почему программа при запуске занимает в ОЗУ 4(5) мб, можно ли уменьшить данный объем, например до 2-3 мб?
1 Мб занимает графический буфер -- это необходимо, чтобы не было мерцания; 1 Мб стэк главного потока (это минимально возможный размер стэка при текущем состоянии компилятора); 1 Мб забирает менеджер памяти для выделения малых блоков (при исчерпании этого мегабайта, менеджер памяти запросит следующий мегабайт).
Остальное принял к сведению, спасибо.
P. S.
Исправлена ошибка, архив обновлен.
Re: Еще один текстовый редактор
Posted: Wed May 05, 2021 5:14 pm
by Leency
Все поля по дефолту имеют фокус, что не ок
https://prnt.sc/12izcf7
Окно на 1px меньше чем контент
https://prnt.sc/12izhr3
Чтобы кнопки скролла выглядели ня, их надо рисовать кастопно - геморно, зато красиво
https://prnt.sc/12izt3g (в скине есть цвета work_light и work_dark для придания оъема)
Или можно совсем по-хипстерски - без них, т.к. используют их редко. Эти кнопки хорошо реаизованы в Эолайт - эффект нажатия, реация на зажатие, но кода ушло много. В браузере и Quark я вообще от них отказался, вроде ок.
Есть странная задержка перед выделением.
Можно попробовать ctrl+z / ctrl+alt+z.
Лирическое отступление: по феншую, конечно, ctrl+shift+z, но ctrl+shift переключет язык в системе.
Сейчас уже все системы перешли на переключение языка по комбиналии Win+Space (Windows), Cmd+Space (MacOS), Ctrl+Space (ChromeOS/Linux) и нам надо.
В целом очень годно.
Re: Еще один текстовый редактор
Posted: Wed May 05, 2021 8:45 pm
by ArenElchinyan
Добавьте возможность изменять цветовую схему.
Также можно версию для тестов на SVN?
Re: Еще один текстовый редактор
Posted: Wed May 05, 2021 9:07 pm
by denius
Re: Еще один текстовый редактор
Posted: Thu May 06, 2021 12:06 am
by akron1
исправлено
исправлено
Leency wrote:
Чтобы кнопки скролла выглядели ня, их надо рисовать кастопно - геморно, зато красиво
https://prnt.sc/12izt3g (в скине есть цвета work_light и work_dark для придания оъема)
Или можно совсем по-хипстерски - без них, т.к. используют их редко. Эти кнопки хорошо реаизованы в Эолайт - эффект нажатия, реация на зажатие, но кода ушло много. В браузере и Quark я вообще от них отказался, вроде ок.
Да, конечно, такие скроллы (кнопки) временно, чтобы хоть что-то было.
Leency wrote:
Есть странная задержка перед выделением.
Это защита от случайного выделения, если левая кнопка нажата, чтобы поставить курсор в новое место, а мышь по инерции продолжает двигаться. Была задержка 160 мс, теперь уменьшена до 100 мс.
Leency wrote:
Можно попробовать ctrl+z / ctrl+alt+z.
Лирическое отступление: по феншую, конечно, ctrl+shift+z, но ctrl+shift переключет язык в системе.
Сейчас уже все системы перешли на переключение языка по комбиналии Win+Space (Windows), Cmd+Space (MacOS), Ctrl+Space (ChromeOS/Linux) и нам надо.
ctrl+alt тоже не подходит -- это комбинация для переключения на хост в VMware. Я сделал "undo" на ctrl-z, "redo" на ctrl-y, а функцию "удалить строку" пока отключил, может потом подберу для нее какую-нибудь другую комбинацию.
ArenElchinyan wrote:Добавьте возможность изменять цветовую схему.
Частично, такая возможность есть, но только через ini-файл. Потом, конечно, сделаю специальное окно для настроек цветов и прочего. Но это будет позднее, сейчас я исправляю только мелкие недоработки и ошибки.
На SVN пока не надо, последнюю версию вы всегда найдете здесь.
Re: Еще один текстовый редактор
Posted: Thu May 06, 2021 12:14 am
by Doczom
а можно ли подключить поддержку других ЯП, например Lua и сворачивания кода?
Re: Еще один текстовый редактор
Posted: Thu May 06, 2021 12:37 am
by akron1
Подсветка для Lua -- думаю легко, на днях сделаю. Сворачивание кода -- сложно, это оставлю на будущее.
upd
Подсветка для Lua сделана.
Spoiler:
-
1.png (19.41 KiB)
Viewed 13865 times
Re: Еще один текстовый редактор
Posted: Thu May 06, 2021 11:39 am
by Leency
Спасибо.
По подсветке луа имхо контраст недостаточный, т.к. шрифты тонкие.
Я использовал такие цвета
https://prnt.sc/12kg9xh. Если слишком контрастно, то можно что-то среднее между цветами браузера и текущими...
Re: Еще один текстовый редактор
Posted: Thu May 06, 2021 11:47 am
by ArenElchinyan
Прогресс идет!
Может создадим полноценную среду разработки с компиляторами, встроенной документацией?
В беседе "вконтакте" было обсуждение на счет этого.