Автор | Сообщение |
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) Если есть идеи для реализации - буду рад услышать.
|
|
|
Ответов - 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 по типам Скрытый текст
[Default Text] [2nd Default Text] [ANSI Art] [Apache Config Files] [Assembly Script] [AutoHotkey Script] [AutoHotkey_L Script] [AutoIt3 Script] [AviSynth Script] [Awk Script] [Batch Files] [C# Source Code] [C/C++ Source Code] [Cmake Script] [Coffeescript] [Configuration Files] [CSS Style Sheets] [D Source Code] [Diff Files] [Go Source Code] [Inno Setup Script] [Java Source Code] [JavaScript] [HARBOUR Source Code] Default=size:+2 [JSON] [LaTeX Files] [Lua Script] [Makefiles] [Markdown] [MATLAB] [Nim Source Code] [NSIS Script] [Pascal Source Code] [Perl Script] [PowerShell Script] [Python Script] [Registry Files] [Resource Script] [R-S-SPlus Statistics Code] [Ruby Script] [Rust Source Code] [Shell Script] [SQL Query] [Tcl Script] [VBScript] [VHDL] [Visual Basic] [Web Source Code] [XML Document] [YAML]
|
|
|
|
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 только новой пересборкой, но особо уже ничего не надо, так по мелочи есть по покраске, наберется, пересоберется
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2403
Зарегистрирован: 17.02.12
|
|
Отправлено: 19.04.19 07:57. Заголовок: PS Вспомнил, свой об..
PS Вспомнил, свой обработчик, это установленные SetKey( nKey, {|| ...})
|
|
|
Vlad04
|
| постоянный участник
|
Пост N: 825
Зарегистрирован: 13.10.05
|
|
Отправлено: 19.04.19 09:39. Заголовок: По-моему вы пытаете..
По-моему вы пытаетесь скрестить ежа и ужа. Как известно редакторы предназначенные для Юзеров ( просмотр текста, печать и ещё что-то) отличаются по функционалу от редакторов предназначенных для написания кода. А судя по вводной в начале темы alkresin и собирался создать ВТОРОЙ - не слишком навороченный, но чтоб было все что надо. . Но SergKis пытается из него сделать редактор для ПОЛЬЗОВАТЕЛЕЙ, при чем не сильно продвинутых цитата: | Вот пользователю это совсем не нужно (даже запоминать не будет, будет звонить). Ему надо кнопку, tooltip, меню ... |
|
|
|
|
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 большая половина не поймет ... и будут звонить - "как получить что то ... вы показывали". Это почти не утрировано.
|
|
|
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-минутной консультации по телефону все стало на свои места. Неделю уже работают, никаких вопросов.
|
|
|
alkresin
|
| moderator
|
Пост N: 1203
Зарегистрирован: 06.07.06
|
|
Отправлено: 19.04.19 11:40. Заголовок: Еще раз обновил реда..
Еще раз обновил редактор. Кое-что исправлено, добавлен плагин - список функций для С. Добавлена возможность задавать в ini цвета подсветки и для конкретного языка.
|
|
|
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. Лат. буквы в местах псевдографики. Можно попробовать
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2409
Зарегистрирован: 17.02.12
|
|
Отправлено: 19.04.19 12:10. Заголовок: PS для prg, кроме по..
PS для prg, кроме подсветки (hb+hmg) есть автозавершение и режим уст. длинной строки с прорисовкой линии, в этом режиме до линии добавляются строки пробелами и курсор не прыгает (это уже наши правки), при добавлении новых строк это ломается, но не смертельно (F2, F5) исправляет. Линия в 0 - обычный режим Notepad3
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2412
Зарегистрирован: 17.02.12
|
|
Отправлено: 19.04.19 19:07. Заголовок: alkresin При большо..
alkresin При большом списке функций, методов, ... (кончились цифры+буквы у пунктов FMenu), просится - сортировка списка по наименованию - поиск в списке по наименованию планируется ли такое ?
|
|
|
alkresin
|
| moderator
|
Пост N: 1204
Зарегистрирован: 06.07.06
|
|
Отправлено: 19.04.19 21:00. Заголовок: SergKis пишет: план..
SergKis пишет: Может быть. Пока не думал.
|
|
|
|
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 не осталось". Новый тренд пошел).
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2413
Зарегистрирован: 17.02.12
|
|
Отправлено: 19.04.19 22:48. Заголовок: alkresin пишет А вы ..
alkresin пишет цитата: | А вы говорите, "интерфейсов консольных и wvt в стиле clipper не осталось". Новый тренд пошел). |
| Так это в нашей деревне. У вас Linuks (типа своя ось) должен вперед двигаться, после ограничений по windows. Потому консоль, wvt должны рулить
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2414
Зарегистрирован: 17.02.12
|
|
Отправлено: 19.04.19 22:53. Заголовок: alkresin пишет Может..
alkresin пишет цитата: | Может быть. Пока не думал. |
| Для пробы взял h_tbrowse.prg из hmg, 379 entity, 15340 line
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2415
Зарегистрирован: 17.02.12
|
|
Отправлено: 19.04.19 23:06. Заголовок: PS Включаю в Entity ..
PS Включаю в Entity кроме CLASS и END CLASS, чтобы в списке видеть, где кончаются объявления методов и их INLINE, BLOCK конструкции, для перехода в конец класса.
|
|
|
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. Ну и кое-какие исправления.
|
|
|
ММК
|
| постоянный участник
|
Пост 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
|
|
|
alkresin
|
| moderator
|
Пост N: 1207
Зарегистрирован: 06.07.06
|
|
Отправлено: 20.04.19 15:57. Заголовок: ММК пишет: Да, ретр..
ММК пишет: цитата: | Да, ретро периодически привлекает. Вот даже еще "круче" - из DOS'а в WEB. |
| Ретро - это MSDOS в любой упаковке, а консольный интерфейс - это не ретро, а один из способов организации интерфейса, активно использующийся наряду с графическим и сегодня, все зависит от конкретной задачи и, конечно, от вкусов пользователя. Я, например, тоже пользователь, и во многих случаях предпочитаю именно консольный интерфейс (Far, текстовые редакторы, ...). И я не один такой, тот же Vi/Vim до сих пор остается одним из самых популярных программистских (и не только) редакторов, и в последние годы его популярность даже выросла. цитата: | Что касается Линариса, то его вряд ли интересует такой редактор. Во всяком случае в FW достаточно |
| Не знаю, какой редактор использует Антонио, при случае спрошу). Но то, что он автор FW ничего не говорит о его предпочтениях, точно так же. как и то, что я - автор HwGui и др. GUI инструментов ничего не говорит о моих.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2419
Зарегистрирован: 17.02.12
|
|
Отправлено: 20.04.19 17:38. Заголовок: ММК пишет А все пред..
ММК пишет цитата: | А все предназначенное для разработчиков плавно перетекает в среду разработки. Это уже другая песня... |
| Почему другая ? Я воспринял hbedit как такой элемент и стал наседать с вопросами. Для prg добавить - файл проекта (вполне пойдет his) - CmdRun для сборки модуля - Список функций (как сейчас по одному prg) по prg из файла проекта в такой схеме пройдут и др. языки Для txt групповая поиск\замена (может подходить для всех типов)
|
|
|
alkresin
|
| moderator
|
Пост N: 1208
Зарегистрирован: 06.07.06
|
|
Отправлено: 20.04.19 19:44. Заголовок: SergKis пишет: Я во..
SergKis пишет: цитата: | Я воспринял hbedit как такой элемент и стал наседать с вопросами. Для prg добавить - файл проекта (вполне пойдет his) - CmdRun для сборки модуля - Список функций (как сейчас по одному prg) по prg из файла проекта |
| Предложение интересное (только his тут ни при чем), хоть я и не помню, чтобы вы говорили об этом раньше. Можно объявить в ini новый тип файла и сделать плагин/группу плагинов для него.
|
|
|
Ответов - 300
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[только новые]
|
|