arcanum_jp’s blog

おっさんの日記

[オープンソース]Edit Area

'COMMENT_SINGLE'
1行コメントの文字を入れる。BASICなんかは'とremと複数あるけどこれも指定可能。

例:

'COMMENT_SINGLE' : {1 : "'", 2 : 'rem'}

'COMMENT_MULTI'
複数行コメントの開始と終了の識別子を入れる。これも複数指定可能'開始':'終了'の羅列。複数の場合はカンマで区切る

例:

'COMMENT_MULTI' : {'/*' : '*/' , '<!--' : '-->'}

'QUOTEMARKS'
文字列を区切るための識別子。Javaなんかはダブルクォーテーションで区切るよね。

例:

'QUOTEMARKS' : '"'

'KEYWORD_CASE_SENSITIVE'
言語が大文字、小文字を区別するかどうか。BASICなんかは区別しないのでfalse。Javaなんかは区別するのでtrue

例:

'KEYWORD_CASE_SENSITIVE':true

'KEYWORDS'
色わけしたいキーワードを配列で表現する。ちょっと言いづらいなぁ・・・

例:

'KEYWORDS' : { 
    aaa [word1,word2,word3], 
    bbb [word4,word5,word6] 
    ... 
}

上記の場合、aaa,bbbの2つのグループに分かれ、各aaa,bbbに当てはまるキーワードは後述するそれぞれのスタイルで表示される。



'OPERATORS'
演算子の配列を指定

例:

'OPERATORS' :{'+', '-', '*', '/' ...}

'DELIMITERS'
コードをブロック化するものを指定する。例えば、CやJavaなどは'{〜}'にコードを書いてブロック化する。

例:

'DELIMITERS' :{'{', '}'}

'REGEXPS'
上記の指定のほかに正規表現で指定する場合こちらに羅列を指定。でも基本はKEYWORDSと同じ

例:

'REGEXPS' : {
        'xml' : {
             'search' : '()(<\\?[^>]*?\\?>)()'
            ,'class' : 'xml'
            ,'modifiers' : 'g'
            ,'execute' : 'before' 
	}
         ..
}

search:正規表現
class:STYLEで指定するクラス
modifiers:gかiを指定
execute:正規表現でのハイライトをいつするか。(他のハイライトをした後か、先か)

REGEXPSはあんまり使いそうにないんで省略



'STYLES'
上記で指定した各種キーワードのスタイルをココで指定する。色ぐらいがちょうどいいんじゃないかい??ってドキュメントには書いてある。

例:

'STYLES' : {
     'COMMENTS'   : 'color: #AAAAAA;'
    ,'QUOTESMARKS': 'color: #6381F8;'
    ,'KEYWORDS'   : {
          'aaa'   : 'color: #48BDDF;'
         	,'bbb'   : 'color: #2B60FF;'
     }
    ,'OPERATORS'  : 'color: #FF00FF;'
    ,'DELIMITERS' : 'color: #60CA00;'
}

KEYWORDSは内部で宣言したカテゴリに沿ってスタイルを決定できる。