Board.KolibriOS.org
http://board.kolibrios.org/

Neon - текстовый редактор.
http://board.kolibrios.org/viewtopic.php?f=46&t=3731
Page 1 of 2

Author:  JohnXenox [ Tue Jun 19, 2018 1:04 am ]
Post subject:  Neon - текстовый редактор.

Делаю удобный текстовый редактор. Но, как я написал в чатике - прошу не обнадёживаться (не уверен, что осилю).
Писать тестовый редактор очень сложно, когда толком не знаешь язык, да и опыта нет, практически никакого.
Редактор пишу на языке С.

Уже сделал кое-какие шаги, но ещё много чего не сделано, поэтому показывать нечего.
Есть только, разрозненный рабочий код и простой абстракный граф. концепт (см. рисунок).
Концепт не окончательный, и возможно, что программа, когда выйдет в альфу, будет выглядеть немного по-другому или совсем по-другому.
Вообще, я нацеливаюсь сделать, что-то на подобии: Visual Studio Code, Geany, Sublime или что-то среднее (эти редакторы, как образец, не более), но пока до этого очень далеко и возможно, что этого никогда не случится.

Рисунок концепта.

Image

Список дел:
- Дописать минимально необходимые граф. элементы для комфортного управления редактором.
- Отрефакторить текстовое поле.
- Сделать текстовое поле редактируемым.
- Разработать концепцию общей схемы подсветки синтаксиса.
- Написать схему подсветки синтаксиса для языка С.
- Написать код обработки для схемы.
- Скомпоновать все элементы в единую программу.

Author:  paulcodeman [ Sat Jun 23, 2018 1:36 am ]
Post subject:  Re: Neon - текстовый редактор (пока только концепт).

попробуй подцепить kf шрифты

Author:  JohnXenox [ Tue Jun 26, 2018 11:19 pm ]
Post subject:  Re: Neon - текстовый редактор (пока только концепт).

pavelyakov wrote:
попробуй подцепить kf шрифты
Я б сделал бы, но пока знаний не хватает. :mrgreen:

Author:  GerdtR [ Thu Jun 28, 2018 9:35 pm ]
Post subject:  Re: Neon - текстовый редактор (пока только концепт).

Пишешь на С? Компилятор какой?
upd: KTCC, увидел уже :)

Author:  JohnXenox [ Wed Mar 25, 2020 3:00 pm ]
Post subject:  Re: Neon - текстовый редактор (пока только концепт).

Текстовый редактор я пока не осилил полностью. Он работает, но очень хреново.
Пока времени нет им заниматься. Очень с ним намучился, даже не знаю, буду ли продолжать им заниматься дальше. Но, как будет время выложу.

Что сделано:
* Вывод и редактирование текста (пока только Клавой);
* Поддержка кодировок (UTF-16LE (основная), UTF-8 (не полностью), cp866, cp1251);
* Подсветка синтаксиса (C, C++, C--, Oberon07, FASM и др.);
* Открытие текстового файла через командную строку. Как сделать через opendial - пока не знаю.

Author:  Leency [ Wed Mar 25, 2020 3:53 pm ]
Post subject:  Re: Neon - текстовый редактор (пока только концепт).

Ммм C--...
Выкладывай :)

Quote:
Как сделать через opendial - пока не знаю.
Очень просто
Code:
RunApp("/sys/lod", "*cpp,txt* /path/to/your/app");
См. viewtopic.php?f=9&t=2486&p=53443

Author:  JohnXenox [ Sat Apr 11, 2020 3:33 pm ]
Post subject:  Re: Neon - текстовый редактор (пока только концепт).

Leency wrote:
Quote:
Как сделать через opendial - пока не знаю.
Очень просто
Code:
RunApp("/sys/lod", "*cpp,txt* /path/to/your/app");
См. viewtopic.php?f=9&t=2486&p=53443
Спс. :D Попробую прикрутить, как будет свободное время.

Author:  JohnXenox [ Mon Apr 27, 2020 3:58 pm ]
Post subject:  Re: Neon - текстовый редактор (пока только концепт).

Neon - Alpha 1 (NON-STABLE!)

Neon - простой текстовый редактор с подсветкой синтаксиса.

ВНИМАНИЕ! Программа очень сильно грузит ЦПУ(на больших файлах). Плохо работает с большим текстом. Использовать осторожно!

Что сделано:
* dom и двойная буферизация.
* покадровый вывод текста.
* открытие, вывод, редактирование (только клавишами) и сохранение текста;
* подсветка синтаксиса (Bash, Fasm, C, C++, C--, Forth, Java, JavaScript, Oberon07, PHP, Python, Ruby, SQL);
* открытия файла через командную строку;
* открытие файла через OpenDialog;
* кодировка в UTF-16LE, UTF-8 (чтение), CP866, CP1251.
* оповещение через @notify.
* поддержка файла .ini.
* добавлен toolbar.

