Page 8 of 9

Re: Еще один текстовый редактор

Posted: Fri Nov 26, 2021 10:30 pm
by akron1
Leency wrote:Ctrl+Влево/Вправо не работает с кириллицей
Ctrl+Вправо нет, перескакивает за пробел.
r9336

Re: Еще один текстовый редактор

Posted: Sat Nov 27, 2021 5:21 pm
by Leency
Мне текущая реализация подходит, хоть она и отличатся от других текстовых редакторов.
В них выделение прыгает так:

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

Re: Еще один текстовый редактор

Posted: Sun Nov 28, 2021 1:17 am
by Leency
Если окно CEdit свернуить в заголовок, то надпись на заголовке окна пропадает.
Можно ли добавить в ini-файл для Си управляющие слова dword, byte и bool?

Re: Еще один текстовый редактор

Posted: Sun Nov 28, 2021 1:09 pm
by rgimad
Leency wrote:Можно ли добавить в ini-файл для Си управляющие слова dword, byte и bool?
В Си dword и byte это не стандартные типы данных, вместо них uint32_t и uint8_t. Тогда уж надо подсветку для C- - делать (заодно подсветку EAX, EBX, и тд особенностей C- -)

Re: Еще один текстовый редактор

Posted: Sun Nov 28, 2021 8:42 pm
by punk_joker
rgimad wrote:
Leency wrote:Можно ли добавить в ini-файл для Си управляющие слова dword, byte и bool?
В Си dword и byte это не стандартные типы данных, вместо них uint32_t и uint8_t. Тогда уж надо подсветку для C- - делать (заодно подсветку EAX, EBX, и тд особенностей C- -)
В VC типы dword и byte такие-же стандартные как и uint32_t и uint8_t. Поэтому это не проблема.
С четом того что в стандарте Си жо С11 или С18 нет bool, то вообще не вижу проблем.

Re: Еще один текстовый редактор

Posted: Mon Nov 29, 2021 12:32 am
by akron1
Leency wrote:Можно ли добавить в ini-файл для Си управляющие слова dword, byte и bool?
Думаю, лучше я сделаю отдельный парсер для C--. С-- отличается от C не только множеством ключевых слов, но и синтаксисом числовых констант:
Примеры:
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

Re: Еще один текстовый редактор

Posted: Tue Nov 30, 2021 1:21 am
by Leency
Думаю, лучше я сделаю отдельный парсер для C--.
А как отличить С-- файл от Си?
Ну если это возможно, было бы хорошо...

Re: Еще один текстовый редактор

Posted: Wed Dec 01, 2021 4:09 am
by Leency
3.5 часа разработки в Колибри, это просто невероятно!
Спасибо за чудесный редактор! Он действительно ощущается взрослой стабильной программой в которой удобно вести разработку. Ух, как давно я этого хотел :D

По найденным недоработкам:
1. Хотелось бы хоткей для выделения слова
2. Реализовать Shit-tab для строки/выделения
3. Массовое передвижение строк (выделения) не работает, только одна строка двигается
4. Нет подсветки экранированных символов в строке, но это мелочь "\tBMP\0GIF\0ICO\0CUR\0JPEG\0JPG\n"
Spoiler:
SCR_1.PNG
SCR_1.PNG (525.1 KiB)
Viewed 5329 times

Re: Еще один текстовый редактор

Posted: Wed Dec 01, 2021 6:24 pm
by akron1
Leency, спасибо за отзыв, а также за предложения по улучшению!

По поводу C--: отличить C-- от C, конечно нельзя. Можно сделать переключение на C-- в меню language.
Leency wrote: По найденным недоработкам:
...
1. Какой именно хоткей сделать?
2. Shift-tab почему-то не работает в режиме ascii, если включена русская раскладка. В этом можно убедиться, если открыть программу keyascii, переключиться на русскую раскладку и нажать shift-tab. Программа никак не отреагирует. Поэтому, мне пришлось использовать shift-bksp.
3, 4. Это можно сделать, чуть позже, когда будет время.

Re: Еще один текстовый редактор

Posted: Wed Dec 01, 2021 10:01 pm
by Leency
Может не заморачиваться и сделать просто подсветку bool, NULL, dword, byte в Си? Не важно что это не стандарт, ведь это повсеместно используют, и это ничего не поламает.

1. Ctl+E.
5. Если слово выделено, что Ctrl+F не ставит курсор в поле ввода. Можно это убрать? Чтобы Ctrl+F всегда ставил курсор в поле ввода.
(Если нет, то хоть чтобы Ctrl+F уже при открытой панели стали ставил курсор на поиск)

Re: Еще один текстовый редактор

Posted: Thu Dec 02, 2021 1:26 am
by punk_joker
Leency wrote: А как отличить С-- файл от Си?
Можно изменить расширение, по аналогии с С++.
C = .c
C++ = ,cpp
C-- = .cmm

Re: Еще один текстовый редактор

Posted: Thu Dec 02, 2021 8:30 pm
by lev
Так оно и было C-- = .cmm, .c--, .h--
Пока кто-то не сумев настроить подсветку в зависимости от расширения в своём редакторе не переименовал .c-- файлы в .c и .h

Re: Еще один текстовый редактор

Posted: Sun Dec 05, 2021 1:42 am
by Leency
Ещё одно: было бы хорошо помечать как-то табы в которых есть несохраненные изменения.

Re: Еще один текстовый редактор

Posted: Wed Dec 08, 2021 5:20 pm
by akron1
Появилось немного времени.

r9410:
Leency wrote:Если окно CEdit свернуть в заголовок, то надпись на заголовке окна пропадает.
Исправлено. Также исправлен еще один, намного более серьезный баг.
Leency wrote:Может не заморачиваться и сделать просто подсветку bool, NULL, dword, byte в Си?
Ладно, пока так и сделал.
Leency wrote:1. Хотелось бы хоткей для выделения слова
Сделано (ctrl+E).
Leency wrote:Если слово выделено, что Ctrl+F не ставит курсор в поле ввода
Сделано. Курсор всегда ставится в поле "find".
Leency wrote:Ещё одно: было бы хорошо помечать как-то табы в которых есть несохраненные изменения.
Сделано, измененные тексты помечаются символом "*". Также, я убрал надпись "modified" в правом нижнем углу.
Leency wrote: 3. Массовое передвижение строк (выделения) не работает, только одна строка двигается
4. Нет подсветки экранированных символов в строке, но это мелочь "\tBMP\0GIF\0ICO\0CUR\0JPEG\0JPG\n"
Это пока отложено, я решил не делать всё сразу. Сделаю позже.

Re: Еще один текстовый редактор

Posted: Sat Dec 11, 2021 9:39 pm
by akron1
r9413:
Leency wrote:3. Массовое передвижение строк (выделения) не работает, только одна строка двигается
Сделано.
Leency wrote:4. Нет подсветки экранированных символов в строке, но это мелочь "\tBMP\0GIF\0ICO\0CUR\0JPEG\0JPG\n
Сделано. Только я не стал подбирать цвет для выделения escape-последовательностей и оставил такой же, как для строк. Поэтому визуально \t, \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
...
Можешь сам подобрать цвет (escape=...) и закоммитить измененный cedit.ini.