FreeBasic
Главная
Вход
Регистрация
Четверг, 28.03.2024, 15:18Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Форум » Вспомогательное программное обеспечение » Вспомогательные утилиты для программистов » IUP_FB_EDITOR (Редактор для Freebasic написанный на Freebasic)
IUP_FB_EDITOR
WQДата: Вторник, 02.04.2019, 22:07 | Сообщение # 46
Полковник
Группа: Проверенные
Сообщений: 215
Репутация: 7
Статус: Offline
Цитата 1951
Цитата haav ()
Я так понял, что ты эту версию для всего кроме Lin32, или сумел как-то 3.26 для 32-bit linux скомпилить?


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

Цитата haav ()
Из автодополнения , мне не хватает только автодополнение полей из структур, а всякие дополнения встроенных команд считаю чепухой и лишним отвлекаловом. Если есть возможность , попробуй сделать возможность включения опционального автодополнения , то есть к примеру:1) автодополнение встроенных команд
2) автодополнение своего списка команд
3) автодополнение полей структур
4) может автодополнение еще чего-то ....


Пока есть только всплывающее окошко со списком ключевых слов - сделано средствами IupScintilla
Не уверен, получится ли таким способом еще какая-то автоподстановка

Цитата haav ()
Раз уж у тебя все равно есть парсер кода, то хотелось бы еще окошко справа со списком названий процедур\функций , щелкнув по которым переходишь в место их объявления.

Парсера нет, но планирую написать какое-то его подобие
Пока в наличии только самая быстрая на FB функция разбивки строки smile 

Цитата haav ()
Также было бы неплохо чтобы была возможность переходить к месту объявления переменных , щелкнув по ним где-то в коде
Также неплохую помощь оказывает подсказка параметров функций при записи вызова

Подсказки функций действительно неплохо добавить

Цитата haav ()
P.S. Меня радует уже тот факт, что кому то интересен\полезен оказался код моего редактора. Буду ждать с нетерпением обновленный редактор.


Вообще, FBedit меня устраивает на Windows - но бывают периодические глюки с кодировкой кириллицы, теряются комментарии, и еще разные мелочи
Под Linux есть тот же посейдон, но у него нет 32-битной версии (не знаю,
почему автор не скомпилировал). Также не нашел там возможности
автоотступа кода, которая есть в IUP_FB_EDITOR


А в IUP_FB_EDITOR нет возможности работы с группой файлов (проектом)
Но благодаря открытому коду и тому, что он написан на FB и IUP, данный недостаток можно исправить

Честно скажу, структура этой программы значительно отличается от моих, потому разбираться было непросто
В целом, стараюсь следовать тому же стилю

Функции чтения\сохранения из IUP заменил на самописные, правда, с использованием хэш-таблицы из той же IUP: периодически файл настроек оказывался пустым, и программу невозможно было запустить снова. Аналогично, если отсутствует языковой файл, запустить невозможно
Сейчас внутри программы находятся набор дефолтных настроек и язковой файл, что позволяет запускаться без этих файлов

При загрузке файла с кодом активна кнопка отмены последнего действия - при ее нажатии файл окажется пустым

Ранее хотел добавить полную поддержку юникода в путях до файлов, но так как вроде бы компилятор FB в Windows не поддерживает юникодные пути, оставил как есть
 
haavДата: Среда, 03.04.2019, 09:55 | Сообщение # 47
Генералиссимус
Группа: Администраторы
Сообщений: 1361
Репутация: 49
Статус: Offline
Цитата
Пока есть только всплывающее окошко со списком ключевых слов - сделано средствами IupScintilla
Не уверен, получится ли таким способом еще какая-то автоподстановка
................
Парсера нет, но планирую написать какое-то его подобие
Пока в наличии только самая быстрая на FB функция разбивки строки


Ну ты же понимаешь , что без хорошего быстрого парсера , все это не имеет смысла делать.  В WinFBE Editor  (исходник на FB) , автор сумел сделать очень хороший парсер и там автодополнение на уровне. 