Горячие клавиши:
CTRL + O - открыть файл.
CTRL + S - сохранить файл.

CTRL + X - вырезать текст.
CTRL + C - копировать текст.
CTRL + V - вставить текст.

CTRL + A - выделить весь текст.

SHIFT + ARROW - выделить символ.

BACKSPACE - удалить символ слева.
DELETE - удалить символ справа.
TAB - вставить таб.

ARROWS (UP, DOWN, LEFT, RIGHT) - перемещение курсора (вверх, вниз, влево, вправо).

Attachments:
Neon.png
Neon.png [ 14.59 KiB | Viewed 863 times ]
Neon_2020.04.28_Alpha_1_(NON-STABLE).zip [39.92 KiB]
Downloaded 36 times

Author:  Leency [ Mon Apr 27, 2020 8:56 pm ]
Post subject:  Re: Neon - текстовый редактор.

Круто. Права у меня при перемещении курсора еще печатаются символы. Хоткеи не работают. Шрифт разрежен на 1 пиксель.

Author:  JohnXenox [ Tue Apr 28, 2020 4:22 pm ]
Post subject:  Re: Neon - текстовый редактор.

Leency wrote:
Круто. Права у меня при перемещении курсора еще печатаются символы. Хоткеи не работают. Шрифт разрежен на 1 пиксель.
Поторопился немного. Уже поправил. Перезалил в посте выше. А шрифт раздвинул на пиксель, чтобы с курсором не сливался.

Исправил баг с функцией движения курсора клавишами стрелками.
Добавил ввод русских символов.
Добавил запуск командных строк клавишами:
CTRL + 1, CTRL + 2, CTRL + 3, CTRL + 4, CTRL + 5.

Author:  rgimad [ Tue Apr 28, 2020 5:16 pm ]
Post subject:  Re: Neon - текстовый редактор.

Респект автору за проделанную работу. Подстветка просто супер!

Теперь о багах и недоработках:
- не удаляется выделенный через ctrl+a текст, например выделяю все и нажимаю del/bksp но удаляется только последний символ
- нет скролл бара
- нет выделения мышью
- курсор не мигает

Author:  JohnXenox [ Tue Apr 28, 2020 5:27 pm ]
Post subject:  Re: Neon - текстовый редактор.

rgimad wrote:
Теперь о багах и недоработках:
- не удаляется выделенный через ctrl+a текст, например выделяю все и нажимаю del/bksp но удаляется только последний символ
- нет скролл бара
- нет выделения мышью
- курсор не мигает
Принял.

Author:  JohnXenox [ Tue Apr 28, 2020 6:31 pm ]
Post subject:  Re: Neon - текстовый редактор.

Есть 2 вопроса:
-Как сохранить файл через opendialog? Способ желательно попроще.
-Какой функцией можно убить родительское окно?

Author:  Leency [ Tue Apr 28, 2020 6:37 pm ]
Post subject:  Re: Neon - текстовый редактор.

1. Попроще - никак. Не попроще
Spoiler: Show
Code:
struct od_filter
 {
    dword size; //size = len(#ext) + sizeof(dword)
    char ext[25];
 };

proc_info pr_inf;
char opendir_path[3072];
char openfile_path[4096];
char filename_area[1024];

opendialog o_dialog = {
   0,
   #pr_inf,
   #communication_area_name,
   0,
   #opendir_path,
   #default_dir,
   #open_dialog_path,
   #draw_window,
   0,
   #openfile_path,
   #filename_area,
   #filter2,

   420,
   200,

   320,
   120
};

ДЛЯ СОХРАНИЯ

struct od_filter
 {
    dword size; //size = len(#ext) + sizeof(dword)
    char ext[25];
 };

proc_info pr_inf;
char opendir_path[3072];
char openfile_path[4096];
char filename_area[1024];

opendialog o_dialog = {
   0,
   #pr_inf,
   #communication_area_name,
   0,
   #opendir_path,
   #default_dir,
   #open_dialog_path,
   #draw_window,
   0,
   #openfile_path,
   #filename_area,
   #filter2,

   420,
   200,

   320,
   120
};



2.
Code:
inline fastcall int KillProcess( ECX) // ECX = process id from ProcInfo structure
{
   $mov eax,18;
   $mov ebx,18;
   $int 0x40
}

Author:  punk_joker [ Tue Apr 28, 2020 6:59 pm ]
Post subject:  Re: Neon - текстовый редактор.

JohnXenox wrote:
Есть 2 вопроса:
-Как сохранить файл через opendialog? Способ желательно попроще.

Посмотри C Layer, там вроде есть обертка

Page 1 of 2 All times are UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/