alias info.mirc {
; ----- REMOTE STATS STUFF -----
; count remotes (incl. events, aliases, menus, dialogs)
var %r.nr = 1, %r.size = 0, %r.lines = 0, %r.aliases.glob = 0, %r.aliases.loc = 0
var %events = 0, %menus = 0, %dialogs = 0
while ($script(%r.nr)) {
var %file = $+(",$shortfn($ifmatch),")
inc %r.size $file(%file).size | inc %r.lines $lines(%file)
filter -gff %file nul ^(?i)alias (?!-l) | inc %r.aliases.glob $filtered
filter -gff %file nul ^(?i)alias -l\s | inc %r.aliases.loc $filtered
filter -gff %file nul ^(?i)(on|ctcp|raw) .+:.+ | inc %events $filtered
filter -gff %file nul ^(?i)menu .+{ | inc %menus $filtered
filter -gff %file nul ^(?i)dialog .+{ | inc %dialogs $filtered
inc %r.nr
}
var %r.aliases.tot = $calc(%r.aliases.glob + %r.aliases.loc), %r.av.lines = $round($calc(%r.lines / $script(0)),0)
; ----- BELOW: SOME OTHER STATS STUFF :) -----
; count aliases
var %a.nr = 1, %a.size = 0, %a.lines = 0
while ($alias(%a.nr)) {
var %file = $+(",$shortfn($ifmatch),")
inc %a.size $file(%file).size
inc %a.lines $lines(%file)
inc %a.nr
}
var %a.av.lines = $round($calc(%a.lines / $alias(0)),0)
; count timers
var %t.nr = 1, %loops
while ($timer(%t.nr)) {
if ($timer($ifmatch).reps == 0) { inc %loops }
inc %t.nr
}
; count groups
var %g.nr = 1, %actgroups
while ($group(%g.nr).status) {
if ($ifmatch == on) { inc %actgroups }
inc %g.nr
}
; count hashtables
var %h.nr = 1, %tables = 0, %items = 0
while ($hget(%h.nr)) { inc %tables | inc %items $hget($v1,0).item | inc %h.nr }
var %h.av.items = $round($calc(%items / %tables),0)
; ----- example output -----
ECHO -a Remote-Files: $script(0) Lines: %r.lines $chr(91) $+ av.: %r.av.lines $+ $chr(93) Size: $bytes(%r.size).suf $&
Aliases(Remote): %r.aliases.tot $iif((%r.aliases.tot > 0),$chr(91) $+ global: %r.aliases.glob $+ $chr(44) local: %r.aliases.loc $+ $chr(93))
ECHO -a Alias-Files: $alias(0) Lines: %a.lines $chr(91) $+ av.: %a.av.lines $+ $chr(93) Size: $bytes(%a.size).suf
ECHO -a Menus: %menus ### Dialogs: %dialogs ### Events: %events ### Timer: $timer(0) $iif(($timer(1)),$chr(91) $+ Loops: %loops $+ $chr(93))
ECHO -a Groups: $group(0) $iif(($group(1)),$chr(91) $+ active: %actgroups $+ $chr(93)) $&
### Hashtables: %tables $iif((%tables > 0),$chr(91) $+ Items: %items $+ $chr(44) av.: %h.av.items $+ $chr(93))
}