On-line: Andrey, Haz, гостей 2. Всего: 4 [подробнее..]
АвторСообщение
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 [только новые]


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

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


Пост N: 1188
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 16.04.19 11:05. Заголовок: Vlad04 пишет: Я име..


Vlad04 пишет:

 цитата:
Я имею ввиду - выделил блок и какой -то командой закоментировал


Теперь понятно. Надо просто написать соответствующий плагин. Они здесь пишутся на чистом Harbour, компилируются и устанавливаются прямо из редактора. Могу оказать методическую помощь).

Спасибо: 0 
Профиль
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


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




Пост N: 2368
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 16.04.19 12:16. Заголовок: PS StrTrans( конечно..


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

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


Пост N: 1189
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 16.04.19 13:13. Заголовок: SergKis пишет: есть..


SergKis пишет:

 цитата:
есть файлы prg (в hmg несколько штук оказалось), где смесь и Chr(13) + Chr(10) и Chr(10)


Если там смесь, то, вообще говоря, неизвестно, какой правильный.
Надо будет (давно собираюсь) добавить в диалог сохранения файла опцию, принудительно устанавливающую тот или иной eol.

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




Пост N: 2369
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 16.04.19 13:51. Заголовок: alkresin пишет доба..


alkresin пишет
 цитата:
добавить в диалог сохранения файла опцию, принудительно устанавливающую тот или иной eol.


Может, достаточно в ini ?
CRLF=Y\N

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


Пост N: 1190
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 16.04.19 14:37. Заголовок: SergKis пишет: Може..


SergKis пишет:

 цитата:
Может, достаточно в ini ?


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

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




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


alkresin пишет
 цитата:
С третьей стороны, если у вас в файле смесь eol'ов, то какая вам разница, с каким он сохранится


Есть hb_OsNewLine(), вроде так называется, по сути это и есть CRLF для оси. Ее и применять при CRLF=Y
или в ini писать
EOL=CRLF\LF
Кода смесь, то лучше, что ось дает.

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




Пост N: 2371
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 16.04.19 15:26. Заголовок: alkresin Плавающая ..


alkresin
Плавающая ошибка, точно не смог определить появлениеСкрытый текст

Работал следующее как через меню, так и нажатием клавиш (чередовал раз через меню, несколько раз только клавиши и ...)
F9 -> "Plugins F11" -> "0. Function list" -> <Список ...>

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




Пост N: 2372
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 16.04.19 15:35. Заголовок: SergKis пишет Кода с..


SergKis пишет
 цитата:
Кода смесь, то лучше, что ось дает.


Если CRLF или EOL нет в ini, то Default :Eol := hb_OsNewLine(), если есть, то от установки

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




Пост N: 2373
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 16.04.19 15:40. Заголовок: SergKis пишет Работа..


SergKis пишет
 цитата:
Работал следующее как через меню, так и нажатием клавиш


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

Спасибо: 0 
Профиль
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 меню, для текстов в таких размерах не очень надо меню

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




Пост N: 2376
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 16.04.19 16:46. Заголовок: alkresin Получил ст..


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

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


Пост N: 1191
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 16.04.19 17:09. Заголовок: SergKis пишет: Полу..


SergKis пишет:

 цитата:
Получил стабильное сваливание hbedit.exe


Это я уже нашел, там в плагине ошибка - завтра обновлю.

Спасибо: 0 
Профиль
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

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




Пост N: 2378
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 16.04.19 18:10. Заголовок: PS может несколько г..


PS
может несколько групп ?
commands3=

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




Пост N: 2379
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 17.04.19 09:07. Заголовок: alkresin По языковы..


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

Спасибо: 0 
Профиль
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.

 цитата:
По языковым текстам меню и т.д..


Еще не думал на эту тему.

Спасибо: 0 
Профиль
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 выделение теперь не убирается.

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




Пост N: 2380
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 17.04.19 09:56. Заголовок: alkresin пишет Еще н..


alkresin пишет
 цитата:
Еще не думал на эту тему.


Это понятно, пока мысли в другом.
Это я смотрю, как править "под себя" в wvt
У нас подправлена, товарищем, wvt для работы с main menu и statusbar, поэтому строка с F9-menu ... в таком виде не нужна, т.е. работа по клаве остается, а меню и выполнение пунктов надо перенести в main menu + тексты перевести в LV.
Вот и смотрю тексты с такого угла (что отключить, что оставить из режимов), потому что уже сейчас почти все устраивает (может не доделано и ...)

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