NAME
Syntax::Highlight::Engine::Kate::Template - a template for syntax highlighting plugins
DESCRIPTION
Syntax::Highlight::Engine::Kate::Template is a framework to assist authors of plugin modules. All methods to provide highlighting to the Syntax::Highlight::Engine::Kate module are there, Just no syntax definitions and callbacks. An instance of Syntax::Highlight::Engine::Kate::Template should never be created, it's meant to be sub classed only.
METHODS
- attributes(?$attributesref?);
-
Sets and returns a reference to the attributes hash.
- basecontext(?$context?);
-
Sets and returns the basecontext instance variable. This is the context that is used when highlighting starts.
- captured($cap);
-
Puts $cap in the first element of the stack, the current context. Used when the context is dynamic.
- capturedGet($num);
-
Returns the $num'th element that was captured in the current context.
- capturedParse($string, $mode);
-
If $mode is specified, $string should only be one character long and numeric. capturedParse will return the Nth captured element of the current context.
If $mode is not specified, all occurrences of %[1-9] will be replaced by the captured element of the current context.
- column
-
returns the column position in the line that is currently highlighted.
- contextdata(\%data);
-
Sets and returns a reference to the contextdata hash.
- contextInfo($context, $item);
-
returns the value of several context options. $item can be callback, attribute, lineending, linebeginning, fallthrough.
- contextParse($plugin, $context);
-
Called by the plugins after a test succeeds. if $context has following values:
#pop returns to the previous context, removes to top item in the stack. Can also be specified as #pop#pop etc. #stay does nothing. ##.... Switches to the plugin specified in .... and assumes it's basecontext. .... Swtiches to the context specified in ....
- deliminators(?$delim?);
-
Sets and returns a string that is a regular expression for detecting deliminators.
- engine
-
Returns a reference to the Syntax::Highlight::Engine::Kate module that created this plugin.
- firstnonspace($string);
-
returns true if the current line did not contain a non-spatial character so far and the first character in $string is also a spatial character.
- formatTable
-
sets and returns the instance variable format_table. See also the option format_table
- highlight($text);
-
highlights $text. It does so by selecting the proper callback from the commands hash and invoke it. It will do so until $text has been reduced to an empty string. returns a paired list of snippets of text and the attribute with which they should be highlighted.
- highlightText($text);
-
highlights $text and reformats it using the format_table and substitutions
- includePlugin($language, \$text);
-
Includes the plugin for $language in the highlighting.
- includeRules($language, \$text);
-
Includes the plugin for $language in the highlighting.
- keywordscase
-
Sets and returns the keywordscase instance variable.
- lastchar
-
return the last character that was processed.
- lastcharDeliminator
-
returns true if the last character processed was a deliminator.
- linesegment
-
returns the string of text in the current line that has been processed so far,
- linestart
-
returns true if processing is currently at the beginning of a line.
- listAdd('listname', $item1, $item2 ...);
-
Adds a list to the 'lists' hash.
- lists(?\%lists?);
-
sets and returns the instance variable 'lists'.
- out(?\@highlightedlist?);
-
sets and returns the instance variable 'out'.
- parseResult(\$text, $match, $lookahaed, $column, $firstnonspace, $context, $attribute);
-
Called by every one of the test methods below. If the test matches, it will do a couple of subtests. If $column is a defined numerical value it will test if the process is at the requested column. If $firnonspace is true, it will test this also. Ig it is not a look ahead and all tests are passed, $match is then parsed and removed from $$text.
- pluginGet($language);
-
Returns a reference to a plugin object for the specified language. Creating an instance if needed.
- reset
-
Resets the highlight engine to a fresh state, does not change the syntx.
- snippet
-
Contains the current snippet of text that will have one attribute. The moment the attribute changes it will be parsed.
- snippetAppend($string)
-
appends $string to the current snippet.
- snippetAttribute($attribute)
-
Sets and returns the used attribute.
- snippetForce
-
Forces the current snippet to be parsed.
- snippetParse($text, ?$attribute?)
-
If attribute is defined and differs from the current attribute it does a snippetForce and sets the current attribute to $attribute. Then it does a snippetAppend of $text
- stack
-
sets and returns the instance variable 'stack', a reference to an array
- stackPull
-
retrieves the element that is on top of the stack, decrements stacksize by 1.
- stackPush($tagname);
-
puts $tagname on top of the stack, increments stacksize by 1
- stackTop
-
Retrieves the element that is on top of the stack.
- stateCompare(\@state)
-
Compares two lists, \@state and the stack. returns true if they match.
- stateGet
-
Returns a list containing the entire stack.
- stateSet(@list)
-
Accepts @list as the current stack.
- substitutions
-
sets and returns a reference to the substitutions hash.
The methods below all return a boolean value.
- testAnyChar(\$text, $string, $insensitive, $lookahaed, $column, $firstnonspace, $context, $attribute);
- testDetectChar(\$text, $char, $insensitive, $dynamic, $lookahaed, $column, $firstnonspace, $context, $attribute);
- testDetect2Chars(\$text, $char1, $char2, $insensitive, $dynamic, $lookahaed, $column, $firstnonspace, $context, $attribute);
- testDetectIdentifier(\$text, $lookahaed, $column, $firstnonspace, $context, $attribute);
- testDetectSpaces(\$text, $lookahaed, $column, $firstnonspace, $context, $attribute);
- testFloat(\$text, $lookahaed, $column, $firstnonspace, $context, $attribute);
- testHlCChar(\$text, $lookahaed, $column, $firstnonspace, $context, $attribute);
- testHlCHex(\$text, $lookahaed, $column, $firstnonspace, $context, $attribute);
- testHlCOct(\$text, $lookahaed, $column, $firstnonspace, $context, $attribute);
- testHlCStringChar(\$text, $lookahaed, $column, $firstnonspace, $context, $attribute);
- testInt(\$text, $lookahaed, $column, $firstnonspace, $context, $attribute);
- testKeyword(\$text, $list, $insensitive, $lookahaed, $column, $firstnonspace, $context, $attribute);
- testLineContinue(\$text, $lookahaed, $column, $firstnonspace, $context, $attribute);
- testRangeDetect(\$text, $char1, $char2, $insensitive, $lookahaed, $column, $firstnonspace, $context, $attribute);
- testRegExpr(\$text, $reg, $insensitive, $dynamic, $lookahaed, $column, $firstnonspace, $context, $attribute);
- testStringDetect(\$text, $string, $insensitive, $dynamic, I$lookahaed, $column, $firstnonspace, $context, $attribute);
ACKNOWLEDGEMENTS
All the people who wrote Kate and the syntax highlight xml files.
AUTHOR AND COPYRIGHT
This module is written and maintained by:
Hans Jeuken < haje at toneel dot demon dot nl >
Copyright (c) 2006 by Hans Jeuken, all rights reserved.
You may freely distribute and/or modify this module under same terms as Perl itself
SEE ALSO
Synax::Highlight::Engine::Kate http:://www.kate-editor.org