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

Hbedit - текстовый редактор (продолжение)

alkresin: Довел, наконец, свой текстовый редактор до того состояния, когда можно показать его общественности. Я начал писать его сначала как замену Memoedit(), но потом увлекся) и решил сделать что-то помощнее, как нормальный редактор для повседневного использования. Мне приходится в течение дня работать и под виндами, и под Линуксом - использую Far и mc, соответственно. Иногда Vim - но к некоторым вещам в нем так и не привык. Но хочется иметь что-то одно для всех платформ - не слишком навороченный, но чтоб было все что надо. Сегодня выложил на github: https://github.com/alkresin/hbedit. F9 (или мышкой по соответствующей надписи) - главное меню. В ближайших планах: - Lower/Upper для utf8 - новые режимы подсветки ( директивы препроцессора и пр. ) - скобки - подсветка парных и переход на парные - undo - решить проблемы с табуляцие - сохранение истории открытых файлов, поиска - написать help (hbedit.help) Если есть идеи для реализации - буду рад услышать.

Ответов - 27, стр: 1 2 All

PSP: Косячок с ftp: Видео: https://dropmefiles.com/BfjmR И вопрос: как на ftp включить корректный показ имен файлов в русской кодировке?

alkresin: > Косячок с ftp Спасибо, исправил. > как на ftp включить корректный показ имен файлов в русской кодировке? Сейчас никак, разве что поставить в hbc.ini cp=UTF8, но тогда в Windows локальные русские имена будут неверно отображаться Надо будет сделать переключение кодовой страницы на панели. На ftp серверах, в основном, utf8.

PSP: alkresin пишет: На ftp серверах, в основном, utf8 Да


alkresin: v2.23-40 Добавлена возможность устанавливать кодовую страницу для каждой панели (меню Pane mode), список возможных вариантов задается в hbc.ini, [OPTIONS], cpinuse. При переходе на sftp:, ftp: автоматически устанавливается utf8, убрать это можно в hbc.ini, [OPTIONS], utf8auto. Ну и всякие исправления, чтобы файлы с русскими именами нормально копировались на сервера с кодовой страницей, отличной от локальной, и обратно.

alkresin: v2.23-46 HbEdit русифицирован, для этого использован hbi18n. О переводе на другие языки - в заметках.

alkresin: v2.23-63 Исправления, в hbcommander добавлена функция "быстрого просмотра" по Ctrl-Q и вызов контекстного плагина по Space. Добавлены плагины для .fb2, fb2.zip файлов - для быстрого просмотра и для чтения (по Space). Fb2, если кто не в курсе, это популярный (на территории РФ - самый популярный, наверное) формат электронных книг. Чтение, конечно, без картинок и, пока, без перехода по ссылкам. Но с содержанием (Alt-L). Я сам читаю много, давно хотел сделать.

alkresin: v2.23-67 Исправления, в плагин - fb2 reader добавлены ссылки и переход по ним. Добавлен плагин - quick view файлов изображений (jpg, bmp, gif). Он работает только с HbEdit, собранным с gthwgui.

alkresin: v2.23-74 Исправления, улучшения. В частности, обновлен режим удаленного выполнения команд (по ssh2) - там теперь можно запускать интерактивные команды, запускать shell - теперь это ближе к ssh2-клиенту. Для запуска удаленных программ с полноэкранным интерфейсом (mc, например) надо добавить обработку ESC-последовательностей. В windows-дистрибутив теперь включена версия, собранная под gthwgui.

alkresin: v2.23-95 Исправления, улучшения. В плагин fb2 - reader добавлена поддержка изображений. Добавлен плагин для просмотра графических файлов ( bmp, jpg, gif, png, tiff ) - по пробелу, как и с fb2.

alkresin: v2.23-99 Исправления, улучшения. В поиск файлов добавлена опция искать по дате изменения

alkresin: v2.24-00 Важные исправления в HbCommander, в частности, в sftp-модуле.

alkresin: *PRIVAT*

alkresin: v.2.24-31 Скорректированы некоторые мелочи. Основные изменения - интеграция HwBuilder. Добавлена секция [LANG_HWPRJ] в hbedit.ini для подсветки hwprj и установки плагина, добавлен сам плагин, который позволяет запускать запускать сборку проекта с помощью hwbc, выводить результаты в окно, переходить на соответствующий файл при клике/ENTER на строке с error или warning. Аналогичные функции добавлены в плагин для prg. Сборка запускается также при клике/ENTER по hwprj-, prg- файлу в HbCommander.

