2
0

keymap_to_readme.rb 707 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #!/usr/bin/env ruby
  2. class KeymapConverter
  3. def initialize(filename)
  4. @filename = filename
  5. @mode = :search
  6. end
  7. def read_keymaps
  8. lines = IO.readlines(@filename)
  9. lines.each { |line| parse_line line[0..-2] }
  10. end
  11. def parse_line(line)
  12. case @mode
  13. when :search
  14. if line =~ /KC_KEYMAP/
  15. puts "### #{line}"
  16. puts "```"
  17. @mode = :parse
  18. end
  19. when :parse
  20. if line =~ /\)/
  21. @mode = :search
  22. puts "```\n\n"
  23. else
  24. line = line[4..-1]
  25. line.sub!(/(,)^-/m, "|")
  26. line.sub!(/( {4})/, " |")
  27. puts line
  28. end
  29. end
  30. end
  31. end
  32. converter = KeymapConverter.new('keymap.c')
  33. converter.read_keymaps