File tree Expand file tree Collapse file tree 3 files changed +30
-8
lines changed
Expand file tree Collapse file tree 3 files changed +30
-8
lines changed Original file line number Diff line number Diff line change @@ -6,16 +6,23 @@ use lib 'Gherkin-latest/lib';
66
77use Gherkin::Parser;
88use Gherkin::TokenFormatterBuilder;
9+ use Gherkin::TokenMatcher;
10+ use Gherkin::MarkdownTokenMatcher;
911
1012package App::GherkinGenerateTokens ;
1113
1214sub run {
1315 my ( $class , $fh , @file_list ) = @_ ;
1416
15- my $parser
16- = Gherkin::Parser-> new( Gherkin::TokenFormatterBuilder-> new() );
17-
18- print $fh join " \n " , @{ $parser -> parse($_ ) } for @file_list ;
17+ print $fh join " \n " ,
18+ @{ Gherkin::Parser-> new(
19+ Gherkin::TokenFormatterBuilder-> new(),
20+ / \. md$ /
21+ ? Gherkin::MarkdownTokenMatcher-> new()
22+ : Gherkin::TokenMatcher-> new()
23+ )-> parse($_ )
24+ }
25+ for @file_list ;
1926 print $fh " \n " ;
2027
2128 return ;
Original file line number Diff line number Diff line change @@ -10,6 +10,8 @@ use Cucumber::Messages;
1010use Gherkin::AstBuilder;
1111use Gherkin::Parser;
1212use Gherkin::Pickles::Compiler;
13+ use Gherkin::TokenMatcher;
14+ use Gherkin::MarkdownTokenMatcher;
1315
1416
1517use Class::XSAccessor accessors =>
@@ -55,8 +57,10 @@ sub from_paths {
5557 source => Cucumber::Messages::Source-> new(
5658 uri => $path ,
5759 data => $content ,
58- media_type => Cucumber::Messages::Source::MEDIATYPE_TEXT_X_CUCUMBER_GHERKIN_PLAIN,
59- )
60+ media_type => $path =~ m /\. md$ /
61+ ? Cucumber::Messages::Source::MEDIATYPE_TEXT_X_CUCUMBER_GHERKIN_MARKDOWN
62+ : Cucumber::Messages::Source::MEDIATYPE_TEXT_X_CUCUMBER_GHERKIN_PLAIN,
63+ )
6064 ),
6165 $id_generator ,
6266 $sink );
@@ -115,8 +119,11 @@ sub from_source {
115119 if ($self -> include_ast or $self -> include_pickles) {
116120 my $source = $envelope -> source;
117121 my $parser = Gherkin::Parser-> new(
118- Gherkin::AstBuilder-> new($id_generator )
119- );
122+ Gherkin::AstBuilder-> new($id_generator ),
123+ $source -> media_type eq Cucumber::Messages::Source::MEDIATYPE_TEXT_X_CUCUMBER_GHERKIN_MARKDOWN
124+ ? Gherkin::MarkdownTokenMatcher-> new()
125+ : Gherkin::TokenMatcher-> new()
126+ );
120127 my $data = $source -> data;
121128
122129 local $@ ;
Original file line number Diff line number Diff line change 1+ package Gherkin::MarkdownTokenMatcher ;
2+
3+ use strict;
4+ use warnings;
5+
6+ use base ' Gherkin::TokenMatcher' ;
7+
8+ 1;
You can’t perform that action at this time.
0 commit comments