You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

40 lines
712 B

#!/usr/bin/env ruby
class KeymapConverter
def initialize(filename)
@filename = filename
@mode = :search
end
def read_keymaps
lines = IO.readlines(@filename)
lines.each { |line| parse_line line[0..-2] }
end
def parse_line(line)
case @mode
when :search
if line =~ /COMPACT_KEYMAP/
puts "### #{line}"
puts "```"
@mode = :parse
end
when :parse
if line =~ /\)/
@mode = :search
puts "```\n\n"
else
line = line[4..-1]
line.sub!(/(,)^-/m, "|")
line.sub!(/( {4})/, " |")
puts line
end
end
end
end
converter = KeymapConverter.new('keymap.c')
converter.read_keymaps