Syntax::Highlight::Perl6 man page on Fedora

Man page or keyword search:  
man Server   31170 pages
apropos Keyword Search (all sections)
Output format
Fedora logo
[printable version]

Syntax::Highlight::PerUser)Contributed Perl DocumenSyntax::Highlight::Perl6(3)

NAME
       Syntax::Highlight::Perl6 - Perl 6 Syntax Highlighter

VERSION
       version 0.88

SYNOPSIS
	   ### NOTE: This is needed and will be removed in future releases
	   use STD;
	   use Syntax::Highlight::Perl6;

	   # Creates the Perl6 syntax highlighter object
	   my $p = Syntax::Highlight::Perl6->new(
	       text => 'my $foo;'
	   );

	   # Prints html that can be embedded in your pages
	   print $p->snippet_html;

	   # Prints html with css (useful for full pages)
	   print $p->simple_html;

	   # Prints html that has a JavaScript node viewer
	   print $p->full_html;

	   # Prints ANSI escaped color sequences (useful for console and IRC output)
	   print $p->ansi_text;

	   # Prints an array of token records (useful for other libraries)
	   print $p->tokens;

DESCRIPTION
       "Syntax::Highlight::Perl6" parses Perl 6 source code using STD cpan
       package.	 It matches parse tree nodes to colors then returns them in
       different output formats.  It can be used to create web pages with
       colorful source code samples in its simple and snippet html modes, or
       it can be used as a learning tool in examining STD.pm6's output using
       the JavaScript node viewer in its full html mode. Or you can use its
       parse tree Perl 5 records to build your next great idea.

       The available output formats are:

       ·   HTML (snippet,simple and full)

       ·   ANSI escaped color sequences

       ·   Perl 5 array of parse trees

SUBROUTINES/METHODS
       This is an object-oriented module. The following methods are available:

   new(options)
       Returns the syntax highlighting object. It needs a hash of options.
       The following options are available:

       ·   text

	   This is a required option.  This is where you should provide the
	   Perl 6 code.

       ·   rule

	   parse rule name for STD.pm6 to parse against (default: TOP)

       ·   inline_resources

	   Flag to enable/disable CSS/JavaScript HTML inlining. (default: 0
	   (Disabled))

       ·   resource_url

	   HTML resource url that will be appended when resource inlining is
	   disabled.

       ·   page_title

	   HTML page title for "simple_html" and "full_html" (default: q{})

       ·   utf8_decode

	   Flag to enable/disable utf8 decoding. (default: 1 (Enabled))

       ·   tmp_prefix

	   STD temporary files directory prefix. (default: q{})

   snippet_html
       Returns the Perl 6 highlighted HTML string that can be embedded.	 No
       CSS or JavaScript is inside.

   simple_html
       Returns the Perl 6 highlighted HTML string. The HTML code is the same
       as "full_html" but lacks a JavaScript Parse Tree Viewer.

   full_html
       Returns the Perl 6 highlighted HTML string. The HTML consists of a
       JavaScript Parse Tree Viewer along with CSS-styling.  It can inlined if
       "inline_resources" option is 1.

   ansi_text
       Returns a Perl highlighted ANSI escape color string.

   tokens
       Returns an array of hashes containing parsed token records.  The hash
       record is structured as:

	   +-----------+---------+-----------+------------+---------+
	   | Matched   | Matched | Matched   | Parse tree | Matched |
	   | Last      | string	 | rule	     | separated  | Line    |
	   | Position  | buffer	 | name	     | by spaces  | Number  |
	   |	       |	 |	     |		  |	    |
	   | $last_pos | $buffer | $rule     | $tree	  | $lineno |
	   +-----------+---------+-----------+------------+---------+

       An example of the "tokens" method in action:

	   use Data::Dumper;
	   print Dumper($p->tokens);

       The shortened output looks like:

	   $VAR1 = {
	     'tree' => '',
	     'rule' => 0,
	     'buffer' => '',
	     'last_pos' => 0
	   };
	   $VAR2 = {
	     'tree' => 'statementlist statement statement_modexpr statement_expr EXPR termish noun value number integer ',
	     'rule' => 'number',
	     'buffer' => '1',
	     'last_pos' => 1
	   };
	   $VAR3 = {
	     'tree' => 'statementlist eat_terminator ',
	     'rule' => 0,
	     'buffer' => ';',
	     'last_pos' => 2
	   };

INCOMPATIBILITIES
       This module is dependent on Perl 5.10 features namely the regex engine
       and state variables (for STD.pm6). So there will be no Perl 5.8.x
       support in the future.

SEE ALSO
       Discussion about this module and STD.pm6 is usually in #perl6
       (irc://irc.freenode.net/perl6). This module lives in
       http://svn.perlide.org/padre/trunk/Syntax-Highlight-Perl6 . Larry
       Wall's "STD.pm6" lives in http://github.com/perl6/std.

BUGS AND LIMITATIONS
       If you find any bugs, please submit them to
       http://rt.cpan.org/NoAuth/Bugs.html?Dist=Syntax::Highlight::Perl6.
       Thanks.

       These are the bugs that i am currently aware of:

       ·   Can't call method "bless" on an undefined value at STD.pm6 line
	   5269.

	   You have to put "use STD;" before using this module.

	       use STD; # this must be first for now
	       use Syntax::Highlight::Perl6;

ACKNOWLEDGEMENTS
       The project idea was inspired by Moritz Lenz (moritz) -
       http://www.nntp.perl.org/group/perl.perl6.users/2008/07/msg788.html .
       Larry Wall's "gimme5"-generated Perl5 "STD.pmc" is included to parse
       Perl 6 code.  The initial STD tree traversal code was written by
       PaweAaX Murias (pmurias).  It was replaced afterwards for performance
       reasons with Larry Wall's "redspans" traversal code. "redspans" stands
       for "red" for reductions, and "spans" from the "from/to span
       calculations".

       This library also includes the following libraries:

       JQuery by John Resig (dual licensed under the MIT and GPL licenses).

       Thanks guys. I could not have done it without you ;-)

AUTHOR
       Ahmad M. Zawawi <ahmad.zawawi@gmail.com>

COPYRIGHT AND LICENSE
       This software is copyright (c) 2010 by Ahmad M. Zawawi.

       This is free software; you can redistribute it and/or modify it under
       the same terms as the Perl 5 programming language system itself.

perl v5.14.1			  2010-10-23	   Syntax::Highlight::Perl6(3)
[top]

List of man pages available for Fedora

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net