On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение
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 [только новые]


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 
Профиль
Ответов - 300 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 All [только новые]
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 8
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет