Автор | Сообщение |
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) Если есть идеи для реализации - буду рад услышать.
|
|
|
Ответов - 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) ?
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2734
Зарегистрирован: 17.02.12
|
|
Отправлено: 12.08.19 10:34. Заголовок: PS Если верт. выделе..
PS Если верт. выделенный блок больше, чем строк окна hbedit и нажимаем <- (переход в начало выделения), курсор уходит в начало выд. блока, а отображение остается прежним и курсора не видно - "потеряли". Перемещения стрелками покажет курсор только, когда он "вернется" по координатам на тек. отображение. Notepad3 возвращает курсор в начало выделенного блока и отображает окно как было при начале выделения.
|
|
|
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 и нажимаем < |
| Исправил.
|
|
|
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ой вариант ?
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2736
Зарегистрирован: 17.02.12
|
|
Отправлено: 13.08.19 13:26. Заголовок: PS Странно работает ..
PS Странно работает подсветка многострочного, создаваемого блока /* ... */ иногда засвечивает сразу после /*, но чаще нет после */ не засвечивает блок, надо сделать новые строки. иногда после ввода новой строки засветка срабатывает, иногда только после второй новой строки
|
|
|
alkresin
|
| moderator
|
Пост N: 1339
Зарегистрирован: 06.07.06
|
|
Отправлено: 14.08.19 10:07. Заголовок: Обновлен hbedit. Кое..
Обновлен hbedit. Кое-какие исправления, в т.ч. - подсветка многострочных комментариев. Список функций теперь выводится с опцией поиска при количестве ф-й больше трех.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2748
Зарегистрирован: 17.02.12
|
|
Отправлено: 20.08.19 07:23. Заголовок: alkresin Если строк..
alkresin Если строка длинная и выходит за пределы окна, к примеру, на 10 символов и жмем Enter (new line), то курсор убегает в первые позиции и "теряется" из показа, т.к. мы остались на отображении конца строки. Надо, наверно, переместить показ.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2751
Зарегистрирован: 17.02.12
|
|
Отправлено: 20.08.19 13:15. Заголовок: PS Можно сделать уст..
PS Можно сделать установку в ini для показа в заголовке окна (где hbedit) рабочий каталог (путь) загрузки 1го файла ? Что бы различать версии (по каталогам) одного и того же файла.
|
|
|
alkresin
|
| moderator
|
Пост N: 1344
Зарегистрирован: 06.07.06
|
|
Отправлено: 21.08.19 10:21. Заголовок: SergKis пишет: Можн..
SergKis пишет: цитата: | Можно сделать установку в ini для показа в заголовке окна (где hbedit) рабочий каталог (путь) загрузки 1го файла ? |
| Может, лучше менять режим отображения имени файла по щелчку по нему - тогда он будет изменен в конкретном окне и тогда, когда это надо?
|
|
|
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 (исходная версия файла).
|
|
|
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 к примеру
|
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2755
Зарегистрирован: 17.02.12
|
|
Отправлено: 21.08.19 11:21. Заголовок: PS А щелкнуть по реж..
PS А щелкнуть по режиму <Edit> и сделать его <ReadOnly> (комбинация клавиш), было бы хорошо, т.к. из 3х править один надо, как правило.
|
|
|
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
|
|
|
alkresin
|
| moderator
|
Пост N: 1346
Зарегистрирован: 06.07.06
|
|
Отправлено: 21.08.19 13:01. Заголовок: Ok, сделаю в ini. А ..
Ok, сделаю в ini. цитата: | А щелкнуть по режиму <Edit> и сделать его <ReadOnly> |
| Что-то не нравится мне такой вариант. цитата: | Вопрос по переназначению клавиш. |
| Сейчас на клавишу можно повесить только одну клавишу, но можно будет сделать и для сочетания клавиш.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2757
Зарегистрирован: 17.02.12
|
|
Отправлено: 21.08.19 13:23. Заголовок: alkresin пишет Что-т..
alkresin пишет цитата: | Что-то не нравится мне такой вариант. |
| Это, скорее, образно " щелкнуть по режиму <Edit> и сделать его <ReadOnly>", лучше клавиши и меню. Сейчас перевести из Edit в ReadOnly загруженный текст нет возможности и попадался, что начинаешь править не тот текст.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2758
Зарегистрирован: 17.02.12
|
|
Отправлено: 21.08.19 14:00. Заголовок: PS Команды можно доб..
PS Команды можно добавить в меню "Windows" с клавишами, например Ctrl-w, r - ReadOnly Ctrl-w, e - Edit
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2759
Зарегистрирован: 17.02.12
|
|
Отправлено: 22.08.19 09:33. Заголовок: alkresin При вставк..
alkresin При вставке блока строк Ctrl+V в нижнюю часть окна hbedit, происходит передергивание показа после операции - курсор и строки показа перепрыгивают в верхнюю часть окна. Можно оставить показ в тех же координатах, как было перед вставкой (rкак в Far, к примеру) ?
|
|
|
alkresin
|
| moderator
|
Пост N: 1347
Зарегистрирован: 06.07.06
|
|
Отправлено: 22.08.19 11:18. Заголовок: SergKis пишет: Можн..
SergKis пишет: цитата: | Можно оставить показ в тех же координатах |
| Если курсор после вставки остается в пределах экрана - посмотрю.
|
|
|
alkresin
|
| moderator
|
Пост N: 1348
Зарегистрирован: 06.07.06
|
|
Отправлено: 22.08.19 11:23. Заголовок: Обновлен hbedit. Поп..
Обновлен hbedit. Поправлены ошибки. Изменен заголовок в окне сравнения. Добавлена возможность сравнивать фрагменты файлов. Для этого надо выделить и поместить в clipboard первый фрагмент, затем выделить второй, вызвать меню (F9 или m) и выбрать опцию "Compare" - появятся два новых окна с результатом сравнения. В ini добавлена опция pathinhead - если On, то в заголовке отображается полный путь к файлу. Как и некоторые др. опции, это можно поменять в командном режиме с помощью set pathinhead.
|
|
|
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 Вроде нормальненько.
|
|
|
Ответов - 300
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[только новые]
|
|