Автор | Сообщение |
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
[только новые]
|
|
alkresin
|
| moderator
|
Пост N: 1270
Зарегистрирован: 06.07.06
|
|
Отправлено: 22.05.19 16:32. Заголовок: Логика может быть ра..
Логика может быть разная. Я, повторяю, ориентировался на Far и Midnight Commander. Если авторам и пользователям этих двух популярных инструментов такая организация интерфейса кажется нормальной - значит, эта логика не такая уж ущербная).
|
|
|
alkresin
|
| moderator
|
Пост N: 1271
Зарегистрирован: 06.07.06
|
|
Отправлено: 23.05.19 10:04. Заголовок: Обновлен hbedit. Исп..
Обновлен hbedit. Исправлены ошибки, о которых здесь говорилось. В командном режиме добавлена возможность запускать консольные команды с перенаправлением вывода в новое окно редактора: !harbour
|
|
|
Pasha
|
| Администратор
|
Пост N: 3839
Зарегистрирован: 23.05.05
|
|
Отправлено: 23.05.19 10:13. Заголовок: Чтобы не создавать н..
Чтобы не создавать новую тему, напишу сюда. В редакторе фара сборку я сделал таким образом: Записал в фаре макрос (по Ctrl+.): Нажатие Shift+F10 (сохранение файла без подтверждения) затем нажатие клавиш _build В папке есть файл _Build.bat, по которому запускается сборка. При ошибках или предупреждениях в текущую папку кидается протокол компилятора с проблемными строками Повесил макрос на Ctrl+F12 В редакторе фара нажимаю волшебную клавишу, жду несколько сек, и анализирую результат. Кто как вызывает компиляцию из редактора, может есть способ получше ? Как это делается в hbedit ?
|
|
|
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, под оболочкой перекодируются в однобайтовый файл в др.каталоге и они участвуют в сборке, причем только изменненые.
|
|
|
Pasha
|
| Администратор
|
Пост N: 3840
Зарегистрирован: 23.05.05
|
|
Отправлено: 23.05.19 11:05. Заголовок: Спасибо. т.е. файл о..
Спасибо. т.е. файл ошибок компилятора, который создается переадресацией вывода компилятора >>, анализируются своей программой, которая вытаскивает из него строки с траблами, для дальнейшего анализа ? Неплохо.
|
|
|
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, поскольку он - кроссплатформенный.
|
|
|
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е подокно и работать дальше
|
|
|
alkresin
|
| moderator
|
Пост N: 1273
Зарегистрирован: 06.07.06
|
|
Отправлено: 23.05.19 12:58. Заголовок: SergKis пишет: При ..
SergKis пишет: цитата: | При делении окна на подокна в окне Edit счетчик колонка теряет правый символ при позиции > 9 и 2а символа при > 99 2. |
| Странно, я это исправлял - у меня все нормально. Сколько колонок у вас задано в ini (screen_width)?
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2583
Зарегистрирован: 17.02.12
|
|
Отправлено: 23.05.19 13:07. Заголовок: alkresin пишет Стран..
alkresin пишет цитата: | Странно, я это исправлял - у меня все нормально. Сколько колонок у вас задано в ini (screen_width)? |
| screen_width=120 screen_height=30
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2584
Зарегистрирован: 17.02.12
|
|
Отправлено: 23.05.19 13:09. Заголовок: PS на 100, действите..
PS на 100, действительно, нормально.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2585
Зарегистрирован: 17.02.12
|
|
Отправлено: 23.05.19 13:12. Заголовок: PPS Даже при делении..
PPS Даже при делении окна на 2е части и фокус на Edit, Esc - завершает работу hbedit
|
|
|
|
alkresin
|
| moderator
|
Пост N: 1274
Зарегистрирован: 06.07.06
|
|
Отправлено: 23.05.19 13:32. Заголовок: SergKis пишет: Даже..
SergKis пишет: цитата: | Даже при делении окна на 2е части и фокус на Edit, Esc - завершает работу hbedit |
| Ну это так и было предусмотрено. Второе окно - как бы дочернее, readonly, поэтому при закрытии основного окна и это закрывается автоматически. А какой смысл расщеплять экран и потом закрывать основное редактируемое окно и оставлять такое же readonly?
|
|
|
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
|
|
|
alkresin
|
| moderator
|
Пост N: 1276
Зарегистрирован: 06.07.06
|
|
Отправлено: 24.05.19 09:53. Заголовок: SergKis пишет: в пр..
SergKis пишет: цитата: | в примере с 4мя подокнами переход по Esc на последнее дочернее - хорошее решение, понравилось |
| Вообще-то это случайный побочный эффект ошибки. Возможность иметь больше двух окон я еще не рассматривал. цитата: | Работа по Ctrl+w, w абсолютно не привычна |
| Можно и мышкой. цитата: | Получается подготовленная оконная среда для работы закроется по случайному Esc |
| Нажатому в основном окне. Впрочем, можно alert поставить - если ESC нажат в основном окне при наличии дочерних.
|
|
|
alkresin
|
| moderator
|
Пост N: 1277
Зарегистрирован: 06.07.06
|
|
Отправлено: 24.05.19 09:56. Заголовок: Обновил hbedit. Испр..
Обновил hbedit. Исправлено несколько ошибок. Временно запрещено открытие дочернего окна из дочернего.
|
|
|
alkresin
|
| moderator
|
Пост N: 1278
Зарегистрирован: 06.07.06
|
|
Отправлено: 27.05.19 09:16. Заголовок: Обновил hbedit. Упор..
Обновил hbedit. Упорядочено управление окнами - вроде бы нормально теперь.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2587
Зарегистрирован: 17.02.12
|
|
Отправлено: 27.05.19 12:44. Заголовок: alkresin Нет времен..
alkresin Нет времени модификации TimeStamp в oEdit, что бы при Save отслеживать изменение файла внешней программой с сообщением.
|
|
|
alkresin
|
| moderator
|
Пост N: 1279
Зарегистрирован: 06.07.06
|
|
Отправлено: 29.05.19 08:59. Заголовок: Обновлен hbedit. Доб..
Обновлен hbedit. Добавлена проверка времени модификации перед сохранением. Добавлена команда V в Vim-режиме.
|
|
|
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ой сир. левый край перескоки остаются при перемещении. Наверно, так не должно быть ?
|
|
|
alkresin
|
| moderator
|
Пост N: 1280
Зарегистрирован: 06.07.06
|
|
Отправлено: 30.05.19 13:07. Заголовок: SergKis пишет: жмем..
SergKis пишет: Поставьте в ini опцию (а я добавлю ее в ini закомментированную) tabtospaces=On тогда tab будет преобразовываться в определенное tablen количество пробелов. А по умолчанию tab - это именно tab.
|
|
|
Ответов - 300
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[только новые]
|
|