« mfind 1.0 その 3 | トップページ | しまった…… »

2006年5月23日 (火)

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 日修正

|

« mfind 1.0 その 3 | トップページ | しまった…… »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/169172/10207096

この記事へのトラックバック一覧です: Alpha で Java/C# を編集するための設定:

« mfind 1.0 その 3 | トップページ | しまった…… »