summaryrefslogtreecommitdiffstats
path: root/Bugzilla/Markdown/GFM
diff options
context:
space:
mode:
Diffstat (limited to 'Bugzilla/Markdown/GFM')
-rw-r--r--Bugzilla/Markdown/GFM/Node.pm34
-rw-r--r--Bugzilla/Markdown/GFM/Parser.pm129
-rw-r--r--Bugzilla/Markdown/GFM/SyntaxExtension.pm36
-rw-r--r--Bugzilla/Markdown/GFM/SyntaxExtensionList.pm20
4 files changed, 106 insertions, 113 deletions
diff --git a/Bugzilla/Markdown/GFM/Node.pm b/Bugzilla/Markdown/GFM/Node.pm
index da5af1a68..934cb4055 100644
--- a/Bugzilla/Markdown/GFM/Node.pm
+++ b/Bugzilla/Markdown/GFM/Node.pm
@@ -5,27 +5,25 @@ use strict;
use warnings;
sub SETUP {
- my ($class, $FFI) = @_;
+ my ($class, $FFI) = @_;
- $FFI->custom_type(
- markdown_node_t => {
- native_type => 'opaque',
- native_to_perl => sub {
- bless \$_[0], $class if $_[0];
- },
- perl_to_native => sub { ${ $_[0] } },
- }
- );
+ $FFI->custom_type(
+ markdown_node_t => {
+ native_type => 'opaque',
+ native_to_perl => sub {
+ bless \$_[0], $class if $_[0];
+ },
+ perl_to_native => sub { ${$_[0]} },
+ }
+ );
- $FFI->attach(
- [ cmark_node_free => 'DESTROY' ],
- [ 'markdown_node_t' ] => 'void'
- );
+ $FFI->attach([cmark_node_free => 'DESTROY'], ['markdown_node_t'] => 'void');
- $FFI->attach(
- [ cmark_render_html => 'render_html' ],
- [ 'markdown_node_t', 'markdown_options_t', 'markdown_syntax_extension_list_t'] => 'string',
- );
+ $FFI->attach(
+ [cmark_render_html => 'render_html'],
+ ['markdown_node_t', 'markdown_options_t',
+ 'markdown_syntax_extension_list_t'] => 'string',
+ );
}
1;
diff --git a/Bugzilla/Markdown/GFM/Parser.pm b/Bugzilla/Markdown/GFM/Parser.pm
index 5307b49c1..7e16b2b31 100644
--- a/Bugzilla/Markdown/GFM/Parser.pm
+++ b/Bugzilla/Markdown/GFM/Parser.pm
@@ -7,79 +7,74 @@ use warnings;
use FFI::Platypus::Buffer qw( scalar_to_buffer buffer_to_scalar );
sub new {
- my ($class, $options) = @_;
- my $extensions = delete $options->{extensions} // [];
- my $parser = $class->_new($options);
- $parser->{_options} = $options;
-
- eval {
- foreach my $name (@$extensions) {
- my $extension = Bugzilla::Markdown::GFM::SyntaxExtension->find($name)
- or die "unknown extension: $name";
- $parser->attach_syntax_extension($extension);
- }
- };
-
- return $parser;
+ my ($class, $options) = @_;
+ my $extensions = delete $options->{extensions} // [];
+ my $parser = $class->_new($options);
+ $parser->{_options} = $options;
+
+ eval {
+ foreach my $name (@$extensions) {
+ my $extension = Bugzilla::Markdown::GFM::SyntaxExtension->find($name)
+ or die "unknown extension: $name";
+ $parser->attach_syntax_extension($extension);
+ }
+ };
+
+ return $parser;
}
sub render_html {
- my ($self, $markdown) = @_;
- $self->feed($markdown);
- my $node = $self->finish;
- return $node->render_html($self->{_options}, $self->get_syntax_extensions);
+ my ($self, $markdown) = @_;
+ $self->feed($markdown);
+ my $node = $self->finish;
+ return $node->render_html($self->{_options}, $self->get_syntax_extensions);
}
sub SETUP {
- my ($class, $FFI) = @_;
-
- $FFI->custom_type(
- markdown_parser_t => {
- native_type => 'opaque',
- native_to_perl => sub {
- bless { _pointer => $_[0] }, $class;
- },
- perl_to_native => sub { $_[0]->{_pointer} },
- }
- );
-
- $FFI->attach(
- [ cmark_parser_new => '_new' ],
- [ 'markdown_options_t' ] => 'markdown_parser_t',
- sub {
- my $c_func = shift;
- return $c_func->($_[1]);
- }
- );
-
- $FFI->attach(
- [ cmark_parser_free => 'DESTROY' ],
- [ 'markdown_parser_t' ] => 'void'
- );
-
- $FFI->attach(
- [ cmark_parser_feed => 'feed'],
- ['markdown_parser_t', 'opaque', 'int'] => 'void',
- sub {
- my $c_func = shift;
- $c_func->($_[0], scalar_to_buffer $_[1]);
- }
- );
-
- $FFI->attach(
- [ cmark_parser_finish => 'finish' ],
- [ 'markdown_parser_t' ] => 'markdown_node_t',
- );
-
- $FFI->attach(
- [ cmark_parser_attach_syntax_extension => 'attach_syntax_extension' ],
- [ 'markdown_parser_t', 'markdown_syntax_extension_t' ] => 'void',
- );
-
- $FFI->attach(
- [ cmark_parser_get_syntax_extensions => 'get_syntax_extensions' ],
- [ 'markdown_parser_t' ] => 'markdown_syntax_extension_list_t',
- );
+ my ($class, $FFI) = @_;
+
+ $FFI->custom_type(
+ markdown_parser_t => {
+ native_type => 'opaque',
+ native_to_perl => sub {
+ bless {_pointer => $_[0]}, $class;
+ },
+ perl_to_native => sub { $_[0]->{_pointer} },
+ }
+ );
+
+ $FFI->attach(
+ [cmark_parser_new => '_new'],
+ ['markdown_options_t'] => 'markdown_parser_t',
+ sub {
+ my $c_func = shift;
+ return $c_func->($_[1]);
+ }
+ );
+
+ $FFI->attach([cmark_parser_free => 'DESTROY'], ['markdown_parser_t'] => 'void');
+
+ $FFI->attach(
+ [cmark_parser_feed => 'feed'],
+ ['markdown_parser_t', 'opaque', 'int'] => 'void',
+ sub {
+ my $c_func = shift;
+ $c_func->($_[0], scalar_to_buffer $_[1]);
+ }
+ );
+
+ $FFI->attach([cmark_parser_finish => 'finish'],
+ ['markdown_parser_t'] => 'markdown_node_t',);
+
+ $FFI->attach(
+ [cmark_parser_attach_syntax_extension => 'attach_syntax_extension'],
+ ['markdown_parser_t', 'markdown_syntax_extension_t'] => 'void',
+ );
+
+ $FFI->attach(
+ [cmark_parser_get_syntax_extensions => 'get_syntax_extensions'],
+ ['markdown_parser_t'] => 'markdown_syntax_extension_list_t',
+ );
}
1;
diff --git a/Bugzilla/Markdown/GFM/SyntaxExtension.pm b/Bugzilla/Markdown/GFM/SyntaxExtension.pm
index 56efa177a..213980485 100644
--- a/Bugzilla/Markdown/GFM/SyntaxExtension.pm
+++ b/Bugzilla/Markdown/GFM/SyntaxExtension.pm
@@ -5,25 +5,25 @@ use strict;
use warnings;
sub SETUP {
- my ($class, $FFI) = @_;
+ my ($class, $FFI) = @_;
- $FFI->custom_type(
- markdown_syntax_extension_t => {
- native_type => 'opaque',
- native_to_perl => sub {
- bless \$_[0], $class if $_[0];
- },
- perl_to_native => sub { $_[0] ? ${ $_[0] } : 0 },
- }
- );
- $FFI->attach(
- [ cmark_find_syntax_extension => 'find' ],
- [ 'string' ] => 'markdown_syntax_extension_t',
- sub {
- my $c_func = shift;
- return $c_func->($_[1]);
- }
- );
+ $FFI->custom_type(
+ markdown_syntax_extension_t => {
+ native_type => 'opaque',
+ native_to_perl => sub {
+ bless \$_[0], $class if $_[0];
+ },
+ perl_to_native => sub { $_[0] ? ${$_[0]} : 0 },
+ }
+ );
+ $FFI->attach(
+ [cmark_find_syntax_extension => 'find'],
+ ['string'] => 'markdown_syntax_extension_t',
+ sub {
+ my $c_func = shift;
+ return $c_func->($_[1]);
+ }
+ );
}
1;
diff --git a/Bugzilla/Markdown/GFM/SyntaxExtensionList.pm b/Bugzilla/Markdown/GFM/SyntaxExtensionList.pm
index 06a9798c2..963dec26d 100644
--- a/Bugzilla/Markdown/GFM/SyntaxExtensionList.pm
+++ b/Bugzilla/Markdown/GFM/SyntaxExtensionList.pm
@@ -5,17 +5,17 @@ use strict;
use warnings;
sub SETUP {
- my ($class, $FFI) = @_;
+ my ($class, $FFI) = @_;
- $FFI->custom_type(
- markdown_syntax_extension_list_t => {
- native_type => 'opaque',
- native_to_perl => sub {
- bless \$_[0], $class if $_[0];
- },
- perl_to_native => sub { $_[0] ? ${ $_[0] } : 0 },
- }
- );
+ $FFI->custom_type(
+ markdown_syntax_extension_list_t => {
+ native_type => 'opaque',
+ native_to_perl => sub {
+ bless \$_[0], $class if $_[0];
+ },
+ perl_to_native => sub { $_[0] ? ${$_[0]} : 0 },
+ }
+ );
}
1;