On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение
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: 2883
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 16.09.19 07:00. Заголовок: alkresin При выделе..


alkresin
При выделенном блоке Shift+стрелки, Ctrl+C и вставка в Far этого блока, происходит искажение данных, при тех же действиях из Far в hbedit аналогично искажаются данные, т.е.
 
Far выделенный блок
kod provodki na pribilj LV
kod provodki na pribilj ES
kod provodki na pribilj OT
kod provodki Pvn

hbedit строки
LOCAL cProvPr := gProp( ProvPr ) //
LOCAL cProvPrE := gProp( ProvPrE ) //
LOCAL cProvPrO := gProp( ProvPrO ) //
LOCAL cProvPvn := gProp( ProvPvn ) //
блок из Far по Ctrl+V вставляем за первым // и получаем
LOCAL cProvPr := gProp( ProvPr ) // kod provodki na pribilj LV
kod provodki na pribilj ES
kod provodki na pribilj OT
kod provodki Pvn

LOCAL cProvPrE := gProp( ProvPrE ) //
LOCAL cProvPrO := gProp( ProvPrO ) //
LOCAL cProvPvn := gProp( ProvPvn ) //

из hbedit в Far аналогично
Между Akelpad, Notepad3 этого не происходит + из них и в Far переносится правильно

Можно ли привести к такому же поведению hbedit, как Akelpad и Notepad3 ?

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




Пост N: 2885
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 16.09.19 11:25. Заголовок: PS На окне "Open..


PS
На окне "Open file" может есть клавиши, для вызова списка файлов ?
Как то удобно хвататься за мышь. Если нет назначенной клавиши, может, сделать как у combobox кл. F4 - развертка списка

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




Пост N: 2887
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 16.09.19 11:48. Заголовок: PPS По F4 и через ме..


PPS
По F4 и через меню F9 вкл. режим списка файлов истории.
Пожелания:
- сделать, как где то уже делали, если длина массива <= 3, то список с ключом слева (как сейчас), при > 3 список с поиском.
- увеличить правую границу с 67 (стоит в некоторых местах кода) до MaxCol() - x1 - 1, тогда больше файлов (возможно все) пойдут с нормальным именем, а не с укороченным через функцию

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




Пост N: 6444
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 16.09.19 12:11. Заголовок: alkresin Большое по..


alkresin
Большое пожелание сделать удобное меню по правому Ctrl+Enter.
Как писал в Пост N: 6442
Заранее большое спасибо !

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


Пост N: 1385
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 18.09.19 15:30. Заголовок: Andrey пишет: Файлы..


Andrey пишет:

 цитата:
Файлы проекта в хХарборе имеют расширение .bc


Тогда в том же командном режиме:
!z:\xHarbour\bin\hbmake MyPrj4.bc

Исполненные команды сохраняются, так что в следующий раз жмете стрелку вверх для выбора команды из истории.

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


Пост N: 1386
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 18.09.19 15:44. Заголовок: SergKis пишет: defm..


SergKis пишет:

 цитата:
defmode=-1
Vim режим отключен и не будет командной строки


Ну так включите, ничего плохого с вами не случится - он же не по умолчанию будет.

 цитата:
"Хорошо бы пива", что бы окошечко было, т.к. консоли нет, есть wvt совсем чуть-чуть и hmg


Согласитесь, это более чем странно - добавлять альтернативный интерфейс для уже реализованной функции. В крайнем случае, если не можете жить с мыслью о том, что при нажатии Ctrl-Q может появиться Vim-режим, в ваш обработчик :bOnKey добавьте клавишу какую-нибудь, чтобы напрямую в командный режим переходить.
В принципе, я могу сделать, чтобы при defmode=-1 Ctrl-Q переключала в командный режим.

 цитата:
Можно добавить, п о ж а л у й с т а ?
Раскрасил hmg команды (получилось хорошо), но не хватает цвета поярче от #define ..., #include ..., т.е. startline для некоторых слов


Ok.

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


Пост N: 1387
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 18.09.19 16:04. Заголовок: SergKis пишет: Вот ..


SergKis пишет:

 цитата:
