Board.KolibriOS.org

Official KolibriOS board
It is currently Sat Dec 05, 2020 9:33 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 9 posts ] 
Author Message
 Post subject: Quark - Code editor
PostPosted: Mon May 11, 2020 9:46 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5344
27 апреля 2020 года JohnXenox выложил первую версию своего текстового редактора NEON и меня унесло ваще. Дизайн и возможности меня потрясли - это была заготовка хорошего качественного продукта, которую правда еще нужно было довести до ума. У нас уже есть пара хороших редакторов, но которые как раз немного не допилены, что мешает их практическому применению.

Через три дня после этого 1 мая 2020 года в дев-чате ВК мы обсуждали чего хотелось бы в Колибри. Кроме прочего безусловно важного прозвучали Clang, GCC, Python.
На что я заметил, что "порт любого компилятора бесполезен если нет нормального редактора, правильно?" и все согласились. Я сам очень хочу вести разработку из самой Колибри, поэтому чтобы помочь развитию NEON я написал JohnXenox с предложением помочь и получил вежливый отказ.

На тот момент не было понятно будет ли NEON открытым или нет, и будет ли он закончен вообще.

2.5 года назад я создал тему "Теория разработки текстового редактора с подсветкой синтаксиса" и похоже пришло время воспользоваться советами из нее. Спасибо akron1 и theonlymirage за наиболее развернутые ответы.

...Сказано - сделано.

_________________
Звиздеть не мешки ворочать


Top
   
 Post subject: Re: Quark - Code editor
PostPosted: Mon May 11, 2020 10:11 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5344
Название Quark новому редухтору дал rgimad, в переводе это кварк и ВНЕЗАПНО творог. Другим неплохим названием было Codepad--.
Разработка идет уже 10 дней. Конечно я отвлекался и на другие проекты, особенно на исправление багов.

День 1-2. Я взял TxtReader и перевел его на моноширные шрифты.
День 3-4. Переделал тулбар под системные иконки, добавил статус бар из WebView.
День 5-6. Перевод ядра с массива строк на массив указателей. Структура Dictionary от paulcodeman/pavel_yakov оказалась бажной, пришлось доработать свою collection_int.
День 7. Редактирование заменой (Insert mode on). Базовая система ивентов для кнопок и хоткеев.
День 8-9. Добавление курсора в программу, я думал будет сложно, но благо оказалось, что в моем элементе "список"(/cmm/lib/list_box.h) 90% кода уже было.
День 10-11. Разработка выделения - еще в процессе. Честно говоря - это хардкор тот еще, в основном, потому что я еще никогда такого не делал.

Сделать надо еще тонну всего: собственно редактирование, закончить выделение, переделать поиск, сделать замену, номера строк, табы, сборку, горизонтальный скролл, подсветку - самый минимум.
Дополнительно: поиск по исходникам, отображение содержимого открытой папки.

В общем, пожелайте мне успеха :)

Я же желаю успеха NEON'у - давайте иметь еще два отличных редактора в Колибри!

_________________
Звиздеть не мешки ворочать


Last edited by Leency on Sat May 16, 2020 1:19 am, edited 3 times in total.

Top
   
 Post subject: Re: Quark - Code editor
PostPosted: Tue May 12, 2020 1:43 pm 
Offline
Mentor/Kernel Developer
User avatar

Joined: Thu Mar 26, 2015 5:16 pm
Posts: 1274
Когда-то ныли, что в tinypad нет функций undo/redo, но там внутри такая архитектура, что добавить их пожалуй не реально. Не знаю, как ты делаешь редактирование, потому скажу что для реализации данных функций существующий текст лучше вообще не трогать, а отредактированные строки записывать на новом месте со сменой указателя на строку. А если вместо массива указателей использовать многосвязный список структур, то при добавлении новых строк с ним можно поступать так же. Для этого в структурах должны быть поля: указатель на строку, указатель на следующую структуру, указатель на предыдущую структуру, старый указатель следующей структуры, старый указатель предыдущей структуры. Порядком строк в тексте будет цепочка указателей, а порядком изменений будет физический порядок структур.


Top
   
 Post subject: Re: Quark - Code editor
PostPosted: Tue May 12, 2020 2:30 pm 
Offline

Joined: Sun May 10, 2020 9:00 am
Posts: 23
Удачи!)


Top
   
 Post subject: Re: Quark - Code editor
PostPosted: Thu May 14, 2020 9:37 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5344
День 12-13. Осознание сколько всего нужно сделать. Отрицание, депрессия. Возможно еще и отходняк от бифрена.
День 14. Урезание функционала до уровня TextReader. Не хочется получить второй мертворожденный проект, как Aelia, потому пусть это пока будет просто TextReader с возможностью выделения текста.

Итого: сейчас багфистинг и релиз программы с функционалом: TxtRead с системным шрифтом и выделением.

_________________
Звиздеть не мешки ворочать


Top
   
 Post subject: Re: Quark - Code editor
PostPosted: Fri May 15, 2020 1:19 pm 
Offline
Mentor/Kernel Developer
User avatar

Joined: Thu Mar 26, 2015 5:16 pm
Posts: 1274
Типичный итог работы без предварительного планирования архитектуры. Лично я сначала планирую алгоритмы. И в итоге нихера не делаю... 8)


Top
   
 Post subject: Re: Quark - Code editor
PostPosted: Sat May 16, 2020 1:03 am 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5344
Я не был бы столь пессимистичным, все пока движется хорошо. Немного шишечек, но не более :)

День 15. Закончил выделение, добавил рекцию выделения на клавиши. Теперь буффер алокается не для всей страницы, а только для видимой области. Добавил открытие файлов DOCPACK в Quark.

_________________
Звиздеть не мешки ворочать


Top
   
 Post subject: Re: Quark - Code editor
PostPosted: Mon May 18, 2020 1:53 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5344
Quark теперь в IMG.
Из запланированного минимума осталось доделать поиск (он не работает).

_________________
Звиздеть не мешки ворочать


Top
   
 Post subject: Re: Quark - Code editor
PostPosted: Thu Oct 22, 2020 11:28 pm 
Offline

Joined: Mon Sep 07, 2020 7:09 pm
Posts: 265
Leency wrote:
На тот момент не было понятно будет ли NEON открытым или нет.

JohnXenox wrote:
Разработка пока что временно приостановлена.
Сейчас совсем нет времени заниматься Neon.
Продолжу, как только освобожусь.
Исходники выложу, как только буду уверен, что дальше разрабатывать Neon не буду.

Из ЛС

_________________
How to use different compilers in KolibriOS
Old doc
http://diamond.kolibrios.org/hll/hll.htm
New doc
https://maxcodehack.github.io/hll-kos/


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 9 posts ] 

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited