On-line: гостей 1. Всего: 1 [подробнее..]
АвторСообщение
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: 2589
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.05.19 13:19. Заголовок: alkresin пишет А по..


alkresin пишет
 цитата:
А по умолчанию tab - это именно tab.


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

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1281
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 30.05.19 13:40. Заголовок: SergKis пишет: Т.е...


SergKis пишет:

 цитата:
Т.е. если она 40, то при движении вверх вниз, должна оставаться 40, не перепрыгивая.


Если 40, то - да. Надо будет подправить это дело.
А вот если, скажем, 37, и в следующей строке здесь как раз tab, то курсор скакнет на 36.

Спасибо: 0 
Профиль
SergKis



Пост N: 2590
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.05.19 13:48. Заголовок: alkresin пишет А вот..


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


Не должен курсор менять самопроизвольно позицию, т.е. был на 37 и остался на ней же, не зависимо есть или нет в строке TAB

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1282
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 30.05.19 14:19. Заголовок: SergKis пишет: Не д..


SergKis пишет:

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


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

Спасибо: 0 
Профиль
SergKis



Пост N: 2591
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.05.19 15:02. Заголовок: alkresin пишет Это ..


alkresin пишет
 цитата:
Это стандартное и естественное поведение для всех редакторов - хоть Far, хоть vscode, ...


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

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1283
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 31.05.19 10:58. Заголовок: SergKis пишет: посл..


SergKis пишет:

 цитата:
после TAB + 2 SPACE, полученная позиция курсора при движении вверх вниз не меняется


Возможно, мы не вполне понимаем друг друга. Я сделал кое-какие правки - теперь курсор движется как в Far.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1284
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 31.05.19 11:00. Заголовок: Обновлен hbedit. Поп..


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

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1285
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 05.06.19 11:39. Заголовок: Обновил hbedit. Доба..


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

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1286
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 07.06.19 15:34. Заголовок: Обновил hbedit. Доба..


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

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1287
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 11.06.19 10:51. Заголовок: Обновлен hbedit. Неб..


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

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1288
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 14.06.19 09:22. Заголовок: Обновлен hbedit. Доб..


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

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1289
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 19.06.19 10:40. Заголовок: Обновлен hbedit. Доб..


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

Спасибо: 0 
Профиль
SergKis



Пост N: 2595
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 24.06.19 10:27. Заголовок: alkresin Имеем demo..


alkresin
Имеем demo.hbp
 
# 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 !.!
?


Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1293
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 24.06.19 11:10. Заголовок: SergKis пишет: 1. C..


SergKis пишет:

 цитата:
1. Ctrl+F -> приводит к ошибке apps.err


Была там маленькая ошибка, исправил.

 цитата:
2. Как запустить на исполнение этот hbp, если в Far запускается по ассоциации
C:\MiniGui\BATCH\hbmk2.bat !.!


Можно будет ini-файл для плагина сделать с командной строкой запуска hbmk.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1294
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 24.06.19 11:14. Заголовок: Обновлен hbedit. Доб..


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

Спасибо: 0 
Профиль
SergKis



Пост N: 2596
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 24.06.19 13:03. Заголовок: alkresin Ctrl-F3 ..


alkresin

 цитата:
Ctrl-F3 выделение вертикального блока


Привычнее Shift+Alt+стрелки

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1295
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 24.06.19 16:17. Заголовок: SergKis пишет: Прив..


SergKis пишет:

 цитата:
Привычнее Shift+Alt+стрелки


Добавил и такой вариант.

Спасибо: 0 
Профиль
SergKis



Пост N: 2597
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 24.06.19 16:40. Заголовок: alkresin пишет Добав..


alkresin пишет
 цитата:
Добавил и такой вариант.


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

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 1296
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 24.06.19 21:13. Заголовок: SergKis пишет: - за..


SergKis пишет:

 цитата:
- замена первого символа на upper\lower
- сортировка строк в блоке


С выделением много чего можно интересного еще сделать - сумму посчитать, например, или, как в vim, добавить подстроку слева или справа к каждой выделенной строке. Думаю об интерфейсе. Можно повесить каждое действие на клавишу. Можно сделать меню, вызывая его, например, буквой m, ...
Стоит, наверное, сделать возможность подключать плагин для дополнительных вариантах обработки выделенного текста.


 цитата:
Для prg авто завершение строк ?


Может быть. Ничего против не имею, но и большой пользы не вижу. Что завершать-то, if / endif ?

Спасибо: 0 
Профиль
SergKis



Пост N: 2600
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 24.06.19 22:45. Заголовок: alkresin пишет Что з..


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
и т.д.
по мере добавления букв список уменьшается

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