Вот сборка моя https://TransFiles.ru/50low
на ней видно разные значения...


Прямо сейчас transfiles.ru не отзывается, может позже.

 цитата:
сделать список his по F4 с поиском, а не с ключом слева


Пожалуй, да. Сам подумывал об этом.

 цитата:
вынести меню с текстами и тексты с запросов окон в hbedit.prg для языковых вариантов


Не получится. Hbedit используется и как встроенный редактор для других приложений, а hbedit.prg туда не включается. Если нужно свое меню, сажайте его на F9 в своем :bOnKey.

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




Пост N: 2890
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 18.09.19 16:15. Заголовок: alkresin пишет Ну та..


alkresin пишет
 цитата:
Ну так включите, ничего плохого с вами не случится - он же не по умолчанию будет.


Vim режим надо отключать, при включенном, что то нажал, случайно и попал в него и он начинает жить ..., т.е. пытаешься делать одно, а он что то свое, пока не выключишь.

По поводу командной строки, по мне она не нужна (есть и хорошо для кого то), т.к. bat\cmd файлов, как правило, несколько и подходит, скорее, вариант от Андрея Ctrl+Enter ( меню запусков ) больше нравится для работы. Я просил (ранее) сделать для функции edi_SeleFile( oEdit, cPath, y1, x1, y2, x2 ) сделать cPath параметр и массивом именно с целью масками самому собирать список, к примеру, cmd+bat файлов (есть еще варианты списков) и его отрабатывать в :bOnKey.

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


Пост N: 1388
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 18.09.19 16:27. Заголовок: SergKis пишет: Vim ..


SergKis пишет:

 цитата:
Vim режим надо отключать, при включенном, что то нажал, случайно


Довольно сложно, мне кажется, случайно нажать Ctrl-Q.

 цитата:
подходит, скорее, вариант от Андрея Ctrl+Enter


Я еще не добрался до варианта от Андрея, но мое предложение переключаться в командный режим по Ctrl-Q напрямую при defmode=-1 остается в силе. Учитывая, что можно ходить по истории команд, это то же самое меню, к тому же пополняемое в процессе эксплуатации.

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




Пост N: 2892
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 18.09.19 16:29. Заголовок: PS Вот тестовый вари..


PS
Вот тестовый вариант, правда, только для одной маски, но получил, что хотел Скрытый текст


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


Пост N: 1389
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 18.09.19 16:32. Заголовок: SergKis пишет: Можн..


SergKis пишет:

 цитата:
Можно сделать при выделении текста F3 и блоковом по Ctrl+F3 при повторном нажатии (конец выделения) не выбрасывать меню с предложением выбрать буфер клавиатуры


Нет необходимости повторно нажимать F3/Ctrl-F3. Закончили выделение - забираете в буфер (Ctrl-C, Ctrl-Ins) и все.

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




Пост N: 2893
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 18.09.19 16:38. Заголовок: alkresin пишет Учиты..


alkresin пишет
 цитата:
Учитывая, что можно ходить по истории команд, это то же самое меню, к тому же пополняемое в процессе эксплуатации.


У меня в базовом варианте работы уже стоит 100 строк истории и это не предел, потому просил увеличить ширину окна списка до MaxCol()-x1-1 или до самой правой границы (по коротким именам файлов ничего не понять по проектам одинаково организованным). Стоят настройки окна hbedit
fontheight=21
fontwidth=10
screen_width=129
screen_height=32
по размеру шрифта и размерам очень близко к Akelpad и Notepad3.

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




Пост N: 2894
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 18.09.19 16:41. Заголовок: alkresin пишет Нет н..


alkresin пишет
 цитата:
Нет необходимости повторно нажимать F3/Ctrl-F3. Закончили выделение - забираете в буфер (Ctrl-C, Ctrl-Ins) и все.


Без повторного нажатия продолжает красить блок, нажав esc вылетаешь из окна с текстом.

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


Пост N: 1390
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 18.09.19 16:46. Заголовок: SergKis пишет: При ..


SergKis пишет:

 цитата:
При создании под окна Ctrl-w,s и Ctrl-w,o (полное окно) меняется поведение клавиши Esc и не переключаются окна по Ctrl-w,w.


