On-line: гостей 1. Всего: 1 [подробнее..]
АвторСообщение
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: 1297
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 25.06.19 09:18. Заголовок: SergKis пишет: DELE..


SergKis пишет:

 цитата:
DELETEALLITEMS
DELETECOLUMN
DeletedCount
DELETAIMAGE
DeleteItem
DELETEITEM
DeleteObject
DELETEPAGE
DelteRow
DeltaCol
details
Determine
...


Я большую часть этих слов и не знаю. Это точно Harbour) ?

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




Пост N: 2601
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 25.06.19 11:16. Заголовок: alkresin пишет Я бол..


alkresin пишет
 цитата:
Я большую часть этих слов и не знаю. Это точно Harbour) ?


Как я понял notepad3, при включенном режиме авто завершения, набирает словарь исп. слов (слово применялось > 1 раза). К примеру, набираю nR получаю список
nRetVal
nRGB2Arr
nRow

при nC
nCell
nCol
nColumn
nControlWidth

при cf
cFileNoExt
cFileNoPath
cFilePath
cFooter
cFormat
CFORMAT
cFormName

т.е. по 2м символам (и более) получаем список ранее использованных слов, это как имена ф-ий, так и имена переменных. В целом удобно.

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




Пост N: 2602
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 25.06.19 11:25. Заголовок: PS Не знаю (не интер..


PS
Не знаю (не интересовался), где словарь хранится, но он не связан с ini и как его сбросить\очистить\изменить (с ошибками набранные слова пару раз появляются в списке, что мешает).
Включается режим по галочке в меню настроек

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


Пост N: 1298
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 25.06.19 14:15. Заголовок: Подумаю на эту тему...


Подумаю на эту тему.

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


Пост N: 1299
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 26.06.19 11:41. Заголовок: Обновлен hbedit. Доб..


Обновлен hbedit.
Добавлена пара vim-команд.
В режиме выделения теперь вызывается меню ( по F9 или 'm' ), там 4 существовавших пункта (конверсия регистра и сдвиг) и три новых - добавление введенной подстроки слева или справа от каждой строки выделенного текста и сортировка текста по выделенному вертикальному блоку.
В это меню можно добавлять свои пункты, написав специальный плагин (образец - добавленный plug_selection.prg) И поместив строчку
sele_plugin=plug_selection.hrb
в секцию [OPTIONS] ini-файла.
Исправлено кое-что.

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




Пост N: 2607
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 26.06.19 12:32. Заголовок: alkresin Выделяем б..


alkresin
Выделяем блок по Shift+Alt+... текст 2е строки LOCAL
 
METHOD WriteTopPane( lClear ) CLASS TEdit

LOCAL y := ::y1 - 1, nCol := Col(), nRow := Row(), nF9 := 0
LOCAL cLen := Ltrim(Str(Len(::aText))), nchars := Len(cLen)


IF ::bWriteTopPane != Nil

Shift+Alt+->
Shift+Alt+стрелка вниз
Shift+Alt+End и держим Shift+Alt, закраска ok,
отпускаем, закраска выделенного перемещается на блок до LOCAL в строках

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


Пост N: 1300
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 26.06.19 12:41. Заголовок: У меня никуда не пер..


У меня никуда не перемещается.

Shift+Alt+стрелка вправо
Shift+Alt+стрелка вниз
Shift+Alt+End

- закрашены две строки. Отпускаем Shift+Alt - закраска остается на месте.

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




Пост N: 2608
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 26.06.19 14:36. Заголовок: alkresin пишет - зак..


alkresin пишет
 цитата:
- закрашены две строки. Отпускаем Shift+Alt - закраска остается на месте.


Закрашены две строки, отпускаю, закраска пробелов до LOCAL у этих строк.
Ситуация стабильна, т.е. всегда. Закрасить данные от LOCAL и до конца строк не получается.
Win 8.1
hbedit.ini
screen_width=121
screen_height=30

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




Пост N: 2609
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 26.06.19 14:38. Заголовок: PS Если красить толь..


PS
Если красить только стрелками, без End, то все ok

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


Пост N: 1301
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 26.06.19 15:40. Заголовок: А End какой нажимает..


А End какой нажимаете, на основной клавиатуре, или на numpad?
Я сейчас попробовал на numpad (обычно ее не использую) - там происходит вами описанный эффект. Почему - еще не разбирался.

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




Пост N: 2610
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 26.06.19 16:12. Заголовок: alkresin пишет А End..


alkresin пишет
 цитата:
А End какой нажимаете, на основной клавиатуре, или на numpad?


Это ноутбук, клавиши совмещены, но Num Lock не включен

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


Пост N: 1302
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 27.06.19 12:57. Заголовок: Это проблема gtwvt. ..


Это проблема gtwvt. Он почему-то после нажатия End на numpad и отпускания Shift+Alt генерирует дополнительное событие с кодом клавиши 1 - K_HOME.
Поэтому рекомендую при использовании Shift-Alt не нажимать End, или, что лучше, пользоваться Ctrl-F3. а еще лучше - Ctrl-v в Vim-режиме).

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




Пост N: 2611
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 27.06.19 16:04. Заголовок: alkresin пишет Это п..


alkresin пишет
 цитата:
Это проблема gtwvt


Пробую на hbedit.exe с вашего сайта, готовую сборку.
Переучиваться на др. клавиши - это вряд ли, таких сочетаний в исп. редакторе нет.

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


Пост N: 1303
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 27.06.19 18:04. Заголовок: SergKis пишет: Проб..


SergKis пишет:

 цитата:
Пробую на hbedit.exe с вашего сайта, готовую сборку.


Она собрана с gtwvt - отсюда и проблема. Это какой-то косяк в gtwvt, а, может быть, и фича). Собирал с gtwin - такого не наблюдается.

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


Пост N: 1304
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 29.06.19 13:33. Заголовок: Обновлена страница h..


Обновлена страница hbedit
Добавлено описание опций командной строки и подробное описание опций ini-файла.

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


Пост N: 1306
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 02.07.19 09:55. Заголовок: Обновлен hbedit. Доб..


Обновлен hbedit.
Добавлены операции над выделенным блоком (плагин plug_selection): подсчет суммы для вертикального блока - это было когда-то в Дос Навигаторе и мне до сих пор иногда недостает, и Surround - заключить выделенный текст в кавычки, скобки или html-тэг.
Исправлено кое-что.

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


Пост N: 1308
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 03.07.19 15:01. Заголовок: Обновлен Hbedit. Доб..


Обновлен Hbedit.
Добавлена команда .(точка) для Vim-режима и для режима выделения - она выполняет последнюю операцию редактирования еще раз. Так, например, если вы в режиме выделения выбрали из меню операцию Surround и в ответ на приглашение ввели символ i (в результате выделенная область будет заключена в тэги <i>,</i>), вы можете выделить другой фрагмент текста, нажать "." - и этот фрагмент будет заключен в те же тэги.

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




Пост N: 2613
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 03.07.19 15:58. Заголовок: alkresin пишет Добав..


alkresin пишет
 цитата:
Добавлена команда .(точка) для Vim-режима и для режима выделения


В режиме выделенного блока удобно попасть в начало блока выделения (в hbedit этого нет)
В notepad3 после выделения (любого) нажатие <- или Home сбрасывает выделение (Ctrl+C не важно было\нет) и ставит курсор в начало выделения, а -> в конец выделения. Что часто удобно, особенно, при больших блоках

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




Пост N: 2614
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 03.07.19 16:06. Заголовок: PS Может мелочь, кон..


PS
Может мелочь, конечно, но не привычно.
Выделение верт. блока при разной ширине концовок строк, закрашивается только содержимое, у более коротких строк (курсор правее) пустые места не закрашены. Ощущение, что Alt к Shift не добавил

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


Пост N: 1309
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 03.07.19 19:42. Заголовок: SergKis пишет: В ре..


SergKis пишет:

 цитата:
В режиме выделенного блока удобно попасть в начало блока выделения (в hbedit этого нет)


Есть. Если выделение делается с F3, Ctrl-F3 или в Vim-режиме (v, V, Ctrl-v), то клавиша 'o' переводит курсор в начало выделения и обратно - и можно продолжить выделение в другом направлении.

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




Пост N: 2616
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 03.07.19 20:20. Заголовок: alkresin пишет Есть...


alkresin пишет
 цитата:
Есть. Если выделение делается с F3, Ctrl-F3 или в Vim-режиме


Понятно. Это не windows штуки.

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


Пост N: 1310
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 03.07.19 20:48. Заголовок: SergKis пишет: Поня..


SergKis пишет:

 цитата:
Понятно. Это не windows штуки.


Непонятно, при чем тут Windows?
Можно это же реализовать и для Shift-Alt - пару строчек добавить, а то и меньше. Просто 'o' - это команда Vim.

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




Пост N: 2617
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 03.07.19 22:27. Заголовок: alkresin пишет Можно..


alkresin пишет
 цитата:
Можно это же реализовать и для Shift-Alt - пару строчек добавить, а то и меньше. Просто 'o' - это команда Vim.


Ставлю defmode=-1, т.е. без Vim
Менять, наверно, можно, но столько "лишнего" текста, что желание пропадает.

 цитата:
Непонятно, при чем тут Windows?


Помню dos редактор, замечательный, 46К весил, работал в в похожей схеме (F3, Ctrl+F3).
Клавиши переназначались, но ...
Осталось все там ... в dos

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


Пост N: 1311
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 04.07.19 08:55. Заголовок: SergKis пишет: Меня..


SergKis пишет:

 цитата:
Менять, наверно, можно, но столько "лишнего" текста, что желание пропадает.


Не понял, о чем вы.


 цитата:
Помню dos редактор, замечательный, 46К весил, работал в в похожей схеме (F3, Ctrl+F3).
Клавиши переназначались, но ...
Осталось все там ... в dos


Каким образом используемые клавиши связаны с Dos или Windows? Почему в Windows F3 можно использовать как продолжение поиска, но нельзя как начало выделения текста? А F7 и Shift-А7 тоже нельзя использовать в Windows для поиска?
F3, кстати, я взял из линуксового Midnight Commander, Ctrl-F3 добавил сам по аналогии с Vim'овским v и Ctrl-v.

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




Пост N: 2618
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 04.07.19 10:20. Заголовок: alkresin пишет Не по..


alkresin пишет
 цитата:
Не понял, о чем вы.


Надо визуально вычленять из кода prg, строки относящиеся к Vim (с выпуском новой модификации), т.к. нет скобок, к примеру,
#ifdef VIM_MODE
...
#endif

 цитата:
Почему в Windows F3 можно использовать как продолжение поиска, но нельзя как начало выделения текста? А F7 и Shift-А7 тоже нельзя использовать в Windows для поиска?


Можно, но это ломать человеку привычки (переучивать). На лучшее ли ?
В windows редакторах, чаще используют
Ctrl+F - поиск
Ctrl+R - замена
Ctrl+O - open
Ctrl+N - New
...

 цитата:
F3, кстати, я взял из линуксового Midnight Commander, Ctrl-F3 добавил сам по аналогии с Vim'овским v и Ctrl-v.


Я и сказал
 цитата:
Это не windows штуки.



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


Пост N: 1312
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 04.07.19 13:22. Заголовок: SergKis пишет: Надо..


SergKis пишет:

 цитата:
Надо визуально вычленять из кода prg, строки относящиеся к Vim


Для чего? Чтобы 'o' заработало и при Shift-Alt, или вы о чем-то другом?

 цитата:
В windows редакторах, чаще используют...


Hbedit позволяет настроить это под себя - вы знаете.
Ну а что где чаще используют... Для меня, например, единственный Windows редактор - это Far, теперь еще hbedit), другими не пользовался, разве что для ознакомления.
Я о другом. У меня сложилось впечатление, что у части наших коллег выработался комплекс по отношению к консольным приложениям, может, потому что долго приходилось писать для консоли , когда вокруг все перешли на GUI. Дескать, это Дос, это безнадежно устарело и пр. Но Дос тут ни при чем. Консоль - это вид интерфейса, не зависящий от ОС. Консоль не устарела и не устареет, она очень удобна во многих случаях - в частности, когда много ввода с клавиатуры и желателен "слепой набор", которому мышка только мешает. Ну а при удаленном доступе по ssh это часто единственный вариант интерфейса. В IT есть немало сообществ, занимающихся современной разработкой, где вас нехорошими тряпками погонят, если вы заикнетесь о том, что GUI было бы удобнее - это я к тому, что разговоры о том, что консоль устарела, просто нелепы.

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




Пост N: 2620
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 04.07.19 14:45. Заголовок: alkresin пишет У ме..


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


Комплекс сложился у клиентов и довольно давно. Если предлагаешь не GUI, то теряешь деньги. Клиент не берет консольную прогу или уходит к тому, кто предлагает GUI разработку, в не лучшей комплектации. В учебных заведениях доклады, рефераты, ..., готовят в Word, Excel. На работу приходят с этими знаниями и консоль для них ... это мамонт какой то. Становятся средним звеном и выбирают соответственно своим знаниям - не консоль.

 цитата:
Для чего? Чтобы 'o' заработало и при Shift-Alt, или вы о чем-то другом?


Об этом. Что бы добавить
#ifndef VIM_MODE
...
#endif

 цитата:
Для меня, например, единственный Windows редактор - это Far, теперь еще hbedit), другими не пользовался, разве что для ознакомления


Если используется RU1251, RU866, Utf8, то Far годится. В нашей деревне LV866 (EN, латышский LV, RU) и Far отдыхает (Для просмотра используется в основном). В работе Akelpad для Utf8 (основной режим), Notpad3 своей сборки для LV866 (у клиентов ставится) и пробую hbedit на предмет замены Far и возможно остальных. Возможно, у клиентов hbedit использовать на текстовых данных с подсветкой слов, т.е. надо походить на GUI приложение.

 цитата:
это я к тому, что разговоры о том, что консоль устарела, просто нелепы.


Сами используем сервисные проги с VWT - проще режимы делать чем с GUI

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




Пост N: 2621
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 04.07.19 14:56. Заголовок: PS Консоль не устаре..


PS

 цитата:
Консоль не устарела и не устареет, она очень удобна во многих случаях - в частности, когда много ввода с клавиатуры и желателен "слепой набор", которому мышка только мешает.


В GUI программах для клиентов приходится все операции раскладывать по клавишам (это была убедительная просьба клиентов, поработавших на приложениях clipper), мышка это доп. вспомогательный атрибут, для кого то наоборот, конечно.

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


Пост N: 1313
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 04.07.19 15:09. Заголовок: SergKis пишет: Об э..


SergKis пишет:

 цитата:
Об этом. Что бы добавить
#ifndef VIM_MODE
...
#endif


Тогда все гораздо проще, я уже сделал - там реально одну строчку поменять пришлось, чтобы нажатие 'o' не сбрасывало :lShiftKey - флаг, указывающий на использование Shift+клавиши перемещения.

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


Пост N: 360
Зарегистрирован: 29.05.10
ссылка на сообщение  Отправлено: 05.07.19 10:06. Заголовок: alkresin пишет: эт..


alkresin пишет:

 цитата:
это я к тому, что разговоры о том, что консоль устарела, просто нелепы.



Не уговаривайте себя :) Наличие специфических задач и мир пользователей сравнивать нет смысла

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


Пост N: 1314
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 05.07.19 13:08. Заголовок: ММК пишет: Наличие ..


ММК пишет:

 цитата:
Наличие специфических задач и мир пользователей сравнивать нет смысла


Пользователи - они разные, это не только менеджеры с бухгалтерами. В научной среде, например, активно пользуются TeX - и соответствующими текстовыми редакторами (Vim, в том числе). Мы, программисты, чем только не пользуемся. С xml и его многочисленными производными тоже не в Word'е работают. И еще есть немало сфер, о которых мы даже не знаем. Вы скажете, что это все специфические задачи, но из таких вот специфических задач и состоит мир.

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


Пост N: 1315
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 08.07.19 09:21. Заголовок: Обновлен hbedit. Ком..


Обновлен hbedit.
Команда 'o' теперь работает и при Shift, Shift-Alt выделении.
Реализован режим переноса строк (wrap mode) - меню/View/Set wrap on - очень полезно при редактировании, например, книг в txt или fb2 формате.

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




Пост N: 2625
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 08.07.19 12:02. Заголовок: alkresin пишет Коман..


alkresin пишет
 цитата:
Команда 'o' теперь работает и при Shift, Shift-Alt выделении.


Как заменить 'o' на -> и <- (закраску можно сбрасывать при этом, главное переместить в конец или начало выделения) ?
Др. людям трудно понять, почему надо нажимать 'o', а не стрелки ?

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


Пост N: 1316
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 08.07.19 13:52. Заголовок: SergKis пишет: Как ..


SergKis пишет:

 цитата:
Как заменить 'o' на -> и <- ?


Только если написать свой плагин, обрабатывающий нажатия клавиш.

 цитата:
Др. людям трудно понять, почему надо нажимать 'o', а не стрелки ?


А почему надо нажимать стрелки? Др.люди настолько привыкли именно к notepad3?

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


Пост N: 1534
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 08.07.19 14:28. Заголовок: alkresin пишет: Др...


alkresin пишет:

 цитата:
Др.люди настолько привыкли именно к notepad3?


Выделение Shift+стрелки (а еще Shift-Home/End/PgUp/PgDn/...) на мой взгляд для Windows-оообщества (а это - большинство) - стандарт де-факто, выработанный годами. Это используется в всех windows-based текстовых редакторах, а не только notepad3.

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


Пост N: 1317
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 08.07.19 14:55. Заголовок: PSP пишет: Выделени..


PSP пишет:

 цитата:
Выделение Shift+стрелки...


Речь не об этом. Hbedit поддерживает выделение с помощью Shift+клавиши перемещения (стрелки, Home, End и пр.).
Мы здесь говорим о редко встречающейся возможности переместить курсор в процессе выделения с одного конца в другой и продолжить выделение в другом направлении. В Vim и hbedit это делается нажатием 'o'.

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


