Summary
Единый виджет QueryaCodeEditor для SQL и JSON вместо прямого TextField.
Проблема
| Файл |
Сейчас |
query_editor_tab.dart |
shadcn TextField |
mongo_document_editor.dart |
Material TextField + hardcoded colors |
sql_syntax_highlighting.dart |
пустой placeholder |
Workspace (postgres_sql_workspace, mysql_sql_workspace) не должен зависеть от конкретного editor package.
API (черновик)
enum QueryaCodeLanguage { sql, json, plain }
class QueryaCodeEditor extends StatefulWidget {
final TextEditingController? controller;
final QueryaCodeLanguage language;
final double fontSize;
final bool readOnly;
final ValueChanged<String>? onChanged;
final Widget? placeholder;
}
Скрытая реализация за интерфейсом:
Migration
Acceptance criteria
Зависимости
Оценка
~2–3 дня
Summary
Единый виджет
QueryaCodeEditorдля SQL и JSON вместо прямогоTextField.Проблема
query_editor_tab.dartTextFieldmongo_document_editor.dartTextField+ hardcoded colorssql_syntax_highlighting.dartWorkspace (
postgres_sql_workspace,mysql_sql_workspace) не должен зависеть от конкретного editor package.API (черновик)
Скрытая реализация за интерфейсом:
TextFieldCodeEditor— MVP (текущее поведение)HighlightingCodeEditor— после Editor [MVP]: SQL syntax highlighting в QueryaCodeEditor #49/Editor [MVP]: JSON syntax highlighting в Mongo document editor #50Migration
QueryEditorTabmongo_document_editor(language: json)AppSettings.getSqlEditorFontSize()Acceptance criteria
QueryaEditorTheme(Theme: модели QueryaWorkbenchTheme и QueryaEditorTheme #38)Зависимости
Оценка
~2–3 дня