Автор | Сообщение |
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) Если есть идеи для реализации - буду рад услышать.
|
|
|
Новых ответов нет
, стр:
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
|
|
|
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 !
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3055
Зарегистрирован: 17.02.12
|
|
Отправлено: 12.02.20 07:49. Заголовок: alkresin Можно доба..
alkresin Можно добавить\разделить в палитру цвет режима readonly, т.е. на примере palette=solarized light тот фон на котором работаем отнести к режиму readonly, другой, более светлый, сделать фоном работы редактора ?
|
|
|
alkresin
|
| moderator
|
Пост N: 1410
Зарегистрирован: 06.07.06
|
|
Отправлено: 12.02.20 14:17. Заголовок: SergKis пишет: Можн..
SergKis пишет: цитата: | Можно добавить\разделить в палитру цвет режима readonly, |
| Т.е., добавить в ini опцию типа palette_ro=solarized dark ? Можно.
|
|
|
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 ...
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3059
Зарегистрирован: 17.02.12
|
|
Отправлено: 12.02.20 15:26. Заголовок: PS Т.е. делаем 17 pa..
PS Т.е. делаем 17 palette цветов (берем всегда 16), только меняем цвет для фона при -ro из 1го элемента, иначе со 2го
|
|
|
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 цветов текущей палитры.
|
|
|
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
|
|
|
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-файлом, в котором будет определена спец.палитра.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3069
Зарегистрирован: 17.02.12
|
|
Отправлено: 19.02.20 17:09. Заголовок: alkresin пишет Тогда..
alkresin пишет цитата: | Тогда уж логичнее при запуске с -ro и -f задать - с другим ini-файлом, в котором будет определена спец.палитра. |
| Из за одного цвета фона, создавать отдельные ini или секции + доп. параметры запуска, по мне, это лишнее, но возможное.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3070
Зарегистрирован: 17.02.12
|
|
Отправлено: 19.02.20 17:43. Заголовок: PS Хочу сделать поис..
PS Хочу сделать поиск handle окна с именем загруженного файла в hbedit и если есть, запускать в режиме readonly и др.цветом Наличие др. ini или секций тут лишнее, т.к. ini могут быть относительными по отношению к проекту
|
|
|
|
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 в текущей функции.
|
|
|
alkresin
|
| moderator
|
Пост N: 1416
Зарегистрирован: 06.07.06
|
|
Отправлено: 17.09.20 10:41. Заголовок: Выложен новый релиз ..
Выложен новый релиз HbEdit: http://www.kresin.ru/hbedit.html Поправлено кое-что. В ini добавлена опция autodelay, она задает время в секундах (можно и нецелое - 0.8, например), после которого появляется список вариантов. Сейчас она закомментирована. Если ее раскомментировать, то для появления подсказки можно не жать Tab, а подождать заданное время.
|
|
|
alkresin
|
| moderator
|
Пост N: 1417
Зарегистрирован: 06.07.06
|
|
Отправлено: 17.09.20 13:43. Заголовок: Кстати, в состав HbE..
Кстати, в состав HbEdit включена маленькая библиотека - хотя это, наверное сильно сказано - скорее, модуль, написанный на С, который реализует prefixed tree (trie), структуру хранения строк, облегчающую их поиск. Здесь он используется для хранения ключевых слов, используемых в автодополнении, но может применяться и в других случаях, когда требуется хранилище строк с быстрым поиском.
|
|
|
Dima
|
| |
Пост N: 7244
Зарегистрирован: 17.05.05
|
|
Отправлено: 17.09.20 14:20. Заголовок: alkresin Можно паро..
alkresin Можно парочку примеров для понимания работы этой библиотеки ? Спасибо !
|
|
|
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
|
|
|
alkresin
|
| moderator
|
Пост N: 1419
Зарегистрирован: 06.07.06
|
|
Отправлено: 17.09.20 14:52. Заголовок: Квадратные скобки съ..
Квадратные скобки съедает почему-то, там должно быть в цикле arr и в квадратных скобках i
|
|
|
Dima
|
| |
Пост N: 7245
Зарегистрирован: 17.05.05
|
|
Отправлено: 17.09.20 14:57. Заголовок: alkresin пишет: Ква..
alkresin пишет: цитата: | Квадратные скобки съедает почему-то |
| Поправил ...... а писать в коде надо так [ i ]
|
|
|
alkresin
|
| moderator
|
Пост N: 1420
Зарегистрирован: 06.07.06
|
|
Отправлено: 17.09.20 15:24. Заголовок: Спасибо. Боюсь, что ..
Спасибо. Боюсь, что все-равно забуду до следующего раза.
|
|
|
Dima
|
| |
Пост N: 7246
Зарегистрирован: 17.05.05
|
|
Отправлено: 17.09.20 16:35. Заголовок: alkresin Есть тег IT..
alkresin Есть тег ITALIC для строки [ i ][ /i ] (без пробелов разумеется) , так вот если в выложенном сырце встречается [ i ] (без пробелов) то движок форума это понимает как начало шрифта ITALIC
|
|
|
Новых ответов нет
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[см. все]
|
|