Пост N: 1535
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 08.07.19 15:08. Заголовок: alkresin пишет: Мы ..


alkresin пишет:

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


Понятно. Поспешил я с комментарием))

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




Пост N: 2626
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 08.07.19 15:23. Заголовок: alkresin пишет:Мы зд..


alkresin пишет:
 цитата:
Мы здесь говорим о редко встречающейся возможности переместить курсор в процессе выделения с одного конца в другой и продолжить выделение в другом направлении.


Продолжать выделение не требуется. Говорил, сбрасывать выделение и перемещать курсор в точку.
Знаю 2а редактора, которые перемещения не делают - это notepad и Far.
Akelpad, Notepad3, Notepad++ и др. (правда пробовал их давно) делают такие операции (при выделенном блоке перемещают курсор в начало\в конец блока) и это не "редко встречающейся возможности переместить курсор", а удобный механизм, особенно при работе с вертикальными блоками.
Просто hbedit заточен на Vim операции.

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


Пост N: 1318
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 08.07.19 16:31. Заголовок: SergKis пишет: Прод..


SergKis пишет:

 цитата:
Продолжать выделение не требуется


Ок, сделаю.

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


Пост N: 1319
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 09.07.19 09:51. Заголовок: Обновлен hbedit. Доб..


Обновлен hbedit.
Добавлена стрелочка при выделении (см. предыдущие посты).
Изменена логика работы с clipboard: в vim-режиме реализовано использование регистров, в режиме редактирования вставка из дополнительных буферов clipboard (регистров) теперь производится с помощью Ctrl-p.

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




Пост N: 2628
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 09.07.19 10:52. Заголовок: alkresin пишет Добав..


alkresin пишет
 цитата:
Добавлена стрелочка при выделении


Спасибо. Работает.
А закраска, при блочном выделении, что бы была прямоугольником (до курсора), а не по убранным правым пробелам (только содержимое) ?

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


Пост N: 1320
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 09.07.19 11:55. Заголовок: SergKis пишет: А за..


SergKis пишет:

 цитата:
А закраска, при блочном выделении, что бы была прямоугольником (до курсора), а не по убранным правым пробелам (только содержимое) ?


Честно говоря, лень этим заниматься - меня устраивает так, как есть, да и в Vim так). А как лучше - вопрос спорный. Прямоугольник, конечно, красивее, но может ввести в заблуждение о границах текста - вставлены-то пробелы не будут, если их нет.

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




Пост N: 2629
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 09.07.19 12:24. Заголовок: alkresin пишет Прям..


alkresin пишет
 цитата:
Прямоугольник, конечно, красивее


Скорее нагляднее, по тем ли символам идет курсор (курсор хуже видно, надо приглядываться)

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


Пост N: 1321
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 10.07.19 11:36. Заголовок: Обновлен hbedit. Доб..


Обновлен hbedit.
Добавлена группа Vim-команд yy, yiw, ...
Небольшие исправления.

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




Пост N: 2631
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 10.07.19 13:13. Заголовок: alkresin перестала ..


alkresin
перестала реагировать установка :y2 (на экране последняя строка не доступна)
 
TEdit():bNew := {|oe| oe:lTopPane := .F., ;
oe:y1 := 0, ;
oe:y2 := MaxRow()-1, ;

oe:bOnKey := {|o,n| EdOnKey(o, n) }, ;
oe:bWriteTopPane := {|o,n| StbLine(o, n) } }

Можно ставить MaxRow()+10 или - 10, на экране, всегда, последняя строка не доступна (пусто в ней).

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




Пост N: 2632
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 10.07.19 13:18. Заголовок: PS ini fontname=Lib..


PS
ini
 
fontname=Liberation Mono
fontheight=24
fontwidth=12
screen_width=121
screen_height=30
cp=LV866
...
[OPTIONS]
defmode=-1
;incsearch=off
autoindent=on
;syntax=On
; savehis: 0 - don't save the history, 1 (default) - save in hbedit directory,
; 2 - save in a current directory.
;savehis=1
;cmdhismax=20
;seahismax=20
edithismax=30
; eol: 0 - auto, 1 - Linux, 2 - Dos
;eol=0
trimspaces=on
palette=solarized light
...


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


Пост N: 1322
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 10.07.19 17:03. Заголовок: SergKis пишет: пере..


SergKis пишет:

 цитата:
перестала реагировать установка :y2 (на экране последняя строка не доступна)


Если у вас :y2 - Maxrow()-1, то это как раз исключает последнюю строку.
Поставьте oEdit:bNew := oe:y2 := MaxRow()

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




Пост N: 2634
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 10.07.19 19:45. Заголовок: Спасибо, получилось...


Спасибо, получилось.

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


Пост N: 1323
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 11.07.19 10:12. Заголовок: Обновлен hbedit. Доб..


Обновлен hbedit.
Добавлена возможность устанавливать в ini-файле сочетания клавиш на плагины, в Ini поставлен Alt-L на список функций и Alt-R на запуск на исполнение.

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


Пост N: 1324
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 16.07.19 11:02. Заголовок: Обновлен hbedit. Нек..


Обновлен hbedit.
Некоторые исправления и улучшения.
Добавлен плагин WebServices для получения данных с некоторых публичных веб сервисов. Сейчас их там 3 - определение своего внешнего ip (он копируется в clipboard), получение справки по слову под курсором (русские, увы, не поддеоживаются) и поучение уникального текста типа 'lorem ipsum.
Для работы этого плагина необходимо наличие curl.

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


Пост N: 1325
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 18.07.19 09:47. Заголовок: Обновлен hbedit. Доб..


Обновлен hbedit.
Добавлена команда Ctrl-w,o - делает из дочернего окна полноценное.
Добавлен init плагин для prg - он прописан в [LANG_PRG] и запускается при открытии каждого prg. В настоящее время он выводит по Alt-D список функций HwGUI и при выборе любой из них открывает дочернее окно с информацией о функции. Тип информации (описание, записи из Changelog, исходники) задаются в открывающемся диалоговом окне. Ту же информацию можно получить по Alt-I над функцией в редактируемом тексте.
Информация берется из моего web-сервиса, так что для того, чтобы это работало, нужен curl.

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


Пост N: 1327
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 22.07.19 08:37. Заголовок: Обновлен hbedit. Теп..


Обновлен hbedit.
Теперь prg init плагин дает информацию и по всем Harbour функциям - тем, что входят в ядро (не contrib), их чуть больше полутора тысяч. Описания есть для части из них. Если нет описания, можно составить представление о функции, просмотрев соответствующие записи в Changelog и исходники - я обычно так и делаю, когда нужно с чем-то разобраться. Теперь это можно посмотреть быстро в одном месте, используя hbedit.

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




Пост N: 2703
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 02.08.19 07:51. Заголовок: alkresin 1. имеем ..


alkresin
1.
имеем
 
SET EPOCH TO 2000
SET DATE TO GERMAN
SET CENTURY ON
ставлю курсор в самую первую позицию SET DATE TO GERMAN и жму Enter (новую строку вставляю перед)
получаю
SET EPOCH TO 2000

SET DATE TO GERMAN
SET CENTURY ON

2.
имеем
 
SET EPOCH TO 2000
SET DATE TO GERMAN
SET CENTURY ON
SET DELETED ON
SET AUTOPEN OFF


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




Пост N: 2704
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 02.08.19 07:59. Заголовок: PS не ту кнопку нажа..


PS
не ту кнопку нажал, отвлекли
1.помечаю вертикальный блок перед 3ими словами всех строк, состоящий из одной позиции (один пробел)
2.делаю Ctrl+C, стрелку влево
встал курсор перед TO 2000
делаю Ctrl+V (хочу увеличить кол-во пробелов)
вставляется из буфера, что было в нем до пункта 1,2
Если взять верт. блок из 2х позиций, то все ок

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




Пост N: 2705
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 02.08.19 08:05. Заголовок: PPS В ini screen_wid..


PPS
В ini
screen_width=121
screen_height=30
palette=solarized light
При завершении работы, т.е. выхода из hbedit происходит закраска всего окна с hbedit цветом детской неожиданности и потом окно уходит. Очень бросается в глаза. Может можно поправить ?

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


Пост N: 1329
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 02.08.19 13:15. Заголовок: Действительно, стран..


Действительно, странно. Поправлю.
Кстати, чтобы сдвинуть тест влевл/вправо, можно выделить его и затем Shift->, Shift-<.

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




Пост N: 2708
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 02.08.19 14:42. Заголовок: alkresin пишет Кстат..


alkresin пишет
 цитата:
Кстати, чтобы сдвинуть тест влевл/вправо, можно выделить его и затем Shift->, Shift-<


Это не привычно + закраска окончания строк выделенния (ранее писал), затрудняет понимание окончания блока.
Проще, по мне, действовать, как описал выше

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


Пост N: 1330
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 05.08.19 09:28. Заголовок: Обновлен hbedit. Исп..


Обновлен hbedit.
Исправления всякие.

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




Пост N: 2726
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 09.08.19 21:07. Заголовок: alkresin Тут https:..


alkresin
Тут https://TransFiles.ru/2xcy7
файл txt, hbedit.ini, файл err
1
С такой настройкой ini нет выравнивания колонки (рус. название) с исп. кл. TAB (было сделано в Far).
Попытка выровнять первые строки рус. колонки (добавлением пробелов в строках до Кирибати) и потом выровнять верт. блоком из пробела до начала рус. колонки, на уровень позиции Китай, привело к снятию. Файл прилагается

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


Пост N: 1335
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 12.08.19 08:55. Заголовок: Воспроизвести не уда..


Воспроизвести не удалось, но добавил проверку в месте возникновения ошибки.
Обновил hbedit.
В plug_selection добаввил новые возможности - теперь выделенный вертикальный блок можно выровнять по левой или правой границе.
Shift-> и Shifn-<, если делаются с вертикальным блоком, перемещают теперь не строки целиком, а только выделенный блок.

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




Пост N: 2733
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.08.19 10:10. Заголовок: alkresin текстовый ..


alkresin
текстовый файл из архива
hbedit.ini
tablen=3
tabtospaces=Off
последняя колонка все ровненько, как и в Far (выравнивание сделано TAB символом)

tabtospaces=On
последняя колонка "скачет" начало слов, нет выравнивания при замене TAB пробелами.
Если выровнять последнюю колонку (несколько строк), добавлением пробелов и посмотреть полученное в Far, то колонка скачет в нем.
Может добавить еще режим физической замены TAB на пробелы (не сохраняя TAB) ?

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




Пост N: 2734
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.08.19 10:34. Заголовок: PS Если верт. выделе..


PS
Если верт. выделенный блок больше, чем строк окна hbedit и нажимаем <- (переход в начало выделения), курсор уходит в начало выд. блока, а отображение остается прежним и курсора не видно - "потеряли". Перемещения стрелками покажет курсор только, когда он "вернется" по координатам на тек. отображение. Notepad3 возвращает курсор в начало выделенного блока и отображает окно как было при начале выделения.

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


Пост N: 1337
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 13.08.19 10:37. Заголовок: SergKis пишет: tabt..


SergKis пишет:

 цитата:
tabtospaces=Off
...
tabtospaces=On
...


У меня там не вполне корректно сделано преобразование tab to spaces и обратно - я просто заменяю tab на tablen пробелов. Это правильно работает для начала строки, а середине надо менять на значение щт 1 до tablen, в зависимости от положения tab. Надо будет поправить как-нибудь.

 цитата:
Может добавить еще режим физической замены TAB на пробелы (не сохраняя TAB) ?


Добавил опцию в диалог сохранения.

 цитата:
Если верт. выделенный блок больше, чем строк окна hbedit и нажимаем <


Исправил.

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




Пост N: 2735
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 13.08.19 12:57. Заголовок: alkresin hbedit от ..


alkresin
hbedit от 12.08.2019
Список по Alt+L получается в 2х вариантах
1. Типа "маленький", кол-во функций от 0- t (есть второй экран списка) нумерация слева и нет возможности поиска по имени, надо высматривать листая нужную функцию
2. Нормальный вариант с поиском по имени
Что сделать, что бы всегда был 2ой вариант ?

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




Пост N: 2736
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 13.08.19 13:26. Заголовок: PS Странно работает ..


PS
Странно работает подсветка многострочного, создаваемого блока
/*
...
*/
иногда засвечивает сразу после /*, но чаще нет
после */ не засвечивает блок, надо сделать новые строки.
иногда после ввода новой строки засветка срабатывает, иногда только после второй новой строки

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


Пост N: 1339
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 14.08.19 10:07. Заголовок: Обновлен hbedit. Кое..


Обновлен hbedit.
Кое-какие исправления, в т.ч. - подсветка многострочных комментариев.
Список функций теперь выводится с опцией поиска при количестве ф-й больше трех.

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




Пост N: 2748
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 20.08.19 07:23. Заголовок: alkresin Если строк..


alkresin
Если строка длинная и выходит за пределы окна, к примеру, на 10 символов и жмем Enter (new line), то курсор убегает в первые позиции и "теряется" из показа, т.к. мы остались на отображении конца строки. Надо, наверно, переместить показ.

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




Пост N: 2751
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 20.08.19 13:15. Заголовок: PS Можно сделать уст..


PS
Можно сделать установку в ini для показа в заголовке окна (где hbedit) рабочий каталог (путь) загрузки 1го файла ?
Что бы различать версии (по каталогам) одного и того же файла.

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


Пост N: 1344
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 21.08.19 10:21. Заголовок: SergKis пишет: Можн..


SergKis пишет:

 цитата:
Можно сделать установку в ini для показа в заголовке окна (где hbedit) рабочий каталог (путь) загрузки 1го файла ?


Может, лучше менять режим отображения имени файла по щелчку по нему - тогда он будет изменен в конкретном окне и тогда, когда это надо?

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


Пост N: 1345
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 21.08.19 10:30. Заголовок: Обновлен Hbedit. Кое..


Обновлен Hbedit.
Кое-какие исправления.
Добавлен плагин для интеграции Git и Fossil - можно смотреть историю изменения файла, извлечь любую его версию, посмотреть изменения (diff) в специальном окне.
Добавлен режим сравнения файлов. Это можно сделать двумя способами:
1) Открыть первый файл, потом при открытии второго указать опцию Diff.
2) hbedit -d file1 file2
В этом режиме можно переключать способ отображения во втором окне - только diff, full (весь текст с - и +), Version From (исходная версия файла).

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




Пост N: 2754
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 21.08.19 11:02. Заголовок: alkresin пишет Может..


alkresin пишет
 цитата:
Может, лучше менять режим отображения имени файла по щелчку по нему - тогда он будет изменен в конкретном окне и тогда, когда это надо?


Не совсем удобно, имя файла одинаковое, разные пути и в полске где F9-Menu ... надо высматривать. В title окна удобнее смотреть. Повесил в Far hbedit на Alt+F4 и к примеру, смотрю TsBrowse.prg в 3х каталогах (версиях) одновременно в разных окнах
1 - C:MiniGui\SOURCE\TsBrowse\TsBrowse.prg // тек. версия
2 - C:MiniGui_1906_2\SOURCE\TsBrowse\TsBrowse.prg // предыдущая
3 - C:MiniGui_207\SOURCE\TsBrowse\TsBrowse.prg // рабочая версия
т.е. есть в каждом окне текущий каталог, вот его бы и видеть в Title, т.к. взятые др. файлы в это окно так же будут из тек. каталога.
Можно в команду запуска добавить параметр, не в ini.
hbedit.exe -dir
к примеру

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




Пост N: 2755
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 21.08.19 11:21. Заголовок: PS А щелкнуть по реж..


PS
А щелкнуть по режиму <Edit> и сделать его <ReadOnly> (комбинация клавиш), было бы хорошо, т.к. из 3х править один надо, как правило.

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




Пост N: 2756
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 21.08.19 11:35. Заголовок: alkresin Вопрос по ..


alkresin
Вопрос по переназначению клавиш.
Как переназначить для окна ?
Ctrl-w, w=>Ctrl-1
Ctrl-w, s=>Ctrl-2
Ctrl-w, v=>Ctrl-3
в ini стоит
keymap=Ctrl-N=>Shift-F4,Ctrl-O=>Ctrl-F4,Ctrl-F=>F7,Ctrl-G=>Alt-F8,Ctrl-R=>Ctrl-F7
и дописать в keymap

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


Пост N: 1346
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 21.08.19 13:01. Заголовок: Ok, сделаю в ini. А ..


Ok, сделаю в ini.

 цитата:
А щелкнуть по режиму <Edit> и сделать его <ReadOnly>


Что-то не нравится мне такой вариант.

 цитата:
Вопрос по переназначению клавиш.


Сейчас на клавишу можно повесить только одну клавишу, но можно будет сделать и для сочетания клавиш.

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




Пост N: 2757
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 21.08.19 13:23. Заголовок: alkresin пишет Что-т..


alkresin пишет
 цитата:
Что-то не нравится мне такой вариант.


Это, скорее, образно " щелкнуть по режиму <Edit> и сделать его <ReadOnly>", лучше клавиши и меню.
Сейчас перевести из Edit в ReadOnly загруженный текст нет возможности и попадался, что начинаешь править не тот текст.

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




Пост N: 2758
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 21.08.19 14:00. Заголовок: PS Команды можно доб..


PS
Команды можно добавить в меню "Windows" с клавишами, например
Ctrl-w, r - ReadOnly
Ctrl-w, e - Edit

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




Пост N: 2759
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 22.08.19 09:33. Заголовок: alkresin При вставк..


alkresin
При вставке блока строк Ctrl+V в нижнюю часть окна hbedit, происходит передергивание показа после операции - курсор и строки показа перепрыгивают в верхнюю часть окна. Можно оставить показ в тех же координатах, как было перед вставкой (rкак в Far, к примеру) ?

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


Пост N: 1347
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 22.08.19 11:18. Заголовок: SergKis пишет: Можн..


SergKis пишет:

 цитата:
Можно оставить показ в тех же координатах


Если курсор после вставки остается в пределах экрана - посмотрю.

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


