Доработка SQL-редактора DBeaver для PostgreSQL
Требуется внести улучшения в менеджер баз данных DBeaver (Java-приложение), чтобы расширить функциональность работы с кодом PostgreSQL, особенно внутри строковых литералов, оформленных с использованием синтаксиса $$.
Основные проблемы для исправления
Работа должна быть основана на анализе существующих проблем, описанных в публичных issue-трекерах проекта. Требуется обеспечить корректную работу следующих функций внутри блоков кода в $$:
- Шаблоны (Templates): Автоподстановка и работа шаблонов кода.
- Автоматические отступы: Корректное добавление отступов при нажатии клавиши Enter.
- Помощник SQL (SQL Assistant): Контекстные подсказки по полям таблиц, функциям и другим объектам БД.
- Сворачивание кода (Code Folding): В окне редактирования функций должна работать возможность свертывания структурных элементов (например, BEGIN...END, циклов, условий). В текущей версии это работает только при отключенных заголовках.
Текущее состояние
Указанные функции в настоящее время работают корректно только в основном тексте SQL-редактора, но не внутри строковых литералов, оформленных с помощью $$.
Критерии приемки
- Все перечисленные функции (шаблоны, автодополнение, отступы, сворачивание) должны стабильно работать внутри $$-литералов в SQL-редакторе и в редакторе функций для диалекта PostgreSQL.
- Код должен быть написан на Java в рамках кодовой базы DBeaver.
- Идеальным результатом является принятие изменений (merge) в основную ветку разработки (upstream) проекта DBeaver.
- В случае, если по не техническим причинам изменения не будут приняты в основной проект, допустимым результатом считается создание отдельного форка (fork) репозитория с полностью реализованными исправлениями.