Автор | Сообщение |
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
[только новые]
|
|
alkresin
|
| moderator
|
Пост N: 1187
Зарегистрирован: 06.07.06
|
|
Отправлено: 16.04.19 11:01. Заголовок: Обновил Hbedit. Тепе..
Обновил Hbedit. Теперь Ctrl-Z как и Alt-BS делает Undo, Ctrl-Q меняет режим, Ctrl-Home И Ctrl-End работают как и Ctrl-PgUp, Ctrl-PgDn. Пофиксено кое-что. Добавлены параметры командной строки: -xy=xPos, yPos - установка в пикселях начального положения окна редактора (только для Windows) -f iniFileName - имя ini-файла вместо hbedit.ini
|
|
|
alkresin
|
| moderator
|
Пост N: 1188
Зарегистрирован: 06.07.06
|
|
Отправлено: 16.04.19 11:05. Заголовок: Vlad04 пишет: Я име..
Vlad04 пишет: цитата: | Я имею ввиду - выделил блок и какой -то командой закоментировал |
| Теперь понятно. Надо просто написать соответствующий плагин. Они здесь пишутся на чистом Harbour, компилируются и устанавливаются прямо из редактора. Могу оказать методическую помощь).
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2367
Зарегистрирован: 17.02.12
|
|
Отправлено: 16.04.19 12:15. Заголовок: alkresin fedit.prg ..
alkresin fedit.prg line 215 ::aText := hb_ATokens( cText, Chr(10) ) ::cEol := Iif( Right( ::aText[1],1 ) == Chr(13), Chr(13) + Chr(10), Chr(10) ) не точное определение, есть файлы prg (в hmg несколько штук оказалось), где смесь и Chr(13) + Chr(10) и Chr(10) Не факт что aText[1] будет содержать Chr(13) Надо привести к одному Chr(10) в работе, к примеру ::aText := hb_ATokens( CtrTran(cText, Chr(13)), Chr(10) ) или с анализом If Chr(13) $ cText
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2368
Зарегистрирован: 17.02.12
|
|
Отправлено: 16.04.19 12:16. Заголовок: PS StrTrans( конечно..
PS StrTrans( конечно же
|
|
|
alkresin
|
| moderator
|
Пост N: 1189
Зарегистрирован: 06.07.06
|
|
Отправлено: 16.04.19 13:13. Заголовок: SergKis пишет: есть..
SergKis пишет: цитата: | есть файлы prg (в hmg несколько штук оказалось), где смесь и Chr(13) + Chr(10) и Chr(10) |
| Если там смесь, то, вообще говоря, неизвестно, какой правильный. Надо будет (давно собираюсь) добавить в диалог сохранения файла опцию, принудительно устанавливающую тот или иной eol.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2369
Зарегистрирован: 17.02.12
|
|
Отправлено: 16.04.19 13:51. Заголовок: alkresin пишет доба..
alkresin пишет цитата: | добавить в диалог сохранения файла опцию, принудительно устанавливающую тот или иной eol. |
| Может, достаточно в ini ? CRLF=Y\N
|
|
|
alkresin
|
| moderator
|
Пост N: 1190
Зарегистрирован: 06.07.06
|
|
Отправлено: 16.04.19 14:37. Заголовок: SergKis пишет: Може..
SergKis пишет: цитата: | Может, достаточно в ini ? |
| Если в ini, то все файлы, независимо от их изначального eol будут принудительно и молча сохраняться с определенным eol, что, вообще говоря, неправильно. С третьей стороны, если у вас в файле смесь eol'ов, то какая вам разница, с каким он сохранится?
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2370
Зарегистрирован: 17.02.12
|
|
Отправлено: 16.04.19 15:20. Заголовок: alkresin пишет С тре..
alkresin пишет цитата: | С третьей стороны, если у вас в файле смесь eol'ов, то какая вам разница, с каким он сохранится |
| Есть hb_OsNewLine(), вроде так называется, по сути это и есть CRLF для оси. Ее и применять при CRLF=Y или в ini писать EOL=CRLF\LF Кода смесь, то лучше, что ось дает.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2371
Зарегистрирован: 17.02.12
|
|
Отправлено: 16.04.19 15:26. Заголовок: alkresin Плавающая ..
alkresin Плавающая ошибка, точно не смог определить появление Скрытый текст
04/16/19 15:07:09 Error BASE/1132 Bound error: array access Called from FMENU(64) Called from SPIS1(37) Called from HB_HRBDO(0) Called from MNU_PLUGINS(1980) Called from TEDIT:ONKEY(871) Called from TEDIT:EDIT(283) Called from MAIN(97) 04/16/19 15:08:29 Error BASE/1132 Bound error: array access Called from FMENU(64) Called from SPIS1(37) Called from HB_HRBDO(0) Called from MNU_PLUGINS(1980) Called from TEDIT:ONKEY(871) Called from TEDIT:EDIT(283) Called from MAIN(97) 04/16/19 15:09:14 Error BASE/1132 Bound error: array access Called from FMENU(64) Called from SPIS1(37) Called from HB_HRBDO(0) Called from MNU_PLUGINS(1980) Called from TEDIT:ONKEY(871) Called from TEDIT:EDIT(283) Called from MAIN(97) 04/16/19 15:10:08 Error BASE/1132 Bound error: array access Called from FMENU(64) Called from SPIS1(37) Called from HB_HRBDO(0) Called from MNU_PLUGINS(1980) Called from TEDIT:ONKEY(871) Called from TEDIT:EDIT(283) Called from MAIN(97) 04/16/19 15:11:24 Error BASE/1132 Bound error: array access Called from FMENU(64) Called from SPIS1(37) Called from HB_HRBDO(0) Called from EXEC(1980) Called from FMENU(102) Called from TEDIT:ONKEY(859) Called from TEDIT:EDIT(283) Called from MAIN(97)
| Работал следующее как через меню, так и нажатием клавиш (чередовал раз через меню, несколько раз только клавиши и ...) F9 -> "Plugins F11" -> "0. Function list" -> <Список ...>
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2372
Зарегистрирован: 17.02.12
|
|
Отправлено: 16.04.19 15:35. Заголовок: SergKis пишет Кода с..
SergKis пишет цитата: | Кода смесь, то лучше, что ось дает. |
| Если CRLF или EOL нет в ini, то Default :Eol := hb_OsNewLine(), если есть, то от установки
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2373
Зарегистрирован: 17.02.12
|
|
Отправлено: 16.04.19 15:40. Заголовок: SergKis пишет Работа..
SergKis пишет цитата: | Работал следующее как через меню, так и нажатием клавиш |
| Может важно, когда проделывал указанные действия, в самом тексте ничего не делал по перемещению\изменению. Только перемещение при помощи плагина
|
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2375
Зарегистрирован: 17.02.12
|
|
Отправлено: 16.04.19 16:29. Заголовок: alkresin Запуск hbe..
alkresin Запуск hbedit.exe -xy=10,10 main.prg ini screen_width=40 screen_height=15 Меню F9 уходит за пределы она, центруясь по старым координатам Его бы от левого угла или иметь возможность отключить показ\вызов F9 меню, для текстов в таких размерах не очень надо меню
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2376
Зарегистрирован: 17.02.12
|
|
Отправлено: 16.04.19 16:46. Заголовок: alkresin Получил ст..
|
|
|
alkresin
|
| moderator
|
Пост N: 1191
Зарегистрирован: 06.07.06
|
|
Отправлено: 16.04.19 17:09. Заголовок: SergKis пишет: Полу..
SergKis пишет: цитата: | Получил стабильное сваливание hbedit.exe |
| Это я уже нашел, там в плагине ошибка - завтра обновлю.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2377
Зарегистрирован: 17.02.12
|
|
Отправлено: 16.04.19 18:08. Заголовок: alkresin Попробовал..
alkresin Попробовал расширить commands= ... добавил toolbar splitbox with window label button getbox buttonex checkbox comboboxex combo listbox image RadioGroup textbox main modal child mdichild action tbrowse super frame Все здорово А нельзя ввести группы на команды и соответствующий цвет для группы? К примеру commands2=<те которые добавил в commands> по умолчанию тот же цвет, что и у commands, но что бы можно было установить из ini
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2378
Зарегистрирован: 17.02.12
|
|
Отправлено: 16.04.19 18:10. Заголовок: PS может несколько г..
PS может несколько групп ? commands3=
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2379
Зарегистрирован: 17.02.12
|
|
Отправлено: 17.04.19 09:07. Заголовок: alkresin По языковы..
alkresin По языковым текстам меню и т.д.. Может сразу их вынести в Utf8 ? Встанет же вопрос языка. К примеру hbedit.ini utf8 кодировка и секция с текстами (кому как надо, правильно переведет с EN), не связываясь раздельно с EN, RU, DE, FR, ...
|
|
|
alkresin
|
| moderator
|
Пост N: 1192
Зарегистрирован: 06.07.06
|
|
Отправлено: 17.04.19 09:24. Заголовок: SergKis пишет: Если..
SergKis пишет: цитата: | Если CRLF или EOL нет в ini, то Default :Eol := hb_OsNewLine(), если есть, то от установки |
| Сделал в ini eol=0 (автоопределение как сейчас - по умолчанию), 1 - Линукс, 2 - Дос. Ставить в зависимости от ОС (hb_OsNewLine()) - не вариант. Часто бывает нужно под одной ОС редактировать файлы, сделанные под или для другой ОС. цитата: | А нельзя ввести группы на команды и соответствующий цвет для группы? К примеру commands2=<те которые добавил в commands> по умолчанию тот же цвет, что и у commands, но что бы можно было установить из ini |
| Да, я планирую расширение модуля подсветки. Цвета подсветки, кстати, можно установить в ini и сейчас - секция HILIGHT. цитата: | По языковым текстам меню и т.д.. |
| Еще не думал на эту тему.
|
|
|
alkresin
|
| moderator
|
Пост N: 1193
Зарегистрирован: 06.07.06
|
|
Отправлено: 17.04.19 09:32. Заголовок: Обновлен Hbedit. Исп..
Обновлен Hbedit. Исправлены ошибки. Добавлены опции командной строки: - -gN - goto line N; If N is negative it is a number of lines before the end - [-size=nCols,nRows] - number of columns and rows in an editor window Добавлено определение цветов в ini, секция OPTIONS: colormain, colorsel, colorpane(панель слстояния), colorbra(подсветка парных скобок). Туда же добавлены eol (0,1,2) и trimspaces (on,off) - удаление конечных пробелов при сохранении файла. Команды режима Vim b,B, e,E, w,W приведены в соответствие со стандартом Vim. Добавлена команда Alt-b - переход на предыдущую ( после поиска и пр. ) позицию. Возврат назад, короче. После Ctrl-C, Ctrl=Ins, Ctrl-Tab выделение теперь не убирается.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2380
Зарегистрирован: 17.02.12
|
|
Отправлено: 17.04.19 09:56. Заголовок: alkresin пишет Еще н..
alkresin пишет цитата: | Еще не думал на эту тему. |
| Это понятно, пока мысли в другом. Это я смотрю, как править "под себя" в wvt У нас подправлена, товарищем, wvt для работы с main menu и statusbar, поэтому строка с F9-menu ... в таком виде не нужна, т.е. работа по клаве остается, а меню и выполнение пунктов надо перенести в main menu + тексты перевести в LV. Вот и смотрю тексты с такого угла (что отключить, что оставить из режимов), потому что уже сейчас почти все устраивает (может не доделано и ...)
|
|
|
Ответов - 300
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[только новые]
|
|