Пост N: 1348
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 22.08.19 11:23. Заголовок: Обновлен hbedit. Поп..


Обновлен hbedit.
Поправлены ошибки.
Изменен заголовок в окне сравнения.
Добавлена возможность сравнивать фрагменты файлов. Для этого надо выделить и поместить в clipboard первый фрагмент, затем выделить второй, вызвать меню (F9 или m) и выбрать опцию "Compare" - появятся два новых окна с результатом сравнения.
В ini добавлена опция pathinhead - если On, то в заголовке отображается полный путь к файлу. Как и некоторые др. опции, это можно поменять в командном режиме с помощью set pathinhead.

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




Пост N: 2760
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 22.08.19 14:01. Заголовок: alkresin До этой ве..


alkresin
До этой версии не собирал свою, использовал текущую hbedit.exe сp=RU1251
Пересобрал и у себя сделал для vwt так
 
hbedit.prg
------------
#include "hbgtinfo.ch"

REQUEST HB_CODEPAGE_LV866
REQUEST MSGBOX, MSGINFO, MSGYESNO, MSGYESNOCANCEL, MESSAGEBOXINDIRECT
#define GTWVT 1
...
#ifdef GTWVT
ANNOUNCE HB_GTSYS
REQUEST HB_GT_WVT
REQUEST HB_GT_WVT_DEFAULT
* ------------------------------------
hb_gtInfo( HB_GTI_CODEPAGE, 866 )
hb_cdpSelect( "LV866" )
* ------------------------------------
bkInit( cIniName )
#endif
...
bkInit.prg
-----------
#include "hbgtinfo.ch"

FUNCTION bkInit( cIniName )
Local cPath := hb_curDrive() + ":\" + Curdir() + '\'
Local cName := hb_ProgName(), cTmp
Local cExe := Lower(hb_fnameName(cName))
LOCAL cCapt := cExe

cTmp := Lower(gIniC7(cIniName, [OPTIONS], 'PathInHead', 'off'))

If 'off' $ cTmp
cCapt := cPath + '...' + space(2) + '-' + space(2) + cExe
EndIf

CLS

hb_gtInfo( HB_GTI_WINTITLE, cCapt )

RETURN Nil

Вроде нормальненько.

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




Пост N: 2761
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 22.08.19 15:24. Заголовок: alkresin Что нужно ..


alkresin
Что нужно сделать, что бы при заданном :bWriteTopPane работало разделение окна на части (хотя бы 2а, по горизонтали или вертикали) без отображения данных на горизонтальной полоске.
Т.е. при
 
IF ::bWriteTopPane != Nil
Eval( ::bWriteTopPane, Self, lClear, y )
ELSE
...

Была просто полоска и работа в разделенном окне.

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




Пост N: 2762
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 22.08.19 15:53. Заголовок: PS В 0 ой строке пол..


PS
В 0 ой строке полоски нет, весь вывод данных на StatusBar из нее и при разделении окна на части тоже

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


Пост N: 1349
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 22.08.19 16:29. Заголовок: Была просто полоска ..



 цитата:
Была просто полоска и работа в разделенном окне.


:bWriteTopPane := {|o,l,y|
LOCAL nCol := Col(), nRow := Row()
SetColor( o:cColorPane )
Scroll( y, o:x1, y, o:x2 )
IF o:oParent != Nil .AND. o:x1 == o:oParent:x2 + 2
Scroll( o:y1, o:x1-1, o:y2, o:x1-1 )
ENDIF
SetColor( o:cColor )
DevPos( nRow, nCol )
RETURN Nil
}


 цитата:
В 0 ой строке полоски нет, весь вывод данных на StatusBar из нее и при разделении окна на части тоже


Ничего не понял.

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




Пост N: 2763
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 22.08.19 18:08. Заголовок: alkresin пишет Ничег..


alkresin пишет
 цитата:
Ничего не понял.


Имеется ввиду, что нет строки 0 с F9-Menu ...
Данные из этой строки перенесутся в StatusBar, который будет организован в дальнейшем.
Вопрос разделения работы по разделенному на части окну hbedit и вывода данных на строку горизонтальную разделения.

 цитата:
:bWriteTopPane := {|o,l,y|
LOCAL nCol := Col(), nRow := Row()
SetColor( o:cColorPane )
Scroll( y, o:x1, y, o:x2 )
IF o:oParent != Nil .AND. o:x1 == o:oParent:x2 + 2
Scroll( o:y1, o:x1-1, o:y2, o:x1-1 )
ENDIF
SetColor( o:cColor )
DevPos( nRow, nCol )
RETURN Nil
}


Не решило задачу разделения окна командами Ctrl-w, s или Ctrl-w, v
Тут пример сборки https://TransFiles.ru/my9x2

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




Пост N: 2764
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 22.08.19 18:25. Заголовок: PS При перемещении в..


PS
При перемещении в окне hbedit примера, появляется 0 строка с закраской, что не должно было бы быть.
Такая строка уместна была бы по команде Ctrl-w, s , но только без вывода на нее данных. Вывод с нее перенаправить в StatusBar.
По команде Ctrl-w, v окно делится верт. полосой, но без полосы в 0 строке. Вывод с нее, так же, перенаправить в StatusBar.

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


Пост N: 1350
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 23.08.19 12:20. Заголовок: Никак не мог взять в..


Никак не мог взять в толк, что это за 0-ая строка и в чем, собственно, состоит проблема, пока не понял, что речь идет о вашей сборке, где вы отключили панель статуса, но хотите, чтобы при этом сохранились горизонтальные разделители окон.
Для этого надо включить панель статуса в дочерних горизонтальных окнах и использовать только в них тот bWriteTopPane.

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




Пост N: 2765
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 23.08.19 13:00. Заголовок: alkresin пишет Для э..


alkresin пишет
 цитата:
Для этого надо включить панель статуса в дочерних горизонтальных окнах и использовать только в них тот bWriteTopPane.


Не понял где и что надо делать, что бы перехватывать вывод в статусную строку окна в фокусе, что бы перенаправить у себя индикацию в StatusBar., т.е. в работе вся клиентская область окна, включая 0 ую
Понимал так, что bWriteTopPane это вывод данных на статусную строку (окна в фокусе), а горизонтальные\вертикальные разделители окон это свойство\метод механизма разделения окон не связанная с bWriteTopPane

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


Пост N: 1351
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 23.08.19 13:45. Заголовок: перехватывать вывод ..



 цитата:
перехватывать вывод в статусную строку окна в фокусе


Это в bWriteTopPane. Параметр lClear указывает, что надо только очистить строку панели (это когда соответствующее окно теряет фокус).
Горизонтальный разделитель окон - это и есть панель статуса. Вертикальный рисуется тоже в :WriteTopPane().

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




Пост N: 2766
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 23.08.19 14:33. Заголовок: alkresin пишет Гориз..


alkresin пишет
 цитата:
Горизонтальный разделитель окон - это и есть панель статуса. Вертикальный рисуется тоже в :WriteTopPane()


Может прорисовку их вынести до выполнения bWriteTopPane, что бы разделение на окна было в любом случае, с учетом исключения 0-ой строки (oe:y1 := 0 в :bNew). Тогда в блоке кода останется чистый вывод в статусную строку, в моем случае в StatusBar

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




Пост N: 2767
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 23.08.19 14:58. Заголовок: PS Если сделаю пусто..


PS
Если сделаю пустой блок
 
TEdit():bNew := {|oe| oe:lTopPane := .F., ;
oe:y1 := 0, ;
oe:y2 := MaxRow(), ;
oe:bWriteTopPane := {|o,l,y| StbLine(o,l,y) } }

FUNCTION StbLine( o, l, y )
LOCAL nCol := Col(), nRow := Row()
/*
SetColor( o:cColorPane )
Scroll( y, o:x1, y, o:x2 )
IF o:oParent != Nil .AND. o:x1 == o:oParent:x2 + 2
Scroll( o:y1, o:x1-1, o:y2, o:x1-1 )
ENDIF
SetColor( o:cColor )
DevPos( nRow, nCol )
*/

RETURN Nil

то работы с разделенным окном (Ctrl-w, s или v) совсем не будет. а мы только вывод в статусную строку отключили, а координаты работы в окне\окнах должны были остаться и по Ctrl+TAB (переключение фокуса) окна (позиция курсора) переключаться, а этого нет совсем. Т.е. нет разделения окна на части, а похоже есть 2а полноэкранных окна, т.к. передвинув курсор в одном и сделав Ctrl+TAB видим разницу позиций курсора.

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


Пост N: 1353
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 23.08.19 17:23. Заголовок: SergKis пишет: ..


SergKis пишет:

 цитата:
oe:y1 := 0, ;
oe:y2 := MaxRow(), ;
...
мы только вывод в статусную строку отключили, а координаты работы в окне\окнах должны были остаться


Как же они могли остаться, если вы их установили самостоятельно в полный размер?

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




Пост N: 2768
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 23.08.19 17:54. Заголовок: alkresin пишет Как ж..


alkresin пишет
 цитата:
Как же они могли остаться, если вы их установили самостоятельно в полный размер?


Тогда не понятно, как установить всю клиентскую область для основного окна (с 0-ой строкой), а подокна работали разбивая окно на части (как сейчас с 0-ой статусной строкой) и перехватывать данные для статусной строки для вывода в др. месте.

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


Пост N: 1354
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 28.08.19 13:20. Заголовок: Если есть подокна, т..


Если есть подокна, то основное окно занимает уже не все пространство, а только то, что осталось от подокон. И устанавливать для него координаты не надо - это делается автоматически.
:bWriteTopPane - самое подходящее место для вывода какой-то информации в др.место, он вызывается независимо от того, имеется статусная строка (::lTopPane := .T.) или нет.

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


Пост N: 1355
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 28.08.19 13:23. Заголовок: Обновлен hbedit. Рас..


Обновлен hbedit.
Расширено меню Windows.
В keymap из hbedit.ini теперь можно задавать сочетания клавиш, разделяя клавиши символом |
Например, Alt-1=>Ctrl-W|s

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




Пост N: 2775
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 28.08.19 17:03. Заголовок: alkresin пишет Если ..


alkresin пишет
 цитата:
Если есть подокна, то основное окно занимает уже не все пространство, а только то, что осталось от подокон. И устанавливать для него координаты не надо - это делается автоматически.


Вопрос остался, как убрать строку с F9-Menu и на месте этой строки была строка текста, т.е как убрать статусную строку ?
В windows редакторах в меню "Настройки" есть опции
- показывать панель инструментов
- показывать строку статуса
- показывать колонку нумерации строк текста
Если панель инструментов нету, то остальные пункты интересны в работе.

 цитата:
:bWriteTopPane - самое подходящее место для вывода какой-то информации в др.место


Это как раз понятно, более менее

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


Пост N: 1356
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 28.08.19 18:18. Заголовок: SergKis пишет: Вопр..


SergKis пишет:

 цитата:
Вопрос остался, как убрать строку с F9-Menu и на месте этой строки была строка текста, т.е как убрать статусную строку ?


Самый простой способ - при вызове TEdit():New(cText, cFileName, y1, x1, y2, x2, cColor, lTopPane) установить 8-й параметр lTopPane в .F.
Другой - прописать в :bNew
o:lTopPane := .F.
o:y1 --

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




Пост N: 2776
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 28.08.19 18:48. Заголовок: alkresin пишет Друго..


alkresin пишет
 цитата:
Другой - прописать в :bNew
o:lTopPane := .F.
o:y1 --


Это сработало. Спасибо.
Работает даже Ctrl-w,v , есть разделитель вертикальный.
При Ctrl-w,s нет горизонтального разделителя, но окно\подокно работает

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


Пост N: 1357
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 28.08.19 19:05. Заголовок: При Ctrl-w,s нет гор..



 цитата:
При Ctrl-w,s нет горизонтального разделителя, но окно\подокно работает


Значит, для этих подокон lTopPane должно быть .T., это можно сделать в bNew, например, так:

if o:oParent == nil
o:lTopPane := .F.
o:y1 --
endif

т.е., не убирать панель статуса для дочерних окон. Или:

if o:y1 == o:aRectFull[1]+1
...

чтобы панели статуса не было у верхних окон.

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




Пост N: 2777
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 28.08.19 19:27. Заголовок: alkresin делал так ..


alkresin
делал так
 
TEdit():bNew := {|oe| iif( oe:oParent == Nil, ( oe:lTopPane := .F., oe:y1-- ), ), ;
oe:bWriteTopPane := {|o,l,y| StbLine(o,l,y) } }

не изменило от пред. поста, т.е. нет горизонтальной полосы-разделителя

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




Пост N: 2778
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 28.08.19 22:41. Заголовок: alkresin пишет В key..


alkresin пишет
 цитата:
В keymap из hbedit.ini теперь можно задавать сочетания клавиш, разделяя клавиши символом |
Например, Alt-1=>Ctrl-W|s


Такое сочетание работает, а через Ctrl-1 или Ctrl-~ нет.
keymap=Ctrl-N=>Shift-F4,Ctrl-O=>Ctrl-F4,Ctrl-F=>F7,Ctrl-G=>Alt-F8,Ctrl-R=>Ctrl-F7,Alt-1=>Ctrl-w|v,Ctrl-1=>Ctrl-w|v,Ctrl-~=>Ctrl-w|s
Ctrl+<клавиша> рядом и "роднее" и удобнее, чем Alt+<клавиша>
Ctrl+TAB -переключить окна
Ctrl+~ - горизонтальное разделение
Ctrl+1 - вертикальное

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


Пост N: 1358
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 29.08.19 08:53. Заголовок: не изменило от пред...



 цитата:
не изменило от пред. поста, т.е. нет горизонтальной полосы-разделителя


Точно, oParent устанавливается после вызова TEdit():New(), по нему нельзя проверить. Значит, сработает другое условие: o:y1 == o:aRectFull[1]+1


 цитата:
Такое сочетание работает, а через Ctrl-1 или Ctrl-~ нет.


Ctrl-1, Ctrl-2,... в Harbour в консоли вообще не работают - нет реакции на эти нажатия, не генерируется событие.

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




Пост N: 2780
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 29.08.19 21:03. Заголовок: alkresin пишет Ctrl-..


alkresin пишет
 цитата:
Ctrl-1, Ctrl-2,... в Harbour в консоли вообще не работают - нет реакции на эти нажатия, не генерируется событие.


Понятно.
А в WVT ?

 цитата:
Значит, сработает другое условие: o:y1 == o:aRectFull[1]+1


Горизонтальная строка появляется со смещением (где должно, в обычном режиме, находится "F9-Menu" ) и лишней информацией "Harbour plugins: Alt-D ...". Хотелось бы пустую полосу в ширину окна

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


Пост N: 1361
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 30.08.19 09:00. Заголовок: А в WVT ? Да. Моя ..



 цитата:
А в WVT ?


Да. Моя сборка hbedit в нем построена.
Сделаю gt hwgui - там будет работать).


 цитата:
Горизонтальная строка появляется со смещением (где должно, в обычном режиме, находится "F9-Menu" ) и лишней информацией "Harbour plugins: Alt-D ...".


Горизонтальная разделительная строка появляется на месте строки статуса, потому что это она и есть. Какое это смещение?
"Harbour plugins: Alt-D ..." появляется только вначале, потом там пусто - это предупреждение, что для открытого в окне файла подключен Harbour плагин. Вы можете это отключить, если в :bNew пропишете o:bStartEdit := Nil или установите свой bStartEdit.

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




Пост N: 2781
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.08.19 11:08. Заголовок: alkresin пишет Вы м..


alkresin пишет
 цитата:
Вы можете это отключить, если в :bNew пропишете o:bStartEdit := Nil или установите свой bStartEdit.


Сделал
 
TEdit():bNew := {|oe| iif( oe:y1 == oe:aRectFull[1]+1, ( oe:lTopPane := .F., oe:y1-- ), ), ;
oe:bStartEdit := Nil , ;
oe:bWriteTopPane := {|o,l,y| StbLine(o,l,y) } }

результат такой же, как был описан ранее.
Пример, своя сборка, тут (смещение вправо линии на длину "F9-Menu", так понимаю) https://my-files.ru/zn3jdl
Если убираю в ini
;plugin=plug_prg_init.hrb
то горизонтальная линия разделения окна пропадает совсем
А можно сделать, что то типа oEdit:lStatusLine := .T.\.F. ?

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




Пост N: 2782
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.08.19 11:19. Заголовок: PS Разговор о команд..


PS
Разговор о командах
Ctrl-w,v - нормальное разделение
Ctrl-w,s - не нормальное разделение

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


Пост N: 1363
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 30.08.19 13:11. Заголовок: SergKis пишет: Прим..


SergKis пишет:

 цитата:
Пример, своя сборка, тут (смещение вправо линии на длину "F9-Menu", так понимаю) https://my-files.ru/zn3jdl


Файл по ссылке удален - пишут, вредоносное ПО)

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




Пост N: 2783
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.08.19 13:35. Заголовок: alkresin пишет Файл ..


alkresin пишет
 цитата:
Файл по ссылке удален - пишут, вредоносное ПО)


Да, удалили, но не сразу, я сначала проверил ссылку.
Тут https://TransFiles.ru/pzqj9

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




Пост N: 2784
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.08.19 13:42. Заголовок: PS в bkInit я убрал ..


PS
в bkInit я убрал oe:bStartEdit := Nil, т.к. с ним при Ctrl-w,s совсем нет горизонтальной разд. строки, а так она есть, но из plugin init. Если комментируем в ini (как выше), то опять совсем нет горизонтальной разд. строки

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




Пост N: 2785
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.08.19 13:47. Заголовок: PPS И как для меня, ..


PPS
И как для меня, plugin=plug_prg_init.hrb в таком виде, нужен как пример, т.е. в работе ( Far Alt+F4 ) он отключен

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


Пост N: 1364
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 30.08.19 14:04. Заголовок: Ну так вы же сами уб..


Ну так вы же сами убрали из :bWriteTopPane отрисовку разделительной линии.
Надо, чтоб было:
 
