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

Hbedit - текстовый редактор

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

Ответов - 300, стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 All

SergKis: alkresin пишет А по умолчанию tab - это именно tab. Претензий к TAB нет, думается колонка на экране, в любом случае, должна сохранятся (tabtospace=On или Off не важно). Т.е. если она 40, то при движении вверх вниз, должна оставаться 40, не перепрыгивая. Именно такое поведение (прыгание курсора) Notepad3 мешает использовать его на 100%

alkresin: SergKis пишет: Т.е. если она 40, то при движении вверх вниз, должна оставаться 40, не перепрыгивая. Если 40, то - да. Надо будет подправить это дело. А вот если, скажем, 37, и в следующей строке здесь как раз tab, то курсор скакнет на 36.

SergKis: alkresin пишет А вот если, скажем, 37, и в следующей строке здесь как раз tab, то курсор скакнет на 36. Не должен курсор менять самопроизвольно позицию, т.е. был на 37 и остался на ней же, не зависимо есть или нет в строке TAB


alkresin: SergKis пишет: Не должен курсор менять самопроизвольно позицию, т.е. был на 37 и остался на ней же, не зависимо есть или нет в строке TAB Если перед 37 стоит tab, то на 38 (так будет точнее) курсор никак не может встать - там ничего нет, следующая позиция - 41 (при tablen=4). Это стандартное и естественное поведение для всех редакторов - хоть Far, хоть vscode, ...

SergKis: alkresin пишет Это стандартное и естественное поведение для всех редакторов - хоть Far, хоть vscode, ... Проделанное выравнивание массива (схема выше), в Far, AkelPad и даже Notepad3 позицию курсора после TAB не меняют, т.е. после TAB + 2 SPACE, полученная позиция курсора при движении вверх вниз не меняется (нет перескоков). В Notepad3 перескок идет по концу строки, при условии предыдущая позиция больше конца строки.

alkresin: SergKis пишет: после TAB + 2 SPACE, полученная позиция курсора при движении вверх вниз не меняется Возможно, мы не вполне понимаем друг друга. Я сделал кое-какие правки - теперь курсор движется как в Far.

alkresin: Обновлен hbedit. Поправлено вертикальное перемещение в тексте с tab'ами. Добавлен плагин CharTable - таблица символов.

alkresin: Обновил hbedit. Добавлены команды Vim ZZ и ZQ. Добавлен плагин "Калькулятор" - открывается отдельное субокно, там можно проводить вычисления (F5 вычисляет значене выражения в текущей строке) и копировать результаты, если надо.

alkresin: Обновил hbedit. Добавлена поддержка вертикальных блоков: Ctrl-F3 в режиме редактирования и Ctrl-v в режиме Vim (Ctrl-F3 здесь тоже работает). Небольшие исправления.

alkresin: Обновлен hbedit. Небольшие исправления. В ini в секции [LANG_...], где это надо, добавлены строки brackets=On - включение подсветки парных скобок (по умолчанию - выключено). В Ini добавлена секция [LANG_1C]. Добавлен плагин plug_prg_run1c.prg, который позволяет запускать на исполнение Harbour-программы, подключающиеся к 1с через соответствующий COM-объект. Если кого интересует, можно обсудить в разделе "Для флейма". У меня есть еще один плагин - для запуска из редактора программ на языке 1с через веб-сервис. Я не стал его включать в hbedit, т.к. он требует дополнительных телодвижений на стороне 1с.

alkresin: Обновлен hbedit. Добавлена команда o в режиме выделения ( чтобы менять направление выделения, как в vim). Добавлена группа команд vim - в hbedit.help все есть. Исправления.

alkresin: Обновлен hbedit. Добавлена группа команд vim - см. hbedit.help Добавлен плагин "Тетрис" - игра открывается в отдельном окне, можно выходить оттуда / возвращаться туда через Ctrl-Tab - как и с обычными окнами.

SergKis: alkresin Имеем demo.hbp[pre2] # Keys compile -prgflag=-w2 -es1 # Enable multi/single-thread Harbour VM -mt # Incremental-compilation mode -inc # folder where are all * .obj -workdir=OBJ # Name EXE-module -odemo.exe # to list all * .prg demo.prg demo_misc.prg MsgEdit.prg util_fonts.prg # project Resources demo.rc # paths to the main and extension *.Lib -lminigui 1. Ctrl+F -> приводит к ошибке apps.err 06/24/19 10:14:35 Error BASE/1132 Bound error: array access Called from _HBP_GET_FILES(156) Called from _HBP_INIT_FILES(119) Called from _HBP_INIT_ONKEY(60) Called from (b)PLUG_HBP_INIT(33) Called from TEDIT:ONKEY(524) Called from TEDIT:EDIT(348) Called from MAIN(144) 2. Как запустить на исполнение этот hbp, если в Far запускается по ассоциации C:\MiniGui\BATCH\hbmk2.bat !.! ? [/pre2]

alkresin: SergKis пишет: 1. Ctrl+F -> приводит к ошибке apps.err Была там маленькая ошибка, исправил. 2. Как запустить на исполнение этот hbp, если в Far запускается по ассоциации C:\MiniGui\BATCH\hbmk2.bat !.! Можно будет ini-файл для плагина сделать с командной строкой запуска hbmk.

alkresin: Обновлен hbedit. Добавлена поддержка разных цветовых схем, добавлены новые цветовые схемы. Менять текущую можно через меню (Palette). Основная схема устанавливается в ini [OPTIONS]: palette=... Можно также установить отдельные схемы для разных языков (palette= в соответствующем [LANG_...] Небольшие правки.

SergKis: alkresin Ctrl-F3 выделение вертикального блока Привычнее Shift+Alt+стрелки

alkresin: SergKis пишет: Привычнее Shift+Alt+стрелки Добавил и такой вариант.

SergKis: alkresin пишет Добавил и такой вариант. Будут ли режимы (в выделенном верт. блоке): - замена первого символа на upper\lower - сортировка строк в блоке Для prg авто завершение строк ?

alkresin: SergKis пишет: - замена первого символа на upper\lower - сортировка строк в блоке С выделением много чего можно интересного еще сделать - сумму посчитать, например, или, как в vim, добавить подстроку слева или справа к каждой выделенной строке. Думаю об интерфейсе. Можно повесить каждое действие на клавишу. Можно сделать меню, вызывая его, например, буквой m, ... Стоит, наверное, сделать возможность подключать плагин для дополнительных вариантах обработки выделенного текста. Для prg авто завершение строк ? Может быть. Ничего против не имею, но и большой пользы не вижу. Что завершать-то, if / endif ?

SergKis: alkresin пишет Что завершать-то, if / endif ? В notepad3 набираю de или DE и получаю список default DEFAULT define DEFINE defined DELETEALLITEMS DELETECOLUMN DeletedCount DELETAIMAGE DeleteItem DELETEITEM DeleteObject DELETEPAGE DelteRow DeltaCol details Determine ... набираю hb получаю список ф-ий использованных ранее При if IFARRAY ifdef IFEMPTY ifndef IFNUMERIC и т.д. по мере добавления букв список уменьшается



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