web-dev-qa-db-ja.com

C#および/またはASP.Netのナノ構文の強調表示

C#やASP.Netの構文の強調表示を含むnanorcファイルを持っている(またはその方向を指すことができる)誰かいますか?

2
Rob Cowell

NanoのC#の既存のハイライトについては知りませんが、独自に作成することもできます。構文強調表示の構文は非常に単純です。 Java(これはC#構文と非常によく似ていますが、主に異なるキーワードです)の場合は次のようになります。

## Here is an example for Java.
##
syntax "Java" "\.Java$"
color green "\<(boolean|byte|char|double|float|int|long|new|short|this|transient|void)\>"
color red "\<(break|case|catch|continue|default|do|else|finally|for|if|return|switch|throw|try|while)\>"
color cyan "\<(abstract|class|extends|final|implements|import|instanceof|interface|native|package|private|protected|public|static|strictfp|super|synchronized|throws|volatile)\>"
color red ""[^"]*""
color yellow "\<(true|false|null)\>"
color blue "//.*"
color blue start="/\*" end="\*/"
color brightblue start="/\*\*" end="\*/"
color ,green "[[:space:]]+$"

それは/usr/share/nano/Java.nanorcにあります。独自に作成する場合は、/etc/nanorcからリンクする必要があります。両方のユーザーローカルバージョンもあるかもしれませんが、私はそれを知りません。

編集:ASP.NETの場合、HTMLのクローンを作成し、構文を少し変更してASP.NETタグを処理できます。完璧ではありませんが(たとえば、<script runat="server">...</script>のコンテンツは処理できません)、鋭い棒で目を突くよりはましです。

2
Oli

複製 私の答え

Javaの例 http://wiki.linuxhelp.net/index.php/Nano_Syntax_Highlighting の例を使用して、次のようなものを_~/.nanorc_:

_syntax "C# source" "\.cs$"
color green "\<(bool|byte|sbyte|char|decimal|double|float|int|uint|long|ulong|new|object|short|ushort|string|base|this|void)\>"
color red "\<(as|break|case|catch|checked|continue|default|do|else|finally|fixed|for|foreach|goto|if|is|lock|return|switch|throw|try|unchecked|while)\>"
color cyan "\<(abstract|class|const|delegate|enum|event|explicit|extern|implicit|in|internal|interface|namespace|operator|out|override|params|private|protected|public|readonly|ref|sealed|sizeof|static|struct|typeof|using|virtual|volatile)\>"
color red ""[^\"]*""
color yellow "\<(true|false|null)\>"
color blue "//.*"
color blue start="/\*" end="\*/"
color brightblue start="/\*\*" end="\*/"
color brightgreen,green " +$"
_
2
Monoman

これは私にとってはうまくいきます:

syntax "cs" "\.cs$"
magic "Cs "
comment "//"

color green "\<(bool|byte|sbyte|char|decimal|double|float|int|uint|long|ulong|new|object|short|ushort|string|base|this|void)\>"
color red "\<(as|break|case|catch|checked|continue|default|do|else|finally|fixed|for|foreach|goto|if|is|lock|return|switch|throw|try|unchecked|while)\>"
color cyan "\<(abstract|class|const|delegate|enum|event|explicit|extern|implicit|in|internal|interface|namespace|operator|out|override|params|private|protected|public|readonly|ref|sealed|size$
color red ""[^\"]*""
color yellow "\<(true|false|null)\>"
color blue "//.*"
color blue start="/\*" end="\*/"
color brightblue start="/\*\*" end="\*/"
color brightgreen,green " +$"
0
Penny