SergKis: alkresin пишет v.2.24-31 Вопросики 1. Как отсортировать строки по выделенному вертикальному блоку ? 2. Есть ли возможность после того, как прочитаны настройки вашего ini (к проекту), прочитать мой ini и поправить настройки по секциям из него и только потом, работа редактора ? 3. Возможна ли версия только редактора с плагинами, но без доп. обвесок из exe, dll, ... ?

alkresin: SergKis пишет: 1. Как отсортировать строки по выделенному вертикальному блоку ? Жмете m - появляется меню для действий над выделенным блоком, ну а там, в том числе, и сортировка. 2. Есть ли возможность после того, как прочитаны настройки вашего ini (к проекту), прочитать мой ini и поправить настройки по секциям из него и только потом, работа редактора ? Есть возможность указать при запуске свой ini вместо стандартного. 3. Возможна ли версия только редактора с плагинами, но без доп. обвесок из exe, dll, ... ? Да, конечно. Для этого надо собрать его без поддержки ssh, dll нужны именно для ssh. Diff.exe нужен для открытия файла с опцией Diff - если не нужно, можете удалить. Опции сборки см. http://www.kresin.ru/notes/index.php?b=blog&n=24 Кроме того, в репозитории на github есть bld_edit.bat, который собирает его без поддержки ssh.

SergKis: alkresin пишет Жмете m - появляется меню для действий над выделенным блоком, ну а там, в том числе, и сортировка. Валится этот режим. Есть возможность указать при запуске свой ini вместо стандартного. Делаю это, получаю что то не то, бяку какую то. Вот и хотел, на входе ваш, а потом, убрав не нужные секции в своем, подсунуть свой. Мой вариант hbedit с настроечным ini и demo.prg в utf8 c BOM тут https://TransFiles.ru/pcfc6 Из него я брал ini и кидал к вашей сборке hbedit Для этого надо собрать его без поддержки ssh, dll нужны именно для ssh Мне только тексты нужные надо для своей сборки, вид смотрим мой вариант hbedit

alkresin: SergKis пишет: Валится этот режим. Да, глупая ошибка была. Исправил. Делаю это, получаю что то не то, бяку какую то. Это вы о том, что буквы наезжают друг на друга? Так надо подобрать подходящие fontname, fontheight и fontwidth. Liberation Mono, 24, 12, например, нормально смотрятся. Мне только тексты нужные надо для своей сборки Ну так соберите их без /d_USE_SSH2 - и не понадобятся тогда dll.

SergKis: alkresin пишет Это вы о том, что буквы наезжают друг на друга? Так надо подобрать подходящие fontname, fontheight и fontwidth. Liberation Mono, 24, 12, например, нормально смотрятся. В моем варианте, по настройке из ini, смотрится нормально (запустите на представленный demo.prg в архиве), но при переносе ini к вашему варианту - полный абзац, экран непонятно какой и кодировка, явно не utf8, хотя в demo.prg есть BOM Ну так соберите их без /d_USE_SSH2 - и не понадобятся тогда dll. Не надо мне сборку, мне надо только prg редактора без лишних расширений. Я забросил разбирать hbedit именно по причине (20 год), что тексты растут как на дрожжах и окунаться в них с перерывами, голова и просто не успеваешь, сделать правки. Я бы и сейчас не дергался, но свои тексты hbedit держит в отступах (без chr(9) режим), но если брать Far, AkelPad, Notepad редакторы, то в них текты не держат выровненных границ, прыгают. Выравниваю в Far -> Akelpad, Notepad все границы держат, беру hbedit -> границы в строках развалились. Андрей, мне на это неоднократно, указывал, т.к. разваливается работа WinMergeU.exe. Пришлось вернуться на Far редактор

SergKis: alkresin пишет Да, глупая ошибка была. Исправил. Можете код показать, мне к себе перенести надо.

SergKis: alkresin пишет Так надо подобрать подходящие fontname, fontheight и fontwidth. Liberation Mono, 24, 12, например, нормально смотрятся. Поставил по рекомендации 24,12 и менял фонты Liberation Mono и Lusida Console, как то не впечатляет (ваша версия hbedit) картинки с эрана тут https://TransFiles.ru/y8f3s

alkresin: SergKis пишет: Можете код показать, мне к себе перенести надо. https://github.com/alkresin/hbedit/blob/master/source/fedit.prg Строка 4184

