Page 6 of 9

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

Posted: Sun Jul 11, 2021 7:41 pm
by akron1
Leency wrote:- F3 не работает при закрытой панели поиска
Так было задумано: при закрытии панели поиска уничтожается индексная таблица. Поэтому поиск при закрытой панели невозможен. Но я посмотрю, можно ли это как-нибудь переделать.
Leency wrote:- Ctrl+Tab не переключает на след табу
Здесь надо будет выводить список табов в виде меню? Если табов > 2, то непонятно, куда переключиться.
Leency wrote:- при открытии файла он открывается в новом окне, а не новой табе
Как при запуске программы определить, что она уже запущена?
Одного работающего экземпляра программы всегда достаточно?
Leency wrote:- при дабл-клике на русском слове оно не выделяется, а выделяется близлежащая цифра или англ слово
Правильно, потому что русское слово не может быть идентификатором в программе на тех языках программирования, которые работают в Колибри. Слово, которое можно выделить дабл-кликом может состоять только из символов {'a'..'z', 'A'..'Z', '0'..'9', '_'}. Если включить сюда ещё и русские символы, то возникнет вопрос и о других национальных письменностях. Например, украинские слова могут содержать апостроф, который в свою очередь обозначает строковые литералы во многих ЯП. В общем, мне кажется это плохая идея.
Leency wrote:- Ctrl+T новая таба, Ctrl+W закрыть табу
вместо Ctrl+T уже используется Ctrl+N
Leency wrote:Вот вариант оформления)
Я всё же прошу использовать work_light и work_dark хотя бы в табах :)
Я уже исправил большую часть скинов и в очень скором времени доисправлю все.
Из описания функции 48.3

Code: Select all

dword-значение цвета 0x00RRGGBB
  * +0: dword: frames - цвет рамки
  * +4: dword: grab - цвет заголовка
  * +8: dword: grab_button - цвет кнопки на полосе заголовка
  * +12 = +0xC: dword: grab_button_text - цвет текста на кнопке
    на полосе заголовка
  * +16 = +0x10: dword: grab_text - цвет текста на заголовке
  * +20 = +0x14: dword: work - цвет рабочей области
  * +24 = +0x18: dword: work_button - цвет кнопки в рабочей области
  * +28 = +0x1C: dword: work_button_text - цвет текста на кнопке
    в рабочей области
  * +32 = +0x20: dword: work_text - цвет текста в рабочей области
  * +36 = +0x24: dword: work_graph - цвет графики в рабочей области
Что ты имеешь в виду под work_light и work_dark?

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

Posted: Sun Jul 11, 2021 11:03 pm
by IgorA
akron1 wrote:Здесь надо будет выводить список табов в виде меню? Если табов > 2, то непонятно, куда переключиться.
мне кажется что список в виде меню не нужен, достаточно что-бы вкладки переключались одна за другой по кругу
akron1 wrote:Как при запуске программы определить, что она уже запущена?
через сист. функцию 9 - SF_THREAD_INFO (например как это делает диспетчер процессов cpu)

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

Posted: Mon Jul 12, 2021 1:14 pm
by Leency
Ctrl+Tab => нет, никаких меню. Попробуйте в любом браузере Хром ФФ или WebView как работает комбинация Ctrl+Tab => просто делает следующую табу активеной.
Если табов > 2, то непонятно, куда переключиться. => Всегда переключение происходит на правую табу (и с последней на первую).

Обычно Ctrl+N это новое окно а Ctrl+T новая таба.

Я левша, но так исторически сложилось что использую мышь правой рукой, потому активно пользуюсь клавиатурой. Тачпадом кстати пользуюсь левой рукой.

Я совсем забыл про 48.3, обновил описание #9052.

Как при запуске программы определить, что она уже запущена? => либо так как написал IgorA + передать путь через ipc.
Либо чтобы программа создавала 68.22 именованную область памяти. Первый экземпляр её создал, второй экземпляр её нашёл. При желании второй экземпляр может куда записать адрес файла для новой табы.

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

Posted: Mon Jul 12, 2021 8:28 pm
by akron1
Обновления:
- Улучшенный дизайн. Но я пока не использую work_dark/work_light. Результат мне опять не понравился.
- Метки: ctrl+F2 -- поставить/снять; F2 -- перейти к метке ниже; shift+F2 -- перейти к метке выше
- Закрыть вкладку: ctrl+W или средней кнопкой мыши
- ctrl+Tab -- переключиться на следующую

