Re: Еще один текстовый редактор
Posted: Fri Nov 26, 2021 10:30 pm
r9336Leency wrote:Ctrl+Влево/Вправо не работает с кириллицей
Ctrl+Вправо нет, перескакивает за пробел.
Official KolibriOS board
https://board.kolibrios.org/
r9336Leency wrote:Ctrl+Влево/Вправо не работает с кириллицей
Ctrl+Вправо нет, перескакивает за пробел.
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
В Си dword и byte это не стандартные типы данных, вместо них uint32_t и uint8_t. Тогда уж надо подсветку для C- - делать (заодно подсветку EAX, EBX, и тд особенностей C- -)Leency wrote:Можно ли добавить в ini-файл для Си управляющие слова dword, byte и bool?
В 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?
Думаю, лучше я сделаю отдельный парсер для 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--.
1. Какой именно хоткей сделать?Leency wrote: По найденным недоработкам:
...
Можно изменить расширение, по аналогии с С++.Leency wrote: А как отличить С-- файл от Си?
Исправлено. Также исправлен еще один, намного более серьезный баг.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"
Сделано.Leency wrote:3. Массовое передвижение строк (выделения) не работает, только одна строка двигается
Сделано. Только я не стал подбирать цвет для выделения escape-последовательностей и оставил такой же, как для строк. Поэтому визуально \t, \n и т. п. сейчас не выделяются.Leency wrote:4. Нет подсветки экранированных символов в строке, но это мелочь "\tBMP\0GIF\0ICO\0CUR\0JPEG\0JPG\n
Code: Select all
[color_Dark]
...
string=245,238,162
escape=245,238,162
...
[color_Light]
...
string=0,128,0
escape=0,128,0
...