Pythonで関数呼び出しの名前を別の色で着色する方法を見つけたいと思います。この動作は C 言語で見られますが、Python では見られません。だからこそ、できるはずだと思います。
編集:
私は特定の配色構文を探しているのではなく、Python.tmLanguage に追加する必要がある特定の行を探しています。
jdiによる提案を試した後、私はこれになりました:
私が望むのは、括弧、メソッドを呼び出すオブジェクトなどではなく、異なる色の配列のみです...
Pythonで関数呼び出しの名前を別の色で着色する方法を見つけたいと思います。この動作は C 言語で見られますが、Python では見られません。だからこそ、できるはずだと思います。
編集:
私は特定の配色構文を探しているのではなく、Python.tmLanguage に追加する必要がある特定の行を探しています。
jdiによる提案を試した後、私はこれになりました:
私が望むのは、括弧、メソッドを呼び出すオブジェクトなどではなく、異なる色の配列のみです...
既存のテーマを編集するか、複製して変更し、それに設定する必要があります...次に、次のようなものを一番下に追加できます。
<dict>
<key>name</key>
<string>Function call</string>
<key>scope</key>
<string>meta.function-call - punctuation - meta.function-call.arguments</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#FF0000</string>
</dict>
</dict>
これは、関数呼び出しパターンを取り、呼び出しの括弧のサブセットを差し引いて、名前だけを残します。
デフォルトのテーマは次の場所にあります。Packages/Color Scheme - Default
これは私がこれまでに持っているもので、完璧ではありませんが、ちょっとうまくいきます:
すべての ST2 にバンドルされている C.tmLanguage ファイルからこの部分を取得し、Python.tmLanguage ファイルで定義されている Python の既定の関数のいくつかとは異なる色にできるように、いくつかのことを追加しました。
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.whitespace.function-call.leading.python</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>support.function.any-method.python</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>punctuation.definition.parameters.python</string>
</dict>
</dict>
<key>match</key>
<string>(?x) (?: (?= \s ) (?:(?<=else|new|return) | (?<!\w)) (\s+))?
(\b
(?!(while|for|do|if|else|switch|catch|enumerate|return|r?iterate|
__import__|all|abs|any|apply|callable|chr|cmp|coerce|compile|delattr|dir|
divmod|eval|execfile|filter|getattr|globals|hasattr|hash|hex|id|
input|intern|isinstance|issubclass|iter|len|locals|map|max|min|oct|
ord|pow|range|raw_input|reduce|reload|repr|round|setattr|sorted|
sum|unichr|vars|zip|basestring|bool|buffer|classmethod|complex|dict|enumerate|file|
float|frozenset|int|list|long|object|open|property|reversed|set|
slice|staticmethod|str|super|tuple|type|unicode|xrange|
abs|add|and|call|cmp|coerce|complex|contains|del|delattr|
delete|delitem|delslice|div|divmod|enter|eq|exit|float|
floordiv|ge|get|getattr|getattribute|getitem|getslice|gt|
hash|hex|iadd|iand|idiv|ifloordiv|ilshift|imod|imul|init|
int|invert|ior|ipow|irshift|isub|iter|itruediv|ixor|le|len|
long|lshift|lt|mod|mul|ne|neg|new|nonzero|oct|or|pos|pow|
radd|rand|rdiv|rdivmod|repr|rfloordiv|rlshift|rmod|rmul|ror|
rpow|rrshift|rshift|rsub|rtruediv|rxor|set|setattr|setitem|
setslice|str|sub|truediv|unicode|xor
)\s*\()(?:(?!NS)[A-Za-z_][A-Za-z0-9_]*+\b | :: )++ # actual name
)
\s*(\()</string>
<key>name</key>
<string>meta.function-call.python</string>
</dict>
Monokai Bright テーマを使用した出力は次のようになりopen
ますarray
。