Цитата
FBedit меня устраивает на Windows - но бывают периодические глюки с кодировкой кириллицы


Да уж глюки с кодировкой реально задолбали. Я уже как бы давно не пишу под винду , только если небольшие правки. Однако если придется писать, буду это делать в своем редакторе.

--------------------------

Пока ты еще далеко не ушел в кодинге редактора , я предлагаю немного обновить код. Я делал несколько правок , работая под Linux 64-bit. В основном правил баги, но так же добавлял подсвечивание парных скобок. На других системах не проверял , пока некогда. Вот исходник (только файлы .bi и .bas):
Прикрепления: source.zip (72.9 Kb)


Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
WQДата: Среда, 03.04.2019, 18:44 | Сообщение # 48
Полковник
Группа: Проверенные
Сообщений: 215
Репутация: 7
Статус: Offline
Цитата haav ()
Ну ты же понимаешь , что без хорошего быстрого парсера , все это не имеет смысла делать. В WinFBE Editor (исходник на FB) , автор сумел сделать очень хороший парсер и там автодополнение на уровне.


Изначально хотел добавить только простенький парсер, чтобы исправить ситуацию, когда жмешь Enter, например, по строчке с type, добавляется end type, если снова на той же строчке жмешь - еще один end type и т.д. Т.е., программа должна знать, где начинаются и где кончаются функции, типы, процедуры и т.п. Далее, при наличии такого знания можно и список функций-процедур построить. Одно тянет за собой другое, задача усложняется. А очень уж серьезно заниматься редактором не планировал - времени нет

Цитата haav ()
Пока ты еще далеко не ушел в кодинге редактора , я предлагаю немного обновить код. Я делал несколько правок , работая под Linux 64-bit. В основном правил баги, но так же добавлял подсвечивание парных скобок. На других системах не проверял , пока некогда. Вот исходник (только файлы .bi и .bas):


Я уже ушел)
Т.е., все, что описано, уже добавлено и работает. Осталось только изменить диалог настроек
А эти исходники просмотрел, спасибо, внес изменения
 
aslaslanbekovДата: Вторник, 30.04.2019, 14:56 | Сообщение # 49
Рядовой
Группа: Пользователи
Сообщений: 3
Репутация: 0
Статус: Offline
при запуске Gtk-ERROR **: GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported

как решается?
 
haavДата: Вторник, 30.04.2019, 18:42 | Сообщение # 50
Генералиссимус
Группа: Администраторы
Сообщений: 1361
Репутация: 49
Статус: Offline
Цитата aslaslanbekov ()
при запуске Gtk-ERROR **: GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported

как решается?


Привет! Какая версия IUP, какой компилятор, какая система?


Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
aslaslanbekovДата: Среда, 01.05.2019, 11:12 | Сообщение # 51
Рядовой
Группа: Пользователи
Сообщений: 3
Репутация: 0
Статус: Offline
opensuse 15 ,  freebasic 1.6  , iup  3.26
 
haavДата: Среда, 01.05.2019, 12:35 | Сообщение # 52
Генералиссимус
Группа: Администраторы
Сообщений: 1361
Репутация: 49
Статус: Offline
Тут в принципе причина одна: смешиваются gtk 2 и 3 версии. Редактор требует gtk2. Значит получается либо библиотеки IUP собраны для 3 версии , либо библиотеки IUP вызывают другие библиотеки в системе , которые работают с 3 версией gtk , либо что-то еще...

Добавлено позже:

Среди архивов для скачивания есть библиотеки, собранные при помощи GTK2 и GTK3. Обрати внимание на подсказку от авторов IUP:

Linux26g4_64: Ubuntu 10.04 (x64) / Kernel 2.6 / gcc 4.4 (GTK 2.20)
Linux32: Ubuntu 12.04 (x86) / Kernel 3.2 / gcc 4.6 (GTK 2.24)
Linux32_64: Ubuntu 12.04 (x64) / Kernel 3.2 / gcc 4.6 (GTK 2.24)
Linux35_64: Ubuntu 12.10 (x64) / Kernel 3.5 / gcc 4.7 (GTK 2.24)