IF ::lTopPane
DispBegin()
SetColor( ::cColorPane )
Scroll( y, ::x1, y, ::x2 )
IF ::oParent != Nil .AND. ::x1 == ::oParent:x2 + 2
Scroll( ::y1, ::x1-1, ::y2, ::x1-1 )
ENDIF
DispEnd()
ENDIF


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




Пост N: 2786
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.08.19 14:56. Заголовок: alkresin пишет Ну та..


alkresin пишет
 цитата:
Ну так вы же сами убрали из :bWriteTopPane отрисовку разделительной линии.


Да, убрал, т.к. если делать прорисовку в :bWriteTopPane (в том виде как в StbLine(...), была ваша рекомендация), то начинает появляться и жить закраска в 0ой строке, при вертикальном разделении Ctrl-w,v
Если сделать по последней рекомендации, то все хорошо, как хотелось и при ;plugin=plug_prg_init.hrb
Спасибо.
Может тогда вынести прорисовку вертикальной\горизонтальной строки разделения до :bWriteTopPane
 
< сюда, к примеру >
IF ::bWriteTopPane != Nil
Eval( ::bWriteTopPane, Self, lClear, y )
ELSE
IF ::lTopPane
DispBegin()
SetColor( ::cColorPane )
Scroll( y, ::x1, y, ::x2 )
IF ::oParent != Nil .AND. ::x1 == ::oParent:x2 + 2
Scroll( ::y1, ::x1-1, ::y2, ::x1-1 )
ENDIF


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


Пост N: 1365
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 30.08.19 15:48. Заголовок: SergKis пишет: Може..


SergKis пишет:

 цитата:
Может тогда вынести прорисовку вертикальной\горизонтальной строки разделения до :bWriteTopPane


Можно.

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




Пост N: 2805
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 05.09.19 16:32. Заголовок: alkresin Можно доба..


alkresin
Можно добавить в hbedit ?
- если имя плагина (без расширения .hrb) есть как функция, выполнить ее (плагин перенесен в тело hbedit), что бы не править базовый текст при смене модификации hbedit
- в плагин plug_prg_spis.prg включить определения INIT WINDOW ... и DEFINE WINDOW ..., что бы не править плагин базовый, т.к. до этих определений, после FUNCTION, может находится достаточно строк

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


Пост N: 1371
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 06.09.19 10:49. Заголовок: SergKis пишет: если..


SergKis пишет:

 цитата:
если имя плагина (без расширения .hrb) есть как функция, выполнить ее (плагин перенесен в тело hbedit),


Проблематично. Надо менять логику работы в нескольких местах - многое заточено под номер плагина в массиве, сформированном из секции [PLUGINS], в т.ч. - назначение горячих клавиш. И, честно говоря, не вижу смысла в переносе плагина в тело основной программы - впрочем, мы об этом уже говорили.

 цитата:
в плагин plug_prg_spis.prg включить определения INIT WINDOW ... и DEFINE WINDOW


Тогда уж лучше завести ini-файл для этого плагина, который будет располагаться рядом с hrb - чтобы там можно было определить все ключевые слова, которые вам захочется отловить для списка функций.

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




Пост N: 2811
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 06.09.19 11:12. Заголовок: alkresin пишет Надо ..


alkresin пишет
 цитата:
Надо менять логику работы в нескольких местах - многое заточено под номер плагина в массиве, сформированном из секции [PLUGINS], в т.ч. - назначение горячих клавиш


Потому и поднял вопрос, т.к. придется каждый раз менять свой код при смене версии hbedit. Из всех плагинов нужно максимум 3 и без изменений, каталог plugins, как бы, лишний, а иногда мешающий, при уст. на разных местах (pc)

 цитата:
Тогда уж лучше завести ini-файл для этого плагина, который будет располагаться рядом с hrb - чтобы там можно было определить все ключевые слова, которые вам захочется отловить для списка функций.


Это хорошее решение, но уже несколько лет в своем проекте работает набор определений как у вас и плюс 2а про которые написал. Есть ли смысл усложнять с доп. ini ?

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




Пост N: 2812
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 06.09.19 11:27. Заголовок: PS FUNCTION edi_Run..


PS

 цитата:
 
FUNCTION edi_RunPlugin( oEdit, xPlugin )

LOCAL i, cPlugin, cFullPath

IF Valtype( xPlugin ) == "N"
i := xPlugin
ELSEIF Valtype( xPlugin ) == "C"
i := Ascan( TEdit():aPlugins, {|a|a[1]==xPlugin} )
ENDIF
IF i > 0
IF Empty( TEdit():aPlugins[i,4] )
cPlugin := TEdit():aPlugins[i,1]
IF !Empty( cFullPath := edi_FindPath( "plugins" + hb_ps() + cPlugin ) )
TEdit():aPlugins[i,4] := hb_hrbLoad( cFullPath )
TEdit():aPlugins[i,5] := cFullPath
ENDIF
ENDIF
IF !Empty( TEdit():aPlugins[i,4] )
hb_hrbDo( TEdit():aPlugins[i,4], oEdit, hb_fnameDir( TEdit():aPlugins[i,5] ) )
ENDIF

ENDIF

RETURN Nil


Может достаточно изменить выделенное цветом, остальное не трогать, т.к. в ini список плагинов будет и нужно перед выполнением проверть наличие ф-ии и выполнить, если есть. И работа с номером плагина в др. местах останется

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


Пост N: 1372
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 06.09.19 13:08. Заголовок: Недостаточно. В масс..


Недостаточно. В массив TEdit():aPlugins добавляются не все плагины, перечисленные в ini, а только те, для которых найдены соответствующие hrb - иначе в меню по F11 могут попасть несуществующие плагины.

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




Пост N: 2813
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 06.09.19 13:30. Заголовок: alkresin пишет Недос..


alkresin пишет
 цитата:
Недостаточно. В массив TEdit():aPlugins добавляются не все плагины...


Понял.
Тогда можно перенести edi_RunPlugins() к edi_Alert() в falert.prg.
В реальной работе нет F11 (меню плагинов, будет блокирована или исп. для другого), т.к. используется только 1 плагин (мах будет 3) и все на клавишах.
Каталог Plugins с фиктивными hrb можно оставить.

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


Пост N: 1373
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 06.09.19 14:49. Заголовок: Что-то запутали вы м..


Что-то запутали вы меня). Проблема для вас была в наличии каталога plugins, который "как бы, лишний, а иногда мешающий" - из-за этого вы хотели перенести плагин в основной текст. А теперь пишете, что для обеспечения работы схемы "каталог Plugins с фиктивными hrb можно оставить"...
Впрочем, если перенос edi_RunPlugins() в falert.prg вас выручит, я не сильно против.

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




Пост N: 2814
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 06.09.19 20:10. Заголовок: alkresin пишет Что-т..


alkresin пишет
 цитата:
Что-то запутали вы меня)


Совершенно не хотел этого делать. Если плагины уходят в текст hbedit, то каталог plugins, как бы лишний, но если отсутствие каталога мешает нормальной работе hbedit в др. кусках кода, то пусть каталог остается для меню, индекса и т.д., а hrb плагинов пусть лежат. Если текст плагина включен в код hbedit выполнится он, нет - выполнится плагин, если назначен в ini. У себя в работе с prg, надолго, нужен только 1 плагин, возможно, в дальнейшем еще +2а и все. С последней сборки (вашими рекомендациями) на Alt+F4 в Far повесил hbedit и практически перестал использовать Notepad3 на Enter и F4 (фаровский edit). Работа вся на клавишах, никакое меню (кроме уст. кодовой страницы) не вызывал не разу. При смене версии правится только hbedit.prg и очень немного. Как бы все устаканивается с исп. LV866 и др. кодовых страниц. Спасибо.

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




Пост N: 2825
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 08.09.19 09:10. Заголовок: alkresin Можно вызо..


alkresin
Можно вызов меню выбора кодовых страниц, сделать на клавиши и комбинацию их задавать в ini ?

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




Пост N: 2827
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 09.09.19 11:37. Заголовок: alkresin В параметр..


alkresin
В параметры командной строки можно добавить кодовую страницу для файла (из списка ini указанные)

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




Пост N: 2828
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 09.09.19 18:07. Заголовок: alkresin Добавил в ..


alkresin
Добавил в параметры командной строки (своя сборка)
-cp=<кодовая страница>
-his=<режим savehis = 0>
Это понадобилось при подключении hbedit в проектах вместо Akelpad, дополнительно к Far Alt+F4 режиму.
Возможно, похожее надо в вашей сборке hbedit.exe ?
К примеру, когда prg файлы в кодировках RU866, RU1251, Utf8

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




Пост N: 2829
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 09.09.19 18:11. Заголовок: PS Far Alt+F4 режим ..


PS
Far Alt+F4 режим работает с savehis=1 и cp=RU1251, а запуски из проекта savehis=0 и cp=LV866, при этом prg Utf8 с bom отлично понимаются.

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




Пост N: 2830
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 09.09.19 20:40. Заголовок: alkresin Можно ли у..


alkresin
Можно ли уст. palette из параметра командной строки ?
Например в ini
palette=solarized light
из командной строки поставить far или notepad

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


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


SergKis пишет:

 цитата:
отсутствие каталога мешает нормальной работе hbedit в др. кусках кода


Отсутствие каталога plugins/ мешает только работе плагинов. В обсуждаемом случае это вызов плагина по горячей клавише.

 цитата:
Можно вызов меню выбора кодовых страниц, сделать на клавиши и комбинацию их задавать в ini ?


Так ведь Shift-F8 для этого предназначен - в help'е и на сайте про это написано. Ну а комбинацию эту можно переназначить в ini, если надо.

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




Пост N: 2831
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 10.09.19 09:30. Заголовок: alkresin пишет Так в..


alkresin пишет
 цитата:
Так ведь Shift-F8 для этого предназначен - в help'е и на сайте про это написано


Пропустил, не увидел. Все работает.
Спасибо.
 цитата:
Отсутствие каталога plugins/ мешает только работе плагинов


Понятно

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


Пост N: 1375
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 10.09.19 09:33. Заголовок: По поводу добавления..


По поводу добавления новых параметров командной строки:
сделать-то можно, но, по моему, более универсальным решением было бы просто указать в командной строке другой ini - так можно задать любую комбинацию нужных параметров.

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




Пост N: 2832
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 10.09.19 09:45. Заголовок: alkresin пишет По по..


alkresin пишет
 цитата:
По поводу добавления новых параметров командной строки:
сделать-то можно, но, по моему, более универсальным решением было бы просто указать в командной строке другой ini - так можно задать любую комбинацию нужных параметров.


В проектах свои ini и в них все есть. Размножать доп. ini не очень хочется.
Попробовал 2а каталога с hbedit и запуски в Far с одного, в проектах с другого. Уже не очень удобно, т.к. чувствую где то понадобится savehis=2.
Смотрел на замену Palete, вроде, на уровне TEdit сложновато получается. Если не делать в вашей сборке (может кроме меня никому не нужно), то перекиньте FUNCTION edi_IniRead( cFileName ) в файл falert.prg. Буду делать подмену на этом уровне (разбор строк в секциях)

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


Пост N: 1376
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 10.09.19 13:00. Заголовок: Хорошо, добавлю. Смо..


Хорошо, добавлю.

 цитата:
Смотрел на замену Palete, вроде, на уровне TEdit сложновато получается. Если не делать в вашей сборке (может кроме меня никому не нужно), то перекиньте FUNCTION edi_IniRead( cFileName ) в файл falert.prg.


Я пока не вижу проблемы с объявлением в комадной строке palette (вы ведь об этом?). А вот edi_IniRead() нельзя - она пользуется статическими переменными.

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




Пост N: 2836
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 10.09.19 14:04. Заголовок: alkresin пишет edi_..


alkresin пишет
 цитата:
edi_IniRead() нельзя - она пользуется статическими переменными.


Нельзя edi_ReadIni( xIni ) из fedit.prg, edi_iniRead() из ffiles.prg там нет статик переменных

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




Пост N: 2837
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 10.09.19 14:28. Заголовок: PS Для Palette парам..


PS
Для Palette параметра начал набирать (не доделал пока) так, сам параметр -clr=0\1\2\3\4
по именам секций [PALETTE_0], ..., [PALETTE_4], что бы не привязываться к длинным именам
Значение palette=far секции [OPTIONS] брать из name=... [PALETTE_?]

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


Пост N: 1377
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 10.09.19 15:21. Заголовок: Зачем так сложно-то?..


Зачем так сложно-то?
Добавил я три параметра (залил на github):
-cp=
-his=
-pal=

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




Пост N: 2838
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 10.09.19 16:09. Заголовок: alkresin пишет Зачем..


alkresin пишет
 цитата:
Зачем так сложно-то?


По мне, наоборот, просто. Не надо помнить длинные названия.
Тут текст мой (сделал как у вас -pal=<только тут число>) Скрытый текст


 цитата:
Добавил я три параметра (залил на github):


Спасибо, буду использовать.

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




Пост N: 2845
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 11.09.19 08:33. Заголовок: alkresin Нарушилась..


alkresin
Нарушилась прорисовка разделения окна по Ctrl-w,s, Ctrl-w,v (вся клиентская область в работе edit)
Добавка из пред. версии в METHOD WriteTopPane( lClear ) Скрытый текст

восстановила прорисовку только горизонтальное разделения
при вертикальном, прорисовка делается и убирается, видно мелькание

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


Пост N: 1378
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 11.09.19 09:54. Заголовок: Там просто вертикаль..


Там просто вертикальный разделитель не прорисовывался . Поправил.

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




Пост N: 2848
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 11.09.19 10:54. Заголовок: alkresin пишет Там п..


alkresin пишет
 цитата:
Там просто вертикальный разделитель не прорисовывался . Поправил.


Вертикальный разделитель прорисовался, а горизонтальный нет, пропал
Моих правок нет. :New такой и StbLine() - пустышка пока
 
TEdit():bNew := {|oe| iif( oe:y1 == oe:aRectFull[1]+1, ( oe:lTopPane := .F., oe:y1-- ), ), ;
oe:bWriteTopPane := {|o,l,y| StbLine(o,l,y) } }


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




Пост N: 2849
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 11.09.19 12:12. Заголовок: PS добавил, вроде, с..


PS
добавил, вроде, стало прорисовывать как надо
 
SetColor( ::cColorPane )
IF ::lTopPane
Scroll( y, ::x1, y, ::x2 )
ENDIF

IF ::oParent != Nil .AND. ::x1 == ::oParent:x2 + 2
Scroll( ::y1, ::x1-1, ::y2, ::x1-1 )
ENDIF

IF ::bWriteTopPane != Nil


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


Пост N: 1379
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 11.09.19 12:32. Заголовок: SergKis пишет: TEdi..


SergKis пишет:

 цитата:
TEdit():bNew := {|oe| iif( oe:y1 == oe:aRectFull[1]+1, ( oe:lTopPane := .F., oe:y1-- ), ), ;
oe:bWriteTopPane := {|o,l,y| StbLine(o,l,y) } }


Вы берете прорисовку панели статуса на себя, но функция соответствующая у вас пустая...
Вставьте в нее хотя бы
IF ::lTopPane  
Scroll( y, ::x1, y, ::x2 )
ENDIF


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




Пост N: 2850
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 11.09.19 12:57. Заголовок: alkresin пишет Вы бе..


alkresin пишет
 цитата:
Вы берете прорисовку панели статуса на себя, но функция соответствующая у вас пустая...


В функции будет вывод в windows StatusBar по item-ам, а прорисовка разделителей экрана (полос) - как бы свойство TEdit.
Что выводить в StatusBar и сколько item-ов не определился пока, т.к. нет загрузок нескольких файлов (всегда 1) для работы и переключения между окнами по Ctrl+TAB (исп. только при разделении окна на части для работы в др. местах загруженного текста). Сейчас пробую вывод полного имени и cdp в Title окна - вроде неплохо
Строки
 
IF ::lTopPane
Scroll( y, ::x1, y, ::x2 )

повторяться будут и в блоке кода и без блока, потому вынес эти строки к вашим

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




Пост N: 2851
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.09.19 09:43. Заголовок: alkresin При savehi..


alkresin
При savehis=1 и первый экран отображения (ничего не делали) отображение row, col не совпадает с позицией курсора (правильно стоит). Стоит сделать перемещение и все ok

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




Пост N: 2852
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.09.19 10:41. Заголовок: PS Возможно, будет и..


PS
Возможно, будет интересно, сборка hbedit с cdp LV866 и StatusBar https://TransFiles.ru/87bmx
LV866 и RU866 практически одинаковые, лат. буквы в псевдографике

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




Пост N: 2853
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.09.19 14:15. Заголовок: alkresin Можно ли, ..


alkresin
Можно ли, например, строке keywords4 присвоить цвет подсветки quotes (подсветка текста в кавычках) ?

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


Пост N: 1380
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 12.09.19 14:55. Заголовок: SergKis пишет: При ..


SergKis пишет:

 цитата:
При savehis=1 и первый экран отображения (ничего не делали) отображение row, col не совпадает с позицией курсора (правильно стоит).


Отображение координат в панели статуса? У меня вроде все правильно.

 цитата:
Можно ли, например, строке keywords4 присвоить цвет подсветки quotes (подсветка текста в кавычках) ?


А почему нельзя? Любой цвет присваивайте. Или я что-то недопонял?

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




Пост N: 2854
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.09.19 15:10. Заголовок: alkresin пишет Любой..


alkresin пишет
 цитата:
Любой цвет присваивайте. Или я что-то недопонял?


Скорее я не очень понимаю, как присвоить цвет строке keywords4=...
Цвет keywords1 отличается от keywords2\3, но как поменять, что то не найду, т.е. ключевым словам в keywords4 назначить цвет другой, чем keywords2\3, к примеру как quotes.

 цитата:
У меня вроде все правильно


В вашей сборке идет сообщение из плагина и нажав что то, все становится ok.
В моей сборке видно, значения row,col при первом входе одни, при нажатии перемещения - другие.

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




