| #!/usr/bin/env ruby |
| $0="Doc_Skeleton" |
| require 'pathname' |
| require 'fileutils' |
| require 'stringio' |
| |
| if(ARGV[0].to_s == "") |
| puts "use `docskel <output_path>`" |
| exit(0) |
| end |
| |
| module CParser |
| def parse text |
| # match comments: /\/\*\*(?!\*\/).*\*\//m |
| state = StringIO.new(text) |
| false |
| end |
| extend self; |
| end |
| |
| |
| Root = Pathname.new(__FILE__).expand_path.join('..') |
| Files = Dir[Root.join("**/*.h").to_s] |
| Target = Root.join(ARGV[0].to_s).expand_path |
| |
| # make target folder of doesn't exist |
| Files.each do |fname| |
| data = IO.binread(fname) |
| data = CParser.parse data |
| if(data) |
| IO.binwrite Target.join(Pathname.new(fname).basename.sub_ext('.md'.freeze)).to_s, data |
| else |
| puts "Couldn't parse file #{fname} for data." |
| end |
| end |