r9336Leency wrote:Ctrl+Влево/Вправо не работает с кириллицей
Ctrl+Вправо нет, перескакивает за пробел.
Еще один текстовый редактор
-
Last edited by akron1 on Sat Nov 27, 2021 8:24 pm, edited 2 times in total.
Мне текущая реализация подходит, хоть она и отличатся от других текстовых редакторов.
В них выделение прыгает так:
В них выделение прыгает так:
Code: Select all
Case 1:
1. Hello| world
2. [Ctrl+Right]
Cedit result: Hello |world
Other editors result: Hello world|
Case 2:
1. Hello |world
2. [Ctrl+Left]
Cedit result: Hello| world
Other editors result: |Hello world
Из хаоса в космос
Если окно CEdit свернуить в заголовок, то надпись на заголовке окна пропадает.
Можно ли добавить в ini-файл для Си управляющие слова dword, byte и bool?
Можно ли добавить в ini-файл для Си управляющие слова dword, byte и bool?
- Attachments
-
-
Screenshot_1.png (10.68 KiB)Viewed 5798 times
-
Из хаоса в космос
В Си dword и byte это не стандартные типы данных, вместо них uint32_t и uint8_t. Тогда уж надо подсветку для C- - делать (заодно подсветку EAX, EBX, и тд особенностей C- -)Leency wrote:Можно ли добавить в ini-файл для Си управляющие слова dword, byte и bool?
The best way to predict the future is to create it.
В VC типы dword и byte такие-же стандартные как и uint32_t и uint8_t. Поэтому это не проблема.rgimad wrote:В Си dword и byte это не стандартные типы данных, вместо них uint32_t и uint8_t. Тогда уж надо подсветку для C- - делать (заодно подсветку EAX, EBX, и тд особенностей C- -)Leency wrote:Можно ли добавить в ini-файл для Си управляющие слова dword, byte и bool?
С четом того что в стандарте Си жо С11 или С18 нет bool, то вообще не вижу проблем.
to infinity and beyond
Думаю, лучше я сделаю отдельный парсер для C--. С-- отличается от C не только множеством ключевых слов, но и синтаксисом числовых констант:Leency wrote:Можно ли добавить в ini-файл для Си управляющие слова dword, byte и bool?
Примеры:
0b11111111 // двоичное представление числа 255
0x00F // шестнадцатеричное представление числа 15
0o10 // восьмеричное представление числа 8
1.234567E-20 // вещественное число
C-- вместе с традиционным C-стилем шестнадцатеричных чисел понимает и
числа записанные в стиле ассемблера. Для тех, кто вдруг не знает, сообщаю,
что шестнадцатеричные числа в ассемблере имеют на конце символ h или H.
Если первый символ шестнадцатеричного числа больше 9, то перед ним
обязательно должен быть записан символ 0. Примеры:
1234h
0A000H
К числовым константам можно писать суффиксы L, U и F. Фактически
эти суффиксы в C-- не играют никакой роли, компилятор их просто
проглатывает. Пример:
#define DEF 1L
#define DEF2 2Lu
#define DEF3 3.0F
А как отличить С-- файл от Си?Думаю, лучше я сделаю отдельный парсер для C--.
Ну если это возможно, было бы хорошо...
Из хаоса в космос
3.5 часа разработки в Колибри, это просто невероятно!
Спасибо за чудесный редактор! Он действительно ощущается взрослой стабильной программой в которой удобно вести разработку. Ух, как давно я этого хотел
По найденным недоработкам:
1. Хотелось бы хоткей для выделения слова
2. Реализовать Shit-tab для строки/выделения
3. Массовое передвижение строк (выделения) не работает, только одна строка двигается
4. Нет подсветки экранированных символов в строке, но это мелочь "\tBMP\0GIF\0ICO\0CUR\0JPEG\0JPG\n"
Спасибо за чудесный редактор! Он действительно ощущается взрослой стабильной программой в которой удобно вести разработку. Ух, как давно я этого хотел
По найденным недоработкам:
1. Хотелось бы хоткей для выделения слова
2. Реализовать Shit-tab для строки/выделения
3. Массовое передвижение строк (выделения) не работает, только одна строка двигается
4. Нет подсветки экранированных символов в строке, но это мелочь "\tBMP\0GIF\0ICO\0CUR\0JPEG\0JPG\n"
Spoiler:
Из хаоса в космос
Leency, спасибо за отзыв, а также за предложения по улучшению!
По поводу C--: отличить C-- от C, конечно нельзя. Можно сделать переключение на C-- в меню language.
2. Shift-tab почему-то не работает в режиме ascii, если включена русская раскладка. В этом можно убедиться, если открыть программу keyascii, переключиться на русскую раскладку и нажать shift-tab. Программа никак не отреагирует. Поэтому, мне пришлось использовать shift-bksp.
3, 4. Это можно сделать, чуть позже, когда будет время.
По поводу C--: отличить C-- от C, конечно нельзя. Можно сделать переключение на C-- в меню language.
1. Какой именно хоткей сделать?Leency wrote: По найденным недоработкам:
...
2. Shift-tab почему-то не работает в режиме ascii, если включена русская раскладка. В этом можно убедиться, если открыть программу keyascii, переключиться на русскую раскладку и нажать shift-tab. Программа никак не отреагирует. Поэтому, мне пришлось использовать shift-bksp.
3, 4. Это можно сделать, чуть позже, когда будет время.
Может не заморачиваться и сделать просто подсветку bool, NULL, dword, byte в Си? Не важно что это не стандарт, ведь это повсеместно используют, и это ничего не поламает.
1. Ctl+E.
5. Если слово выделено, что Ctrl+F не ставит курсор в поле ввода. Можно это убрать? Чтобы Ctrl+F всегда ставил курсор в поле ввода.
(Если нет, то хоть чтобы Ctrl+F уже при открытой панели стали ставил курсор на поиск)
1. Ctl+E.
5. Если слово выделено, что Ctrl+F не ставит курсор в поле ввода. Можно это убрать? Чтобы Ctrl+F всегда ставил курсор в поле ввода.
(Если нет, то хоть чтобы Ctrl+F уже при открытой панели стали ставил курсор на поиск)
Из хаоса в космос
Можно изменить расширение, по аналогии с С++.Leency wrote: А как отличить С-- файл от Си?
C = .c
C++ = ,cpp
C-- = .cmm
to infinity and beyond
Так оно и было C-- = .cmm, .c--, .h--
Пока кто-то не сумев настроить подсветку в зависимости от расширения в своём редакторе не переименовал .c-- файлы в .c и .h
Пока кто-то не сумев настроить подсветку в зависимости от расширения в своём редакторе не переименовал .c-- файлы в .c и .h
Ещё одно: было бы хорошо помечать как-то табы в которых есть несохраненные изменения.
Из хаоса в космос
Появилось немного времени.
r9410:
r9410:
Исправлено. Также исправлен еще один, намного более серьезный баг.Leency wrote:Если окно CEdit свернуть в заголовок, то надпись на заголовке окна пропадает.
Ладно, пока так и сделал.Leency wrote:Может не заморачиваться и сделать просто подсветку bool, NULL, dword, byte в Си?
Сделано (ctrl+E).Leency wrote:1. Хотелось бы хоткей для выделения слова
Сделано. Курсор всегда ставится в поле "find".Leency wrote:Если слово выделено, что Ctrl+F не ставит курсор в поле ввода
Сделано, измененные тексты помечаются символом "*". Также, я убрал надпись "modified" в правом нижнем углу.Leency wrote:Ещё одно: было бы хорошо помечать как-то табы в которых есть несохраненные изменения.
Это пока отложено, я решил не делать всё сразу. Сделаю позже.Leency wrote: 3. Массовое передвижение строк (выделения) не работает, только одна строка двигается
4. Нет подсветки экранированных символов в строке, но это мелочь "\tBMP\0GIF\0ICO\0CUR\0JPEG\0JPG\n"
r9413:
cedit.ini:
Можешь сам подобрать цвет (escape=...) и закоммитить измененный cedit.ini.
Сделано.Leency wrote:3. Массовое передвижение строк (выделения) не работает, только одна строка двигается
Сделано. Только я не стал подбирать цвет для выделения escape-последовательностей и оставил такой же, как для строк. Поэтому визуально \t, \n и т. п. сейчас не выделяются.Leency wrote:4. Нет подсветки экранированных символов в строке, но это мелочь "\tBMP\0GIF\0ICO\0CUR\0JPEG\0JPG\n
cedit.ini:
Code: Select all
[color_Dark]
...
string=245,238,162
escape=245,238,162
...
[color_Light]
...
string=0,128,0
escape=0,128,0
...
Who is online
Users browsing this forum: No registered users and 6 guests