Пост N: 2855
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.09.19 15:52. Заголовок: PS при организации п..


PS
при организации подокон (Ctrlw-w,s \ Ctrlw-w,v ) происходит то же самое при Ctrl-TAB (переключение по окнам)

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




Пост N: 2856
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.09.19 16:43. Заголовок: SergKis пишет Скорее..


SergKis пишет
 цитата:
Скорее я не очень понимаю, как присвоить цвет строке keywords4=...


Обыскался в исходниках, а оказалось совсем просто в ini [PALETTE_?] секции

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




Пост N: 6436
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 12.09.19 18:30. Заголовок: А в редактор можно д..


А в редактор можно добавить кнопки для сборки проекта ?
Чтобы править и собирать и запускать проект без Far'a ?

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




Пост N: 2857
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.09.19 18:31. Заголовок: alkresin Можно доба..


alkresin
Можно добавить keywords5 с цветом startline ?
Просится некоторые слова выделить поярче.
Попробовал добавить
LOCAL aHiliOpt := { "keywords1","keywords2","keywords3","keywords4","keywords5","quotes","scomm","startline","mcomm","block" }
В ini секции
[PALETTE_?] добавил keywords5=B+/GR (значения из startline=B+/GR)
[LANG_PRG] добавил keywords5=modal child main activate center mdi
но что то не срослось, что не понимаю ?
Или так нельзя ?

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




Пост N: 2858
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.09.19 18:38. Заголовок: Andrey пишет А в ред..


Andrey пишет
 цитата:
А в редактор можно добавить кнопки для сборки проекта ?
Чтобы править и собирать и запускать проект без Far'a ?


Раньше было окошечко для запуск bat\cmd файла, что то сейчас его не вижу ?

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




Пост N: 2859
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.09.19 18:44. Заголовок: Andrey пишет Чтобы п..


Andrey пишет
 цитата:
Чтобы править и собирать и запускать проект без Far'a ?


Прочитай http://www.kresin.ru/hbedit.html#Plug
есть plug_hbp_init.prg - init плагин для hbp-файлов (hbmk2), обеспечивающий навигацию по файлам проекта и сборку проекта. Т.е. загружаешь hbp файл и можешь загружать\работать собирать Alt+R

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




Пост N: 6437
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 12.09.19 22:20. Заголовок: Запустил HBEDIT.EXE,..


Запустил HBEDIT.EXE, нажал F1, вижу такое:


SergKis пишет:

 цитата:
Прочитай http://www.kresin.ru/hbedit.html#Plug
есть plug_hbp_init.prg - init плагин для hbp-файлов (hbmk2), обеспечивающий навигацию по файлам проекта и сборку проекта. Т.е. загружаешь hbp файл и можешь загружать\работать собирать Alt+R


Понял. Буду смотреть.

А для старых терминальных проектов в DOC кодировке (866) сборку можно будет настроить для хХарбора ?
И чтобы псевдографика использовалась.
Там проект собирается через родную сборку проекта:
z:\xHarbour\bin\hbmake MyPrj4.bc
Сам проект правиться до сих пор в ME 7.01. Терминал хХарбора GTWVT 1.2
А ME 7.01 дружит только с 32бит виндой + раздел винта маленький должен быть, иначе он не запускается.

Пытаюсь прекратить поддержку терминалки - юзера не дают !
Видать до самой пенсии придётся сопровождать.

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




Пост N: 2864
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.09.19 22:49. Заголовок: Andrey пишет А для с..


Andrey пишет
 цитата:
А для старых терминальных проектов в DOC кодировке (866) сборку можно будет настроить для хХарбора ?


У тебя внизу справа кодировка RU1251, переключи Shift+F8 или F9-Menu
В ini по умолчанию стоит
[SCREEN]
cp=RU1251
можешь поставить
cp=RU866
почитай сайт с описанием и посмотри ini

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




Пост N: 2865
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.09.19 23:10. Заголовок: PS Help не использов..


PS
Help не использовал, переименовал hbedit.help -> hbedit_ru.help
hbedit_en.help -> hbedit.help

скачай с сайта родной hbedit (данные ini из моего можно перенести в родной)

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




Пост N: 2866
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.09.19 23:21. Заголовок: PPS разобрался. Для ..


PPS
разобрался.
Для просмотра help ставится кодировка по умолчанию, она в моем ini cp=RU1251
Если гружу prg, кодировка RU1251, меняю кодировку на RU866, на prg установилась и показывает
Нажимаю F1, окно help на экране, видно, что это 2ое окно и кодировка RU1251
Потому и кракозяблики при русском hbedit.help
Лучше было бы hbedit.help иметь в Utf8 c bom.

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


Пост N: 1381
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 13.09.19 14:15. Заголовок: SergKis пишет: В ва..


SergKis пишет:

 цитата:
В вашей сборке идет сообщение из плагина и нажав что то, все становится ok.
В моей сборке видно, значения row,col при первом входе одни, при нажатии перемещения - другие.


Проверял без плагина (просто переместил его временно из plugins/) - все нормально.

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


Пост N: 1382
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 13.09.19 14:24. Заголовок: Andrey пишет: А в р..


Andrey пишет:

 цитата:
А в редактор можно добавить кнопки для сборки проекта ?
Чтобы править и собирать и запускать проект без Far'a ?


Как Сергей уже сказал, если открыть редактором соответствующий .hbp, его можно исполнить (построить проект) по Ctrl-L.
Если у вас не .hbp, а .bat, его можно запустить на выполнение из командного режима. Переключаетесь в командный режим, нажав два раза Ctrl-Q (при этом курсор должен перейти в нижнюю строчку - она очистится), введите ! и имя bat-файла и жмите Enter:
!bld.bat
Кстати, из командного режима можно с помощью ! исполнить любую консольную программу, результат будет выведен в отдельное подокно.

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


Пост N: 1383
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 13.09.19 14:25. Заголовок: SergKis пишет: Рань..


SergKis пишет:

 цитата:
Раньше было окошечко для запуск bat\cmd файла, что то сейчас его не вижу ?


Не помню такого окошечка. Внешние программы запускаются из командного режима, как в Vim).

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


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


SergKis пишет:

 цитата:
Можно добавить keywords5 с цветом startline ?


Надо менять hilight.prg, класс Hili - там определены 4 набора keywords.

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




Пост N: 6438
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 13.09.19 16:25. Заголовок: alkresin пишет: Есл..


alkresin пишет:

 цитата:
Если у вас не .hbp, а .bat, его можно запустить на выполнение из командного режима. Переключаетесь в командный режим, нажав два раза Ctrl-Q (при этом курсор должен перейти в нижнюю строчку - она очистится), введите ! и имя bat-файла и жмите Enter:



Andrey пишет:

 цитата:
Там проект собирается через родную сборку проекта:
z:\xHarbour\bin\hbmake MyPrj4.bc



Файлы проекта в хХарборе имеют расширение .bc
Насчёт батника понял. Спасибо !

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




Пост N: 2867
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 13.09.19 17:03. Заголовок: alkresin пишет: Пере..


alkresin пишет:

 цитата:
Переключаетесь в командный режим, нажав два раза Ctrl-Q


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

 цитата:
Не помню такого окошечка. Внешние программы запускаются из командного режима, как в Vim).

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

 цитата:
Надо менять hilight.prg, класс Hili - там определены 4 набора keywords.


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

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




Пост N: 2868
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 13.09.19 17:54. Заголовок: alkresin пишет Прове..


alkresin пишет
 цитата:
Проверял без плагина (просто переместил его временно из plugins/) - все нормально.


У меня убран из ini (убирал hrb), результат одинаков.
Вот сборка моя https://TransFiles.ru/50low
на ней видно разные значения row, col после загруженного (через параметры командной строки) файла и при организации под окон Ctrl-w,s\v
Подскажите, как правильно исправить ситуацию ?

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




Пост N: 2869
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 14.09.19 10:15. Заголовок: alkresin Еще просьб..


alkresin
Еще просьба
- сделать список his по F4 с поиском, а не с ключом слева
- добавить в edi_SeleFile() маску для файлов, тогда без доп. окна можно организовать запуск bat\cmd файлов не только
компиляции (hbp у меня нет, кроме hmg, есть местами), но и др. вариантов, например, запуск notepad3 в режиме сбора
инф. буфера клавиатуры
- вынести меню с текстами и тексты с запросов окон в hbedit.prg для языковых вариантов, сейчас для своей сборки меняется только hbedit.prg, хотелось бы сохранить эту традицию

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




Пост N: 2870
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 14.09.19 10:23. Заголовок: PSдобавить в edi_Sel..


PS
 цитата:
добавить в edi_SeleFile() маску для файлов


Просмотрел, параметр маски есть в функции. Снимается вопрос.

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




Пост N: 2871
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 14.09.19 11:06. Заголовок: PS Можно сделать при..


PS
Можно сделать при выделении текста F3 и блоковом по Ctrl+F3 при повторном нажатии (конец выделения) не выбрасывать меню с предложением выбрать буфер клавиатуры (к примеру, по переменной в TEdit .T.\.F.) ?
Режим удобен при работе одной рукой

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




Пост N: 2872
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 14.09.19 11:12. Заголовок: PPS даже если ставлю..


PPS
даже если ставлю
#define MAX_CBOARDS 1
#define MAX_EDIT_CBOARDS 1
#define CBOARD_MINUS 1
меню с одной строкой вываливается

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




Пост N: 2873
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 14.09.19 11:44. Заголовок: alkresin SergKis пи..


alkresin
SergKis пишет
 цитата:
на ней видно разные значения row, col после загруженного (через параметры командной строки) файла и при организации под окон Ctrl-w,s\v
Подскажите, как правильно исправить ситуацию ?


Исправил так
 
TEdit():bNew := {|oe| iif( oe:y1 == oe:aRectFull[1]+1, ( oe:lTopPane := .F., oe:y1-- ), ), ;
oe:bOnKey := {|o,n| EdOnKey(o, n) }, ;
oe:bWriteTopPane := {|o,l,y| StbLine(o,l,y,cExe) }, ;
__KeyBoard( chr(K_RIGHT)+chr(K_LEFT) )
}

Может не очень красиво, но работает.

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




Пост N: 2874
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 14.09.19 13:36. Заголовок: alkresin При создан..


alkresin
При создании под окна Ctrl-w,s и Ctrl-w,o (полное окно) меняется поведение клавиши Esc и не переключаются окна по Ctrl-w,w.
Так должно быть ?

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




Пост N: 2875
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 14.09.19 14:56. Заголовок: alkresin Как вызват..


alkresin
Как вызвать из подключаемого блока кода плагин, вызываемый по Alt-L (Function list) ?
TEdit():bNew := ... постом выше. Исходный текст обработки тут Скрытый текст

Цветом выделена попытка вернуть Alt+L в обработчик, не срабатывает
попытка через __Keyboard(chr(K_ALT_L)) и возврат -1 в обработчик, не срабатывает
Как правильно надо ?

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




Пост N: 6439
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 14.09.19 17:56. Заголовок: SergKis пишет: Раск..


SergKis пишет:

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


Я посмотрел раскраску под МиниГуи. Что то блеклая она какая то ... А поярче нельзя ?

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




Пост N: 2876
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 14.09.19 17:59. Заголовок: alkresin При работе..


alkresin
При работе с xml, html файлами, возможно, надо читать кодировку и при Utf-8 включать автоматом utf8 в hbedit

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




Пост N: 6440
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 14.09.19 18:20. Заголовок: https://i.imgur.com/..




Можно сделать переход на редактирование сразу в меню ?

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




Пост N: 2877
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 14.09.19 18:22. Заголовок: Andrey пишет Я посмо..


Andrey пишет
 цитата:
Я посмотрел раскраску под МиниГуи. Что то блеклая она какая то ... А поярче нельзя ?


В ini Александр уже подготовил несколько вариантов раскраски секции [PALETTE_0],[PALETTE_1],[PALETTE_2],[PALETTE_3],[PALETTE_4]. Я взял готовый [PALETTE_4] (для моих глаз хорошо), про добавку еще цвета, который поярче и есть, я просил выше. В hbedit можно создать палитру цветов свою и применить к keywords1-4 самостоятельно и довольно не трудно.

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




Пост N: 6441
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 14.09.19 18:25. Заголовок: Ещё по умолчанию хот..


Ещё по умолчанию хотелось бы иметь выход из редактора по Alt+X и Alt+Q (с сохранением всех файлов) как в ME7.

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




Пост N: 2878
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 14.09.19 18:25. Заголовок: Andrey пишет Можно с..


Andrey пишет
 цитата:
Можно сделать переход на редактирование сразу в меню ?


Стремлюсь к мах возможному переносу в меню windows режимов hbedit. То что кидал теме и выкладывал тут выше - состояние на сегодня

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




Пост N: 6442
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 14.09.19 18:52. Заголовок: В ME7 очень удобное ..


В ME7 очень удобное меню по правому Ctrl+Enter
В нём можно сделать свои настройки по компиляции и запуску проекта.
Всё сразу сохраняется в настройках и при переносе ничего заново настраивать не надо.
Вот такое меню по по правому Ctrl+Enter:

Можно ли сделать такое же меню запуска ?

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




Пост N: 2879
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 14.09.19 23:00. Заголовок: alkresin Можно сдел..


alkresin
Можно сделать, чтобы edi_SeleFile() понимала массив на входе ?
К примеру
 
FUNCTION edi_SeleFile( oEdit, cPath, y1, x1, y2, x2 )

LOCAL aMenu := iif( HB_ISARRAY( cPath ), AClone( cPath ), edi_Directory( cPath ) ), i, nPos, arr

для формирования массива из нескольких масок ф-ей edi_Directory( cPath ) в цикле

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




Пост N: 2880
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 15.09.19 08:42. Заголовок: alkresin SergKis пи..


alkresin
SergKis пишет
 цитата:
Исправил так
TEdit():bNew := {|oe| iif( oe:y1 == oe:aRectFull[1]+1, ( oe:lTopPane := .F., oe:y1-- ), ), ;
oe:bOnKey := {|o,n| EdOnKey(o, n) }, ;
oe:bWriteTopPane := {|o,l,y| StbLine(o,l,y,cExe) }, ;
__KeyBoard( chr(K_RIGHT)+chr(K_LEFT) ) }

Может не очень красиво, но работает.


Оказалось не везде работает. Обработка сообщений меню Скрытый текст

Как это побороть ?

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




Пост N: 2881
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 15.09.19 11:09. Заголовок: PS Показ неверных ко..


PS
Показ неверных координат по колонке ошибка.
Row = 184, Col = 4 . Создаем под окно Ctrl-w,s, значение Row = 184, Col = 4 в под окне. Переходим в позицию
Row = 192, Col = 7
Переключение по Ctrl-w,w пошаговое
- жмем Ctrl-w => Row = 192, Col = 7 добавляем w, Row = 184, Col = 8 жмем -> Row = 184, Col = 5 жмем <- Row = 184, Col = 4
- жмем Ctrl-w => Row = 184, Col = 4 (правильно) добавляем w, Row = 192, Col = 29 (должна быть Col = 7)
- жмем Ctrl-w => Row = 192, Col = 7 (правильно) добавляем w, Row = 184, Col = 8 (должна быть Col = 4)
- жмем Ctrl-w => Row = 184, Col = 4 (правильно) добавляем w, Row = 192, Col = 29 (должна быть Col = 7)
и т.д.
При нажатии Ctrl-Tab получаем сразу конечные значения
Row = 192, Col = 29 (должна быть Col = 7) и
Row = 184, Col = 8 (должна быть Col = 4)

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




Пост N: 2882
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 15.09.19 12:09. Заголовок: SergKis пишет Как эт..


SergKis пишет
 цитата:
Как это побороть ?


Ларчик просто открывался
Поменялись способы добычи Row, Col в :WriteTopPane() (еле высмотрел)
Перенес в свою процедуру. Убрал добавки с __keyBoard() тоже, все заработало
Блин столько времени ...
УРА!


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


Пост N: 1393
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 20.09.19 12:33. Заголовок: SergKis пишет: Може..


SergKis пишет:

 цитата:
Может, :OnKey, сможет определить возврат (команды) из :bOnKey и выполнить плагины и др. не исполняемые сейчас команды ?


:onKey() отрабатывает после того, как будет разобран hKeyMap и переопределенные клавиши преобразуются в предопределенные. :onKey() получает предопределенные в программе клавиши - такова логика программы. Alt-L и прочие определены в ini-файле, :onKey() о них ничего не знает.

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


Пост N: 1394
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 20.09.19 12:41. Заголовок: Andrey пишет: Можно..


Andrey пишет:

 цитата:
Можно сделать переход на редактирование сразу в меню ?


Не понял, что означает "переход на редактирование" ? "Попасть в редактирование этой настройки" - тоже не понял, что имеется ввиду.

 цитата:
Ещё по умолчанию хотелось бы иметь выход из редактора по Alt+X и Alt+Q (с сохранением всех файлов) как в ME7.


Вы можете переопределить клавиши в ini-файле:
Alt-X=>F10

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


Пост N: 1395
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 20.09.19 12:46. Заголовок: Andrey пишет: В ME7..


Andrey пишет:

 цитата:
В ME7 очень удобное меню по правому Ctrl+Enter
В нём можно сделать свои настройки по компиляции и запуску проекта.
...


В hbedit для таких вещей есть плагины. Напишите свой плагин, который реализует такое меню (помогу, если надо) и пропишите его в ini-файле с нужной горячей клавишей.

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


Пост N: 1396
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 20.09.19 12:56. Заголовок: SergKis пишет: Можн..


SergKis пишет:

 цитата:
Можно сделать, чтобы edi_SeleFile() понимала массив на входе ?


Я так понимаю, что нужен массив масок, а не путей?

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


Пост N: 1397
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 20.09.19 12:57. Заголовок: SergKis пишет: При ..


SergKis пишет:

 цитата:
При выделенном блоке Shift+стрелки, Ctrl+C и вставка в Far этого блока, происходит искажение данных,


А что искажается? Я из вашего примера ничего не увидел.

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


