Adapt syntax coloring to abap 7.40
This commit is contained in:
@@ -2975,7 +2975,7 @@ class Databap extends PhpObject
|
||||
|
||||
public static function toBytes($str)
|
||||
{
|
||||
$val = trim($str);
|
||||
$val = (int) trim($str);
|
||||
$last = mb_strtolower($str[mb_strlen($str)-1]);
|
||||
switch($last) {
|
||||
case 'g': $val *= 1024;
|
||||
|
||||
@@ -56,7 +56,7 @@ class Reader extends PhpObject
|
||||
'ENDON','ENDPROVIDE','ENDSELECT','ENDTRY','ENDWHILE','END-OF_FILE','END-OF-DEFINITION','END-OF-PAGE',
|
||||
'END-OF-SELECTION','ENTRIES','EQ','ERRORS','EVENT','EVENTS','EXCEPTION','EXCEPTIONS','EXCEPTION-TABLE','EXCLUDE',
|
||||
'EXCLUDING','EXEC','EXIT','EXIT-COMMAND','EXPORT','EXPORTING','EXTENDED','EXTRACT','FETCH','FIELD','FIELD-GROUPS',
|
||||
'FIELDSNO','FIELD-SYMBOLS','FILTER','FINAL','FIND','FIRST','FOR','FORM','FORMAT','FORWARDBACKWARD','FOUND','FRAME',
|
||||
'FIELDSNO','FIELD-SYMBOL','FIELD-SYMBOLS','FILTER','FINAL','FIND','FIRST','FOR','FORM','FORMAT','FORWARDBACKWARD','FOUND','FRAME',
|
||||
'FREE','FRIENDS','FROM','FUNCTION','FUNCTION-POOL','GE','GET','GIVING','GROUP','GT','HANDLER','HASHED','HAVING',
|
||||
'HEADER','HEADING','HELP-ID','HIDE','HIGHLOW','HOLD','HOTSPOT','ID','IF','IGNORING','IMMEDIATELY','IMPLEMENTATION',
|
||||
'IMPORT','IMPORTING','IN','INCREMENT','INDEX','INDEX-LINE','INHERITING','INIT','INITIAL','INITIALIZATION','INNER',
|
||||
@@ -96,11 +96,16 @@ class Reader extends PhpObject
|
||||
'RIGHT','SIGN','SIN','SINH','SQRT','TABLE','TABLENAME','TAN','TANH','TITLE','TO','TRAILING','TRUNC','TYPE','UPPER',
|
||||
'USING','VALUE','WITH', 'TRANSPORTING', 'TYPE-POOLS'),
|
||||
'wBwCore'=>array('SOURCE_PACKAGE', 'RESULT_PACKAGE', '<SOURCE_FIELDS>', '<RESULT_FIELDS>'),
|
||||
'cOperator'=>array('(', ')', ',', '.', ':', '-', '~', '[', ']', '<', '>'),
|
||||
'cOperator'=>array('(', ')', ',', '.', ':', '-', '~', '[', ']', '<', '>', '|', '{', '}', '@'),
|
||||
'cCalculation'=>array('+', '-', '*', '/', '=', '(', ')'),
|
||||
'cComment'=>array('*'),
|
||||
'cPartComment'=>array('"'),
|
||||
'cString'=>array('"', '''),
|
||||
'cString'=>array(
|
||||
'quote' => array('"', '"'),
|
||||
'quot2' => array(''', '''),
|
||||
'pipe' => array('|', '|'),
|
||||
'curly' => array('{', '}')
|
||||
),
|
||||
'iNumber'=>array('1', '2', '3', '4', '5', '6', '7', '8', '9', '0'),
|
||||
'wExpand'=>array('loop'=>'endloop', 'if'=>'endif'),
|
||||
'wGlobal'=>array('SY'),
|
||||
@@ -208,10 +213,12 @@ class Reader extends PhpObject
|
||||
$sCode = mb_strtolower(implode('', $asColoredLines));
|
||||
|
||||
//Strings
|
||||
foreach($this->getWords('cString') as $sStringWord)
|
||||
foreach($this->getWords('cString') as $sDelName=>$asDels)
|
||||
{
|
||||
$sPattern = '/>([^<]*?)'.$sStringWord.'([^<]*?)'.$sStringWord.'/u';
|
||||
$sCode = preg_replace($sPattern, '>$1<span class="string">'.$sStringWord.'$2'.$sStringWord.'</span>', $sCode);
|
||||
$sDelStart = $asDels[0];
|
||||
$sDelEnd = $asDels[1];
|
||||
$sPattern = '/([^<]*?)'.preg_quote($sDelStart).'([^<]*?)'.preg_quote($sDelEnd).'/u';
|
||||
$sCode = preg_replace($sPattern, '$1<span class="string '.$sDelName.'">'.$sDelStart.'$2'.$sDelEnd.'</span>', $sCode);
|
||||
}
|
||||
|
||||
//Part comment
|
||||
@@ -223,10 +230,12 @@ class Reader extends PhpObject
|
||||
$sCode = preg_replace($sPattern, '><span class="code_part">> $1</span>', $sCode);
|
||||
|
||||
//Core Words
|
||||
foreach($this->getWords('wCore') as $sCoreWord)
|
||||
$asCoreWords = $this->getWords('wCore');
|
||||
rsort($asCoreWords);
|
||||
foreach($asCoreWords as $sCoreWord)
|
||||
{
|
||||
$sCoreWord = mb_strtolower($sCoreWord);
|
||||
$sPattern = '/>(([^<]*)([^\w&<]{1})|.{0})('.$sCoreWord.')([\W])/u';
|
||||
$sPattern = '/>(([^<]*)([^\w&<-]{1})|.{0})('.$sCoreWord.')([\W])/u';
|
||||
$sCode = preg_replace($sPattern, '>$1<span class="core">$4</span>$5', $sCode);
|
||||
}
|
||||
//$sCoreWords = str_replace(' ', '\ ', implode('|', array_map('mb_strtolower', $this->getWords('wCore'))));
|
||||
@@ -238,8 +247,14 @@ class Reader extends PhpObject
|
||||
$asOperators = array_unique(array_merge($this->getWords('cOperator'), $this->getWords('cCalculation')));
|
||||
foreach($asOperators as $sOpWord)
|
||||
{
|
||||
$sOpName = '';
|
||||
switch($sOpWord) {
|
||||
case '|': $sOpName = 'pipe'; break;
|
||||
case '{':
|
||||
case '}': $sOpName = 'curly'; break;
|
||||
}
|
||||
$sPattern = '/>([^<]*)\\'.$sOpWord.'/u';
|
||||
$sCode = preg_replace($sPattern, '>$1<span class="operator">'.$sOpWord.'</span>', $sCode);
|
||||
$sCode = preg_replace($sPattern, '>$1<span class="'.trim('operator '.$sOpName).'">'.$sOpWord.'</span>', $sCode);
|
||||
}
|
||||
//$sPattern = '/>([^<]*)['.implode(array_map('mb_strtolower', ($this->getWords('cOperator')))).']/';
|
||||
//echo $sPattern;
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -430,6 +430,9 @@
|
||||
#code_container .code_reader .operator {color:#840084;}
|
||||
#code_container .code_reader .string {color:#4aa518;text-transform:uppercase;}
|
||||
#code_container .code_reader .string span {color:#4aa518;} /* override syntax coloring in strings */
|
||||
#code_container .code_reader .string.curly {color:#000000;}
|
||||
#code_container .code_reader .string .operator.pipe,
|
||||
#code_container .code_reader .string .operator.curly {color:#840084;}
|
||||
#code_container .code_reader .field-symbol {color:#848484;}
|
||||
#code_container .code_reader .line {color:#848484;}
|
||||
#code_container .code_reader .line-number, #code_container .code_reader .line-post-number {color:#398c8c;}
|
||||
|
||||
1
style/scss.bat
Normal file
1
style/scss.bat
Normal file
@@ -0,0 +1 @@
|
||||
sass --style=compressed --watch databap.scss:databap.css --poll
|
||||
Reference in New Issue
Block a user