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