Пост N: 1398
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 20.09.19 12:59. Заголовок: SergKis пишет: На о..


SergKis пишет:

 цитата:
На окне "Open file" может есть клавиши, для вызова списка файлов ?
Как то удобно хвататься за мышь


Ctrl+стрелка вниз.

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




Пост N: 2899
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 20.09.19 13:56. Заголовок: alkresin пишет Я так..


alkresin пишет
 цитата:
Я так понимаю, что нужен массив масок, а не путей?


Со списком масок не надо, т.к. кроме строк от масок, можно подсунуть ключевые слова и после меню их отрабатывать. Скорее, общий вариант вызова меню на массив с поиском, какой это будет массив, от путей полученный или др. способом, это не важно. Надо что бы он формировался по координатам от max длины строк и кол-ва строк массива, не выходя за пределы MaxRow(), MaxCol(). К примеру у меня будет (если дойдет до этого по планам) hbedit.cfg формата ini utf8 кодировки, с языковыми секциями и секциями, которые хочет Андрей на Ctrl+Enter, т.е. Название пункта меню и что выполнить (bat,cmd,...) и как выполнить типа RunWait или Run

 цитата:
В hbedit для таких вещей есть плагины. Напишите свой плагин, который реализует такое меню (помогу, если надо) и пропишите его в ini-файле с нужной горячей клавишей.


По мне, плагин тут не нужен, нужно просто меню выше описанное, команда меню и гор. клавиша.

 цитата:
Ctrl+стрелка вниз.


Понял, а то жму все время стрелку вверх (типа получить пред. значение) или F4.
По стрелке вниз идет переключение фокуса (это еще надо увидеть - не очень наглядно) на [^] и надо еще жать SPACE для получения списка, по мне лишнее тело движение. В задачах делаю Enter на пустом поле или F5 -> сразу список.

 цитата:
А что искажается? Я из вашего примера ничего не увидел


Искажалась подсветка Row, Col при первом входе и переключении окон Crtl-Tab. После любого перемещения подсветка становилась правильной. Сейчас это исправлено, новыми вариантами из WriteTopPane (у меня был вариант из первых версий)

 цитата:
Вы можете переопределить клавиши в ini-файле:
Alt-X=>F10


Имеется ввиду алгоритм выхода из всех загруженных окон сразу

 цитата:
:onKey() отрабатывает после того, как будет разобран hKeyMap и переопределенные клавиши преобразуются в предопределенные. :onKey() получает предопределенные в программе клавиши - такова логика программы. Alt-L и прочие определены в ini-файле, :onKey() о них ничего не знает.


Может можно перестроить, сначала исполнить :bOnKey и потом возврат и исполнение того о чем написали.

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


Пост N: 1400
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 20.09.19 14:04. Заголовок: Обновлен hbedit. Доб..


Обновлен hbedit.
Добавлена опция keywords5 и еще разные исправления и улучшения, сделанные за прошедшее время.

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


Пост N: 1401
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 20.09.19 14:17. Заголовок: SergKis пишет: Имее..


SergKis пишет:

 цитата:
Имеется ввиду алгоритм выхода из всех загруженных окон сразу


В vim-режиме для этого есть команды ZZ (выход из всех окон с сохранением) и ZQ (без сохранения).
Можно добавить в keymap в ini, например:
Alt-F10=>Ctrl-Q|Z|Z
Ну и разрешить активацию vim-режима, конечно.

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




Пост N: 2902
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 20.09.19 16:10. Заголовок: alkresin пишет Добав..


alkresin пишет
 цитата:
Добавлена опция keywords5


Спасибо, работает

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




Пост N: 2903
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 20.09.19 17:02. Заголовок: alkresin Поправьте ..


alkresin
Поправьте у себя
 
METHOD WriteTopPane( lClear ) CLASS TEdit

LOCAL y := ::y1 - 1, nCol := Col(), nRow := Row(), nF9 := 0
LOCAL cLen := Ltrim(Str(Len(::aText))), nchars := Len(cLen)

SetColor( ::cColorPane )
IF ::lTopPane
Scroll( y, ::x1, y, ::x2 )
ENDIF

IF ::oParent != Nil .AND. ::x1 == ::oParent:x2 + 2
Scroll( ::y1, ::x1-1, ::y2, ::x1-1 )
ENDIF

IF ::bWriteTopPane != Nil
Eval( ::bWriteTopPane, Self, lClear, y )
ELSE
IF ::lTopPane
DispBegin()
// Scroll( y, ::x1, y, ::x2 )

IF Empty( lClear )


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




Пост N: 2904
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 20.09.19 22:26. Заголовок: PS или так IF ::b..


PS
или так
 
IF ::bWriteTopPane != Nil
IF ::lTopPane
Scroll( y, ::x1, y, ::x2 )
ENDIF

Eval( ::bWriteTopPane, Self, lClear, y )
ELSE


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




Пост N: 2905
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 21.09.19 00:36. Заголовок: alkresin SergKis пи..


alkresin
SergKis пишет:
 цитата:
При выделенном блоке Shift+стрелки, Ctrl+C и вставка в Far этого блока, происходит искажение данных,


alkresin пишет
 цитата:
А что искажается? Я из вашего примера ничего не увидел.


  
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 ) //

должно быть
LOCAL cProvPr := gProp( ProvPr ) // kod provodki na pribilj LV
LOCAL cProvPrE := gProp( ProvPrE ) // kod provodki na pribilj ES
LOCAL cProvPrO := gProp( ProvPrO ) // kod provodki na pribilj OT
LOCAL cProvPvn := gProp( ProvPvn ) // kod provodki Pvn

синим цветом искажение, строки вставки справа за // разорвали последовательность 4х строк, образовав новые строки

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




Пост N: 2906
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 21.09.19 00:42. Заголовок: PS Akelpad, Notepad3..


PS
Akelpad, Notepad3 делают операцию правильно + в Far блок выделенный, как выше, из них переносится тоже правильно, т.е. получаем строки как "должно быть" без искажений

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




Пост N: 2907
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 21.09.19 00:53. Заголовок: PPS Far между собой,..


PPS
Far между собой, по F4 делает правильно, в hbedit, akelpad, notepad3 переносит искажая
hbedit искажает и между собой, 2а запуска hbedit, и в akelpad, notepad3, far переносит искажая

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


Пост N: 1402
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 12.12.19 09:54. Заголовок: Обновлен hbedit. Нес..


Обновлен hbedit.
Несколько мелких правок.
Добавлено два плагина, игра Сокобан (передвигаем ящики по лабиринту в конечные позиции) и игра StarTrek (помнится, лет 35 назад мы резались в нее еще на СМ-4).

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




Пост N: 3006
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 04.01.20 15:28. Заголовок: SergKis пишет F..


SergKis пишет
 цитата:
 
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 ) //

должно быть
LOCAL cProvPr := gProp( ProvPr ) // kod provodki na pribilj LV
LOCAL cProvPrE := gProp( ProvPrE ) // kod provodki na pribilj ES
LOCAL cProvPrO := gProp( ProvPrO ) // kod provodki na pribilj OT
LOCAL cProvPvn := gProp( ProvPvn ) // kod provodki Pvn



синим цветом искажение, строки вставки справа за // разорвали последовательность 4х строк, образовав новые строки

Такая правка в fedit.prg
FUNCTION cb2Text( oEdit, nReg, lToText, s, lVert )
...
IF Chr(13) $ s
s := Strtran( s, Chr(13), "" )
ENDIF

lVert := lVert .or. oEdit:nPos > 1

IF lVert
oEdit:Undo( oEdit:nLine, oEdit:nPos,,, UNDO_OP_START )
...
исправила ситуацию. Из Far так же правильно столбиком переносит.

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




Пост N: 3007
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 06.01.20 13:46. Заголовок: PS Правка небольшая ..


PS
Правка небольшая
lVert := lVert .or. ( oEdit:nPos > 1 .and. chr(10) $ s )

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


Пост N: 1409
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 10.02.20 16:44. Заголовок: Выделяю Far'ом в..


Выделяю Far'ом вертикальный блок, вставляю в Akelpad и в Notepad3 (взял тексты из вашего примера) - и вставляется как обычный блок, не как вертикальный. Или я что-то не так понял?

В предложенной вами правке есть та проблема, что любой многострочный блок будет вставляться как вертикальный, если он вставляется не с первой позиции, что в общем случае неправильно. Возможно, стоит еще посчитать количество символов в каждой строке блока - если оно одинаково, то считать блок вертикальным.

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




Пост N: 3048
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 10.02.20 19:08. Заголовок: alkresin пишет Выдел..


alkresin пишет
 цитата:
Выделяю Far'ом вертикальный блок, вставляю в Akelpad и в Notepad3


То же происходит и из hbedit в Akelpad и в Notepad3, а между Akelpad и Notepad3 и Notepad2
вставки вертикальных блоков происходят нормально, без эффекта как из Far.
Сделанные мной изменения, работаю с того времени и решили проблему, для меня на все 100%, т.е.
Если курсор в позиции > 1 - вставка вертикального блока от позиции курсора и ниже, даже если явзял
не вертикальный блок, а блок строк, главное, нет искажения, типа с середины строки пошла первая строка
вставки, а остальные прыгнули с первой позиции в след. строках, которые в большинсве случаев надо
исправлять.

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




Пост N: 3049
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 10.02.20 19:14. Заголовок: PS И такая вставка в..


PS
И такая вставка в hbedit, текст, который правим, правильно происходит и из Far, из Akelpad и Notepad3

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




Пост N: 3050
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 10.02.20 19:25. Заголовок: PPS Т.к. уже ~70% ра..


PPS
Т.к. уже ~70% работу делаю в hbedit, то перенос из hbedit в Akelpad, Notepad3 почти не актуален, обратный
перенос работает как мне надо. В проектах подключен вызов 2х редакторов Akelpad и hbedi.t + hbedit в Far
подключен на Alt+F4, на новой pc и на Enter. Родной Far редактор на F4 - привычка.
Словом спасибо за hbedit !

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




Пост N: 3055
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.02.20 07:49. Заголовок: alkresin Можно доба..


alkresin
Можно добавить\разделить в палитру цвет режима readonly, т.е. на примере
palette=solarized light
тот фон на котором работаем отнести к режиму readonly, другой, более светлый, сделать фоном работы редактора ?

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


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


SergKis пишет:

 цитата:
Можно добавить\разделить в палитру цвет режима readonly,


Т.е., добавить в ini опцию типа
palette_ro=solarized dark
?
Можно.

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




Пост N: 3058
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.02.20 15:19. Заголовок: alkresin пишет Т.е.,..


alkresin пишет
 цитата:
Т.е., добавить в ini опцию типа
palette_ro=solarized dark


Возможно так
 
[PALETTE_4]
name=solarized light
; ReadOnly как было
colors= #?????? #002B36, #073642, #586E75, #657B83, #839496, #93A1A1, #EEE8D5, #FDF6E3, #B58900, #CB4B16, #DC322F, #D33682, #6C71C4, #268BD2, #2AA198, #859900
...

т.е. опция как была name=solarized light, так и осталась, но при запуске hbedit.exe -ro ...
цвет фона берется для указанного под ?????, в режиме edit как было
или как вариант
colorROnly=RB/B
colormain=RB/B
...

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




Пост N: 3059
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.02.20 15:26. Заголовок: PS Т.е. делаем 17 pa..


PS
Т.е. делаем 17 palette цветов (берем всегда 16), только меняем цвет для фона при -ro из 1го элемента, иначе со 2го

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


Пост N: 1411
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 19.02.20 14:54. Заголовок: 17-й цвет добавить в..


17-й цвет добавить в палитру нельзя, не может быть в харборовской палитре больше 16 цветов, это ограничение gt-системы. Если мы определяем 17-й цвет - это значит, что мы добавляем новую палитру. По сути, это то, что я предлагал (palette_ro=solarized xxx ).
Можно вместо этого в определение палитры в ini добавить, например,
bgReadOnly=W
т.е., цвет фона для ro режима меняем на W, но этот W - один из 16 цветов текущей палитры.

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




Пост N: 3068
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.02.20 15:35. Заголовок: alkresin пишет 17-й ..


alkresin пишет
 цитата:
17-й цвет добавить в палитру нельзя, не может быть в харборовской палитре больше 16 цветов
... т.е., цвет фона для ro режима меняем на W, но этот W - один из 16 цветов текущей палитры.


Режим ReadOnly с цветом это повторный запуск hbedit и 17 цвет может быть, его как раз и использовать вместо фона режима Edit,
т.е. харбору мы скармливаем всегда 16 цветов палитры, подменяя цвет фона. Режим ReadOnly в подокнах hbedit не меняет цвет фона.
Т.е. работа как было. Смена цвета для ReadOnly только для др. запуска hbedit. Можно, конечно, дублировать полностью секции и
запускать экз. hbedit для ReadOnly с новой секцией, но очень плодятся секции в ini

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


Пост N: 1412
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 19.02.20 16:38. Заголовок: SergKis пишет: Режи..


SergKis пишет:

 цитата:
Режим ReadOnly с цветом это повторный запуск hbedit и 17 цвет может быть, его как раз и использовать вместо фона режима Edit,
... Режим ReadOnly в подокнах hbedit не меняет цвет фона.


Т.е., это все только для запуска с переключателем -ro? Вводить 17-й цвет в палитры, который будет использоваться только при определенном параметре командной строки?
Это как-то странно, на мой взгляд. Тогда уж логичнее при запуске с -ro и -f задать - с другим ini-файлом, в котором будет определена спец.палитра.

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




Пост N: 3069
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.02.20 17:09. Заголовок: alkresin пишет Тогда..


alkresin пишет
 цитата:
Тогда уж логичнее при запуске с -ro и -f задать - с другим ini-файлом, в котором будет определена спец.палитра.


Из за одного цвета фона, создавать отдельные ini или секции + доп. параметры запуска, по мне, это лишнее, но возможное.

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




Пост N: 3070
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.02.20 17:43. Заголовок: PS Хочу сделать поис..


PS
Хочу сделать поиск handle окна с именем загруженного файла в hbedit и если есть, запускать в режиме readonly и др.цветом
Наличие др. ini или секций тут лишнее, т.к. ini могут быть относительными по отношению к проекту

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


Пост N: 1415
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 15.09.20 10:27. Заголовок: Выложен новый релиз ..


Выложен новый релиз HbEdit: http://www.kresin.ru/hbedit.html
В него вошли разные мелкие исправления и дополнения, сделанные за прошедшее время.
Сделано автодополнение - пока для Harbour и частично для C файлов. В hbedit.ini должен стоять 'autocomplete=on', можно также включить/выключить это через меню View.
Работает это так: набираем пару или больше символов и жмем Tab - выскакивает список для выбора вариантов, если они есть. Для prg постоянная часть списка формируется из набора ключевых слов ( "FUNCTION", "RETURN", ... ) и списка функций в plugins/hb_funcs.txt. Дополнительная часть списка формируется из названий функций в текущем файле, статических переменных, #define и Memvar в начале файла, Local, Memvar, Static в текущей функции.

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


Пост N: 1416
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 17.09.20 10:41. Заголовок: Выложен новый релиз ..


Выложен новый релиз HbEdit: http://www.kresin.ru/hbedit.html
Поправлено кое-что.
В ini добавлена опция autodelay, она задает время в секундах (можно и нецелое - 0.8, например), после которого появляется список вариантов. Сейчас она закомментирована. Если ее раскомментировать, то для появления подсказки можно не жать Tab, а подождать заданное время.

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


Пост N: 1417
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 17.09.20 13:43. Заголовок: Кстати, в состав HbE..


Кстати, в состав HbEdit включена маленькая библиотека - хотя это, наверное сильно сказано - скорее, модуль, написанный на С, который реализует prefixed tree (trie), структуру хранения строк, облегчающую их поиск.
Здесь он используется для хранения ключевых слов, используемых в автодополнении, но может применяться и в других случаях, когда требуется хранилище строк с быстрым поиском.

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 7244
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 17.09.20 14:20. Заголовок: alkresin Можно паро..


alkresin
Можно парочку примеров для понимания работы этой библиотеки ?
Спасибо !

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


Пост N: 1418
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 17.09.20 14:46. Заголовок: Dima пишет: Можно п..


Dima пишет:

 цитата:
Можно парочку примеров для понимания работы этой библиотеки ?


Ну например,
 
FUNCTION Main()

LOCAL arr := { "FUNCTION", "PROCEDURE", "RETURN", "hb_FNameName", "hb_FNameDir", "hb_FNameExt" }
LOCAL trie
LOCAL i, iCou, cBuff

? "Start"
trie := trie_Create()
? "Trie created"

FOR i := 1 TO Len( arr )
? i, arr[ i ]
trie_Add( trie, arr[ i ] )
NEXT

? "-------------"
// Проверяем, есть ли эти слова в хранилище
? trie_Exist( trie, "FUNCTION" ), trie_Exist( trie, "PROCEDURE" ), trie_Exist( trie, "RETURN" ), trie_Exist( trie, "hb_FNameName" ), trie_Exist( trie, "hb_FNameDir" ), trie_Exist( trie, "hb_FNameExt" )
? trie_Exist( trie, "GONE" )

// Проверяем, сколько имеется слов с заданным префиксом
? trie_Count( trie, "hb_FNameDir" ), trie_Count( trie, "hb_FNam" )

// Выводим строку - список слов, разделенных \n с заданным префиксом
cBuff := trie_List( trie, "hb_", @iCou )
? iCou
IF iCou > 0
? cBuff
ENDIF

// Закрываем хэндл хранилища, освобождаем соответствующие ресурсы
trie_Close( trie )
? "End"

RETURN Nil


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


Пост N: 1419
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 17.09.20 14:52. Заголовок: Квадратные скобки съ..


Квадратные скобки съедает почему-то, там должно быть в цикле arr и в квадратных скобках i

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 7245
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 17.09.20 14:57. Заголовок: alkresin пишет: Ква..


alkresin пишет:

 цитата:
Квадратные скобки съедает почему-то


