# Global Metrics

path: .metrics.cyclomatic.sum
old: 2.0
new: 7.0
path: .metrics.halstead.length
old: 14.0
new: 63.0
path: .metrics.halstead.level
old: 0.3333333333333333
new: 0.12777777777777777
path: .metrics.halstead.bugs
old: 0.00921258354248177
new: 0.06187378246267934
path: .metrics.halstead.N2
old: 5.0
new: 30.0
path: .metrics.halstead.difficulty
old: 3.0
new: 7.826086956521739
path: .metrics.halstead.purity_ratio
old: 1.937101105625982
new: 2.3343091269518284
path: .metrics.halstead.volume
old: 48.43204266092216
new: 323.1448300675329
path: .metrics.halstead.time
old: 8.072007110153695
new: 140.49775220327516
path: .metrics.halstead.estimated_program_length
old: 27.11941547876375
new: 147.06147499796518
path: .metrics.halstead.n1
old: 6.0
new: 12.0
path: .metrics.halstead.effort
old: 145.2961279827665
new: 2528.959539658953
path: .metrics.halstead.n2
old: 5.0
new: 23.0
path: .metrics.halstead.vocabulary
old: 11.0
new: 35.0
path: .metrics.halstead.N1
old: 9.0
new: 33.0
path: .metrics.mi.mi_visual_studio
old: 69.4967339725595
new: 46.306438205640944
path: .metrics.mi.mi_original
old: 118.83941509307677
new: 79.18400933164602
path: .metrics.mi.mi_sei
old: 95.951822543723
new: 73.8804347527654
path: .metrics.nargs.average
old: 1.0
new: 0.0
path: .metrics.nargs.sum
old: 1.0
new: 0.0
path: .metrics.nexits.sum
old: 1.0
new: 0.0
path: .metrics.nexits.average
old: 1.0
new: 0.0
path: .metrics.loc.ploc
old: 6.0
new: 23.0
path: .metrics.loc.lloc
old: 2.0
new: 0.0
path: .metrics.loc.sloc
old: 7.0
new: 41.0
path: .metrics.loc.cloc
old: 0.0
new: 10.0
path: .metrics.loc.blank
old: 1.0
new: 8.0

# Spaces Data

## Minimal test - lines (13, 39)

path: .spaces[0].metrics.cyclomatic.sum
old: 1.0
new: 6.0
path: .spaces[0].metrics.loc.lloc
old: 2.0
new: 0.0
path: .spaces[0].metrics.loc.sloc
old: 5.0
new: 27.0
path: .spaces[0].metrics.loc.ploc
old: 5.0
new: 17.0
path: .spaces[0].metrics.loc.cloc
old: 0.0
new: 4.0
path: .spaces[0].metrics.loc.blank
old: 0.0
new: 6.0
path: .spaces[0].metrics.nexits.average
old: 1.0
new: 0.0
path: .spaces[0].metrics.nexits.sum
old: 1.0
new: 0.0
path: .spaces[0].metrics.mi.mi_sei
old: 104.04573714388096
new: 78.20295049059413
path: .spaces[0].metrics.mi.mi_visual_studio
old: 72.81886861189498
new: 50.75550721630461
path: .spaces[0].metrics.mi.mi_original
old: 124.52026532634042
new: 86.79191733988088
path: .spaces[0].metrics.halstead.N2
old: 5.0
new: 25.0
path: .spaces[0].metrics.halstead.bugs
old: 0.00921258354248177
new: 0.057549027284568344
path: .spaces[0].metrics.halstead.time
old: 8.072007110153695
new: 126.0278008782626
path: .spaces[0].metrics.halstead.purity_ratio
old: 1.937101105625982
new: 2.1332788407600343
path: .spaces[0].metrics.halstead.length
old: 14.0
new: 58.0
path: .spaces[0].metrics.halstead.difficulty
old: 3.0
new: 7.894736842105263
path: .spaces[0].metrics.halstead.n1
old: 6.0
new: 12.0
path: .spaces[0].metrics.halstead.effort
old: 145.2961279827665
new: 2268.5004158087268
path: .spaces[0].metrics.halstead.n2
old: 5.0
new: 19.0
path: .spaces[0].metrics.halstead.vocabulary
old: 11.0
new: 31.0
path: .spaces[0].metrics.halstead.level
old: 0.3333333333333333
new: 0.12666666666666668
path: .spaces[0].metrics.halstead.N1
old: 9.0
new: 33.0
path: .spaces[0].metrics.halstead.volume
old: 48.43204266092216
new: 287.34338600243876
path: .spaces[0].metrics.halstead.estimated_program_length
old: 27.11941547876375
new: 123.730172764082
path: .spaces[0].metrics.nargs.average
old: 1.0
new: 0.0
path: .spaces[0].metrics.nargs.sum
old: 1.0
new: 0.0

### Code

    namespace mozilla {

    class WritingMode;
    template
    class Maybe;

    namespace widget {

    /**
     * Helper to emulate native key bindings. Currently only MacOS is supported.
     */

    class HeadlessKeyBindings final {
     public:
      HeadlessKeyBindings() = default;

      static HeadlessKeyBindings& GetInstance();

      void GetEditCommands(nsIWidget::NativeKeyBindingsType aType,
                           const WidgetKeyboardEvent& aEvent,
                           const Maybe& aWritingMode,
                           nsTArray& aCommands);
      [[nodiscard]] nsresult AttachNativeKeyEvent(WidgetKeyboardEvent& aEvent);
    };

    }  // namespace widget
    }  // namespace mozilla