arabize_lints

Analyzer lints that catch left-to-right layout assumptions in Flutter code. Most rules come with a quick fix.

Usage

Add the plugin to your analysis_options.yaml:

plugins:
  arabize_lints: ^0.1.0

Rules are enabled with the plugin. To pick them one by one:

plugins:
  arabize_lints:
    version: ^0.1.0
    diagnostics:
      prefer_directional_edge_insets: true
      prefer_directional_alignment: true
      prefer_positioned_directional: true
      prefer_text_align_start_end: true
      avoid_hardcoded_text_direction: true
      prefer_directional_border_radius: true
      prefer_directional_border: true
      avoid_unmirrored_icons: true

Rules

Rule Flags Prefer
prefer_directional_edge_insets EdgeInsets.only(left: ...), EdgeInsets.fromLTRB EdgeInsetsDirectional
prefer_directional_alignment Alignment.centerLeft and similar AlignmentDirectional.centerStart
prefer_positioned_directional Positioned(left: ...) PositionedDirectional
prefer_text_align_start_end TextAlign.left, TextAlign.right TextAlign.start, TextAlign.end
avoid_hardcoded_text_direction TextDirection.ltr and rtl literals the ambient Directionality
prefer_directional_border_radius BorderRadius.only(topLeft: ...) BorderRadiusDirectional
prefer_directional_border Border(left: ...) BorderDirectional
avoid_unmirrored_icons Icons.chevron_left and similar Icon(..., matchTextDirection: true)

Libraries

arabize_lints
Analyzer lints for Arabic and RTL support in Flutter code.
main