Поправил ......
а писать в коде надо так [ i ]

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


Пост N: 1420
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 17.09.20 15:24. Заголовок: Спасибо. Боюсь, что ..


Спасибо. Боюсь, что все-равно забуду до следующего раза.

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 7246
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 17.09.20 16:35. Заголовок: alkresin Есть тег IT..


alkresin
Есть тег ITALIC для строки [ i ][ /i ] (без пробелов разумеется) , так вот если в выложенном сырце
встречается [ i ] (без пробелов) то движок форума это понимает как начало шрифта ITALIC

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


Пост N: 1421
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 18.09.20 13:00. Заголовок: Выложен новый релиз ..


Выложен новый релиз HbEdit: http://www.kresin.ru/hbedit.html
Исправлена ошибка в модуле trie, которая иногда приводила к вылету программы.

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




Пост N: 3370
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 18.09.20 17:32. Заголовок: alkresin пишет Вылож..


alkresin пишет
 цитата:
Выложен новый релиз HbEdit


Выделение верт. блока и вставка его в позицию больше 1, как и раньше, работает (вставляет) неправильно, я раньше писал об этом. Far делает эту операцию правильно.

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




Пост N: 3371
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 18.09.20 17:59. Заголовок: PS При работе с одни..


PS
При работе с одним файлом (из одного места в другое) верт. блок вставка работает правильно, но между 2-мя запусками hbedit нет и если выйти из hbedit и перезапуститься, то блок из буфера так же будет вставлен неправильно.

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


Пост N: 1422
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 24.09.20 09:42. Заголовок: Т.е., проблема именн..


Т.е., проблема именно при работе с разными сеансами (копиями, запусками) редактора?
Это понятно, ведь информация о том, что блок - вертикальный, хранится только во время сеанса.
Я раскопал, как это делает Far. Он регистрирует новый формат Clipboard: Far_VerticalBlock_Unicode, в Winapi есть такая возможность, и сохраняет блок в этом формате, т.е. данные хранятся вместе с соответствующей пометкой в системном буфере Windows.
Мне не хотелось бы идти по этому пути, т.к. он только для Windows, ну и возни много.
Можно при копировании в буфер вертикального блока помещать перед текстом какой-нибудь непечатный символ, типа Chr(31). Тогда hbedit будет это дело обрабатывать правильно и между запусками, а в другие редакторы вертикальный блок попадет как обычный и с лишним символом. Может, это и нормально - вряд ли кто часто передает вертикальный блок между разными редакторами, да и удалить лишний символ нетрудно.

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




Пост N: 3375
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 24.09.20 12:08. Заголовок: alkresin пишет Может..


alkresin пишет
 цитата:
Может, это и нормально - вряд ли кто часто передает вертикальный блок между разными редакторами, да и удалить лишний символ нетрудно.


Иметь в работе 3 Far с ассоциацией на запуск редакторов (F4 - родной, Alt+F4 - Akelpad, Enter - hbedit) вполне нормальная практика + прогр. ведения проекта с запуском hbedit. Для меня это нормальный процесс. Потому просил когда то и режим подсветки фона для readonly запуска, как доп. опция, а не полностью новая секция цветов. Сейчас для различия source и target prg сдвигаю один из hbedit, к примеру, в правый угол экрана. С akelpad и far этого делать не надо, т.к. цветовые гаммы разные.
У себя решил проблему верт. блока (писал об этом ранее) добавкой строки (хотелось бы иметь текст оригинал без моих правок, иначе трудно вести свою версию с LV866 кодировкой)
 
FUNCTION cb2Text( oEdit, nReg, lToText, s, lVert )
...
IF Chr(13) $ s
s := Strtran( s, Chr(13), "" )
ENDIF

lVert := lVert .or. ( oEdit:nPos > 1 .and. chr(10) $ s )

IF lVert
oEdit:Undo( oEdit:nLine, oEdit:nPos,,, UNDO_OP_START )
...


т.е. вставка не с 1ой позиции - это верт. блок вставка. Это работает правильно во всех случаях и с akelpad, far нет конфликта по переносу от них верт. блоков.

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




Пост N: 3376
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 24.09.20 12:18. Заголовок: PS Если делать встав..


PS
Если делать вставку из буфера не с первой позиции, в вашей версии (разные запуски), будет искажение как для строк так и для верт. блока, т.е. по любому надо делать Ctrl+Z и мудрить как что делать, для строк перемещаться в 1ю позицию, для блока ... сейчас не работает, т.е не вставить

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


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


SergKis пишет:

 цитата:
т.е. вставка не с 1ой позиции - это верт. блок вставка.


Я помню, вы это предлагали - и я тогда же ответил, что мне не кажется логичным такое предположение, для среднестатистического пользователя оно просто неверно. Не с 1-ой позиции можно вставлять и не вертикальный блок, в программном коде - реже, в обычном тексте - чаще.

 цитата:
Если делать вставку из буфера не с первой позиции, в вашей версии (разные запуски), будет искажение как для строк так и для верт. блока,


Только для вертикального блока. Я предлагал вставить Chr(31) только для него - если вы об этом. Впрочем, это, конечно, "грязное" решение.
Можно еще, конечно, каждый раз при copy вертикального блока сохранять его в спец.файле, а при каждом paste читать оттуда - и, если содержимое совпадает с текстом в буфере - значит это вертикальный блок.

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




Пост N: 3377
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 24.09.20 14:00. Заголовок: alkresin пишет оно п..


alkresin пишет
 цитата:
оно просто неверно. Не с 1-ой позиции можно вставлять и не вертикальный блок, в программном коде - реже, в обычном тексте - чаще.


Не очень понимаю, что можно вставлять не 1-ой позиции ?
Если во вставке есть chr(10) -> верт. блок, нет -> строка с позиции. Какие еще варианты ?
Просто строки, так они сработают так же как и раньше, первая строка с позиции курсора, остальные вставятся с 1-ой позиции.
Это обработка есть в команде lVert := lVert .or. ( oEdit:nPos > 1 .and. chr(10) $ s )
Если такое не катит, то лучше ничего не делать

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




Пост N: 3378
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 24.09.20 14:05. Заголовок: SergKis пишет Просто..


SergKis пишет
 цитата:
Просто строки, так они сработают так же как и раньше, первая строка с позиции курсора, остальные вставятся с 1-ой позиции.


Это без команды добавленной и это "плохая" вставка, логичнее ее превращать в верт. блок и вставлять ровненько

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




Пост N: 3379
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 24.09.20 14:11. Заголовок: PS2 в Akelpad из Far..


PS2
в Akelpad из Far верт. блок так же правильно переносится, т.е. если SergKis пишет
 цитата:
то лучше ничего не делать


Но осадочек остается

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


Пост N: 1424
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 24.09.20 15:33. Заголовок: Ладно, уговорили. До..


Ладно, уговорили. Добавлю опцию в ini, которая разрешит подобное поведение.

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


Пост N: 1425
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 25.09.20 11:15. Заголовок: Выложен новый релиз ..


Выложен новый релиз hbedit - v2.0-17, http://www.kresin.ru/hbedit.html.
В ini добавлена опция autovertical. Если ее раскомментировать и установить в On, то при вставке многострочного блоке не в первой позиции строки он будет рассматриваться как вертикальный. Эту опцию можно включить/отключить во время работы в меню View.

Расширена база слов для автодополнения для Harbour и С: теперь туда включаются и все вызовы функций, найденные в редактируемом файле.
Расширена база слов для автодополнения для Golang: теперь туда включаются методы и типы из импортируемых пакетов. Кроме того, для Golang - файлов теперь доступна помощь по пакетам и их функциям (Alt-I, как и для Harbour).

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




Пост N: 3380
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 25.09.20 13:35. Заголовок: alkresin У меня ост..


alkresin
У меня остался вопрос, как из OnKey вызвать работу скрипта конкретного plugins и списка по Alt+L ?
У меня есть свои события для работы в ф-ии обработчике
 
STATIC FUNCTION EdOnKey( o, n )
LOCAL m := n, b, i, j, k
LOCAL s := hb_BitAnd( n, SHIFT_PRESSED ) != 0
LOCAL a := hb_BitAnd( n, ALT_PRESSED ) != 0
LOCAL c := hb_BitAnd( n, CTRL_PRESSED ) != 0
LOCAL p := hb_keyStd( n )
LOCAL r := -1

// ToLog(.T., n, s, a, c, p)

IF p == K_F1 // help
RETURN r

ELSEIF p == K_F8 // colored syntaxis enabled\disabled
bkDir( o, n, '*.prg' )
RETURN r

ELSEIF p == K_F10 // exit
RETURN r

ELSEIF p == K_ALT_X // close all
n := 30110

ENDIF
// мои события
b := hb_HGetDef( h_Key, n, Nil )

If b != Nil
If HB_ISBLOCK( b ) .and. ( k := EVal( b, o, n ) ) != Nil
n := k
Else
n := b
EndIf
EndIf

RETURN n
// Список событий
STATIC FUNCTION h_KeyInit()

h_Key := { ;
1004 => {| | Nil }, ; // K_RBUTTONDOWN
30001 => {| | hb_keyPut( {K_RIGHT, K_LEFT} ) }, ; //
30101 => {| | edi_KeyCToN( "Shift-F4" ) }, ; // New file
30102 => {| | edi_KeyCToN( "Ctrl-F4" ) }, ; // Open file
30103 => {| | edi_KeyCToN( "F2" ) }, ; // Save
30104 => {| | edi_KeyCToN( "Shift-F4" ) }, ; // Save as
30105 => {| | edi_KeyCToN( "Shift-F8" ) }, ; // Code page
30109 => {| | edi_KeyCToN( "F9" ) }, ; // F9-Menu
30110 => {|o,n| Window_OnKey(o, n) }, ; // Close all window Alt+X
30201 => {| | edi_KeyCToN( "F7" ) }, ; // Find...
30202 => {| | edi_KeyCToN( "Shift-F7" ) }, ; // Find Next
30203 => {| | edi_KeyCToN( "Alt-F7" ) }, ; // Find Prev
30204 => {| | edi_KeyCToN( "Ctrl-F7" ) }, ; // Replace...
30205 => {| | edi_KeyCToN( "Alt-F8" ) }, ; // Goto...
30206 => {| | edi_KeyCToN( "Alt-B" ) }, ; // Goto the previous position
30207 => {| | edi_KeyCToN( "Alt-L" ) }, ; // Function list

30301 => {| | edi_KeyCToN( "F12" ) }, ; // List of open files
30302 => {|o,n| Window_OnKey(o, n) }, ; // Split window horizontally
30303 => {|o,n| Window_OnKey(o, n) }, ; // Split window vertically
30304 => {|o,n| Window_OnKey(o, n) }, ; // Switch window
30305 => {|o,n| Window_OnKey(o, n) }, ; // Open window fully
30306 => {|o,n| Window_OnKey(o, n) }, ; // Close window
30999 => {| | (-1) } ; // dummy
}
// 30110 => {|o,n| Window_CloseAll(o, n) }, ; // Close all window Alt+X

RETURN Nil
...

Выделенное цветом не работает, т.к. у вас работа плагина инициируется до ::OnKey()

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


Пост N: 1426
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 25.09.20 14:57. Заголовок: А edi_RunPlugin( oEd..


А edi_RunPlugin( oEdit, xPlugin ) не пробовали?
Здесь xPlugin - номер плагина в списке или его имя.

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




Пост N: 3383
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 25.09.20 15:16. Заголовок: alkresin пишет А edi..


alkresin пишет
 цитата:
А edi_RunPlugin( oEdit, xPlugin ) не пробовали?


Спасибо, попробую

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




Пост N: 3471
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 10.10.20 12:10. Заголовок: alkresin пишет А edi..


alkresin пишет
 цитата:
А edi_RunPlugin( oEdit, xPlugin ) не пробовали?
Здесь xPlugin - номер плагина в списке или его имя.


Работает, но надо обвешивать кодом от расширения загруженных файлов
Сделал так
 
CLASS TEdit
...
DATA nKeyExt INIT 0

...
METHOD Edit() CLASS TEdit
...
DO WHILE ::lShow
SetCursor( Iif( ::lIns, SC_NORMAL, SC_SPECIAL1 ) )
IF Empty( ::nKeyExt )
nKeyExt := Inkey( 0, HB_INKEY_ALL + HB_INKEY_EXT )
ELSE
nKeyExt := ::nKeyExt
::nKeyExt := 0
ENDIF

IF !Empty( hKeyMap ) .AND. !Empty( i := hb_hGetDef( hKeyMap, nKeyExt, 0 ) )
...
Тогда в своем боке кода делаю так, для работы ваших обработчиков
STATIC FUNCTION h_KeyInit()
h_Key := { ;
1004 => {| | Nil }, ; // K_RBUTTONDOWN
30001 => {| | hb_keyPut( {K_RIGHT, K_LEFT} ) }, ; //
...
30207 => {|o | o:nKeyExt := edi_KeyCToN( "Alt-L"), -1 }, ; // Function list

...
30999 => {| | (-1) } ; // dummy
}
...


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




Пост N: 3472
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 10.10.20 18:40. Заголовок: alkresin Попытался ..


alkresin
Попытался собрать последнюю версию, получил
 
.\cfuncs.c(321) : warning C4996: 'freopen': This function or variable may be unsafe. Consider using freopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
C:\BK32\MSVC\include\stdio.h(252): см. объявление 'freopen'
c:\bk32\test\hbedit-master\source\trie.h(15) : error C2011: trieITEM: переопределение типа "struct"
c:\bk32\test\hbedit-master\source\trie.h(15): см. объявление 'trieITEM'
c:\bk32\test\hbedit-master\source\trie.h(25) : error C2011: trieBASE: переопределение типа "struct"
c:\bk32\test\hbedit-master\source\trie.h(25): см. объявление 'trieBASE'


Как с этим бороться ?
А можно ли вкл. trie технику в сборку по переменной.
Я в VO не пользовался, считал лишним, мешающим работе и мнение не поменялось (это нужно в незнакомом языке)

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


Пост N: 1433
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 12.10.20 11:08. Заголовок: Пока даже не знаю, ч..


Пока даже не знаю, что и сказать. Это обычная конструкция, она и в Harbour во многих местах. У меня без проблем компилится и с bcc и с gcc под Линукс.

 цитата:
А можно ли вкл. trie технику в сборку по переменной.


Ну это, наверное, неправильный подход к решению проблемы. Надо выяснить, в чем причина. Может, хоть это и диковато звучит, MSVS хочет, чтобы в typedef struct XXXX это XXXX было обязательно в верхнем регистре или начиналось с знака подчеркивания.

 цитата:
Я в VO не пользовался, считал лишним, мешающим работе и мнение не поменялось (это нужно в незнакомом языке)


По мне, автодополнение - чтоб по клавишам меньше бить. Меня, например, достало FUNCTION и RETURN целиком набивать)

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




Пост N: 3473
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 13.10.20 13:48. Заголовок: alkresin пишет Может..


alkresin пишет
 цитата:
Может, хоть это и диковато звучит, MSVS хочет, чтобы в typedef struct XXXX это XXXX было обязательно в верхнем регистре или начиналось с знака подчеркивания.


Не помогло. Сообщение
 
c:\bk32\test\hbedit-master\source\trie.h(15) : error C2011: TRIEITEM: переопределение типа "struct"
c:\bk32\test\hbedit-master\source\trie.h(15): см. объявление 'TRIEITEM'
c:\bk32\test\hbedit-master\source\trie.h(25) : error C2011: TRIEBASE: переопределение типа "struct"
c:\bk32\test\hbedit-master\source\trie.h(25): см. объявление 'TRIEBASE'

MSVC208. Подключаю к сборке через prg файл
 
trie.prg
#pragma BEGINDUMP
#include "trie.c"
#pragma ENDDUMP

hbtrie.prg
#pragma BEGINDUMP
#include "hbtrie.c"
#pragma ENDDUMP

trie.h
...
typedef struct TRIEITEM
{
char letter;
struct TRIEITEM * right;
struct TRIEITEM * next;
char suffix[SUFFIX_LEN];
} TRIEITEM;

typedef TRIEITEM TRIEPAGE[TRIE_PAGE_SIZE];

typedef struct TRIEBASE
{
//struct trieITEM ** [TRIE_PAGE_SIZE] pages;
TRIEPAGE ** pages;
int iPages;
int iLastPage;
int iLastItem;
unsigned int iWords;
int bUtf8;
int bCase;
} TRIE;
...


 цитата:
Меня, например, достало FUNCTION и RETURN целиком набивать