alkresin: SergKis пишет: Поставил по рекомендации 24,12 и менял фонты Liberation Mono и Lusida Console, как то не впечатляет Похоже, у вас оба варианта - с Lusida Comsole. Проверьте. У меня с указанными параметрами и на Windows и на Linux - нормально.

alkresin: SergKis пишет: Не надо мне сборку, мне надо только prg редактора без лишних расширений Так все на github. Или я что-то не понял?

SergKis: alkresin пишет Похоже, у вас оба варианта - с Lusida Comsole мой ini к вашему hbedit[pre2] [SCREEN] ; Font parameters. ; Fontname can be one of mono families: Courier New, Dejavu Sans Mono, ; Liberation Mono, Lusida Console, Terminal. ; screen_width and screen_height - a number of columns and rows. ; cp - default codepage ( RU866, RU1251, UTF8, ... ) ;cp=RU1251 cp=RU866 ;cp=LV866 ;fontname=Lusida Console ;fontname=Courier New fontname=Liberation Mono fontheight=24 fontwidth=12 screen_width=121 screen_height=30 ; к моему окну настройки ;fontheight=30 ;fontwidth=14 ;screen_width=129 ;screen_height=27 [START] ... [/pre2] красным 2-е строки по очереди ставим, снимаем ";" запуская hbedit -> результат на присланных картинках Так все на github. Или я что-то не понял? Когда то вы обещали редактор, а вышел менеджер всего, что бы получить редактор, надо отработать препроцессором все ваши тексты и выделить только исходники и код для него без излишков Вы свой код знаете хорошо в деталях, препроцессор тоже, а для изучения (это надо, но желательно в ограниченных кодах) все это проделать (относящееся только к редактору), да еще отключив vim режим (вариант windows), как то трудновато. Строка 4184 Спасибо, помогло

alkresin: SergKis пишет: мой ini к вашему hbedit Ну не знаю... Может, у вас Liberation Mono в системе почему-то отсутствует, или он какой-то другой. У меня нормально выглядит, как писал уже, и под виндами, и под линуксом. Попробуйте другой шрифт, Courier New, например. что бы получить редактор, надо отработать препроцессором Зачем? Надо просто скомпилировать prg с _NO_HBC, как написано по ссылке выше. И hbcommander.prg, fview.prg в этом случае не нужны. fautoc.prg, кстати, возьмите с github - там в одно месте #ifndef _NO_HBC не хватало.

SergKis: alkresin пишет Может, у вас Liberation Mono в системе почему-то отсутствует, или он какой-то другой. Да, Liberation Mono, оказалось отсутствует, есть Lusida Console и Courier New. Ваша версия у меня нормально работает, только с Curier New. Картинки с разными фонтами тут (в имени файла наличие lv866 - это мой ini) https://TransFiles.ru/gq0jf Зачем? Надо просто скомпилировать prg с _NO_HBC, как написано по ссылке выше. И hbcommander.prg, fview.prg в этом случае не нужны. fautoc.prg Мне надо править ваш код или свой, что проще (обработчики событий), для работы с main menu и statusbar + 1. выявить ваши правки по работе редактора, вчера уже просмотрел ~2000 строк, вставки _NO_HBC сильно мешают добавляют местами до 15 новых строк экрана. Потом можно применить WinMerge для анализа ваших правок 2. желательно убрать неиспользуемый код 3. подменить вывод сообщений на MsgInfo() ф-ии возьмите с github - там в одно месте #ifndef _NO_HBC не хватало Спасибо, возьму

alkresin: Выложил новую версию, v2.4-55. Главное изменение - добавление новых плагинов. 1. HwBuilder - поместил весь код в специальный плагин, так что теперь можно использовать его без установки самой программы ( hwbc.exe ), только средствами HbEdit. Сборка запускается из открытого в окне редактора hwprj - файла, или при нажатиии пробела на hwprj или prg - файле в HbCommander'е. Ini - файл (hwbuild.ini) должен для этого находиться в каталоге с плагинами. 2. HbExtcli - вспомогательный плагин, для использования из других плагинов. Он обеспечивает запуск и поддержание связи с другими программами, написанными на Harbour, Go или Java, собранными с модулем extgui из проекта GuiServer. Сама идея была раньше изложена здесь. В частности, хочу использовать его для того, чтоб можно было непосредственно из hbedit (с помощью другого плагина) обращаться к локальным языковым моделям.



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