logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Text::WikiFormat::Blocks - blocktypes for Text::WikiFormat

Author

       chromatic, "chromatic at wgz dot org"

Bugs

       No known bugs.

Description

       This module merely creates subclasses of Text::WikiFormat::Block, which is the interesting code.  A block
       is a collection of related lines, such as a code block (text to display verbatim in a monospaced font), a
       header, an unordered list, an ordered list, and a paragraph (text to display in a proportional font).

       Every block extends "Text::WikiFormat::Block".

Methods

       The following methods exist:

       •   new( %args )

           Creates and returns a new block.  The valid arguments are:

           •   "text"

               The text of the line found in the block.

           •   "args"

               The arguments captured by the block-identifying regular expression.

           •   "level"

               The level of indentation for the block (usually only useful for list blocks).

           •   "tags"

               The tags in effect for the current type of wiki formatting.

           •   "opts"

               The options in effect for the current type of wiki formatting.

           Use the accessors of the same names to retrieve the values of the attributes.

       •   add_text( @lines_of_text )

           Adds  a  list  of  lines  of  text  to  the current text for the block.  This is very useful when you
           encounter a block and want to merge it with the previous block of the same type

       •   add_args( @arguments )

           Adds further arguments to the block; useful when merging blocks.

       •   formatted_text()

           Returns text formatted appropriately for this block.  Blocks don't have to have formatters, but  they
           may.

       •   formatter( $line_of_text )

           Formats  the  $line using Text::WikiFormat::format_line().  You can add your own formatter here; this
           is worth overriding.

       •   merge( $next_block )

           Merges the current block with $next_block (the next block encountered) if they're of  the  same  type
           and  are  at  the same level.  This adds the text and args of $next_block to the current block.  It's
           your responsibility to remove $next_block from whatever your code iterates over.

       •   nests()

           Returns true if this block should nest (as  in  lists  and  unordered  lists)  for  the  active  wiki
           formatting.

       •   nest( $next_block )

           Nests  $next_block  under this block if the both nest and if $next_block has a level greater than the
           current block.  This actually adds $next_block as a text item within the current block.  Beware.

Name

       Text::WikiFormat::Blocks - blocktypes for Text::WikiFormat

Synopsis

       None.  Use Text::WikiFormat as the public interface, unless you want to create your own block type.

See Also