icinga2/tools/syntax/nano/icinga2.nanorc

158 lines
5.7 KiB
Plaintext

### Nano synteax file
### Icinga2 object configuration file
syntax "icinga2" "/etc/icinga2/.*\.conf$" "/usr/share/icinga2/include/(plugin|itl|.*\.conf$)"
## objects types
icolor brightgreen "object[ \t]+(host|hostgroup|service|servicegroup|user|usergroup)"
icolor brightgreen "object[ \t]+(checkcommand|notificationcommand|eventcommand|notification)"
icolor brightgreen "object[ \t]+(timeperiod|scheduleddowntime|dependency|perfdatawriter)"
icolor brightgreen "object[ \t]+(graphitewriter|idomysqlconnection|idomysqlconnection)"
icolor brightgreen "object[ \t]+(livestatuslistener|externalcommandlistener)"
icolor brightgreen "object[ \t]+(compatlogger|checkcomponent|notificationcomponent)"
icolor brightgreen "object[ \t]+(filelogger|sysloglogger|journaldlogger|apilistener|endpoint|zone)"
## apply def
icolor brightgreen "apply[ \t]+(Service|Dependency|Notification|ScheduledDowntime)"
## objects attributes
icolor red "(^|^\s+)(accept_commands|accept_config|action_url|address|address6|arguments|author|bind_host)"
icolor red "(^|^\s+)(bind_port|ca_path|categories|cert_path|check_command|check_interval)"
icolor red "(^|^\s+)(check_period|child_host_name|child_service_name|cleanup|command|command_endpoint|command_path)"
icolor red "(^|^\s+)(comment|compat_log_path|crl_path|database|disable_checks|disable_notifications)"
icolor red "(^|^\s+)(display_name|duration|email|enable_active_checks|enable_event_handler)"
icolor red "(^|^\s+)(enable_flapping|enable_ha|enable_notifications|enable_passive_checks|enable_perfdata)"
icolor red "(^|^\s+)(endpoints|env|event_command|failover_timeout|fixed|flapping_threshold|groups|host)"
icolor red "(^|^\s+)(host_format_template|host_name|host_name_template|host_perfdata_path|host_temp_path|icon_image)"
icolor red "(^|^\s+)(icon_image_alt|instance_description|instance_name|interval|key_path|log_dir)"
icolor red "(^|^\s+)(log_duration|max_check_attempts|methods|name|notes|notes_url|objects_path)"
icolor red "(^|^\s+)(pager|parent|parent_host_name|parent_service_name|password|path|period)"
icolor red "(^|^\s+)(port|ranges|retry_interval|rotation_interval|rotation_method)"
icolor red "(^|^\s+)(service_format_template|service_name|service_name_template|service_perfdata_path|service_temp_path)"
icolor red "(^|^\s+)(severity|socket_path|socket_type|spool_dir|states|status_path|table_prefix)"
icolor red "(^|^\s+)(timeout|times|types|update_interval|user|user_groups|users|volatile|zone)"
icolor red "(^|^\s+)(vars\.\w+)"
## keywords
icolor red "(^|^\s+)|(icinga2Keyword|template|const|import|include|include_recursive|var|function|return|to|use|locals|globals|this)\s+"
## Assign conditions
icolor magenta "(assign|ignore)[ \t]+where"
## Global functions
icolor white "(regex|match|len|union|intersection|keys|string|number|bool|random|log|typeof|get_time|exit)"
## Accessor Functions
icolor white "(get_host|get_service|get_user|get_check_command|get_event_command|get_notification_command)"
icolor white "(get_host_group|get_service_group|get_user_group|get_time_period)"
## Math functions
icolor white "(Math.E|Math.LN2|Math.LN10|Math.LOG2E|Math.PI|Math.SQRT1_2|Math.SQRT2)"
icolor white "(Math.abs|Math.acos|Math.asin|Math.atan|Math.atan2|Math.ceil|Math.cos)"
icolor white "(Math.exp|Math.floor|Math.isinf|Math.isnan|Math.log|Math.max|Math.min)"
icolor white "(Math.pow|Math.random|Math.round|Math.sign|Math.sin|Math.sqrt|Math.tan)"
## Json functions
icolor white "(Json.encode|Json.decode)"
## String functions
icolor white "(\.to_string)"
icolor white "(\.find)"
icolor white "(\.contains)"
icolor white "(\.len)"
icolor white "(\.lower)"
icolor white "(\.upper)"
icolor white "(\.replace)"
icolor white "(\.split)"
icolor white "(\.substr)"
## Array and Dict Functions
icolor white "(\.add)"
icolor white "(\.clear)"
icolor white "(\.clone)"
icolor white "(\.contains)"
icolor white "(\.len)"
icolor white "(\.remove)"
icolor white "(\.set)"
icolor white "(\.remove)"
icolor white "(\.sort)"
icolor white "(\.join)"
icolor white "(\.clone)"
icolor white "(\.call)"
icolor white "(\.callv)"
## Conditional statements
icolor white "(if|else)"
## Loops
icolor white "(while|for|break|continue)"
## Operators
icolor green "\s(\.)\s"
icolor green "\s(!)\s"
icolor green "\s(\~)\s"
icolor green "\s(\+)\s"
icolor green "\s(-)\s"
icolor green "\s(\*)\s"
icolor green "\s(/)\s"
icolor green "\s(%)\s"
icolor green "\s(=)\s"
icolor green "\s(<)\s"
icolor green "\s(>)\s"
icolor green "\s(<<)\s"
icolor green "\s(>>)\s"
icolor green "\s(<=)\s"
icolor green "\s(>=)\s"
icolor green "\s(in)\s"
icolor green "\s(!in)\s"
icolor green "\s(==)\s"
icolor green "\s(!=)\s"
icolor green "\s(&)\s"
icolor green "\s(\^)\s"
icolor green "\s(|)\s"
icolor green "\s(&&)\s"
icolor green "\s(||)\s"
icolor green "\s(=>)\s"
icolor green "\s(\+=)\s"
icolor green "\s(-=)\s"
icolor green "\s(\*=)\s"
icolor green "\s(/=)\s"
## Global constats
icolor yellow "(PrefixDir|SysconfDir|ZonesDir|LocalStateDir|RunDir|PkgDataDir|StatePath|ObjectsPath)"
icolor yellow "(PidPath|NodeName|ApplicationType|EnableNotifications|EnableEventHandlers|EnableFlapping)"
icolor yellow "(EnableHostChecks|EnableServiceChecks|EnablePerfdata|UseVfork|RunAsUser|RunAsGroup|PluginDir)"
icolor yellow "(Vars\s+)"
## Boolean
icolor blue "(true|false)"
# Null
icolor blue "(null)"
## comments
color brightblue "\/\/.*"
color brightblue "^[ \t]*\*\($\|[ \t]\+\)"
color brightblue start="/\*" end="\*/"
## Braces and Parens definition
# - Braces are used in dictionary definition
color magenta "(\(|\))"
color magenta "(\[|\])"
color magenta "(\{|\})"
## type definitions
# - double quotes "
# - single quotes '
# - brackets <>
color brightyellow "'"
color brightyellow """
color brightyellow start="<" end=">"