DEV Community

Query Filter
Query Filter

Posted on

docker-161

; Ensure optimal handling speeds for AHK v1.1.33.10
#NoEnv
SetBatchLines, -1
SendMode Input

; --- CONFIGURATION ---
TargetLibrary := "citi_nano_demo" 
LibraryIndex := 0
MaxRows := 80                     ; Cap set to 80
FoundMatch := false

MsgBox, 64, AHK Finder, Click inside the IntelliJ Dependencies list box, then press OK.

; 1. Initialize custom visual feedback window
Progress, M W600 H90 Y100 fm10 fs10,, Waiting for first row..., Dependency Tracker
Progress, 0

; 2. Snap to the top row
Send, {Home}
Sleep, 400 

; 3. Loop through rows
Loop, %MaxRows% {
    LibraryIndex++

    ; Clear clipboard for tracking
    Clipboard := "" 

    ; Pull row text using the IntelliJ Context Menu shortcut
    Send, +{F10} 
    Sleep, 80
    Send, {Down 2}{Enter} 
    Sleep, 120

    CurrentRowText := Trim(Clipboard)

    ; Format display text for tracking window
    if (CurrentRowText = "") {
        DisplayText := "[Empty Clipboard - Row Missing]"
    } else {
        DisplayText := CurrentRowText
        if (StrLen(DisplayText) > 70)
            DisplayText := SubStr(DisplayText, 1, 67) . "..."
    }

    ; Calculate progress percentage
    Pct := (LibraryIndex / MaxRows) * 100

    ; Print the text found NEXT to the current row count status line
    Progress, %Pct%, Row [%LibraryIndex%/%MaxRows%] -> "%DisplayText%", Searching: "%TargetLibrary%"

    ; Check for target match
    if (InStr(CurrentRowText, TargetLibrary)) {
        FoundMatch := true
        break
    }

    ; Drop down to next dependency
    Send, {Down}
    Sleep, 80 
}

; 4. Turn off feedback window
Progress, Off

; 5. Show Results
if (FoundMatch) {
    MsgBox, 64, Success, Found at Row Index: %LibraryIndex%`n`nFull String: %CurrentRowText%
} else {
    MsgBox, 16, Finished, Scanned %LibraryIndex% rows. "%TargetLibrary%" was not found.
}

ExitApp
Enter fullscreen mode Exit fullscreen mode

Top comments (0)