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 [только новые]


alkresin
moderator


Пост N: 1270
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 22.05.19 16:32. Заголовок: Логика может быть ра..


Логика может быть разная. Я, повторяю, ориентировался на Far и Midnight Commander. Если авторам и пользователям этих двух популярных инструментов такая организация интерфейса кажется нормальной - значит, эта логика не такая уж ущербная).

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


Пост N: 1271
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 23.05.19 10:04. Заголовок: Обновлен hbedit. Исп..


Обновлен hbedit.
Исправлены ошибки, о которых здесь говорилось.
В командном режиме добавлена возможность запускать консольные команды с перенаправлением вывода в новое окно редактора:
!harbour

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 3839
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 23.05.19 10:13. Заголовок: Чтобы не создавать н..


Чтобы не создавать новую тему, напишу сюда.
В редакторе фара сборку я сделал таким образом:
Записал в фаре макрос (по Ctrl+.):
Нажатие Shift+F10 (сохранение файла без подтверждения)
затем нажатие клавиш _build
В папке есть файл _Build.bat, по которому запускается сборка. При ошибках или предупреждениях в текущую папку кидается протокол компилятора с проблемными строками
Повесил макрос на Ctrl+F12
В редакторе фара нажимаю волшебную клавишу, жду несколько сек, и анализирую результат.
Кто как вызывает компиляцию из редактора, может есть способ получше ?
Как это делается в hbedit ?

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



Пост N: 2581
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 23.05.19 10:49. Заголовок: Pasha пишет Кто как ..


Pasha пишет
 цитата:
Кто как вызывает компиляцию из редактора


В Notpad3 меню File => Запустить => Команда => окно с заданным именем (в ini) cmd\bat файла с кнопками
<OK>, <Cancel>, <обзор выбора др.файла>
Быстрый вызов окна Ctrl+R
На экране отрабатывает cmd окно, выполняющее файл.
В cmd, при ошибке сборки, ставлю вызов hmg программы с browse показом файла ошибок, пи выборе строки с ошибкой, запускаю редактор с установкой на строку ошибки.
Из своей оболочки ведения проектов использую два редактора (по указанию в ini) AkelPad или Notepad3 (оба с расцветкой текста). cmd\bat сборки работает везде одинаково, только в оболочке можно задать список исп. файлов cmd, для сборки exe, lib разных, dll и выбрать нужный для исполнения. Файлы prg в основном в Utf8, под оболочкой перекодируются в однобайтовый файл в др.каталоге и они участвуют в сборке, причем только изменненые.

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 3840
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 23.05.19 11:05. Заголовок: Спасибо. т.е. файл о..


Спасибо.
т.е. файл ошибок компилятора, который создается переадресацией вывода компилятора >>,
анализируются своей программой, которая вытаскивает из него строки с траблами, для дальнейшего анализа ? Неплохо.

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


Пост N: 1272
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 23.05.19 11:50. Заголовок: Pasha пишет: Кто ка..


Pasha пишет:

 цитата:
Кто как вызывает компиляцию из редактора, может есть способ получше ?
Как это делается в hbedit ?


В hbedit есть готовый плагин для hbp файлов. Открывается hbp, по Ctrl-F можно посмотреть список файлов проекта и открыть нужные, по Ctrl-L - сборка проекта, при этом результаты выводятся в отдельное окно, в котором можно, нажав Enter на строке с сообщением об ошибке, перейти к соответствующему файлу исходников в соответствующей строке.
В принципе, аналогичный плагин можно было и для bat написать, но я выбрал hbp, поскольку он - кроссплатформенный.

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



Пост N: 2582
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 23.05.19 12:14. Заголовок: alkresin пишет Испра..


alkresin пишет
 цитата:
Исправлены ошибки, о которых здесь говорилось.


Не совсем:
1.
При делении окна на подокна в окне Edit счетчик колонка теряет правый символ при позиции > 9 и 2а символа при > 99
2.
hbedit.exe fedit.prg
F9
a // если работал в русской кодировке, то меню не понимает ни а ни б, надо переключать для команды в EN потом
обратно, лишние телодвижения
2
F9
a
1
Ctrl+w, w
Ctrl+w, w // на окне с Edit
F9
a
1
имеем четыре подокна, фокус на 4ом последнем
Esc
осталось три подокна, фокус на 1ом с Edit
Esc
переход фокуса на 3е подокно
Esc
hbedit с 3мя подокнами завершил работу, что не ожидано, т.к. хотелось убрать 3е подокно и работать дальше

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


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


SergKis пишет:

 цитата:
При делении окна на подокна в окне Edit счетчик колонка теряет правый символ при позиции > 9 и 2а символа при > 99
2.


Странно, я это исправлял - у меня все нормально. Сколько колонок у вас задано в ini (screen_width)?

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



Пост N: 2583
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 23.05.19 13:07. Заголовок: alkresin пишет Стран..


alkresin пишет
 цитата:
Странно, я это исправлял - у меня все нормально. Сколько колонок у вас задано в ini (screen_width)?


screen_width=120
screen_height=30

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



Пост N: 2584
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 23.05.19 13:09. Заголовок: PS на 100, действите..


PS
на 100, действительно, нормально.

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



Пост N: 2585
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 23.05.19 13:12. Заголовок: PPS Даже при делении..


PPS
Даже при делении окна на 2е части и фокус на Edit, Esc - завершает работу hbedit

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


Пост N: 1274
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 23.05.19 13:32. Заголовок: SergKis пишет: Даже..


SergKis пишет:

 цитата:
Даже при делении окна на 2е части и фокус на Edit, Esc - завершает работу hbedit


Ну это так и было предусмотрено. Второе окно - как бы дочернее, readonly, поэтому при закрытии основного окна и это закрывается автоматически.
А какой смысл расщеплять экран и потом закрывать основное редактируемое окно и оставлять такое же readonly?

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



Пост N: 2586
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 23.05.19 14:05. Заголовок: alkresin пишет А как..


alkresin пишет
 цитата:
А какой смысл расщеплять экран и потом закрывать основное редактируемое окно и оставлять такое же readonly?


Процесс работы с подокнами предполагает, перенос текста в окно Edit и нажатие Esc чисто рефлекторное или специально нажатое Esc (в примере с 4мя подокнами переход по Esc на последнее дочернее - хорошее решение, понравилось). Работа по Ctrl+w, w абсолютно не привычна. Наличие подокон похоже на работу с директорией, пока файлы в ней есть, удалить затруднительно. Т.е. убираем подокна, потом можно думать о закрытии hbedit, а могут быть и child окна с др. файлами. Получается подготовленная оконная среда для работы закроется по случайному Esc

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


Пост N: 1276
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 24.05.19 09:53. Заголовок: SergKis пишет: в пр..


SergKis пишет:

 цитата:
в примере с 4мя подокнами переход по Esc на последнее дочернее - хорошее решение, понравилось


Вообще-то это случайный побочный эффект ошибки. Возможность иметь больше двух окон я еще не рассматривал.

 цитата:
Работа по Ctrl+w, w абсолютно не привычна


Можно и мышкой.

 цитата:
Получается подготовленная оконная среда для работы закроется по случайному Esc


Нажатому в основном окне.
Впрочем, можно alert поставить - если ESC нажат в основном окне при наличии дочерних.

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


Пост N: 1277
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 24.05.19 09:56. Заголовок: Обновил hbedit. Испр..


Обновил hbedit.
Исправлено несколько ошибок.
Временно запрещено открытие дочернего окна из дочернего.

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


Пост N: 1278
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 27.05.19 09:16. Заголовок: Обновил hbedit. Упор..


Обновил hbedit.
Упорядочено управление окнами - вроде бы нормально теперь.

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



Пост N: 2587
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 27.05.19 12:44. Заголовок: alkresin Нет времен..


alkresin
Нет времени модификации TimeStamp в oEdit, что бы при Save отслеживать изменение файла внешней программой с сообщением.

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


Пост N: 1279
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 29.05.19 08:59. Заголовок: Обновлен hbedit. Доб..


Обновлен hbedit.
Добавлена проверка времени модификации перед сохранением.
Добавлена команда V в Vim-режиме.

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



Пост N: 2588
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.05.19 09:53. Заголовок: alkresin hbedit.exe..


alkresin
hbedit.exe fedit.prg (выравниваем подмассив на одинаковое смещение слева по 1ой строке)
 
FUNCTION mnu_Windows( oEdit, aXY, n )

LOCAL aMenu := { {"Switch window",Nil,Nil,"Ctrl-w,w"}, ;
{"Add window horizontally",Nil,Nil,"Ctrl-w,s"}, ;
{"Add window vertically",Nil,Nil,"Ctrl-w,v"} }
курсор в первой позиции строки {"Add window horizontally",Nil,Nil,"Ctrl-w,s"}, ;
жмем 3и раза VK_TAB + 2а раза VK_SPACE - строки 1, 2 выровняли
жмем стрелку вниз - курсор отпрыгивает влево, а не вниз в той же колонке
жмем стрелку вверх - курсор отпрыгивает вправо, опять не в той же колонке
для строки {"Add window vertically",Nil,Nil,"Ctrl-w,v"} } добавим пробелы слева, выравнивая по 2ой сир. левый край
перескоки остаются при перемещении.
Наверно, так не должно быть ?


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


Пост N: 1280
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 30.05.19 13:07. Заголовок: SergKis пишет: жмем..


SergKis пишет:

 цитата:
жмем 3и раза VK_TAB...


Поставьте в ini опцию (а я добавлю ее в ini закомментированную)
tabtospaces=On
тогда tab будет преобразовываться в определенное tablen количество пробелов. А по умолчанию tab - это именно tab.

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