Посмотрел работу на вышей версии. При выборе по trie (клавиша TAB) менять надо все слово с первой позиции, иначе получаются
funCTION retURN, для ф-ий также вместо MyGotFocus( получаем mygotFocus( и т.д.
В список показа так же получается с искажением, т.е.
Если берем по 2м буквам my... получаем
myBrw1(
myBrw2(
...
Если берем по 3м буквам myb... получаем
mybrw1(
mybrw2(
...
Функции набраны реально
MyBrw1(
MyBrw2(
...

 цитата:
По мне, автодополнение - чтоб по клавишам меньше бить


Это дело привычки. Еси работать событиями, то исп. имени ф-ии где то 2а раза
1. тело самой ф-ии
2. ф-я в событии, т.е. написав тело, переносим имя в событие (Ctrl+C, Ctlr+V) и далее исп. только событие
Alt+L и потом Alt+B так же помогают в вопросе имен, Far на ваш файл hb_funcs.txt (или сайт) так же решают прав. написание имен
Альтернатива есть для trie

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




Пост N: 3474
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 13.10.20 14:28. Заголовок: PS Если работать в к..


PS
Если работать в классе, к примеру TEdit, то ::writ + TAB не работает, а writ + TAB дает writeTopPane( надо :: отдельно добавлять, что не есть удобно.

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




Пост N: 3475
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 13.10.20 15:43. Заголовок: SergKis пишет А можн..


SergKis пишет
 цитата:
А можно ли вкл. trie технику в сборку по переменной


Наверно, включать в hbedit trie надо через plugins, как и предусмотрено схемой работы,
т.е. редактор сам по себе, а дополнения через plugins.
Не подключил плагин и нет trie, подключил, есть.
Разборка со struct в C будет, если понадобится trie.

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


Пост N: 1434
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 14.10.20 09:07. Заголовок: SergKis пишет: trie..


SergKis пишет:

 цитата:
trie.prg
#pragma BEGINDUMP
#include "trie.c"
#pragma ENDDUMP

hbtrie.prg
#pragma BEGINDUMP
#include "hbtrie.c"
#pragma ENDDUMP


Вот тут, наверное, и причина. У вас дважды грузится trie.h, и на второй раз компилятор ругается, что trieITEM уже определен.
Или собирайте нормальным способом, или добавьте в trie.h в самом начале

#ifndef _TRIE_API
#define _TIE_API

и в конце:

#endif

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

P.S. Я тут приболел, похоже на корону.

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


Пост N: 1435
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 14.10.20 09:10. Заголовок: SergKis пишет: Наве..


SergKis пишет:

 цитата:
Наверно, включать в hbedit trie надо через plugins


C-вставки не компилятся в hrb, там только p-cod.

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




Пост N: 3478
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 14.10.20 10:34. Заголовок: alkresin пишет чтобы..


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


Сделал в hbtrie.c
//#include "trie.h"
и trie.prg
 
#pragma BEGINDUMP
#include "trie.c"
#include "hbtrie.c"
#pragma ENDDUMP

Собрался hbedit.exe.
Спасибо и выздоравливайте

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




Пост N: 3479
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 14.10.20 10:57. Заголовок: alkresin пишет C-вст..


alkresin пишет
 цитата:
C-вставки не компилятся в hrb, там только p-cod.


Поступать как с языками, trie -> lib и request при использовании trie.
Тогда можно иметь сборку "чистый" редактор

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


Пост N: 1438
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 16.11.20 10:42. Заголовок: Выложен новый релиз ..


Выложен новый релиз hbedit: v2.0-49, http://www.kresin.ru/hbedit.html.
Кое-какие исправления, в т.ч. порядок смены окон по Ctrl-Tab, Shift-Tab при наличии дочерних окон, работа Alt-B (переход на предыдущую позицию).
Добавлена поддержка lisp-синтаксиса и простенький lisp-интерпретатор.
В hbedit.ini в языковые секции добавлена опция 'quotes', определяющая допустимые виды кавычек в языке, если они отличаются от стандартных.
Для prg-файлов добавлена возможность перехода между ключевыми словами конструкций ( IF...ENDIF, FOR...NEXT, DO WHILE...ENDDO, SWITCH...ENDCASE ) по Ctrl-b (реализовано в плагине plug_prg_init).

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


Пост N: 1457
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 13.10.21 15:50. Заголовок: Выложил новый релиз ..


Выложил новый релиз hbedit: v2.1-1
Частично переписан модуль подсветки синтаксиса - кое-что переведено на С. Благодаря этому на больших файлах заметно существенное ускорение прорисовки (у меня есть большие fb2 - там была начальная задержка в несколько секунд, теперь ее практически нет).
Мелкие исправления, уже не помню какие.
Добавлена пара новых плагинов - игры life и шахматы.
Выложена Linux-версия, собранная с GTHWG. Windows версию с GTHWG не выкладывал, т.к. она не имеет особых преимуществ.

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


Пост N: 1458
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 03.11.21 13:59. Заголовок: Выложил новый релиз ..


Выложил новый релиз hbedit: v2.1-11
Важные исправления в модуле подсветки синтаксиса.
Исправления в плагине для golang (plug_go_run).
Добавлена поддержка Java, в т.ч. плагин со списком функций, компиляцией и запуском на исполнение.

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


Пост N: 1462
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 18.11.21 15:02. Заголовок: Выложил новый релиз ..


Выложил новый релиз hbedit: v2.1-18
Модифицированы диалоги выбора и сохранения файла.
Добавлены init-плагины для .bat и .sh файлов с запуском на выполнение, добавлена подсветка .sh файлов.
Добавлена поддержка для многострочных комментариев как в Питоне (""" ... """) - раньше это отображалось как кавычки.

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


Пост N: 1464
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 27.12.21 11:21. Заголовок: Выложил новый релиз ..


Выложил новый релиз hbedit: v2.1-36
Исправлены некоторые ошибки.
Добавлен плагин для создания и сопровождения андроид-проектов, в первую очередь - с HDroidGUI

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




Пост N: 4021
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 29.12.21 13:27. Заголовок: alkresin В методе ..


alkresin
В методе
 
METHOD ToString( cEol, cp ) CLASS TEdit
...
IF cp != Nil .AND. !( cp == ::cp )
s += hb_strToUtf8( Iif( ::lTabs, Strtran(::aText[ i ],cTabStr,cTab), ::aText[ i ] ), ::cp ) + cEol
ELSE
s += Iif( ::lTabs, Strtran(::aText[ i ],cTabStr,cTab), ::aText[ i ] ) + cEol
ENDIF
...

заложено искажение данных при tabtospaces=On, т.к. не зависимо были на входе chr(9) или нет, при сохранении произойдет замена пробелов на chr(9). Работа без chr(9) в текстах, но если он был, то заменился на входе, а надо и сохранять так же, как работали внутри. Заменяю в местах, отмеченных цветом, на LOCAL lTabs := .F. вместо ::lTabs, но ... Может режим в ini ?

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


Пост N: 1465
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 29.12.21 16:00. Заголовок: SergKis пишет: зало..


SergKis пишет:

 цитата:
заложено искажение данных при tabtospaces=On, т.к. не зависимо были на входе chr(9) или нет, при сохранении произойдет замена пробелов на chr(9).


::lTabs устанавливается только если включен tabtospaces=On и символы табуляции уже имеются в тексте:
METHOD SetText( cText, cFileName ) CLASS TEdit 
...
LOCAL lT2Sp := hb_hGetDef( TEdit():options,"tabtospaces", .F. )
...
IF lT2Sp .AND. cTab $ ::aText
::aText := Strtran( ::aText, cTab, cTabStr )
::lTabs := .T.

Так что искажения данных не должно быть.

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




Пост N: 4022
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 29.12.21 16:30. Заголовок: alkresin пишет ::lTa..


alkresin пишет
 цитата:
::lTabs устанавливается только если включен tabtospaces=On и символы табуляции уже имеются в тексте:


Ситуация такая, что на выходе НЕ ДОЛЖНО быть TAB, даже если они были на входе, т.е. беру тексты с TAB, правлю их и надо сохранять без TAB с установкой trimspaces=on и tabtospaces=On.

 цитата:
Так что искажения данных не должно быть.


Искажения происходят, т.к. на входе был TAB (::lTabs == .T.), а на выходе не надо TAB. Если брать текст др. редактором (TAB замена на пробелы исп. другие числа 4,8,... ) выглядит все кривовато

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


Пост N: 1467
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 10.01.22 12:25. Заголовок: Да, пожалуй, вы прав..


Да, пожалуй, вы правы. Переделаю этот момент.

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




Пост N: 4165
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 15.10.22 23:51. Заголовок: alkresin пишет 13/10..


alkresin пишет
 цитата:
13/10/2022 - Вышел новый релиз HbEdit.


Что нового, какие изменения ?
Нет файла change.log и трудно понимание новой версии

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


Пост N: 1480
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 17.10.22 11:25. Заголовок: В основном - мелкие ..


В основном - мелкие правки, накопившиеся за истекшее время. Я их и не помню. Последняя - исправлена проблема с кодировкой при операциях с Clipboard в hbedit, собранном под Линукс и gthwg.
Ну и добавлены новые плагины, игры Уголки и Судоку.

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


Пост N: 1481
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 18.10.22 13:22. Заголовок: Выложил очередную ве..


Выложил очередную версию.
Небольшие исправления.
В режиме редактирования добавлены команды Alt-3, Alt-8 - аналоги Vim-команд # и * - поиск, соответственно, предыдущего и следующего вхождения слова, на котором стоит курсор. Очень удобная, кстати, вещь, я часто пользуюсь.

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


Пост N: 1483
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 10.04.23 11:36. Заголовок: Вышел очередной рели..


Вышел очередной релиз - 2.2-8
Основное новшество - добавлен интегрированный модуль hbCommander - менеджер файлов. Его окно открывается или из меню, или, в том случае, если в редакторе открыто только одно - при старте, например, по Ctrl-Tab.
Настройки - в hbc.ini
F1 - help, F9 - меню

Этот HbCommander я сделал для себя лет 7 назад для того, чтобы работать с файлами на сервере через netio. Расшаривать папки на серверах я не хотел - чтобы вирусы, в случае чего, не распространялись через них, ну и вообще, для большей безопасности.

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


Пост N: 1484
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 13.04.23 14:53. Заголовок: Обновил бинарники дл..


Обновил бинарники для Windows, v2.2-13
Переписал подсистему реализации консоли под Windows- теперь она работает гораздо лучше, почти как надо.
Кстати, окно консоли доступно в HbCommander, как и в других коммандерах, по Ctrl-O. Все, что было выведено в консоль, можно потом посмотреть в специальном окне редактора, доступном из меню Stdout window.

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


Пост N: 1485
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 20.04.23 13:48. Заголовок: Выпустил новую верси..


Выпустил новую версию, v2.2-26
Основные изменения - в файловом менеджере. Добавлена поддержка zip-архивов, расширена функциональность некоторых операций. В общем, приближается по возможностям к таким столпам индустрии, как Far)

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


Пост N: 1486
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 24.04.23 11:03. Заголовок: Еще обновление: v2.2..


Еще обновление: v2.2-33
Изменения в файловом менеджере: исправления, изменения в меню, переписана подсистема реализации консоли под Linux.

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


Пост N: 1487
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 24.04.23 15:50. Заголовок: В консоли теперь мож..


В консоли теперь можно запускать интерактивные приложения, например, питон ( python -i ), или даже gpt4all-lora-quantized-win64.exe.
Удобно то, что, выбрав пункт меню Stdout window, который появляется после использования консоли, мы получаем консольный вывод в окне редактора,
откуда его можно сохранить или скопипастить.
С некоторыми консольными приложениями это, увы, не удается - например, с написанными на Harbour, если только вывод там не сделан через outStd(), потому что ввод/вывод реализован не через стандартные stdin/stdout.

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


Пост N: 1488
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 28.04.23 09:44. Заголовок: Новое обновление, v2..


Новое обновление, v2.2-47
Небольшие исправления и улучшения.
В том числе, из того, что помню сейчас:
консоль по Ctrl-O можно открывать прямо из редактора, из консоли можно использовать Ctrl-Tab, Shift-Tab для переключения в окна редактора, Ctrl-Q - для показа Stdout window.

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


Пост N: 1489
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 05.05.23 12:41. Заголовок: Новое обновление, v2..


Новое обновление, v2.2-63
Всякие исправления и улучшения в менеджере файлов

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


Пост N: 849
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 06.05.23 18:28. Заголовок: https://postimg.cc/P..


https://postimg.cc/PvqQrwS1
Ошибка при выборе по F4 файла

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


Пост N: 1490
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 07.05.23 13:52. Заголовок: Это вы, наверное, на..


Это вы, наверное, на [D] нажали - при пустой истории, действительно, вылетает ошибка.
Спасибо, исправил.
А вообще при нажатии в этом диалоге на [D] (можно Ctrl-D) выводится список каталогов, в которых были редактированные файлы (берется из истории, hbedit.his) - для ускорения поиска того, что нужно.

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


Пост N: 1492
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 17.05.23 09:57. Заголовок: Вышла версия v2.3. П..


Вышла версия v2.3.
Помимо исправлений и улучшений в файловом менеджере добавлена поддержка libssh2 - а, значит, возможность связываться с серверами по sftp.
Собирать hbedit можно как с поддержкой libssh2 ( bld_gcc_ssh.bat, bld_edit_hwg_ssh.sh ), так и без нее.
Бинарники под Windows у меня на сайте - http://www.kresin.ru/hbedit.html - с поддержкой.
Для тестирования можно использовать test.rebex.net - соответствующая строчка включена в hbc.ini и доступна по Alt-D.

В числе прочих улучшений - история команд, help и меню в консоли, автодополнение в консоли, ...
Описания разных возможностей редактора и файлового менеджера планирую выкладывать время от времени в заметках на сайте.

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


Пост N: 1498
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 25.05.23 09:38. Заголовок: Выложена новая верси..


Выложена новая версия, v2.3-22.
Всякие исправления и улучшения в HbCommander.
Сделан доступ к ftp-серверам, это оформлено в виде плагина plug_hbc_ftp.prg. Я его сделал на основе прямых вызовов hb_inet... функций. Можно было бы и через curl по той же общей схеме реализации плагина, но в этом случае пришлось бы заново коннектиться к серверу каждый раз при смене каталога или загрузки/выгрузки файла. Ничего страшного, конечно, но...

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


Пост N: 1499
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 26.05.23 11:00. Заголовок: Краткое описание тек..


Краткое описание текущего состояния HbCommander на текущий момент, скопировано из заметок.

Итак, HbCommander - двухпанельный файловый менеджер а ля Far, встроенный в текстовый редактор HbEdit.
Хотя, что во что встроено - это довольно спорный вопрос).

В HbCommander'е реализован набор стандартных функций для такого класса программ:
копирование файлов и каталогов, перемещение, переименование, удаление, просмотр и редактирование файлов, поиск файлов по названию и по содержанию.
С помощью меню и горячих клавиш реализована удобная навигация между каталогами - это и список предопределенных каталогов, установленный в hbc.ini, и список каталогов, где были последние редактируемые файлы, а также возможность установки закладок на каталоги.
Полный список горячих клавиш доступен по F1.
Реализована также поддержка zip-архивов.
В HbCommander, помимо навигации по локальным каталогам и файлам, обеспечен доступ к удаленным ресурсам по sftp и ftp протоколам, а также по netio (Harbour-программисты знают, что это такое).
Есть также немного ограниченная поддержка консоли, подробнее см. в HbCommander: Консоль.

HbCommander поддерживает плагины, написанные на Harbour. Это позволяет автоматизировать ряд действий над файлами. Так, например, уже готовый плагин plug_hbc_latin осуществляет преобразование имен файлов из кириллицы в латиницу - текущего файла, отмеченных файлов или всех файлов в каталоге. Доступ по ftp тоже реализован в виде плагина plug_hbc_ftp. По такой же схеме можно реализовать, например, плагины для разных типов архивов. Еще один готовый плагин, plug_hbc_menu, расширяет контекстное меню, добавляя туда команды для git, fossil, компиляции. Вы можете дописать этот плагин пол свои нужды.
Удобство Harbour как языка для плагинов в том, что они не требуют наличия компилятора. Harbour-код компилируется прямо из редактора (HbEdit) с помощью встроенного компилятора.

Ну и еще следует отметить, что HbCommander, как и HbEdit, кросс-платформенное приложение, выглядит и работает одинаково под Windows и Linux. Для тех, кто, как и я, регулярно работает на обех платформах, это может быть особенно удобно.

Настройки программы осуществляются прямым редактированием файла hbc.ini. Выбор палитры, цветов, действий над файлами по Ctrl-F3, Ctrl-F4, список предопределенных каталогов и удаленных компьютеров для быстрого доступа, список программ для быстрого запуска, список плагинов - все там.

В заключение - набор "killer features" - особенностей, которые отсутствуют в других аналогичных программах и могут подтолкнуть вас к использованию HbCommander:

- доступ к удаленным компьютерам по netio;
- удаленное выполнение команд на sftp серверах;
- возможность написания и простой компиляции плагинов на Harbour;
- закладки на каталоги;
- окно Stdout, где собирается консольный вывод, который можно просмотреть целиком, сохранить и/или скопировать из него нужные фрагменты;
- кроссплатформенность.

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




Пост N: 4276
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 26.05.23 14:48. Заголовок: alkresin Попытка за..


alkresin
Попытка запустить версию для windows выдает "... libgcc_s_dw2-1.dll was not found"

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


Пост N: 1500
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 26.05.23 17:16. Заголовок: Хм... Я и не знал, ч..


Хм... Я и не знал, что она требуется. Оказывается, есть такая в каталоге bin от Mingw. Надо будет включить ее в дистрибутив

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 7761
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 26.05.23 18:02. Заголовок: Если запускать как е..


Если запускать как есть , у меня выпало вот так


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


Пост N: 1501
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 26.05.23 19:15. Заголовок: Мда... Эта libssh2 м..


Мда... Эта libssh2 много за собой потянула.

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


Пост N: 1502
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 26.05.23 19:35. Заголовок: Но, если что, hbedit..


Но, если что, hbedit можно по-прежнему собрать и без поддержки ssh2. Собственно, все старые bat'ники, sh, hbp собирают без ssh2, только bld_gcc_ssh.bat и bld_edit_hwg_ssh.sh - с ssh2

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 7762
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 27.05.23 16:39. Заголовок: Александр , почему б..


Александр , почему бы в архив не вложить нужные DLL ?
http://www.kresin.ru/down/hbedit_20230525.zip

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


Пост N: 1503
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 27.05.23 16:53. Заголовок: Да я так и сделаю. В..


Да я так и сделаю. В понедельник.

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 7763
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 27.05.23 17:24. Заголовок: :sm36:..




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


Пост N: 1504
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 29.05.23 09:46. Заголовок: Выложил очередную ве..


Выложил очередную версию, v2.23-31
В Windows-дистрибутиве все нужные dll.
Кое-какие исправления, в HbCommander добавлены 2 плагина - сравнение файлов и сравнение каталогов

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


Пост N: 1505
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 30.05.23 11:31. Заголовок: Выложил v2.23-34 Нек..


Выложил v2.23-34
Некоторые важные исправления, доработан плагин сравнения каталогов.

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


Пост N: 1506
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 31.05.23 12:08. Заголовок: v2.23-37 Всякие "..


v2.23-37
Всякие "улучшизмы" в sftp и ftp.

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