This commit is contained in:
anthonykasza 2022-05-20 16:18:37 +00:00 committed by GitHub
commit e05409d912
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 82 additions and 0 deletions

43
solidity.nanorc Normal file
View File

@ -0,0 +1,43 @@
# manually created by referencing:
# - https://github.com/solidityj/solidity-antlr4/blob/master/Solidity.g4
# - https://github.com/ConsenSysMesh/solidity-parser/blob/master/solidity.pegjs
# - https://docs.soliditylang.org/en/v0.4.24/units-and-global-variables.html
syntax "solidity" "\.sol$"
color brightmagenta "^pragma.*$"
color brightgreen "import"
# Other things
color brightcyan "using|for|modifier|if|else|while|do |assembly|continue|break|throw|emit|var|let "
color brightcyan "after|delete|switch|case|default|hex|abstract|catch|final| in |inline|match|of|relocatable|static|try|typeof|get"
color brightcyan "anonymous|constant|return |set"
# Modifiers
color brightmagenta "public|private|internal|external|pure|view|payable|override|virtual|memory|storage|calldata|indexed|type"
# Types
color green "bool|address|string|struct|enum|event|mapping"
color green "int|int8|int16|int24|int32|int40|int48|int56|int64|int72|int80|int88|int96|int104|int112|int120|int128|int136|int144|int152|int160|int168|int176|int184|int192|int200|int208|int216|int224|int232|int240|int248|int256"
color green "uint|uint8|uint16|uint24|uint32|uint40|uint48|uint56|uint64|uint72|uint80|uint88|uint96|uint104|uint112|uint120|uint128|uint136|uint144|uint152|uint160|uint168|uint176|uint184|uint192|uint200|uint208|uint216|uint224|uint232|uint240|uint248|uint256"
color green "bytes|bytes1|bytes2|bytes3|bytes4|bytes5|bytes6|bytes7|bytes8|bytes9|bytes10|bytes11|bytes12|bytes13|bytes14|bytes15|bytes16|bytes17|bytes18|bytes19|bytes20|bytes21|bytes22|bytes23|bytes24|bytes25|bytes26|bytes27|bytes28|bytes29|bytes30|bytes31|bytes32"
color green "fixed|ufixed|true|false|null"
# Units
icolor red "wei|szabo|finney|ether|seconds|days|minutes|hours|weeks|years"
# Classes
color cyan "function|class|contract|interface|library| is |as |returns|new|constructor|selfdestruct|extends|super|suicide"
# bifs
color magenta "this|now|keccak256|(abi.(\w+\.)+?\w+)|blockhash|(block.(\w+\.)+?\w+)|require|(msg.(\w+\.)+?\w+)|(tx.(\w+\.)+?\w+)"
color magenta "assert|revert|addmod|mulmod|sha256|sha3|ripemd160|ecrecover"
# address functions
color yellow "0x\w+\.(balance|transfer|send|call|callcode|delegatecall)"
color yellow "0x\w{64}"
# Comments
color blue "(^|[[:space:]])//.*$"

39
zeek.nanorc Normal file
View File

@ -0,0 +1,39 @@
## Here is an example nanorc for syntax highlighting in Zeek scripts. Edited the standard sh.nanorc to create this, and added in the regex described by Scott Runnels.
## For Scott's bro-mode.el, go to https://github.com/srunnels/bro-mode/blob/master/bro-mode.el
syntax "zeek" "\.zeek$"
magic "(POSIX|Bourne.*) shell script text"
header "^#!.*/(ba|k|pdk)?sh[-0-9_]*"
icolor brightgreen "^[0-9A-Z_]+\(\)"
color cyan "(usec|msec|sec|min|hr|day)s?\b"
color cyan "[0-9]+\/(tcp|udp|icmp|unknown)"
# Functions and event names
color magenta "\w+\("
# Declarations and statements
color brightcyan "\<(add|alarm|fallthrough|break|case|const|copy|continue|do|delete|else|for|global|switch|default|if|endif|local|next|of|print|redef|return|schedule|type|when|while|option)\>"
color brightcyan "module|export|timeout"
# Types
color cyan "\<(addr|opaque|any|bool|hook|connection|function|count|time|double|file|int|enum|event|interval|net|port|pattern|record|set|string|subnet|table|vector)\>"
# Namespaces
color yellow "(\w+?)::\b"
# Operators
color green "(:|\{|\}|\(|\)|\;|\]|\[|`|\\|\$|<|>|!|=|& |&&|\||\?|%|\+|\*|-\W| as |\^|~| not | in | is | !in | : |,)"
# attributes
color brightgreen "\&(expire_func|redef|priority|log|optional|default|add_func|delete_func|read_expire|write_expire|create_expire|on_change|raw_output|error_handler|type_column|deprecated)"
# Directives and record references
icolor brightred "(@\w+)"
icolor red "(\w+?)\$\{?[0-9A-Z_!@#$*?-]+\}?"
# string literals
color brightyellow ""(\\.|[^"])*"" "'(\\.|[^'])*'"
# Comments
color blue "(^|[[:space:]])#.*$"