Selaa lähdekoodia

chore(typos): fix typos (#1961)

Co-authored-by: Nathan.fooo <[email protected]>
Sara Tavares 2 vuotta sitten
vanhempi
commit
4798467621
38 muutettua tiedostoa jossa 80 lisäystä ja 80 poistoa
  1. 2 2
      frontend/appflowy_flutter/integration_test/switch_folder_test.dart
  2. 10 10
      frontend/appflowy_flutter/integration_test/util/settings.dart
  3. 3 3
      frontend/appflowy_flutter/lib/plugins/database_view/application/field/field_controller.dart
  4. 2 2
      frontend/appflowy_flutter/lib/plugins/database_view/application/setting/setting_controller.dart
  5. 2 2
      frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/filter/choicechip/checkbox.dart
  6. 2 2
      frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/filter/choicechip/select_option/select_option.dart
  7. 2 2
      frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/filter/choicechip/text.dart
  8. 4 4
      frontend/appflowy_flutter/lib/plugins/document/document_page.dart
  9. 2 2
      frontend/appflowy_flutter/lib/plugins/document/editor_styles.dart
  10. 3 3
      frontend/appflowy_flutter/lib/plugins/document/presentation/more/cubit/document_appearance_cubit.dart
  11. 3 3
      frontend/appflowy_flutter/lib/plugins/document/presentation/plugins/base/link_to_page_widget.dart
  12. 1 1
      frontend/appflowy_flutter/lib/plugins/document/presentation/plugins/cover/cover_node_widget.dart
  13. 1 1
      frontend/appflowy_flutter/lib/plugins/document/presentation/plugins/openai/widgets/loading.dart
  14. 1 1
      frontend/appflowy_flutter/lib/startup/startup.dart
  15. 1 1
      frontend/appflowy_flutter/lib/workspace/application/app/app_bloc.dart
  16. 2 2
      frontend/appflowy_flutter/lib/workspace/presentation/home/menu/app/section/section.dart
  17. 1 1
      frontend/appflowy_flutter/packages/appflowy_editor/documentation/customizing.md
  18. 4 4
      frontend/appflowy_flutter/packages/appflowy_editor/example/lib/home_page.dart
  19. 1 1
      frontend/appflowy_flutter/packages/appflowy_editor/example/lib/plugin/editor_theme.dart
  20. 2 2
      frontend/appflowy_flutter/packages/appflowy_editor/lib/src/editor_state.dart
  21. 1 1
      frontend/appflowy_flutter/packages/appflowy_editor/lib/src/render/selection_menu/selection_menu_service.dart
  22. 2 2
      frontend/appflowy_flutter/packages/appflowy_editor/lib/src/render/style/plugin_styles.dart
  23. 3 3
      frontend/appflowy_flutter/packages/appflowy_editor/lib/src/render/toolbar/toolbar_widget.dart
  24. 1 1
      frontend/appflowy_flutter/packages/appflowy_editor/lib/src/service/editor_service.dart
  25. 3 3
      frontend/appflowy_flutter/packages/appflowy_editor/lib/src/service/internal_key_event_handlers/markdown_syntax_to_styled_text.dart
  26. 2 2
      frontend/appflowy_flutter/packages/appflowy_editor/lib/src/service/shortcut_event/built_in_shortcut_events.dart
  27. 1 1
      frontend/appflowy_flutter/packages/appflowy_editor/lib/src/service/toolbar_service.dart
  28. 1 1
      frontend/appflowy_flutter/packages/appflowy_editor/test/command/command_extension_test.dart
  29. 1 1
      frontend/appflowy_flutter/packages/appflowy_editor/test/extensions/node_extension_test.dart
  30. 1 1
      frontend/appflowy_flutter/packages/appflowy_editor/test/infra/test_editor.dart
  31. 1 1
      frontend/appflowy_flutter/packages/appflowy_editor/test/render/rich_text/checkbox_text_test.dart
  32. 1 1
      frontend/appflowy_flutter/packages/appflowy_editor/test/service/internal_key_event_handlers/exit_editing_mode_handler_test.dart
  33. 3 3
      frontend/appflowy_flutter/packages/appflowy_editor_plugins/lib/src/emoji_picker/emoji_menu_item.dart
  34. 5 5
      frontend/appflowy_tauri/src/appflowy_app/stores/effects/database/field/type_option/type_option_controller.ts
  35. 1 1
      frontend/rust-lib/flowy-document/src/editor/READ_ME.json
  36. 1 1
      frontend/scripts/flatpack-buildfiles/io.appflowy.AppFlowy.metainfo.xml
  37. 2 2
      frontend/scripts/makefile/desktop.toml
  38. 1 1
      shared-lib/lib-ot/src/text_delta/attributes.rs

+ 2 - 2
frontend/appflowy_flutter/integration_test/switch_folder_test.dart

@@ -86,7 +86,7 @@ void main() {
       await tester.tapGoButton();
       await tester.expectToSeeWelcomePage();
 
-      // swith to user B
+      // switch to user B
       {
         await tester.openSettings();
         await tester.openSettingsPage(SettingsPage.user);
@@ -120,7 +120,7 @@ void main() {
         expect(find.textContaining(userA), findsOneWidget);
       }
 
-      // swith to the userB again
+      // switch to the userB again
       {
         await tester.openSettings();
         await tester.openSettingsPage(SettingsPage.files);

+ 10 - 10
frontend/appflowy_flutter/integration_test/util/settings.dart

@@ -39,7 +39,7 @@ extension AppFlowySettings on WidgetTester {
     return;
   }
 
-  /// Open the page taht insides the settings page
+  /// Open the page that insides the settings page
   Future<void> openSettingsPage(SettingsPage page) async {
     final button = find.text(page.name, findRichText: true);
     expect(button, findsOneWidget);
@@ -49,25 +49,25 @@ extension AppFlowySettings on WidgetTester {
 
   /// Restore the AppFlowy data storage location
   Future<void> restoreLocation() async {
-    final buton =
+    final button =
         find.byTooltip(LocaleKeys.settings_files_restoreLocation.tr());
-    expect(buton, findsOneWidget);
-    await tapButton(buton);
+    expect(button, findsOneWidget);
+    await tapButton(button);
     return;
   }
 
   Future<void> tapOpenFolderButton() async {
-    final buton = find.text(LocaleKeys.settings_files_open.tr());
-    expect(buton, findsOneWidget);
-    await tapButton(buton);
+    final button = find.text(LocaleKeys.settings_files_open.tr());
+    expect(button, findsOneWidget);
+    await tapButton(button);
     return;
   }
 
   Future<void> tapCustomLocationButton() async {
-    final buton =
+    final button =
         find.byTooltip(LocaleKeys.settings_files_customizeLocation.tr());
-    expect(buton, findsOneWidget);
-    await tapButton(buton);
+    expect(button, findsOneWidget);
+    await tapButton(button);
     return;
   }
 

+ 3 - 3
frontend/appflowy_flutter/lib/plugins/database_view/application/field/field_controller.dart

@@ -162,7 +162,7 @@ class FieldController {
     //Listen on setting changes
     _listenOnSettingChanges();
 
-    //Listen on the fitler changes
+    //Listen on the filter changes
     _listenOnFilterChanges();
 
     //Listen on the sort changes
@@ -177,7 +177,7 @@ class FieldController {
   }
 
   void _listenOnFilterChanges() {
-    //Listen on the fitler changes
+    //Listen on the filter changes
 
     deleteFilterFromChangeset(
       List<FilterInfo> filters,
@@ -230,7 +230,7 @@ class FieldController {
               .removeWhere((key, value) => value.id == updatedFilter.filterId);
         }
 
-        // Insert the filter if there is a fitler and its field info is
+        // Insert the filter if there is a filter and its field info is
         // not null
         if (updatedFilter.hasFilter()) {
           final fieldInfo = _findFieldInfo(

+ 2 - 2
frontend/appflowy_flutter/lib/plugins/database_view/application/setting/setting_controller.dart

@@ -27,7 +27,7 @@ class SettingController {
       );
     });
 
-    // Listen on the seting changes
+    // Listen on the setting changes
     _listener.start(onSettingUpdated: (result) {
       result.fold(
         (newSetting) => updateSetting(newSetting),
@@ -36,7 +36,7 @@ class SettingController {
     });
   }
 
-  void startListeing({
+  void startListening({
     required OnSettingUpdated onSettingUpdated,
     required OnError onError,
   }) {

+ 2 - 2
frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/filter/choicechip/checkbox.dart

@@ -87,7 +87,7 @@ class _CheckboxFilterEditorState extends State<CheckboxFilterEditor> {
       child: BlocBuilder<CheckboxFilterEditorBloc, CheckboxFilterEditorState>(
         builder: (context, state) {
           final List<Widget> children = [
-            _buildFilterPannel(context, state),
+            _buildFilterPanel(context, state),
           ];
 
           return Padding(
@@ -99,7 +99,7 @@ class _CheckboxFilterEditorState extends State<CheckboxFilterEditor> {
     );
   }
 
-  Widget _buildFilterPannel(
+  Widget _buildFilterPanel(
       BuildContext context, CheckboxFilterEditorState state) {
     return SizedBox(
       height: 20,

+ 2 - 2
frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/filter/choicechip/select_option/select_option.dart

@@ -96,7 +96,7 @@ class _SelectOptionFilterEditorState extends State<SelectOptionFilterEditor> {
           SelectOptionFilterEditorState>(
         builder: (context, state) {
           List<Widget> slivers = [
-            SliverToBoxAdapter(child: _buildFilterPannel(context, state)),
+            SliverToBoxAdapter(child: _buildFilterPanel(context, state)),
           ];
 
           if (state.filter.condition != SelectOptionConditionPB.OptionIsEmpty &&
@@ -131,7 +131,7 @@ class _SelectOptionFilterEditorState extends State<SelectOptionFilterEditor> {
     );
   }
 
-  Widget _buildFilterPannel(
+  Widget _buildFilterPanel(
       BuildContext context, SelectOptionFilterEditorState state) {
     return SizedBox(
       height: 20,

+ 2 - 2
frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/filter/choicechip/text.dart

@@ -94,7 +94,7 @@ class _TextFilterEditorState extends State<TextFilterEditor> {
       child: BlocBuilder<TextFilterEditorBloc, TextFilterEditorState>(
         builder: (context, state) {
           final List<Widget> children = [
-            _buildFilterPannel(context, state),
+            _buildFilterPanel(context, state),
           ];
 
           if (state.filter.condition != TextFilterConditionPB.TextIsEmpty &&
@@ -112,7 +112,7 @@ class _TextFilterEditorState extends State<TextFilterEditor> {
     );
   }
 
-  Widget _buildFilterPannel(BuildContext context, TextFilterEditorState state) {
+  Widget _buildFilterPanel(BuildContext context, TextFilterEditorState state) {
     return SizedBox(
       height: 20,
       child: Row(

+ 4 - 4
frontend/appflowy_flutter/lib/plugins/document/document_page.dart

@@ -128,11 +128,11 @@ class _AppFlowyEditorPageState extends State<_AppFlowyEditorPage> {
   @override
   Widget build(BuildContext context) {
     final theme = Theme.of(context);
-    final autoFocusParamters = _autoFocusParamters();
+    final autoFocusParameters = _autoFocusParameters();
     final editor = AppFlowyEditor(
       editorState: editorState,
-      autoFocus: autoFocusParamters.value1,
-      focusedSelection: autoFocusParamters.value2,
+      autoFocus: autoFocusParameters.value1,
+      focusedSelection: autoFocusParameters.value2,
       customBuilders: {
         // Divider
         kDividerType: DividerWidgetBuilder(),
@@ -234,7 +234,7 @@ class _AppFlowyEditorPageState extends State<_AppFlowyEditorPage> {
     }
   }
 
-  dartz.Tuple2<bool, Selection?> _autoFocusParamters() {
+  dartz.Tuple2<bool, Selection?> _autoFocusParameters() {
     if (editorState.document.isEmpty) {
       return dartz.Tuple2(true, Selection.single(path: [0], startOffset: 0));
     }

+ 2 - 2
frontend/appflowy_flutter/lib/plugins/document/editor_styles.dart

@@ -82,8 +82,8 @@ Iterable<ThemeExtension<dynamic>> customPluginTheme(BuildContext context) {
     },
   );
   final pluginTheme = Theme.of(context).brightness == Brightness.dark
-      ? darkPlguinStyleExtension
-      : lightPlguinStyleExtension;
+      ? darkPluginStyleExtension
+      : lightPluginStyleExtension;
   return pluginTheme.toList()
     ..removeWhere((element) =>
         element is HeadingPluginStyle || element is NumberListPluginStyle)

+ 3 - 3
frontend/appflowy_flutter/lib/plugins/document/presentation/more/cubit/document_appearance_cubit.dart

@@ -1,7 +1,7 @@
 import 'package:bloc/bloc.dart';
 import 'package:shared_preferences/shared_preferences.dart';
 
-const String _kDocumentAppearenceFontSize = 'kDocumentAppearenceFontSize';
+const String _kDocumentAppearanceFontSize = 'kDocumentAppearanceFontSize';
 
 class DocumentAppearance {
   const DocumentAppearance({
@@ -24,7 +24,7 @@ class DocumentAppearanceCubit extends Cubit<DocumentAppearance> {
 
   void fetch() async {
     final prefs = await SharedPreferences.getInstance();
-    final fontSize = prefs.getDouble(_kDocumentAppearenceFontSize) ?? 14.0;
+    final fontSize = prefs.getDouble(_kDocumentAppearanceFontSize) ?? 14.0;
     emit(state.copyWith(
       fontSize: fontSize,
     ));
@@ -32,7 +32,7 @@ class DocumentAppearanceCubit extends Cubit<DocumentAppearance> {
 
   void syncFontSize(double fontSize) async {
     final prefs = await SharedPreferences.getInstance();
-    prefs.setDouble(_kDocumentAppearenceFontSize, fontSize);
+    prefs.setDouble(_kDocumentAppearanceFontSize, fontSize);
     emit(state.copyWith(
       fontSize: fontSize,
     ));

+ 3 - 3
frontend/appflowy_flutter/lib/plugins/document/presentation/plugins/base/link_to_page_widget.dart

@@ -20,7 +20,7 @@ void showLinkToPageMenu(
   BuildContext context,
   ViewLayoutTypePB pageType,
 ) {
-  final aligment = menuService.alignment;
+  final alignment = menuService.alignment;
   final offset = menuService.offset;
   menuService.dismiss();
 
@@ -41,8 +41,8 @@ void showLinkToPageMenu(
   _linkToPageMenu?.remove();
   _linkToPageMenu = OverlayEntry(builder: (context) {
     return Positioned(
-      top: aligment == Alignment.bottomLeft ? offset.dy : null,
-      bottom: aligment == Alignment.topLeft ? offset.dy : null,
+      top: alignment == Alignment.bottomLeft ? offset.dy : null,
+      bottom: alignment == Alignment.topLeft ? offset.dy : null,
       left: offset.dx,
       child: Material(
         color: Colors.transparent,

+ 1 - 1
frontend/appflowy_flutter/lib/plugins/document/presentation/plugins/cover/cover_node_widget.dart

@@ -463,7 +463,7 @@ class _CoverImageState extends State<_CoverImage> {
         coverImage = const SizedBox();
         break;
     }
-//OverflowBox needs to be wraped by a widget with constraints(or from its parent) first,otherwise it will occur an erorr
+//OverflowBox needs to be wraped by a widget with constraints(or from its parent) first,otherwise it will occur an error
     return SizedBox(
       height: height,
       child: OverflowBox(

+ 1 - 1
frontend/appflowy_flutter/lib/plugins/document/presentation/plugins/openai/widgets/loading.dart

@@ -17,7 +17,7 @@ class Loading {
         return const SimpleDialog(
           elevation: 0.0,
           backgroundColor:
-              Colors.transparent, // can change this to your prefered color
+              Colors.transparent, // can change this to your preferred color
           children: <Widget>[
             Center(
               child: CircularProgressIndicator(),

+ 1 - 1
frontend/appflowy_flutter/lib/startup/startup.dart

@@ -27,7 +27,7 @@ import 'tasks/prelude.dart';
 //                                   └───▶│AppWidgetTask│────────▶│ApplicationWidget │─────▶│ SplashScreen  │
 //                                        └─────────────┘         └──────────────────┘      └───────────────┘
 //
-//                                                 3.build MeterialApp
+//                                                 3.build MaterialApp
 final getIt = GetIt.instance;
 
 abstract class EntryPoint {

+ 1 - 1
frontend/appflowy_flutter/lib/workspace/application/app/app_bloc.dart

@@ -141,7 +141,7 @@ class AppEvent with _$AppEvent {
     PluginBuilder pluginBuilder, {
     String? desc,
 
-    /// The initial data should be the JSON of the doucment
+    /// The initial data should be the JSON of the document
     /// For example: {"document":{"type":"editor","children":[]}}
     String? initialData,
     Map<String, String>? ext,

+ 2 - 2
frontend/appflowy_flutter/lib/workspace/presentation/home/menu/app/section/section.dart

@@ -33,14 +33,14 @@ class ViewSection extends StatelessWidget {
         },
         child: BlocBuilder<ViewSectionBloc, ViewSectionState>(
           builder: (context, state) {
-            return _reorderableColum(context, state);
+            return _reorderableColumn(context, state);
           },
         ),
       ),
     );
   }
 
-  ReorderableColumn _reorderableColum(
+  ReorderableColumn _reorderableColumn(
       BuildContext context, ViewSectionState state) {
     final children = state.views.map((view) {
       return ViewSectionItem(

+ 1 - 1
frontend/appflowy_flutter/packages/appflowy_editor/documentation/customizing.md

@@ -365,7 +365,7 @@ ThemeData customizeEditorTheme(BuildContext context) {
 
   return Theme.of(context).copyWith(extensions: [
     editorStyle,
-    ...darkPlguinStyleExtension,
+    ...darkPluginStyleExtension,
     quote,
   ]);
 }

+ 4 - 4
frontend/appflowy_flutter/packages/appflowy_editor/example/lib/home_page.dart

@@ -48,7 +48,7 @@ class _HomePageState extends State<HomePage> {
   ThemeData _themeData = ThemeData.light().copyWith(
     extensions: [
       ...lightEditorStyleExtension,
-      ...lightPlguinStyleExtension,
+      ...lightPluginStyleExtension,
     ],
   );
 
@@ -151,7 +151,7 @@ Section 1.10.32 of "de Finibus Bonorum et Malorum", written by Cicero in 45 BC
 
           // Theme Demo
           _buildSeparator(context, 'Theme Demo'),
-          _buildListTile(context, 'Bulit In Dark Mode', () {
+          _buildListTile(context, 'Built In Dark Mode', () {
             _jsonString = Future<String>.value(
               jsonEncode(_editorState.document.toJson()).toString(),
             );
@@ -159,7 +159,7 @@ Section 1.10.32 of "de Finibus Bonorum et Malorum", written by Cicero in 45 BC
               _themeData = ThemeData.dark().copyWith(
                 extensions: [
                   ...darkEditorStyleExtension,
-                  ...darkPlguinStyleExtension,
+                  ...darkPluginStyleExtension,
                 ],
               );
             });
@@ -372,7 +372,7 @@ Section 1.10.32 of "de Finibus Bonorum et Malorum", written by Cicero in 45 BC
 
     return Theme.of(context).copyWith(extensions: [
       editorStyle,
-      ...darkPlguinStyleExtension,
+      ...darkPluginStyleExtension,
       quote,
     ]);
   }

+ 1 - 1
frontend/appflowy_flutter/packages/appflowy_editor/example/lib/plugin/editor_theme.dart

@@ -34,7 +34,7 @@ ThemeData customizeEditorTheme(BuildContext context) {
 
   return Theme.of(context).copyWith(extensions: [
     editorStyle,
-    ...darkPlguinStyleExtension,
+    ...darkPluginStyleExtension,
     quote,
   ]);
 }

+ 2 - 2
frontend/appflowy_flutter/packages/appflowy_editor/lib/src/editor_state.dart

@@ -77,7 +77,7 @@ class EditorState {
 
   // TODO: only for testing.
   bool disableSealTimer = false;
-  bool disbaleRules = false;
+  bool disableRules = false;
 
   bool editable = true;
 
@@ -209,7 +209,7 @@ class EditorState {
 
   void _applyRules(int ruleCount) {
     // Set a maximum count to prevent a dead loop.
-    if (ruleCount >= 5 || disbaleRules) {
+    if (ruleCount >= 5 || disableRules) {
       return;
     }
 

+ 1 - 1
frontend/appflowy_flutter/packages/appflowy_editor/lib/src/render/selection_menu/selection_menu_service.dart

@@ -69,7 +69,7 @@ class SelectionMenu implements SelectionMenuService {
         editorState.renderBox?.localToGlobal(Offset.zero) ?? Offset.zero;
     final editorHeight = editorState.renderBox!.size.height;
 
-    // show below defualt
+    // show below default
     var showBelow = true;
     _alignment = Alignment.bottomLeft;
     final bottomRight = selectionRects.first.bottomRight;

+ 2 - 2
frontend/appflowy_flutter/packages/appflowy_editor/lib/src/render/style/plugin_styles.dart

@@ -2,14 +2,14 @@ import 'package:appflowy_editor/appflowy_editor.dart';
 import 'package:appflowy_editor/src/infra/flowy_svg.dart';
 import 'package:flutter/material.dart';
 
-Iterable<ThemeExtension<dynamic>> get lightPlguinStyleExtension => [
+Iterable<ThemeExtension<dynamic>> get lightPluginStyleExtension => [
       HeadingPluginStyle.light,
       CheckboxPluginStyle.light,
       NumberListPluginStyle.light,
       QuotedTextPluginStyle.light,
     ];
 
-Iterable<ThemeExtension<dynamic>> get darkPlguinStyleExtension => [
+Iterable<ThemeExtension<dynamic>> get darkPluginStyleExtension => [
       HeadingPluginStyle.dark,
       CheckboxPluginStyle.dark,
       NumberListPluginStyle.dark,

+ 3 - 3
frontend/appflowy_flutter/packages/appflowy_editor/lib/src/render/toolbar/toolbar_widget.dart

@@ -16,14 +16,14 @@ class ToolbarWidget extends StatefulWidget {
     required this.layerLink,
     required this.offset,
     required this.items,
-    this.aligment = Alignment.topLeft,
+    this.alignment = Alignment.topLeft,
   }) : super(key: key);
 
   final EditorState editorState;
   final LayerLink layerLink;
   final Offset offset;
   final List<ToolbarItem> items;
-  final Alignment aligment;
+  final Alignment alignment;
 
   @override
   State<ToolbarWidget> createState() => _ToolbarWidgetState();
@@ -41,7 +41,7 @@ class _ToolbarWidgetState extends State<ToolbarWidget> with ToolbarMixin {
         link: widget.layerLink,
         showWhenUnlinked: true,
         offset: widget.offset,
-        followerAnchor: widget.aligment,
+        followerAnchor: widget.alignment,
         child: _buildToolbar(context),
       ),
     );

+ 1 - 1
frontend/appflowy_flutter/packages/appflowy_editor/lib/src/service/editor_service.dart

@@ -39,7 +39,7 @@ class AppFlowyEditor extends StatefulWidget {
     this.themeData = themeData ??
         ThemeData.light().copyWith(extensions: [
           ...lightEditorStyleExtension,
-          ...lightPlguinStyleExtension,
+          ...lightPluginStyleExtension,
         ]);
   }
 

+ 3 - 3
frontend/appflowy_flutter/packages/appflowy_editor/lib/src/service/internal_key_event_handlers/markdown_syntax_to_styled_text.dart

@@ -310,7 +310,7 @@ ShortcutEventHandler underscoreToItalicHandler = (editorState, event) {
   return KeyEventResult.handled;
 };
 
-ShortcutEventHandler doubleAsteriskToBoldHanlder = (editorState, event) {
+ShortcutEventHandler doubleAsteriskToBoldHandler = (editorState, event) {
   final selectionService = editorState.service.selectionService;
   final selection = selectionService.currentSelection.value;
   final textNodes = selectionService.currentSelectedNodes.whereType<TextNode>();
@@ -366,8 +366,8 @@ ShortcutEventHandler doubleAsteriskToBoldHanlder = (editorState, event) {
   return KeyEventResult.handled;
 };
 
-//Implement in the same way as doubleAsteriskToBoldHanlder
-ShortcutEventHandler doubleUnderscoreToBoldHanlder = (editorState, event) {
+//Implement in the same way as doubleAsteriskToBoldHandler
+ShortcutEventHandler doubleUnderscoreToBoldHandler = (editorState, event) {
   final selectionService = editorState.service.selectionService;
   final selection = selectionService.currentSelection.value;
   final textNodes = selectionService.currentSelectedNodes.whereType<TextNode>();

+ 2 - 2
frontend/appflowy_flutter/packages/appflowy_editor/lib/src/service/shortcut_event/built_in_shortcut_events.dart

@@ -310,12 +310,12 @@ List<ShortcutEvent> builtInShortcutEvents = [
   ShortcutEvent(
     key: 'Double asterisk to bold',
     command: 'shift+digit 8',
-    handler: doubleAsteriskToBoldHanlder,
+    handler: doubleAsteriskToBoldHandler,
   ),
   ShortcutEvent(
     key: 'Double underscore to bold',
     command: 'shift+underscore',
-    handler: doubleUnderscoreToBoldHanlder,
+    handler: doubleUnderscoreToBoldHandler,
   ),
   // https://github.com/flutter/flutter/issues/104944
   // Workaround: Using space editing on the web platform often results in errors,

+ 1 - 1
frontend/appflowy_flutter/packages/appflowy_editor/lib/src/service/toolbar_service.dart

@@ -66,7 +66,7 @@ class _FlowyToolbarState extends State<FlowyToolbar>
         layerLink: layerLink,
         offset: offset,
         items: items,
-        aligment: alignment,
+        alignment: alignment,
       ),
     );
     Overlay.of(context)?.insert(_toolbarOverlay!);

+ 1 - 1
frontend/appflowy_flutter/packages/appflowy_editor/test/command/command_extension_test.dart

@@ -4,7 +4,7 @@ import '../infra/test_editor.dart';
 
 void main() {
   group('command_extension.dart', () {
-    testWidgets('insert a new checkbox after an exsiting checkbox',
+    testWidgets('insert a new checkbox after an existing checkbox',
         (tester) async {
       final editor = tester.editor
         ..insertTextNode(

+ 1 - 1
frontend/appflowy_flutter/packages/appflowy_editor/test/extensions/node_extension_test.dart

@@ -45,7 +45,7 @@ void main() {
       expect(result, false);
     });
 
-    testWidgets('insert a new checkbox after an exsiting checkbox',
+    testWidgets('insert a new checkbox after an existing checkbox',
         (tester) async {
       const text = 'Welcome to Appflowy 😁';
       final editor = tester.editor

+ 1 - 1
frontend/appflowy_flutter/packages/appflowy_editor/test/infra/test_editor.dart

@@ -160,7 +160,7 @@ class EditorWidgetTester {
       ),
     )
       ..disableSealTimer = true
-      ..disbaleRules = true;
+      ..disableRules = true;
   }
 
   bool runAction(int actionIndex, Node node) {

+ 1 - 1
frontend/appflowy_flutter/packages/appflowy_editor/test/render/rich_text/checkbox_text_test.dart

@@ -71,7 +71,7 @@ void main() async {
 
     // https://github.com/AppFlowy-IO/AppFlowy/issues/1763
     // // [Bug] Mouse unable to click a certain area #1763
-    testWidgets('insert a new checkbox after an exsiting checkbox',
+    testWidgets('insert a new checkbox after an existing checkbox',
         (tester) async {
       // Before
       //

+ 1 - 1
frontend/appflowy_flutter/packages/appflowy_editor/test/service/internal_key_event_handlers/exit_editing_mode_handler_test.dart

@@ -27,7 +27,7 @@ void main() async {
         Selection.single(path: [1], startOffset: 0, endOffset: text.length),
       );
 
-      // mutliple selection
+      // multiple selection
       await _testSelection(
         editor,
         Selection(

+ 3 - 3
frontend/appflowy_flutter/packages/appflowy_editor_plugins/lib/src/emoji_picker/emoji_menu_item.dart

@@ -24,15 +24,15 @@ void _showEmojiSelectionMenu(
   SelectionMenuService menuService,
   BuildContext context,
 ) {
-  final aligment = menuService.alignment;
+  final alignment = menuService.alignment;
   final offset = menuService.offset;
   menuService.dismiss();
 
   _emojiSelectionMenu?.remove();
   _emojiSelectionMenu = OverlayEntry(builder: (context) {
     return Positioned(
-      top: aligment == Alignment.bottomLeft ? offset.dy : null,
-      bottom: aligment == Alignment.topLeft ? offset.dy : null,
+      top: alignment == Alignment.bottomLeft ? offset.dy : null,
+      bottom: alignment == Alignment.topLeft ? offset.dy : null,
       left: offset.dx,
       child: Material(
         child: EmojiSelectionMenu(

+ 5 - 5
frontend/appflowy_tauri/src/appflowy_app/stores/effects/database/field/type_option/type_option_controller.ts

@@ -45,7 +45,7 @@ export class TypeOptionController {
       if (this.initialFieldInfo.some) {
         return this.initialFieldInfo.val;
       } else {
-        throw Error('Unexpect empty type option data. Should call initialize first');
+        throw Error('Unexpected empty type option data. Should call initialize first');
       }
     }
     return new FieldInfo(this.typeOptionData.val.field);
@@ -69,7 +69,7 @@ export class TypeOptionController {
       void this.fieldBackendSvc?.updateField({ name: name });
       this.fieldNotifier.notify(this.typeOptionData.val.field);
     } else {
-      throw Error('Unexpect empty type option data. Should call initialize first');
+      throw Error('Unexpected empty type option data. Should call initialize first');
     }
   };
 
@@ -82,20 +82,20 @@ export class TypeOptionController {
         }
       });
     } else {
-      throw Error('Unexpect empty type option data. Should call initialize first');
+      throw Error('Unexpected empty type option data. Should call initialize first');
     }
   };
 
   deleteField = async () => {
     if (this.fieldBackendSvc === undefined) {
-      Log.error('Unexpect empty field backend service');
+      Log.error('Unexpected empty field backend service');
     }
     return this.fieldBackendSvc?.deleteField();
   };
 
   duplicateField = async () => {
     if (this.fieldBackendSvc === undefined) {
-      Log.error('Unexpect empty field backend service');
+      Log.error('Unexpected empty field backend service');
     }
     return this.fieldBackendSvc?.duplicateField();
   };

+ 1 - 1
frontend/rust-lib/flowy-document/src/editor/READ_ME.json

@@ -241,7 +241,7 @@
             "insert": "bold text",
             "attributes": {
               "bold": true,
-              "defaultFormating": true
+              "defaultFormatting": true
             }
           }
         ]

+ 1 - 1
frontend/scripts/flatpack-buildfiles/io.appflowy.AppFlowy.metainfo.xml

@@ -25,7 +25,7 @@
       ## Extensively extensible For those with no coding experience, AppFlowy enables you to create apps that suit your needs. It&apos;s built on a community-driven toolbox, including templates, plugins, themes, and more.
     </p>
     <p>
-      ## Truely native experience Faster, more stable with support for offline mode. It&apos;s also better integrated with different devices. Moreover, AppFlowy enables users to access features and possibilities not available on the web.
+      ## Truly native experience Faster, more stable with support for offline mode. It&apos;s also better integrated with different devices. Moreover, AppFlowy enables users to access features and possibilities not available on the web.
     </p>
   </description>
   

+ 2 - 2
frontend/scripts/makefile/desktop.toml

@@ -201,7 +201,7 @@ run_task = { name = [
 
 [tasks.compile_test_backend]
 mac_alias = "compile_test_backend_default"
-windows_alias = "compile_test_backend_widnows"
+windows_alias = "compile_test_backend_windows"
 linux_alias = "compile_test_backend_default"
 
 [tasks.compile_test_backend_default]
@@ -217,7 +217,7 @@ script = [
 ]
 script_runner = "@shell"
 
-[tasks.compile_test_backend_widnows]
+[tasks.compile_test_backend_windows]
 private = true
 script = [
   """

+ 1 - 1
shared-lib/lib-ot/src/text_delta/attributes.rs

@@ -139,7 +139,7 @@ lazy_static! {
     BuildInTextAttributeKey::Background,
     BuildInTextAttributeKey::InlineCode,
   ]);
-  static ref INGORE_KEYS: HashSet<BuildInTextAttributeKey> = HashSet::from_iter(vec![
+  static ref IGNORE_KEYS: HashSet<BuildInTextAttributeKey> = HashSet::from_iter(vec![
     BuildInTextAttributeKey::Width,
     BuildInTextAttributeKey::Height,
   ]);