Global Summary | |
---|---|
final int | Links in the source in the :active state |
final int | The key of the regex array defining what bracket group in a matched search to put after the replacement |
final int | Strict mode always applies |
final int | The key of the regex array defining what bracket group in a matched search to put before the replacement |
final int | Leave keywords found as the case that they are |
final int | Lowercase keywords found |
final int | Uppercase keywords found |
final int | The key of the regex array defining a custom keyword to use for this regexp's html tag class |
final int | Used in language files to mark comments |
final str | The ender for important parts of the source |
final int | GeSHi could not open a file for reading (generally a language file) |
final int | GESHI_ERROR_INVALID_HEADER_TYPE The header type passed to {@link GeSHi->set_header_type()} was invalid |
final int | GESHI_ERROR_INVALID_LINE_NUMBER_TYPE The line number type passed to {@link GeSHi->enable_line_numbers()} was invalid |
final int | No sourcecode to highlight was specified |
final int | The language specified does not exist |
final int | Use fancy line numbers when building the result |
final int | Use a "div" to surround the source |
final int | Use nothing to surround the source |
final int | Use a "pre" to surround the source |
final int | Use a "table" to surround the source: $header $linenumbers$code> $footer this is essentially only a workaround for Firefox, see sf#1651996 or take a look at https://bugzilla.mozilla.org/show_bug.cgi?id=365805 |
final int | Use a pre to wrap lines when line numbers are enabled or to wrap the whole code. |
final int | Links in the source in the :hover state |
final mixed | The language file directory for GeSHi @access private |
final int | Links in the source in the :link state |
final int | it's also important not to generate too long regular expressions be generous here... |
final int | some old PHP / PCRE subpatterns only support up to xxx subpatterns in regular expressions. |
final int | Strict mode *might* apply, and can be enabled or disabled by {@link GeSHi->enable_strict_mode()} |
final int | The key of the regex array defining any modifiers to the regular expression |
final int | Use normal line numbers when building the result |
final int | Use no line numbers when building the result |
final int | Number format to highlight binary numbers with a prefix 0b (C) |
final int | GESHI_NUMBER_BIN_PREFIX_PERCENT Number format to highlight binary numbers with a prefix % |
final int | Number format to highlight binary numbers with a suffix "b" |
final int | Number format to highlight floating-point numbers without support for scientific notation |
final int | Number format to highlight floating-point numbers without support for scientific notation |
final int | Number format to highlight floating-point numbers with support for scientific notation (E) and optional leading zero |
final int | Number format to highlight floating-point numbers with support for scientific notation (E) and required leading digit |
final int | Number format to highlight hex numbers with a prefix 0x |
final int | Number format to highlight hex numbers with a suffix of h |
final int | Basic number format for integers |
final int | Enhanced number format for integers like seen in C |
final int | Number format to highlight octal numbers with a leading zero |
final int | Number format to highlight octal numbers with a suffix of o |
final mixed | Used to work around missing PHP features |
final int | The key of the regex array defining what bracket group in a matched search to use as a replacement |
final mixed | The root directory for GeSHi |
final int | The key of the regex array defining what to search for |
final mixed | Tells GeSHi to be paranoid about security settings |
final str | The starter for important parts of the source |
final str | The version of this GeSHi file |
final int | Links in the source in the :visited state |
mixed | abap.php -------- Author: Andres Picazo (andres@andrespicazo.com) Contributors: - Sandra Rossi (sandra.rossi@gmail.com) - Jacob Laursen (jlu@kmd.dk) Copyright: (c) 2007 Andres Picazo Release Version: 1.0.8.3 Date Started: 2004/06/04ABAP language file for GeSHi. |
public final int GESHI_ACTIVE = 2
Links in the source in the :active state
public final int GESHI_AFTER = 4
The key of the regex array defining what bracket group in a matched search to put after the replacement
public final int GESHI_ALWAYS = 2
Strict mode always applies
public final int GESHI_BEFORE = 3
The key of the regex array defining what bracket group in a matched search to put before the replacement
public final int GESHI_CAPS_LOWER = 2
Leave keywords found as the case that they are
public final int GESHI_CAPS_NO_CHANGE
Lowercase keywords found
public final int GESHI_CAPS_UPPER = 1
Uppercase keywords found
public final int GESHI_CLASS = 5
The key of the regex array defining a custom keyword to use for this regexp's html tag class
public final int GESHI_COMMENTS
Used in language files to mark comments
public final str GESHI_END_IMPORTANT = ''
The ender for important parts of the source
public final int GESHI_ERROR_FILE_NOT_READABLE = 3
GeSHi could not open a file for reading (generally a language file)
public final int GESHI_ERROR_INVALID_HEADER_TYPE = 4
The header type passed to GeSHi->set_header_type()
was invalid
public final int GESHI_ERROR_INVALID_LINE_NUMBER_TYPE = 5
The line number type passed to GeSHi->enable_line_numbers()
was invalid
public final int GESHI_ERROR_NO_INPUT = 1
No sourcecode to highlight was specified
public final int GESHI_ERROR_NO_SUCH_LANG = 2
The language specified does not exist
public final int GESHI_FANCY_LINE_NUMBERS = 2
Use fancy line numbers when building the result
public final int GESHI_HEADER_DIV = 1
Use a "div" to surround the source
public final int GESHI_HEADER_NONE
Use nothing to surround the source
public final int GESHI_HEADER_PRE = 2
Use a "pre" to surround the source
public final int GESHI_HEADER_PRE_TABLE = 4
Use a "table" to surround the source:
$header | |
$linenumbers | $code> |
$footer |
this is essentially only a workaround for Firefox, see sf#1651996 or take a look at https://bugzilla.mozilla.org/show_bug.cgi?id=365805
public final int GESHI_HEADER_PRE_VALID = 3
Use a pre to wrap lines when line numbers are enabled or to wrap the whole code.
public final int GESHI_HOVER = 1
Links in the source in the :hover state
public final mixed GESHI_LANG_ROOT = GESHI_ROOT . 'geshi' . DIRECTORY_SEPARATOR
The language file directory for GeSHi @access private
public final int GESHI_LINK
Links in the source in the :link state
public final int GESHI_MAX_PCRE_LENGTH = 12288
it's also important not to generate too long regular expressions be generous here... but keep in mind, that when reaching this limit we still have to close open patterns. 12k should do just fine on a 16k limit. @see GeSHi->optimize_regexp_list()
public final int GESHI_MAX_PCRE_SUBPATTERNS = 500
some old PHP / PCRE subpatterns only support up to xxx subpatterns in regular expressions. Set this to false if your PCRE lib is up to date @see GeSHi->optimize_regexp_list()
public final int GESHI_MAYBE = 1
Strict mode *might* apply, and can be enabled or
disabled by GeSHi->enable_strict_mode()
public final int GESHI_MODIFIERS = 2
The key of the regex array defining any modifiers to the regular expression
public final int GESHI_NORMAL_LINE_NUMBERS = 1
Use normal line numbers when building the result
public final int GESHI_NO_LINE_NUMBERS
Use no line numbers when building the result
public final int GESHI_NUMBER_BIN_PREFIX_0B = 64
Number format to highlight binary numbers with a prefix 0b (C)
public final int GESHI_NUMBER_BIN_PREFIX_PERCENT = 32
Number format to highlight binary numbers with a prefix %
public final int GESHI_NUMBER_BIN_SUFFIX = 16
Number format to highlight binary numbers with a suffix "b"
public final int GESHI_NUMBER_FLT_NONSCI = 65536
Number format to highlight floating-point numbers without support for scientific notation
public final int GESHI_NUMBER_FLT_NONSCI_F = 131072
Number format to highlight floating-point numbers without support for scientific notation
public final int GESHI_NUMBER_FLT_SCI_SHORT = 262144
Number format to highlight floating-point numbers with support for scientific notation (E) and optional leading zero
public final int GESHI_NUMBER_FLT_SCI_ZERO = 524288
Number format to highlight floating-point numbers with support for scientific notation (E) and required leading digit
public final int GESHI_NUMBER_HEX_PREFIX = 4096
Number format to highlight hex numbers with a prefix 0x
public final int GESHI_NUMBER_HEX_SUFFIX = 8192
Number format to highlight hex numbers with a suffix of h
public final int GESHI_NUMBER_INT_BASIC = 1
Basic number format for integers
public final int GESHI_NUMBER_INT_CSTYLE = 2
Enhanced number format for integers like seen in C
public final int GESHI_NUMBER_OCT_PREFIX = 256
Number format to highlight octal numbers with a leading zero
public final int GESHI_NUMBER_OCT_SUFFIX = 512
Number format to highlight octal numbers with a suffix of o
public final mixed GESHI_PHP_PRE_433 = !(version_compare(PHP_VERSION, '4.3.3'
Used to work around missing PHP features
public final int GESHI_REPLACE = 1
The key of the regex array defining what bracket group in a matched search to use as a replacement
public final mixed GESHI_ROOT = dirname(__FILE__
The root directory for GeSHi
public final int GESHI_SEARCH
The key of the regex array defining what to search for
public final mixed GESHI_SECURITY_PARANOID = false
Tells GeSHi to be paranoid about security settings
public final str GESHI_START_IMPORTANT = ''
The starter for important parts of the source
public final str GESHI_VERSION = '1.0.8.3'
The version of this GeSHi file
public final int GESHI_VISITED = 3
Links in the source in the :visited state
public mixed language_data = array(
'LANG_NAME' => 'ABAP'
abap.php -------- Author: Andres Picazo (andres@andrespicazo.com) Contributors: - Sandra Rossi (sandra.rossi@gmail.com) - Jacob Laursen (jlu@kmd.dk) Copyright: (c) 2007 Andres Picazo Release Version: 1.0.8.3 Date Started: 2004/06/04
ABAP language file for GeSHi.
Reference abap language documentation (abap 7.1) : http://help.sap.com/abapdocu/en/ABENABAP_INDEX.htm
ABAP syntax is highly complex, several problems could not be addressed, see TODO below if you dare ;-)
Be aware that in ABAP language, keywords may be composed of several tokens,
separated by one or more spaces or carriage returns
(for example CONCATENATE 'hello' 'world' INTO string SEPARATED BY ' ')
it's why we must decode them with REGEXPS. As there are many keywords with several tokens,
I had to create a separate section in the code to simplify the reading.
Be aware that some words may be highlighted several times like for "ref to data", which is first
highlighted for "ref to data", then secondly for "ref to". It is very important to
position "ref to" after "ref to data" otherwise "data" wouldn't be highlighted because
of the previous highlight.
Styles used : keywords are all displayed in upper case, and they are organized into 4 categories :
1) control statements (blue), 2) declarative statements (red-maroon),
3) other statements (blue-green), 4) keywords (violet).
+ GeSHi : literals (red) + symbols (green) + methods/attributes (mauve)
+ unchanged style for other words.
Control, declarative and other statements are assigned URLs to sap documentation website:
http://help.sap.com/abapdocu/en/ABAP
CHANGES ------- 2009/02/25 (1.0.8.3) - Some more rework of the language file 2009/01/04 (1.0.8.2) - Major Release, more than 1000 statements and keywords added = whole abap 7.1 (Sandra Rossi) 2007/06/27 (1.0.0) - First Release
TODO ---- - in DATA data TYPE type, 2nd "data" and 2nd "type" are highlighted with data style, but should be ignored. Same problem for all words!!! This is quite impossible to solve it as we should define syntaxes of all statements (huge effort!) and use a lex or something like that instead of regexp I guess. - Some words are considered as being statement names (report, tables, etc.) though they are used as keyword in some statements. For example: FORM xxxx TABLES itab. It was arbitrary decided to define them as statement instead of keyword, because it may be useful to have the URL to SAP help for some of them. - if a comment is between 2 words of a keyword (for example SEPARATED "comment \n BY), it is not considered as a keyword, but it should! - for statements like "READ DATASET", GeSHi does not allow to set URLs because these statements are determined by REGEXPS. For "READ DATASET", the URL should be ABAPREAD_DATASET.htm. If a technical solution is found, be careful : URLs are sometimes not valid because the URL does not exist. For example, for "AT NEW" statement, the URL should be ABAPAT_ITAB.htm (not ABAPAT_NEW.htm). There are many other exceptions. Note: for adding this functionality within your php program, you can execute this code: function add_urls_to_multi_tokens( $matches ) { $url = preg_replace( "/[ \n]+/" , "_" , $matches[3] ); if( $url == $matches[3] ) return $matches[0] ; else return $matches[1]."".$matches[3]."".$matches[4]; } $html = $geshi->parse_code(); $html = preg_replace_callback( "£(zzz:(control|statement|data);\">)(.+?)()£s", "add_urls_to_multi_tokens", $html ); echo $html; - Numbers followed by a dot terminating the statement are not properly recognized
This file is part of GeSHi.
GeSHi is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
GeSHi is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with GeSHi; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA