On-line: NickSam, гостей 1. Всего: 2 [подробнее..]
АвторСообщение
alkresin
moderator


Пост N: 1174
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 04.04.19 14:37. Заголовок: Hbedit - текстовый редактор


Довел, наконец, свой текстовый редактор до того состояния, когда можно показать его общественности. Я начал писать его сначала как замену Memoedit(), но потом увлекся) и решил сделать что-то помощнее, как нормальный редактор для повседневного использования. Мне приходится в течение дня работать и под виндами, и под Линуксом - использую Far и mc, соответственно. Иногда Vim - но к некоторым вещам в нем так и не привык. Но хочется иметь что-то одно для всех платформ - не слишком навороченный, но чтоб было все что надо.
Сегодня выложил на github: https://github.com/alkresin/hbedit.
F9 (или мышкой по соответствующей надписи) - главное меню.
В ближайших планах:
- Lower/Upper для utf8
- новые режимы подсветки ( директивы препроцессора и пр. )
- скобки - подсветка парных и переход на парные
- undo
- решить проблемы с табуляцие
- сохранение истории открытых файлов, поиска
- написать help (hbedit.help)

Если есть идеи для реализации - буду рад услышать.

Спасибо: 0 
Профиль
Ответов - 300 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 All [только новые]


SergKis



Пост N: 2400
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 18.04.19 19:24. Заголовок: PS Вырезка из ini No..


PS
Вырезка из ini Notepad3 по типам Скрытый текст


Спасибо: 0 
Профиль
SergKis



Пост N: 2401
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 18.04.19 20:15. Заголовок: alkresin пишет Если ..


alkresin пишет
 цитата:
Если вам так нужно свое постоянное меню, то есть еще вот такое решение


Меню и строку состояния как в дос в wvt не используем. Уже писал, товарищ по работе, меняет wvt добавляя main menu и StatusBar, т.е. вся площадь окна - рабочая область. Исп. ф-ии (это еще hb 2.0)
wvt_CreateMenu( [lMain] ) -> hMenu
...
wvt_AppendMenu(hMenu, cCaption, nKey, [cFlags] )
Добавить пункт в меню

cCaption - Текст меню
В тексте работает символ Chr(9)
nKey - Этот код будет послан в очередь
Наш обработчик ловит nKey и запускает из массива или hash по ключу блок кода.
Я не работаю с wvt давно, подзабыл детали и пример не нашел, убрал куда то
Хорошо бы вашему обработчику послать сообщение, что выполнить (список всех исполнителей ?)


cFlag - строка символов в любой комбинации регистр не имеет значение
'B' - Bold выделеный пункт меню
'C' - Cheked Помечен галочкой
'D' - Disable Серый не работающий
'N' - Начинается новая колонка
'H' - При первом открытии меню курсор стоит на этой позиции

Еще условия :
- надо кодировку LV866 (EN,LV,RU) ее нет в hb standart
- hb 3.2 unicode с LV866 сделан под vc2017 (не переведены еще часть используемых C lib)
- hbedit тексты должны быть utf8 + все ini (BOM) + работа с ними внутри utf8
- все меню hbedit, переведены в main menu
Что бы браться за это для hbedit, надо очень веские причины, т.к. сейчас Notepad3 с LV866, клавиши и режимы приведены "нормальным" действиям. Изменения Notepad3 только новой пересборкой, но особо уже ничего не надо, так по мелочи есть по покраске, наберется, пересоберется

Спасибо: 0 
Профиль
SergKis



Пост N: 2403
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.04.19 07:57. Заголовок: PS Вспомнил, свой об..


PS
Вспомнил, свой обработчик, это установленные
SetKey( nKey, {|| ...})

Спасибо: 0 
Профиль
Vlad04
постоянный участник


Пост N: 825
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 19.04.19 09:39. Заголовок: По-моему вы пытаете..


По-моему вы пытаетесь скрестить ежа и ужа. Как известно редакторы предназначенные для Юзеров ( просмотр текста, печать и ещё что-то) отличаются по функционалу от редакторов предназначенных для написания кода.
А судя по вводной в начале темы alkresin и собирался создать ВТОРОЙ - не слишком навороченный, но чтоб было все что надо. .
Но SergKis пытается из него сделать редактор для ПОЛЬЗОВАТЕЛЕЙ, при чем не сильно продвинутых

 цитата:
Вот пользователю это совсем не нужно (даже запоминать не будет, будет звонить). Ему надо кнопку, tooltip, меню ...




Спасибо: 0 
Профиль
SergKis



Пост N: 2407
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.04.19 10:07. Заголовок: Vlad04 пишет По-моем..


Vlad04 пишет
 цитата:
По-моему вы пытаетесь скрестить ежа и ужа


Почитайте самое начало темы, разговор о сделанном MemoEdit() и на его базе, более мощное hbedit, который по смыслу полностью совпадает с Notepad3 (C вариант) и Far. Если с Far понятно, "вас тут много, а я один - делайте плагины, когда нужно, чего нет". В hbedit такая метода мне не понравилась, для отладки нового алгоритма - хорошо, для работы повседневной, не очень, по мне. В отличии от notepad3, hbedit (MemoEdit()) можно встроить в прогу, вот я и прикидывал как это сделать. Консольный hbedit => wwt hbedit, но вариант похожий на windows

По поводу вопросов по "Вот пользователю это совсем не нужно ..."
Интерфейсов консольных и wvt в стиле clipper не осталось, всем надо и понимают что и как для windows интерфейса.
Меню hbedit после клика F9 вызовет полное недоумение у нынешних пользователей, а нажать клавишу F9 большая половина не поймет ... и будут звонить - "как получить что то ... вы показывали". Это почти не утрировано.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1202
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 19.04.19 11:36. Заголовок: Vlad04 пишет: Но Se..


Vlad04 пишет:

 цитата:
Но SergKis пытается из него сделать редактор для ПОЛЬЗОВАТЕЛЕЙ


Проблема в том, что ему нужен, как я понимаю, не просто редактор для пользователей, а программа на базе редактора, с функциями, редактору общего назначения не свойственными, специализированная для нужд конкретного клиента. В принципе, эта задача вполне решаема с помощью плагинов.
SergKis пишет:

 цитата:
Консольный hbedit => wwt hbedit, но вариант похожий на windows


С помощью своего плагина - пожалуйста. Редактор мультиплатформенный, консольный (чтобы и по ssh можно было работать), поэтому включать в основную программу чисто виндовские элнменты - не вариант.

 цитата:
Интерфейсов консольных и wvt в стиле clipper не осталось, ...
Меню hbedit после клика F9 вызовет полное недоумение у нынешних пользователей


Вы явно недооцениваете пользователей. Буквально на прошлой недели я поставил небольшую консольную программу на завод в маленьком поселке - как раз со старым Клипперовским меню, без поддержки мыши. Первой реакцией было недоумение - на что нажимать, как работать, но после 5-минутной консультации по телефону все стало на свои места. Неделю уже работают, никаких вопросов.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1203
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 19.04.19 11:40. Заголовок: Еще раз обновил реда..


Еще раз обновил редактор.
Кое-что исправлено, добавлен плагин - список функций для С.
Добавлена возможность задавать в ini цвета подсветки и для конкретного языка.

Спасибо: 0 
Профиль
SergKis



Пост N: 2408
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.04.19 12:02. Заголовок: alkresin пишет Вы яв..


alkresin пишет
 цитата:
Вы явно недооцениваете пользователей.


Реальность в Латвии такова, что остались только мы (два динозавра), пишущих на Clipper\Harbour

 цитата:
Проблема в том, что ему нужен, как я понимаю, не просто редактор для пользователей, а программа на базе редактора, с функциями, редактору общего назначения не свойственными, специализированная для нужд конкретного клиента.


