droidtui 0.5.2

A beautiful Terminal User Interface (TUI) for Android development and ADB commands
Documentation
#!/usr/bin/env nu
# Find Crashes — detect FATAL exceptions and ANR patterns
# Usage: nu find_crashes.nu logcat.jsonl

def main [file: path] {
    let entries = (open $file
    | lines
    | where { |line| ($line | str length) > 0 }
    | each { |line| $line | from json })

    let fatals = ($entries | where level == "Fatal")
    let anrs = ($entries | where { |r| $r.message | str contains "ANR" })
    let exceptions = ($entries | where { |r|
        ($r.message | str contains "Exception")
        or ($r.message | str contains "FATAL")
    })

    print $"(ansi red_bold)Crashes & ANRs(ansi reset)"
    print $"  Fatal entries:     ($fatals | length)"
    print $"  ANR mentions:      ($anrs | length)"
    print $"  Exception entries: ($exceptions | length)"
    print ""

    if ($fatals | length) > 0 {
        print $"(ansi red)── Fatal Entries ──(ansi reset)"
        $fatals | select timestamp tag message | first 10
    }

    if ($anrs | length) > 0 {
        print $"(ansi yellow)── ANR Entries ──(ansi reset)"
        $anrs | select timestamp tag message | first 10
    }
}