All pastes #968160 Raw Edit

James

public text v1 · immutable
·published 2008-04-02 21:26 UTC
rendered paste body
Menu * {
  Auto Indenter:AIndent 
}
Alias AIndent dialog -md AIndent AIndent 
Dialog AIndent {
  title "Auto Indenter"
  size -1 -1 312 207
  option dbu
  edit "", 1, 19 12 275 134, autohs vsbar return multi
  box "The script", 2, 9 3 294 156
  button "Clear", 3, 95 176 37 12
  button "Ident", 4, 156 176 37 12
  box "Control", 5, 85 166 121 30
}
ON *:DIALOG:AIndent:SCLICK:*:{
  if ($did == 3) did -r $dname 1
  elseif ($did == 4) {
    var %i 0
    while (%i < $did($dname,1).lines) {
      inc %i
      writeini AIndent.ini SCRIPT %i $did($dname,1,%i)
    }
    AIndent2
  }
}
Alias AIndent2 {
  set %Spacing 0
  var %i 0
  while (%i < $ini(AIndent.ini,SCRIPT,0)) {
    inc %i
    if (%i == 2) set %Spacing 1
    if ($chr(125) isin $right($readini(AIndent.ini,n,SCRIPT,$ini(AIndent.ini,SCRIPT,%i)),3)) dec %Spacing
    write AIndent.txt $str($str($chr(160),2),%Spacing) $+ $readini(AIndent.ini,n,SCRIPT,$ini(AIndent.ini,SCRIPT,%i))
    if ($chr(123) isin $right($readini(AIndent.ini,n,SCRIPT,$ini(AIndent.ini,SCRIPT,%i)),3)) inc %Spacing
  }
  run AIndent.txt
  AIndent3
}
Alias AIndent3 {
  .timer 1 1 .remove AIndent.txt
  .timer 1 1 .remove AIndent.ini
}