Остальное отложено.

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

Posted: Fri Jul 16, 2021 1:30 am
by akron1
Еще обновления.

- разные исправления
- улучшена работа функций "отменить" и "вернуть"
- добавлен пункт меню tools->board
- добавлена кнопка "свернуть панель поиска" (поиск при этом будет работать)

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

Posted: Sat Aug 07, 2021 5:54 pm
by akron1
Leency wrote:CEDIT заменяет табы на пробелы? Нехорошо :)
Теперь не заменяет. Сделана поддержка табуляций. Также, в файле cedit.ini можно настроить ширину табуляции:

Code: Select all

[settings]
tab=4
По умолчанию -- 4 пробела. Если указано отрицательное значение, то редактор будет заменять табы на соответствующее число пробелов. Например:

Code: Select all

[settings]
tab=-8

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

Posted: Sat Aug 07, 2021 7:24 pm
by Doczom
Большое спасибо за такой чудесный редактор. В нём есть всё и даже больше для создания приложений. работает что в виртуалке, что на реальном компе отлично и без багов. Но есть небольшой вопрос, будет ли поддержка html и json форматов? и можно ли сделать так, чтобы какой либо синтаксис можно было загрузить отдельным файлом?

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

Posted: Sat Aug 07, 2021 9:00 pm
by akron1
Doczom wrote:будет ли поддержка html и json форматов?
JSON планирую. HTML -- пока не уверен.
Doczom wrote: можно ли сделать так, чтобы какой либо синтаксис можно было загрузить отдельным файлом?
Я пока не представляю, как должен выглядеть общий алгоритм подсветки, подходящий для многих языков. Да еще чтобы он был достаточно эффективным. Может быть, сделаю подключаемую подсветку из dll-библиотеки (плагины).

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

Posted: Sun Aug 08, 2021 2:27 pm
by paulcodeman
Хотелось бы в Cedit сделать дополнительную настройку, чтобы при запуске написанного кода в CEdit передавать методом POST написанный код, на произвольный php скрипт, который в дальнейшем либо интерпретировал код, например (php или js) скрипты или компилировал (c++ итд) на саервере , и результат бы возвращался от сервера к CEdit методом json например в виде {error:true,message::""} или {success:true, message:""}

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

Posted: Sun Aug 08, 2021 5:08 pm
by akron1
paulcodeman
Думаю, такие вещи лучше переложить на dll-библиотеки: редактор передает в библиотеку текст и, возможно, еще кое-какие данные (напр. координаты курсора). Библиотека работает с полученным текстом (отправляет на сервер, анализирует текст для автодополнения и т. п.) и возвращает результат в редактор. Я этим заниматься не буду, но если кто-то решит написать подобную библиотеку, то тогда обсудим детали и я соответственно доработаю редактор.

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

Posted: Sun Aug 08, 2021 7:24 pm
by Doczom
Извините, но я как-то всё забываю задать один вопрос, а CEdit при нажатии на кнопки "run" "build" "debug" передаёт название программы в качестве параметра или нет?

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

Posted: Mon Aug 09, 2021 12:39 am
by akron1
Doczom
Ничего не передается, просто запускается скрипт. Имя программы, в общем случае, неизвестно, т. к. программа может состоять из множества файлов. И редактор не знает, какой файл главный.

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

Posted: Fri Sep 10, 2021 2:03 am
by punk_joker
Контекстное меню не скрывается по Esc или кнопке контекстного меню на клавиатуре(хотя по ней же вызывается)
Было бы хорошо, получить доступ к меню с клавиатуры

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

Posted: Sun Sep 12, 2021 12:02 am
by akron1
Сделано.
F10 - открыть главное меню, навигация стрелками, Esc - закрыть.

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

Posted: Thu Sep 16, 2021 1:51 am
by akron1
Leency wrote:В Си не хватает подсветки для функций и всяких операндов вроде =,+,&&
Rev 9193: теперь такая возможность есть. В файле cedit.ini можно для любого языка задать набор символов операций и разделителей, как это сделано для Fasm'а (delim = ...):

Code: Select all

[lang_Fasm]
KW1 =
KW2 =
KW3 =
delim = {}[]<>:,()&*/|+-\#
Правда, я бы не сказал, что это помогает в чтении кода. Но с другой стороны, добавление этой возможности лишь незначительно усложнило редактор. Так что, пусть будет, не помешает.