В принципе не нужна в предлагаемом виде, все на плагинах (Far достаточно со своими, но и им давно не пользуюсь, только в качестве источника для Clipboard). Notepad3 полностью обеспечивает работу с мемо полями и текстами док., шаблонами (вместо worda, т.к. нужна лицензия). Его запустил с ini, изменил размеры окна до нужного и позицию - сохранилось все в ini, след. запуск с ini размещает где хотели. Таких несколько ini обеспечивают одновременную работу с несколькими карточками. Это аналог работы в окне STANDARD с EDITBOX. Title окна задается (номер карточки или еще что) /t Nr.1234567. по кнопке можно запустить распечатку файла немедленно или с запросом свойств печати.
Кстати, кодировка LV866 в нем соответствует RU866 и устанавливается в меню выбором кодировки 866.
Лат. буквы в местах псевдографики. Можно попробовать

Спасибо: 0 
Профиль
SergKis



Пост N: 2409
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.04.19 12:10. Заголовок: PS для prg, кроме по..


PS
для prg, кроме подсветки (hb+hmg) есть автозавершение и режим уст. длинной строки с прорисовкой линии, в этом режиме до линии добавляются строки пробелами и курсор не прыгает (это уже наши правки), при добавлении новых строк это ломается, но не смертельно (F2, F5) исправляет. Линия в 0 - обычный режим Notepad3

Спасибо: 0 
Профиль
SergKis



Пост N: 2412
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.04.19 19:07. Заголовок: alkresin При большо..


alkresin
При большом списке функций, методов, ... (кончились цифры+буквы у пунктов FMenu), просится
- сортировка списка по наименованию
- поиск в списке по наименованию
планируется ли такое ?

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1204
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 19.04.19 21:00. Заголовок: SergKis пишет: план..


SergKis пишет:

 цитата:
планируется ли такое ?


Может быть. Пока не думал.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1205
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 19.04.19 21:06. Заголовок: Что-то странное в эт..


Что-то странное в этом апрельском воздухе)...
Зашел сегодня на Harbour Users посмотреть, чем народ дышит, а там в апреле среди прочих два сообщения о разработке консольного текстового редактора, одно из них - от Линареса:
[url=https://groups.google.com/forum/#!topic/harbour-users/gXH7fwucSAA]https://groups.google.com/forum/#!topic/harbour-users/gXH7fwucSAA[/url]
[url=https://groups.google.com/forum/#!topic/harbour-users/gBhBpgl13LA]https://groups.google.com/forum/#!topic/harbour-users/gBhBpgl13LA[/url]
А вы говорите, "интерфейсов консольных и wvt в стиле clipper не осталось". Новый тренд пошел).

Спасибо: 0 
Профиль
SergKis



Пост N: 2413
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.04.19 22:48. Заголовок: alkresin пишет А вы ..


alkresin пишет
 цитата:
А вы говорите, "интерфейсов консольных и wvt в стиле clipper не осталось". Новый тренд пошел).


Так это в нашей деревне.

У вас Linuks (типа своя ось) должен вперед двигаться, после ограничений по windows.
Потому консоль, wvt должны рулить

Спасибо: 0 
Профиль
SergKis



Пост N: 2414
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.04.19 22:53. Заголовок: alkresin пишет Может..


alkresin пишет
 цитата:
Может быть. Пока не думал.


Для пробы взял h_tbrowse.prg из hmg, 379 entity, 15340 line

Спасибо: 0 
Профиль
SergKis



Пост N: 2415
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.04.19 23:06. Заголовок: PS Включаю в Entity ..


PS
Включаю в Entity кроме CLASS и END CLASS, чтобы в списке видеть, где кончаются объявления методов и их INLINE, BLOCK конструкции, для перехода в конец класса.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1206
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 20.04.19 09:57. Заголовок: Обновлен hbedit. Доб..


Обновлен hbedit.
Добавлены:
кодоблок :bNew - он отрабатывает при вызове метода TEdit():New(), что позволяет выполнять свой код при открытии файла;
кодоблок :bEdit - он отрабатывает перед началом редактирования (метод TEdit():Edit()) - там можно, в частности, установить свою область в окне редактора;
кодоблок :bOnKey - он отрабатывает после нажатия клавиши или щелчка мышью и позволяет, таким образом, перехватывать события.
'. (в режиме Vim) и Alt-'. (в режиме редактирования) - переход к месту последнего изменения.
В ini добавлена подсветка .bat.
Ну и кое-какие исправления.

Спасибо: 0 
Профиль
ММК
постоянный участник


Пост N: 354
Зарегистрирован: 29.05.10
ссылка на сообщение  Отправлено: 20.04.19 11:58. Заголовок: alkresin пишет: А в..


alkresin пишет:

 цитата:
А вы говорите, "интерфейсов консольных и wvt в стиле clipper не осталось". Новый тренд пошел).


Да, ретро периодически привлекает. Вот даже еще "круче" - из DOS'а в WEB.
http://forums.fivetechsupport.com/viewtopic.php?f=3&t=36990&sid=45770993eb5f74b9c7cc74dd013baec8&start=30
Что касается Линариса, то его вряд ли интересует такой редактор. Во всяком случае в FW достаточно
небольших примеров включая "виндовые", что для пользователя интереснее. А все предназначенное для разработчиков
плавно перетекает в среду разработки. Это уже другая песня...
alkresin пишет:

 цитата:
два сообщения о разработке консольного текстового редактора, одно из них - от Линареса:



Помог человеку. Предложил вариант "подсветки" .
И далее интересно ( не Линарис) -
Now we may have to find a way to utilize it (hbEditor class) into something more useful.. than a mere sample

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1207
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 20.04.19 15:57. Заголовок: ММК пишет: Да, ретр..


ММК пишет:

 цитата:
Да, ретро периодически привлекает. Вот даже еще "круче" - из DOS'а в WEB.


Ретро - это MSDOS в любой упаковке, а консольный интерфейс - это не ретро, а один из способов организации интерфейса, активно использующийся наряду с графическим и сегодня, все зависит от конкретной задачи и, конечно, от вкусов пользователя. Я, например, тоже пользователь, и во многих случаях предпочитаю именно консольный интерфейс (Far, текстовые редакторы, ...). И я не один такой, тот же Vi/Vim до сих пор остается одним из самых популярных программистских (и не только) редакторов, и в последние годы его популярность даже выросла.

 цитата:
Что касается Линариса, то его вряд ли интересует такой редактор. Во всяком случае в FW достаточно


Не знаю, какой редактор использует Антонио, при случае спрошу). Но то, что он автор FW ничего не говорит о его предпочтениях, точно так же. как и то, что я - автор HwGui и др. GUI инструментов ничего не говорит о моих.

Спасибо: 0 
Профиль
SergKis



Пост N: 2419
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 20.04.19 17:38. Заголовок: ММК пишет А все пред..


ММК пишет
 цитата:
А все предназначенное для разработчиков
плавно перетекает в среду разработки. Это уже другая песня...


Почему другая ?
Я воспринял hbedit как такой элемент и стал наседать с вопросами.
Для prg добавить
- файл проекта (вполне пойдет his)
- CmdRun для сборки модуля
- Список функций (как сейчас по одному prg) по prg из файла проекта
в такой схеме пройдут и др. языки
Для txt групповая поиск\замена (может подходить для всех типов)

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1208
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 20.04.19 19:44. Заголовок: SergKis пишет: Я во..


SergKis пишет:

 цитата:
Я воспринял hbedit как такой элемент и стал наседать с вопросами.
Для prg добавить
- файл проекта (вполне пойдет his)
- CmdRun для сборки модуля
- Список функций (как сейчас по одному prg) по prg из файла проекта


Предложение интересное (только his тут ни при чем), хоть я и не помню, чтобы вы говорили об этом раньше. Можно объявить в ini новый тип файла и сделать плагин/группу плагинов для него.

Спасибо: 0 
Профиль
Ответов - 300 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 All [только новые]
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 674
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет