Page 7 of 9

Re: Еще один текстовый редактор

Posted: Tue Sep 21, 2021 12:42 am
by punk_joker
Было бы полезно добавить поиск выделенного текста. ПРи нажатии Ctrl-F, если тект выделен, то ищем его.

Re: Еще один текстовый редактор

Posted: Tue Sep 21, 2021 9:22 pm
by akron1
Сделано (rev9197).
Выделенный текст должен быть однострочный и без символов табуляции.

Re: Еще один текстовый редактор

Posted: Fri Oct 01, 2021 11:52 am
by turbocat
Здравствуйте, ваш редактор безусловно на данный момент лучший в КОС, однако мне немного не понятно почему бинарник такой огромный. Он больше Eolite, и Webview. Нельзя никак сократить размер?

Re: Еще один текстовый редактор

Posted: Fri Oct 01, 2021 5:39 pm
by akron1
Не такой уж он и огромный. Редактор TextEdit, который теперь перенесен в ISO, занимал в образе вместе со всеми своими файлами лишь на пару килобайт меньше.

Можно уменьшить размер сжатого бинарника на ~17%, если скомпилировать с параметром "-nochk a" (отключить рантайм проверки). Позже, я так и сделаю, просто пока я не совсем уверен в надежности работы программы. По умолчанию, компилятор oberon-07 вставляет отладочный машинный код (проверка указателей, индексов массивов и т. д.). Если при выполнении программы произойдет разыменование нулевого указателя или нарушение границ массива, то программа выведет на доску отладки сообщение о месте и типе ошибки после чего будет остановлена. Это сильно помогает при разработке, особенно для Колибри, где чтение/запись по нулевому адресу допустимы.

Вот сравнение размеров сжатых и несжатых бинарников для "больших" программ на c-- (webview, eolite) и oberon-07 (fb2read, cedit):

Code: Select all

           сжатый   не сжатый   %
webview    21720     83862     25.9
eolite     31002    132800     23.3
fb2read*   24711     73820     33.5
cedit      35152    116796     30.1
cedit*     29858     90172     33.1

*  без рантайм проверок
Как видно, машинный код, который генерит компилятор Оберона заметно хуже сжимается (хотя несжатый код довольно компактный). Возможно, код отличается бОльшим разнообразием, компилятор может выдать разный машинный код для одинаковых выражений в зависимости от контекста. При разработке компилятора, я стремился сделать так, чтобы компилятор производил как можно меньший по размеру код без ущерба для эффективности. Разумеется, я рассматривал только несжатый код. Для минимизации размера сжатого бинарника, вероятно, надо генерить больше одинаковых фрагментов кода пусть и бОльшего размера.

Re: Еще один текстовый редактор

Posted: Sun Oct 03, 2021 9:49 pm
by turbocat
На самом деле это не критично. Спасибо что ответили на вопрос.

Re: Еще один текстовый редактор

Posted: Sat Nov 06, 2021 6:33 pm
by denius
Можно в редакторе внутри включить компиляторы для всех работающих языков чтобы процесс компиляции исходных текстов занимал меньше времени не прибегая к поиске отдельных компиляторов. Можно это применить?

Re: Еще один текстовый редактор

Posted: Sun Nov 07, 2021 8:13 am
by akron1
denius
Сейчас, чтобы скомпилировать или запустить программу из редактора, нужно написать скрипт, сохранить его и выбрать файл скрипта в меню "program". Если пишется большая программа, то трудозатраты на написание скрипта несопоставимы с таковыми на написание программы. Но это, конечно, неудобно, когда пишется маленькая тестовая программа. Но каким образом я могу это автоматизировать? Для того, чтобы скомпилировать программу, редактор должен знать на каком языке она написана, тогда будет понятно, какой компилятор использовать. В редакторе могут быть открыты несколько файлов на разных языках программирования, и какой из них относится к программе, знает только пользователь. Также, необходимо знать, какой из файлов программы является главным, т. е. с какого начинается компиляция. А кроме того, надо указать еще и имя выходного файла (но здесь проще -- по умолчанию, можно записывать результат в /tmp0/1). А еще есть параметры компилятора, которые тоже надо где-то указывать.
В IDE все эти данные могут быть записаны в специальный файл проекта (при создании нового проекта или при редактировании свойств текущего). Но у меня не IDE, а просто текстовый редактор.
Впрочем, если будут конкретные предложения что и как надо сделать для повышения удобства работы, то я их, конечно, рассмотрю.