Linux313_64: Ubuntu 14.04 (x64) / Kernel 3.13 / gcc 4.8 (GTK 3.10)
Linux319_64: Ubuntu 15.04 (x64) / Kernel 3.19 / gcc 4.9 (GTK 3.14)
Linux44_64: Ubuntu 16.04 (x64) / Kernel 4.4 / gcc 5.3 (GTK 3.18)
Linux415_64: Ubuntu 18.04 (x64) / Kernel 4.15 / gcc 7.3 (GTK 3.22)


Cправа указывается версия GTK или говоря проще для IUP_FB_EDITOR нужны архивы , помеченные синим цветом.

Если и после установки библиотек из "правильного" архива , будет та же ошибка , тогда я не знаю...


Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
aslaslanbekovДата: Среда, 01.05.2019, 18:33 | Сообщение # 53
Рядовой
Группа: Пользователи
Сообщений: 3
Репутация: 0
Статус: Offline
Linux32_64 работает спасибо
 
mashakovmaratДата: Воскресенье, 30.06.2019, 19:21 | Сообщение # 54
Сержант
Группа: Пользователи
Сообщений: 36
Репутация: 0
Статус: Offline
haav, докручиваете редактор? замечания и пожелания принимаете?
 
WQДата: Понедельник, 01.07.2019, 02:16 | Сообщение # 55
Полковник
Группа: Проверенные
Сообщений: 215
Репутация: 7
Статус: Offline
Я писал выше, что делаю обновленную версию, рабочее название IUP_FB_Editor+
Времени не хватает, поэтому работа идет медленно, то одно, то другое, иногда на какую-нибудь мелочь уходит несколько дней
Много чего уже добавлено, от возможности создавать проекты(их можно будет переносить между Windows и Linux), до быстрой прокрутки текста средней кнопкой мыши (причем только по вертикали!)
Парсера не будет, по крайней мере, в первой версии

Пожелания пишите
Прикрепления: 9427828.jpg (81.1 Kb)


Сообщение отредактировал WQ - Понедельник, 01.07.2019, 02:32
 
haavДата: Понедельник, 01.07.2019, 09:01 | Сообщение # 56
Генералиссимус
Группа: Администраторы
Сообщений: 1361
Репутация: 49
Статус: Offline
Сегодня решил все таки обновить редактор в официальной ветке. По сути эти исправления\дополнения были сделаны давно, но как-то все не доходили руки.  Какие баги были устранены уже и не помню, а из дополнений: подсвечивание парных скобок и что-то улучшил в алгоритме ведения поиска\замены. 

Пожелания, баг-репорты принимаются всегда (бессрочно), несмотря на то, что активная фаза разработки редактора давно закончена.


Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
mashakovmaratДата: Понедельник, 01.07.2019, 15:26 | Сообщение # 57
Сержант
Группа: Пользователи
Сообщений: 36
Репутация: 0
Статус: Offline
Цитата haav ()
Сегодня решил все таки обновить редактор в официальной ветке. По сути эти исправления\дополнения были сделаны давно, но как-то все не доходили руки.


Ко времени или нет, но со вчерашнего дня, вчера только установил IUP_FB_EDITOR и начал пользоваться, в глаза бросаются следующие мелочи:
1) многострочные комментарии, а точнее, все, что между /' и '/, не выглядит как комментарий, хотя это, разумеется, комментарий - цифры раскрашены как цифры в коде, проза - как ключевые слова;
2) в текущей строке, все то, что находится после значка диеза # раскрашивается как препроцессорные директивы, хотя, например, файлу назначается номер через #;
3) немного нестабильно ведет себя редакция цветовых схем интерфейса, но это надо приноровиться. У меня уставки терялись три раза, поэтому сохранял, выходил из редактора и снова заходил по немногу. Сейчас порядок.

