# GTK3 for nimrod, fix this:
# type 
#   EventFunc* = proc (event: PEvent; data: gpointer) {.cdecl.}
#
arg0 = ARGV[0]
text = File.read(arg0)
list = Array.new
text.lines{|line|
	#if m = /^\s*(\w+)\* = proc \(.*\) {.*}\n/.match(line)
	if m = /^\s*(\w+)\* = proc \(/.match(line)
	#if m = /^\s*(\w+)\* {.*} = enum \n/.match(line)
		list << m[1]
		#puts m[1]
	end
}
#exit
list.sort_by!{|el| -el.length}
list.each{|pat|
	text.gsub!(/\b#{pat}\b/, 'T' + pat)
}
File.open(arg0, "w") {|file|
	text.lines{|line|
		file.write(line)
	}
}