После Ctrl-w,o окно перестает быть дочерним, это обычное, равноправное окно, переключение по Ctrl-Tab. А Ctrl-w,w - только для дочерних окон.

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


Пост N: 1391
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 18.09.19 16:49. Заголовок: SergKis пишет: Без ..


SergKis пишет:

 цитата:
Без повторного нажатия продолжает красить блок, нажав esc вылетаешь из окна с текстом.


Хм... Действительно, после Ctrl-C продолжает красить, а после Ctrl-Ins (я им обычно пользуюсь) - все нормально. Проверю, в чем дело.

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




Пост N: 2895
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 18.09.19 16:58. Заголовок: alkresin пишет После..


alkresin пишет
 цитата:
После Ctrl-w,o окно перестает быть дочерним, это обычное, равноправное окно, переключение по Ctrl-Tab. А Ctrl-w,w - только для дочерних окон.


Да, увидел по текстам. Только возникает "визуальная" путаница окна Edit и копии View. В моем полно экранном варианте при горизонтальном делении и перевода доч. окна в полный экран, остается в 0 строке полоса разделения, что очень хорошо для понимания доч.окна.

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




Пост N: 2896
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 18.09.19 17:13. Заголовок: alkresin пишет Не по..


alkresin пишет
 цитата:
Не получится. Hbedit используется и как встроенный редактор для других приложений, а hbedit.prg туда не включается. Если нужно свое меню, сажайте его на F9 в своем :bOnKey.


Я имел ввиду ваши меню + тексты вынести, к примеру, в PUBLIC (hbedit.prg) STATIC переменные в каждом своем prg файле с функциями получения адреса, чтобы в своеем варианте, ключи (значения) "родных" значений можно было подменить языковыми данными из языковых файлов utf8 кодировки.
Т.е. нужен доступ к данным, чтобы не трогать базовые тексты hbedit

 цитата:
Прямо сейчас transfiles.ru не отзывается, может позже.


С ситуацией неправильной подсветки разобрался. В WriteTopPane поменялся вариант отображения row, col, а у меня остался старый, расчетный. Смотрел, но глаз замылился и не как не мог увидеть изменения. Сейчас поправил и все ok!

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




Пост N: 2897
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 18.09.19 17:30. Заголовок: alkresin пишет Я еще..


alkresin пишет
 цитата:
Я еще не добрался до варианта от Андрея, но мое предложение переключаться в командный режим по Ctrl-Q напрямую при defmode=-1 остается в силе


Привычнее, Notepad3, Ctrl+R => окно запроса запуска, но лучше список запусков без окна, Ctrl+Q будет занята, наверно, списком проекта, т.к. hbp не использую

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


Пост N: 1392
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 20.09.19 11:55. Заголовок: SergKis пишет: Как ..


SergKis пишет:

 цитата:
Как вызвать из подключаемого блока кода плагин, вызываемый по Alt-L (Function list) ?


Горячие клавиши для плагинов хранятся в hKeyMap - там же, где переназначения клавиш, и обрабатываются в :Edit() до вызова :onKey(), поэтому ваши варианты не сработают. Надо просто напрямую запустить нужный плагин.

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




Пост N: 2898
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 20.09.19 12:16. Заголовок: alkresin пишет Горяч..


alkresin пишет
 цитата:
Горячие клавиши для плагинов хранятся в hKeyMap - там же, где переназначения клавиш, и обрабатываются в :Edit() до вызова :onKey(), поэтому ваши варианты не сработают. Надо просто напрямую запустить нужный плагин.


Возможно, это не очень хорошо, т.к. я повторил (ф-я Window_OnKey()) для Ctrl-w,.. (они тоже не срабатывают замену на Alt-1,.. по той же причине) часть кода из меню mnu_Windows() по обработке, т.е. я повторяю ваши алгоритмы обработчика и если, в какой то, версии hbedit они изменятся, то будет "мило", с начала определить изменения и потом перенести\перестроить алгоритмы в свою часть.
Может, :OnKey, сможет определить возврат (команды) из :bOnKey и выполнить плагины и др. не исполняемые сейчас команды ?

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