Re: Еще один текстовый редактор

Posted: Sun Nov 21, 2021 1:32 am
by Leency
Как и обещал, я исправил ВСЕ скины, так что теперь проблем с light и dark цветами быть не должно.
Если будут, пишите.

Re: Еще один текстовый редактор

Posted: Sun Nov 21, 2021 8:29 pm
by Leency
Горизонтальный скролл не работает.

Re: Еще один текстовый редактор

Posted: Sun Nov 21, 2021 11:15 pm
by akron1
Leency wrote:Горизонтальный скролл не работает.
Я такого не замечал, у меня всё работает. Может быть, нужны какие-то особые условия для воспроизведения бага. В общем, если замечу, то исправлю, а пока я ничего не вижу.

Re: Еще один текстовый редактор

Posted: Mon Nov 22, 2021 12:01 am
by Leency
akron1 wrote:
Leency wrote:Горизонтальный скролл не работает.
Я такого не замечал, у меня всё работает. Может быть, нужны какие-то особые условия для воспроизведения бага. В общем, если замечу, то исправлю, а пока я ничего не вижу.
Не работал в эмуле. Видно ошибка эмулирования. Сори.

Re: Еще один текстовый редактор

Posted: Tue Nov 23, 2021 9:40 pm
by Leency
Можно ещё пожалуйста добавить хоткей CTRL+H? Делает то же самое что CTRL+F.
(в других редакторах +F это поиск, а +H это замена).

Изменение кодировки не делает доступным сохранение (т.е. не является "шагом"), нужно нажать например Пробел чтобы можно было сохранить документ.

Также Encoding определяет кодировку сохранения, но нет функции преобразования текущей кодировки.
В notepad++ это сделано так.

Re: Еще один текстовый редактор

Posted: Wed Nov 24, 2021 4:37 pm
by Leency
Aх да, ещё хотелось бы:
Chrl+влево или вправо переход к началу/концу слова.
Хотелось бы Tab в строке поиска для перехода к следующему текстовому полю.

Re: Еще один текстовый редактор

Posted: Fri Nov 26, 2021 12:55 am
by akron1
Leency wrote:Можно ещё пожалуйста добавить хоткей CTRL+H? Делает то же самое что CTRL+F.
(в других редакторах +F это поиск, а +H это замена).
Сделано.
Leency wrote: Изменение кодировки не делает доступным сохранение (т.е. не является "шагом"), нужно нажать например Пробел чтобы можно было сохранить документ.
Теперь, изменение кодировки считается изменением текста и файл можно сразу же сохранить, а можно и отменить изменение кодировки.
Leency wrote: Также Encoding определяет кодировку сохранения, но нет функции преобразования текущей кодировки.
Это имеет смысл только в случае неправильного автоопределения кодировки. В нормальных текстах это практически исключено. Изменение текущей кодировки при такой структуре данных сделать сложно, а пользы от этого мало. Пока я это не планирую.
Leency wrote:Chrl+влево или вправо переход к началу/концу слова.
Пока сделано в таком виде: Ctrl+left/right -- переход к началу предыдущего/следующего слова. Словом считается последовательность символов {'A'..'Z', 'a'..'z', '0'..'9', '_'}. В дальнейшем, это можно усовершенствовать.
Leency wrote:Хотелось бы Tab в строке поиска для перехода к следующему текстовому полю.
Сделано. Хотя, чекбоксы и кнопки всё равно придется нажимать мышью.

Re: Еще один текстовый редактор

Posted: Fri Nov 26, 2021 8:15 pm
by Leency
Ctrl+Влево/Вправо не работает с кириллицей (я когда-то репортил, по помню повод был другой, тут это странно).

Ctrl+Влево работает корректно
Ctrl+Вправо нет, перескакивает за пробел. Пример:

Code: Select all

Steps to reproduce:
1. |Hello world
2. [Ctrl+Right]
Actual result: Hello |world
Expected result: Hello| world