Alpha で Java/C# を編集するための設定
Alpha で Java/C# を編集するための設定を作ってみた。
使いたい人は events.js の適切な位置に下記コードを追加してください。
このコードは使うのも改造するのも何でも自由です。ただし、全て自己責任でお願いします。
// これを OnApplicationInitialized の中に
conf.addDocumentType("Java", "*.java", "");
conf.addDocumentType("C#", "*.cs", "");
// これを OnApplyDocumentType の中に
// Java
else if(typeName == "Java") {
cookies.multilineDocumentationComment = lexer.addMultilineAnnotation("/**", "*/");
cookies.singlelineComment = lexer.addSinglelineAnnotation("//");
cookies.multilineComment = lexer.addMultilineAnnotation("/*", "*/");
cookies.typeName = lexer.addKeywords("boolean byte char short int long float double void");
cookies.entity = lexer.addKeywords("class enum interface public protected private static");
cookies.control = lexer.addKeywords("break case continue default do else for if return switch while synchronized");
cookies.attribute = lexer.addKeywords("abstract extends final implements native strictfp throws transient volatile");
cookies.operator = lexer.addKeywords("instanceof new typeof");
cookies.exception = lexer.addKeywords("catch throw try finally");
cookies.constant = lexer.addKeywords("false null this super true");
cookies.command = lexer.addKeywords("import package assert");
cookies.futureReserved = lexer.addKeywords("goto const");
lexer.setOperators("++ -- + - ~ ! * / % << >> >>> < > <= >= == != & ^ | && || ? : = *= /= %= += -= <<= >>= >>>= &= ^= |= , ( ) . [ ]");
lexer.setAdditionalAlphabets("_$");
lexer.setBrackets("([{");
}
// C#
else if(typeName == "C#") {
cookies.singlelineDocumentationComment = lexer.addSinglelineAnnotation("///");
cookies.multilineDocumentationComment = lexer.addMultilineAnnotation("/**", "*/");
cookies.singlelineComment = lexer.addSinglelineAnnotation("//");
cookies.multilineComment = lexer.addMultilineAnnotation("/*", "*/");
cookies.typeName = lexer.addKeywords("bool byte sbyte char short ushort int uint long ulong float double decimal void object string");
cookies.entity = lexer.addKeywords("namespace class struct enum interface delegate event operator public protected internal private static");
cookies.control = lexer.addKeywords("break case continue default do else for foreach if return switch while using goto lock checked unchecked fixed stackalloc");
cookies.attribute = lexer.addKeywords("out ref params override readonly virtual abstract const sealed extern explicit implicit transient volatile unsafe");
cookies.operator = lexer.addKeywords("in new typeof as is sizeof");
cookies.exception = lexer.addKeywords("catch throw try finally");
cookies.constant = lexer.addKeywords("false null this base true");
lexer.setOperators("++ -- + - ~ ! * / % << >> < > <= >= == != & ^ | && || ? : = *= /= %= += -= <<= >>= &= ^= |= -> , ( ) . [ ]");
lexer.setAdditionalAlphabets("@_$");
lexer.setBrackets("([{");
}
// これを OnApplyDocumentType の中の「プログラミング用の設定」の「キーワード」の所に
if("typeName" in cookies)
pref.tokenDecoration("keyword_".concat(cookies.typeName)).color = 0x008080;
2006 年 6 月 7 日修正
| 固定リンク

コメント