ActiveState::Tkx::TextSyntaxTags(3)

NAME
ActiveState::Tkx::TextSyntaxTags - perform syntax coloring of text wigets

SYNOPSIS
  use ActiveState::Tkx::TextSyntaxTags qw(update_syntax_tags);
  my $text = $mw->new_text;
  $text->insert("end", file_content($file));
  update_syntax_tags($text, lang => "perl");

DESCRIPTION
The "ActiveState::Tkx::TextSyntaxTags" module provide a single function:

update_syntax_tags( $text_w, %options )
    This will assign tags to ranges of the text widget that correspond to syntax elements.

    file => $filename
        Tell update_syntax_tags() which file is displayed in the text widget. If not provided all text in the widget is assumed to be code (unless the 'range' option is provided).

    lang => $lang
        The programming language displayed. The $lang argument can be one of 'perl', 'python', 'ruby', 'vbscript', or 'xslt'. The default is 'perl'. Passed on to "ActiveState::Scineplex".

    linemap => \%linemap
    linemap => \&linemap
        The optional "linemap" argument can be used to specify where the source lines from the file specified with the 'file' argument is located in the text widget. If not provided it is assumed that the content of the text widget match the source text exactly; this is same as "linemap => sub { "$_[0].0" }".

        The "linemap" maps from a line number (1 based) to a position (index) into the text widget of the standard "line.char" form. If the linemap return a false value then no syntax tagging is performed for the given line.

    range => [$first, $last]
    range => "$first-$last"
        Add syntax color to the given line range within the text widget. The line number range can either be passed as a 2 element array reference or as a string with the line numbers separated by "-".

        This option can't be combined with the 'file' and 'linemap' options.

SEE ALSO
ActiveState::Scineplex

COPYRIGHT
Copyright (C) 2010 ActiveState Software Inc. All rights reserved.