* Update CodeCompletionActions.cs
Показ Code Completion Window по Ctrl-Space, если курсор находится сразу после точки (как сделано в Win версии). Текущее поведение - после точки ccw не показывать, только если курсор переместить на несколько символов вправо от точки.
* [LIN][IDE] Update TextView.cs - fix GetVisualColumn with empty content
На некоторых дистрибутивах Линукс (Убунту в частности) возникает ошибка времени выполнения IDE,
Описываю действия - открываю сохраненную на диске программу, запускаю, закрываю, копирую текст программы и вставляю в новую вкладку, не сохраняя, запускаю и закрываю -- в логах пошли ошибки.. но такое не всегда происходит, иногда ошибок нет.. но похоже всё таки, что проявляется, когда есть вкладка с не сохраненным кодом. Причем интересно дефолтный каталог не сохраненной программы зависит от того, из какого каталога загружалась "сохраненная" программа, но не некий "по умолчанию".
В результате иследований дошли до функции GetVisualColumn() которая подсчитывает количество столбцов текста в редактируемом документе на основе анализа графического отображения, но в случае если текст отсутствует (Document.Content == ""), на Linux/Mono происходит краш. Предлагаю избегать подсчёта столбцов при отсутствии текста, а сразу возвращать 9 (ноль)
* [LIN][IDE] AssemblyResolveScope.cs -- fix OnAssemblyResolve event
На некоторых дистрибутивах Linux (Ubuntu 22.04 в частности). При загрузке больших исходников, например GraphABC.pas или GraphABCHelper.pas в IDE на Linux/Mono могут перестать открываться новые вкладки редактора IDE и другие элементы интерфейса IDE. Было обнаружено, что в обработчик OnAssemblyResolve в этом случае приходит значиние поля входной переменной args.RequestingAssembly равное null. Это происходит по какой то причине и не всегда. Но если обрабатывать эту ситуацию, то IDE работает стабильно в этом случае.
Сделан новый проект VisualPABCLinux
И пришлось склонировать PluginsSupport, поскольку он вносит зависимость по редактору
Компоненты WeifenLuo для Linux надо после перекомпиляции скопировать в Libraries - подшить их к основному проекту просто не получилось