class Cucumber::Cli::LanguageHelpFormatter
def before_visit_multiline_arg(table)
def before_visit_multiline_arg(table) if @options[:incomplete] @io.puts(format_string(INCOMPLETE, :failed)) end end
def before_visit_table_cell_value(value, status)
def before_visit_table_cell_value(value, status) if @col == 1 if(@options[:check_lang]) @incomplete = Parser::NaturalLanguage.get(nil, value).incomplete? end status = :comment elsif @incomplete status = :undefined end @col += 1 end
def before_visit_table_row(table_row)
def before_visit_table_row(table_row) @col = 1 end
def list_keywords(io, lang)
def list_keywords(io, lang) language = Parser::NaturalLanguage.get(nil, lang) raw = Parser::NaturalLanguage::KEYWORD_KEYS.map do |key| [key, language.keywords(key).join(" / ")] end print_table io, raw, :incomplete => language.incomplete? end
def list_languages(io)
def list_languages(io) raw = Cucumber::LANGUAGES.keys.sort.map do |lang| [ lang, Cucumber::LANGUAGES[lang]['name'], Cucumber::LANGUAGES[lang]['native'] ] end print_table io, raw, :check_lang => true end
def print_table(io, raw, options)
def print_table(io, raw, options) table = Ast::Table.new(raw) formatter = new(nil, io, options) Ast::TreeWalker.new(nil, [formatter]).visit_multiline_arg(table) end