Форум » [x]Harbour » Hbedit - текстовый редактор » Ответить

Hbedit - текстовый редактор

alkresin: Довел, наконец, свой текстовый редактор до того состояния, когда можно показать его общественности. Я начал писать его сначала как замену 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: Обновил 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: Vlad04 пишет: Я имею ввиду - выделил блок и какой -то командой закоментировал Теперь понятно. Надо просто написать соответствующий плагин. Они здесь пишутся на чистом Harbour, компилируются и устанавливаются прямо из редактора. Могу оказать методическую помощь).

SergKis: alkresin fedit.prg line 215[pre2] ::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 [/pre2]


SergKis: PS StrTrans( конечно же

alkresin: SergKis пишет: есть файлы prg (в hmg несколько штук оказалось), где смесь и Chr(13) + Chr(10) и Chr(10) Если там смесь, то, вообще говоря, неизвестно, какой правильный. Надо будет (давно собираюсь) добавить в диалог сохранения файла опцию, принудительно устанавливающую тот или иной eol.

SergKis: alkresin пишет добавить в диалог сохранения файла опцию, принудительно устанавливающую тот или иной eol. Может, достаточно в ini ? CRLF=Y\N

alkresin: SergKis пишет: Может, достаточно в ini ? Если в ini, то все файлы, независимо от их изначального eol будут принудительно и молча сохраняться с определенным eol, что, вообще говоря, неправильно. С третьей стороны, если у вас в файле смесь eol'ов, то какая вам разница, с каким он сохранится?

SergKis: alkresin пишет С третьей стороны, если у вас в файле смесь eol'ов, то какая вам разница, с каким он сохранится Есть hb_OsNewLine(), вроде так называется, по сути это и есть CRLF для оси. Ее и применять при CRLF=Y или в ini писать EOL=CRLF\LF Кода смесь, то лучше, что ось дает.

SergKis: alkresin Плавающая ошибка, точно не смог определить появление[pre2] 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) [/pre2] Работал следующее как через меню, так и нажатием клавиш (чередовал раз через меню, несколько раз только клавиши и ...) F9 -> "Plugins F11" -> "0. Function list" -> <Список ...>

SergKis: SergKis пишет Кода смесь, то лучше, что ось дает. Если CRLF или EOL нет в ini, то Default :Eol := hb_OsNewLine(), если есть, то от установки

SergKis: SergKis пишет Работал следующее как через меню, так и нажатием клавиш Может важно, когда проделывал указанные действия, в самом тексте ничего не делал по перемещению\изменению. Только перемещение при помощи плагина

SergKis: alkresin Запуск hbedit.exe -xy=10,10 main.prg ini screen_width=40 screen_height=15 Меню F9 уходит за пределы она, центруясь по старым координатам Его бы от левого угла или иметь возможность отключить показ\вызов F9 меню, для текстов в таких размерах не очень надо меню

SergKis: alkresin Получил стабильное сваливание hbedit.exe -xy=10,10 main.prg https://TransFiles.ru/8d6e2 делаем F11 -> 0 и все

alkresin: SergKis пишет: Получил стабильное сваливание hbedit.exe Это я уже нашел, там в плагине ошибка - завтра обновлю.

SergKis: 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: PS может несколько групп ? commands3=

SergKis: alkresin По языковым текстам меню и т.д.. Может сразу их вынести в Utf8 ? Встанет же вопрос языка. К примеру hbedit.ini utf8 кодировка и секция с текстами (кому как надо, правильно переведет с EN), не связываясь раздельно с EN, RU, DE, FR, ...

alkresin: SergKis пишет: Если CRLF или EOL нет в ini, то Default :Eol := hb_OsNewLine(), если есть, то от установки Сделал в ini eol=0 (автоопределение как сейчас - по умолчанию), 1 - Линукс, 2 - Дос. Ставить в зависимости от ОС (hb_OsNewLine()) - не вариант. Часто бывает нужно под одной ОС редактировать файлы, сделанные под или для другой ОС. А нельзя ввести группы на команды и соответствующий цвет для группы? К примеру commands2=<те которые добавил в commands> по умолчанию тот же цвет, что и у commands, но что бы можно было установить из ini Да, я планирую расширение модуля подсветки. Цвета подсветки, кстати, можно установить в ini и сейчас - секция HILIGHT. По языковым текстам меню и т.д.. Еще не думал на эту тему.

alkresin: Обновлен 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: alkresin пишет Еще не думал на эту тему. Это понятно, пока мысли в другом. Это я смотрю, как править "под себя" в wvt У нас подправлена, товарищем, wvt для работы с main menu и statusbar, поэтому строка с F9-menu ... в таком виде не нужна, т.е. работа по клаве остается, а меню и выполнение пунктов надо перенести в main menu + тексты перевести в LV. Вот и смотрю тексты с такого угла (что отключить, что оставить из режимов), потому что уже сейчас почти все устраивает (может не доделано и ...)



полная версия страницы