Пока все.

P.S. Хорошая IDE. Приятно работать.


Сообщение отредактировал mashakovmarat - Понедельник, 01.07.2019, 17:28
 
haavДата: Понедельник, 01.07.2019, 18:24 | Сообщение # 58
Генералиссимус
Группа: Администраторы
Сообщений: 1361
Репутация: 49
Статус: Offline
Цитата mashakovmarat ()
1) многострочные комментарии, а точнее, все, что между /' и '/, не выглядит как комментарий, хотя это, разумеется, комментарий - цифры раскрашены как цифры в коде, проза - как ключевые слова;
2) в текущей строке, все то, что находится после значка диеза # раскрашивается как препроцессорные директивы, хотя, например, файлу назначается номер через #;


Боюсь это из-за лексера scintilla. Для того чтобы правильно отображались многострочные комментарии , нужно поменять лексер в файле настроек Options.cfg. Во время правки файла Options.cfg редактор IUP_FB_EDITOR не должен быть запущен. По умолчанию там кажется стоит vb. Нужно поменять на freebasic. 

Я писал в файле helpEditorRU.html , что у каждого лексера свои недостатки.

Вообще проблемы лексера я решать не буду точно, потому что для этого надо слишком много изучать в библиотеках SCINTILLA и IUP.

Цитата mashakovmarat ()
3) немного нестабильно ведет себя редакция цветовых схем интерфейса, но это надо приноровиться.


Да , надо привыкнуть


Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
haavДата: Среда, 25.12.2019, 17:47 | Сообщение # 59
Генералиссимус
Группа: Администраторы
Сообщений: 1361
Репутация: 49
Статус: Offline
Всем привет!

Обновил редактор.

1) добавлена система плагинов
2) добавлены два реальных плагина и один тестовый (пример)
3) исправлены ошибки

сайт: https://iupfbeditor.sourceforge.io/index.html , на русском: https://iupfbeditor.sourceforge.io/ru/index.html

или скачивание: https://sourceforge.net/projects/iupfbeditor/files/


Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
haavДата: Воскресенье, 01.03.2020, 18:01 | Сообщение # 60
Генералиссимус
Группа: Администраторы
Сообщений: 1361
Репутация: 49
Статус: Offline
Всем привет!

Обновил редактор. Историю обновлений для редактора не веду , поэтому только то, что помню:

1) автозавершение ключевых слов, типов
2) подсказки для функций
3) боковое окно со списком функций
4) возможность поиска в процедуре\функции\свойствах\конструкторе\деструкторе (раньше было возможно только во всем файле)
5) переход в место объявления переменной
6) отображать тип переменной
7) добавились новые плагины
8) очень много исправлений и других мелких доработок

Парсер умеет распознавать области видимости переменных , а так же в состоянии читать код с переносами строк. Однако не распознает код разделенный двоеточием (после двоеточия код просто отбрасывается). Так же парсер не знает ничего о блоке OPERATOR-END OPERATOR. Я постарался выполнить парсер с большим кол-вом проверок , из-за этого (а так же из-за малопродуманного алгоритма) конечно потеря скорости. Исходный код (особенно автозавершения) очень сумбурный , нередки повторения , но где критически важные участки, я не думал о красоте и элегантности кода (уж извините). Редактор я все еще тестирую и возможно в будущем наловлю кучу багов, но однако решил выложить то что получилось , вдруг чего... Загляните в настройки , там автозавершение настраивается. Лично мне всплывающее при каждом слове окно автозавершения нафиг не нужно, я сделал разделение (в настройках все видно).



Прикрепления: 5132195.jpg (112.4 Kb) · 8620662.jpg (132.9 Kb)


Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
Форум » Вспомогательное программное обеспечение » Вспомогательные утилиты для программистов » IUP_FB_EDITOR (Редактор для Freebasic написанный на Freebasic)
Поиск: