On-line: rvu, гостей 1. Всего: 2 [подробнее..]
АвторСообщение
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 
ПрофильЦитата Ответить
Ответов - 215 , стр: 1 2 3 4 5 6 7 8 9 10 11 All [только новые]





Пост 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 
ПрофильЦитата Ответить



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


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

Спасибо: 0 
ПрофильЦитата Ответить



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


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

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




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


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

Спасибо: 0 
ПрофильЦитата Ответить
moderator


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


Andrey пишет:

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


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

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

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



Пост 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 
ПрофильЦитата Ответить
moderator


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


SergKis пишет:

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


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

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


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

Спасибо: 0 
ПрофильЦитата Ответить



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


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


Спасибо: 0 
ПрофильЦитата Ответить
moderator


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


SergKis пишет:

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


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

Спасибо: 0 
ПрофильЦитата Ответить



Пост 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 
ПрофильЦитата Ответить



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


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


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

Спасибо: 0 
ПрофильЦитата Ответить
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 
ПрофильЦитата Ответить
moderator


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


SergKis пишет:

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


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

Спасибо: 0 
ПрофильЦитата Ответить



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


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


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

Спасибо: 0 
ПрофильЦитата Ответить



Пост 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 
ПрофильЦитата Ответить



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


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


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

Спасибо: 0 
ПрофильЦитата Ответить
moderator


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


SergKis пишет:

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


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

Спасибо: 0 
ПрофильЦитата Ответить



Пост 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 
ПрофильЦитата Ответить
Ответов - 215 , стр: 1 2 3 4 5 6 7 8 9 10 11 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 298
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет