LINUX.ORG.RU

Есть джависты, ковырявшие исходники DBeaver/Eclipse?

 ,


0

2

В 24х версиях DBeaver сломалось автоформатирование внутри DollarQuote строк для PostgreSQL.

Соответственно

CREATE FUNCTION bla_bla_bla()
AS $ffff$
/* вот тут, внутри самой процедуры ключевые слова не преобразовываются в верхний регистр в версиях >= 24 */
begin
end;
$ffff$;
или просто
DO $x$begin select 1; end;$x$;

Не могу найти, как это починить.

Насколько понимаю это должно происходить в SQLAutoIndentStrategy->customizeDocumentCommand. И оно там происходит, если код пишется не внутри $$...$$

Но если внутри $$..$$ - она даже не вызывается. Где-то раньше происходит определение $$..$$ как обычной строки, которую не надо форматировать.

Поскольку public class SQLAutoIndentStrategy extends DefaultIndentLineAutoEditStrategy - это какая-то запчасть от Eclipse - там надо искать? В исходниках Eclipse что-то поменялось?

В 23х версиях DBeaver всё нормально.

---------

Моего английского не хватит для issue у них на github. Да и хотелось прям сразу pull request им готовый, но не вывожу.

★★★★

Последнее исправление: Dimez (всего исправлений: 1)
Ответ на: комментарий от vtVitus

Не. Это слишком просто и понятно.

При одних и тех же настройках 23 vs 24 ведут себя по-разному. Накачал исходников разных версий, пытался разобраться.

Pull request на TEXT->text, JSON->json я таки запилил. Там относительно просто, оказалось.

А вот это поведение внутри $function$...$function$ не могу победить в 24й версии.

Toxo2 ★★★★
() автор топика
Ответ на: комментарий от vtVitus

Вот подсветка кода - да, работает по этим настройкам и там, и там.

Скажешь «строка» - будут рисовать строку. Скажешь «код» - будут рисовать код.

Но автоформатирование при наборе кода - не работает в 24. Хочу как раньше (в смысле как сейчас в 23) - писать begin, а оно само BEGIN.

Toxo2 ★★★★
() автор топика
Последнее исправление: Toxo2 (всего исправлений: 1)