On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение
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: 3049
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 10.02.20 19:14. Заголовок: PS И такая вставка в..


PS
И такая вставка в hbedit, текст, который правим, правильно происходит и из Far, из Akelpad и Notepad3

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 3050
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 10.02.20 19:25. Заголовок: PPS Т.к. уже ~70% ра..


PPS
Т.к. уже ~70% работу делаю в hbedit, то перенос из hbedit в Akelpad, Notepad3 почти не актуален, обратный
перенос работает как мне надо. В проектах подключен вызов 2х редакторов Akelpad и hbedi.t + hbedit в Far
подключен на Alt+F4, на новой pc и на Enter. Родной Far редактор на F4 - привычка.
Словом спасибо за hbedit !

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 3055
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.02.20 07:49. Заголовок: alkresin Можно доба..


alkresin
Можно добавить\разделить в палитру цвет режима readonly, т.е. на примере
palette=solarized light
тот фон на котором работаем отнести к режиму readonly, другой, более светлый, сделать фоном работы редактора ?

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


Пост N: 1410
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 12.02.20 14:17. Заголовок: SergKis пишет: Можн..


SergKis пишет:

 цитата:
Можно добавить\разделить в палитру цвет режима readonly,


Т.е., добавить в ini опцию типа
palette_ro=solarized dark
?
Можно.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 3058
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.02.20 15:19. Заголовок: alkresin пишет Т.е.,..


alkresin пишет
 цитата:
Т.е., добавить в ini опцию типа
palette_ro=solarized dark


Возможно так
 
[PALETTE_4]
name=solarized light
; ReadOnly как было
colors= #?????? #002B36, #073642, #586E75, #657B83, #839496, #93A1A1, #EEE8D5, #FDF6E3, #B58900, #CB4B16, #DC322F, #D33682, #6C71C4, #268BD2, #2AA198, #859900
...

т.е. опция как была name=solarized light, так и осталась, но при запуске hbedit.exe -ro ...
цвет фона берется для указанного под ?????, в режиме edit как было
или как вариант
colorROnly=RB/B
colormain=RB/B
...

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 3059
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.02.20 15:26. Заголовок: PS Т.е. делаем 17 pa..


PS
Т.е. делаем 17 palette цветов (берем всегда 16), только меняем цвет для фона при -ro из 1го элемента, иначе со 2го

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


Пост N: 1411
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 19.02.20 14:54. Заголовок: 17-й цвет добавить в..


17-й цвет добавить в палитру нельзя, не может быть в харборовской палитре больше 16 цветов, это ограничение gt-системы. Если мы определяем 17-й цвет - это значит, что мы добавляем новую палитру. По сути, это то, что я предлагал (palette_ro=solarized xxx ).
Можно вместо этого в определение палитры в ini добавить, например,
bgReadOnly=W
т.е., цвет фона для ro режима меняем на W, но этот W - один из 16 цветов текущей палитры.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 3068
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.02.20 15:35. Заголовок: alkresin пишет 17-й ..


alkresin пишет
 цитата:
17-й цвет добавить в палитру нельзя, не может быть в харборовской палитре больше 16 цветов
... т.е., цвет фона для ro режима меняем на W, но этот W - один из 16 цветов текущей палитры.


Режим ReadOnly с цветом это повторный запуск hbedit и 17 цвет может быть, его как раз и использовать вместо фона режима Edit,
т.е. харбору мы скармливаем всегда 16 цветов палитры, подменяя цвет фона. Режим ReadOnly в подокнах hbedit не меняет цвет фона.
Т.е. работа как было. Смена цвета для ReadOnly только для др. запуска hbedit. Можно, конечно, дублировать полностью секции и
запускать экз. hbedit для ReadOnly с новой секцией, но очень плодятся секции в ini

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


Пост N: 1412
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 19.02.20 16:38. Заголовок: SergKis пишет: Режи..


SergKis пишет:

 цитата:
Режим ReadOnly с цветом это повторный запуск hbedit и 17 цвет может быть, его как раз и использовать вместо фона режима Edit,
... Режим ReadOnly в подокнах hbedit не меняет цвет фона.


Т.е., это все только для запуска с переключателем -ro? Вводить 17-й цвет в палитры, который будет использоваться только при определенном параметре командной строки?
Это как-то странно, на мой взгляд. Тогда уж логичнее при запуске с -ro и -f задать - с другим ini-файлом, в котором будет определена спец.палитра.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 3069
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.02.20 17:09. Заголовок: alkresin пишет Тогда..


alkresin пишет
 цитата:
Тогда уж логичнее при запуске с -ro и -f задать - с другим ini-файлом, в котором будет определена спец.палитра.


Из за одного цвета фона, создавать отдельные ini или секции + доп. параметры запуска, по мне, это лишнее, но возможное.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 3070
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.02.20 17:43. Заголовок: PS Хочу сделать поис..


PS
Хочу сделать поиск handle окна с именем загруженного файла в hbedit и если есть, запускать в режиме readonly и др.цветом
Наличие др. ini или секций тут лишнее, т.к. ini могут быть относительными по отношению к проекту

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


Пост N: 1415
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 15.09.20 10:27. Заголовок: Выложен новый релиз ..


Выложен новый релиз HbEdit: http://www.kresin.ru/hbedit.html
В него вошли разные мелкие исправления и дополнения, сделанные за прошедшее время.
Сделано автодополнение - пока для Harbour и частично для C файлов. В hbedit.ini должен стоять 'autocomplete=on', можно также включить/выключить это через меню View.
Работает это так: набираем пару или больше символов и жмем Tab - выскакивает список для выбора вариантов, если они есть. Для prg постоянная часть списка формируется из набора ключевых слов ( "FUNCTION", "RETURN", ... ) и списка функций в plugins/hb_funcs.txt. Дополнительная часть списка формируется из названий функций в текущем файле, статических переменных, #define и Memvar в начале файла, Local, Memvar, Static в текущей функции.

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


Пост N: 1416
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 17.09.20 10:41. Заголовок: Выложен новый релиз ..


Выложен новый релиз HbEdit: http://www.kresin.ru/hbedit.html
Поправлено кое-что.
В ini добавлена опция autodelay, она задает время в секундах (можно и нецелое - 0.8, например), после которого появляется список вариантов. Сейчас она закомментирована. Если ее раскомментировать, то для появления подсказки можно не жать Tab, а подождать заданное время.

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


Пост N: 1417
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 17.09.20 13:43. Заголовок: Кстати, в состав HbE..


Кстати, в состав HbEdit включена маленькая библиотека - хотя это, наверное сильно сказано - скорее, модуль, написанный на С, который реализует prefixed tree (trie), структуру хранения строк, облегчающую их поиск.
Здесь он используется для хранения ключевых слов, используемых в автодополнении, но может применяться и в других случаях, когда требуется хранилище строк с быстрым поиском.

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




Пост N: 7244
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 17.09.20 14:20. Заголовок: alkresin Можно паро..


alkresin
Можно парочку примеров для понимания работы этой библиотеки ?
Спасибо !

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


Пост N: 1418
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 17.09.20 14:46. Заголовок: Dima пишет: Можно п..


Dima пишет:

 цитата:
Можно парочку примеров для понимания работы этой библиотеки ?


Ну например,
 
FUNCTION Main()

LOCAL arr := { "FUNCTION", "PROCEDURE", "RETURN", "hb_FNameName", "hb_FNameDir", "hb_FNameExt" }
LOCAL trie
LOCAL i, iCou, cBuff

? "Start"
trie := trie_Create()
? "Trie created"

FOR i := 1 TO Len( arr )
? i, arr[ i ]
trie_Add( trie, arr[ i ] )
NEXT

? "-------------"
// Проверяем, есть ли эти слова в хранилище
? trie_Exist( trie, "FUNCTION" ), trie_Exist( trie, "PROCEDURE" ), trie_Exist( trie, "RETURN" ), trie_Exist( trie, "hb_FNameName" ), trie_Exist( trie, "hb_FNameDir" ), trie_Exist( trie, "hb_FNameExt" )
? trie_Exist( trie, "GONE" )

// Проверяем, сколько имеется слов с заданным префиксом
? trie_Count( trie, "hb_FNameDir" ), trie_Count( trie, "hb_FNam" )

// Выводим строку - список слов, разделенных \n с заданным префиксом
cBuff := trie_List( trie, "hb_", @iCou )
? iCou
IF iCou > 0
? cBuff
ENDIF

// Закрываем хэндл хранилища, освобождаем соответствующие ресурсы
trie_Close( trie )
? "End"

RETURN Nil


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


Пост N: 1419
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 17.09.20 14:52. Заголовок: Квадратные скобки съ..


Квадратные скобки съедает почему-то, там должно быть в цикле arr и в квадратных скобках i

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




Пост N: 7245
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 17.09.20 14:57. Заголовок: alkresin пишет: Ква..


alkresin пишет:

 цитата:
Квадратные скобки съедает почему-то


Поправил ......
а писать в коде надо так [ i ]

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


Пост N: 1420
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 17.09.20 15:24. Заголовок: Спасибо. Боюсь, что ..


Спасибо. Боюсь, что все-равно забуду до следующего раза.

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




Пост N: 7246
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 17.09.20 16:35. Заголовок: alkresin Есть тег IT..


alkresin
Есть тег ITALIC для строки [ i ][ /i ] (без пробелов разумеется) , так вот если в выложенном сырце
встречается [ i ] (без пробелов) то движок форума это понимает как начало шрифта ITALIC

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