Форум » [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: SergKis пишет А можно ли вкл. trie технику в сборку по переменной Наверно, включать в hbedit trie надо через plugins, как и предусмотрено схемой работы, т.е. редактор сам по себе, а дополнения через plugins. Не подключил плагин и нет trie, подключил, есть. Разборка со struct в C будет, если понадобится trie.

alkresin: 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. Я тут приболел, похоже на корону.

alkresin: SergKis пишет: Наверно, включать в hbedit trie надо через plugins C-вставки не компилятся в hrb, там только p-cod.


SergKis: alkresin пишет чтобы предотвратить повторную компиляцию того, что между этими строками. Сделал в hbtrie.c //#include "trie.h" и trie.prg[pre2] #pragma BEGINDUMP #include "trie.c" #include "hbtrie.c" #pragma ENDDUMP [/pre2] Собрался hbedit.exe. Спасибо и выздоравливайте

SergKis: alkresin пишет C-вставки не компилятся в hrb, там только p-cod. Поступать как с языками, trie -> lib и request при использовании trie. Тогда можно иметь сборку "чистый" редактор

alkresin: Выложен новый релиз 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).

alkresin: Выложил новый релиз hbedit: v2.1-1 Частично переписан модуль подсветки синтаксиса - кое-что переведено на С. Благодаря этому на больших файлах заметно существенное ускорение прорисовки (у меня есть большие fb2 - там была начальная задержка в несколько секунд, теперь ее практически нет). Мелкие исправления, уже не помню какие. Добавлена пара новых плагинов - игры life и шахматы. Выложена Linux-версия, собранная с GTHWG. Windows версию с GTHWG не выкладывал, т.к. она не имеет особых преимуществ.

alkresin: Выложил новый релиз hbedit: v2.1-11 Важные исправления в модуле подсветки синтаксиса. Исправления в плагине для golang (plug_go_run). Добавлена поддержка Java, в т.ч. плагин со списком функций, компиляцией и запуском на исполнение.

alkresin: Выложил новый релиз hbedit: v2.1-18 Модифицированы диалоги выбора и сохранения файла. Добавлены init-плагины для .bat и .sh файлов с запуском на выполнение, добавлена подсветка .sh файлов. Добавлена поддержка для многострочных комментариев как в Питоне (""" ... """) - раньше это отображалось как кавычки.

alkresin: Выложил новый релиз hbedit: v2.1-36 Исправлены некоторые ошибки. Добавлен плагин для создания и сопровождения андроид-проектов, в первую очередь - с HDroidGUI

SergKis: alkresin В методе [pre2] 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 ... [/pre2] заложено искажение данных при tabtospaces=On, т.к. не зависимо были на входе chr(9) или нет, при сохранении произойдет замена пробелов на chr(9). Работа без chr(9) в текстах, но если он был, то заменился на входе, а надо и сохранять так же, как работали внутри. Заменяю в местах, отмеченных цветом, на LOCAL lTabs := .F. вместо ::lTabs, но ... Может режим в ini ?

alkresin: SergKis пишет: заложено искажение данных при tabtospaces=On, т.к. не зависимо были на входе chr(9) или нет, при сохранении произойдет замена пробелов на chr(9). ::lTabs устанавливается только если включен tabtospaces=On и символы табуляции уже имеются в тексте: [pre]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.[/pre] Так что искажения данных не должно быть.

SergKis: alkresin пишет ::lTabs устанавливается только если включен tabtospaces=On и символы табуляции уже имеются в тексте: Ситуация такая, что на выходе НЕ ДОЛЖНО быть TAB, даже если они были на входе, т.е. беру тексты с TAB, правлю их и надо сохранять без TAB с установкой trimspaces=on и tabtospaces=On. Так что искажения данных не должно быть. Искажения происходят, т.к. на входе был TAB (::lTabs == .T.), а на выходе не надо TAB. Если брать текст др. редактором (TAB замена на пробелы исп. другие числа 4,8,... ) выглядит все кривовато

alkresin: Да, пожалуй, вы правы. Переделаю этот момент.

SergKis: alkresin пишет 13/10/2022 - Вышел новый релиз HbEdit. Что нового, какие изменения ? Нет файла change.log и трудно понимание новой версии

alkresin: В основном - мелкие правки, накопившиеся за истекшее время. Я их и не помню. Последняя - исправлена проблема с кодировкой при операциях с Clipboard в hbedit, собранном под Линукс и gthwg. Ну и добавлены новые плагины, игры Уголки и Судоку.

alkresin: Выложил очередную версию. Небольшие исправления. В режиме редактирования добавлены команды Alt-3, Alt-8 - аналоги Vim-команд # и * - поиск, соответственно, предыдущего и следующего вхождения слова, на котором стоит курсор. Очень удобная, кстати, вещь, я часто пользуюсь.

alkresin: Вышел очередной релиз - 2.2-8 Основное новшество - добавлен интегрированный модуль hbCommander - менеджер файлов. Его окно открывается или из меню, или, в том случае, если в редакторе открыто только одно - при старте, например, по Ctrl-Tab. Настройки - в hbc.ini F1 - help, F9 - меню Этот HbCommander я сделал для себя лет 7 назад для того, чтобы работать с файлами на сервере через netio. Расшаривать папки на серверах я не хотел - чтобы вирусы, в случае чего, не распространялись через них, ну и вообще, для большей безопасности.

alkresin: Обновил бинарники для Windows, v2.2-13 Переписал подсистему реализации консоли под Windows- теперь она работает гораздо лучше, почти как надо. Кстати, окно консоли доступно в HbCommander, как и в других коммандерах, по Ctrl-O. Все, что было выведено в консоль, можно потом посмотреть в специальном окне редактора, доступном из меню Stdout window.

alkresin: Выпустил новую версию, v2.2-26 Основные изменения - в файловом менеджере. Добавлена поддержка zip-архивов, расширена функциональность некоторых операций. В общем, приближается по возможностям к таким столпам индустрии, как Far)



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