summaryrefslogtreecommitdiffstats
path: root/tools/syntax/nano/icinga2.nanorc
diff options
context:
space:
mode:
Diffstat (limited to 'tools/syntax/nano/icinga2.nanorc')
-rw-r--r--tools/syntax/nano/icinga2.nanorc157
1 files changed, 157 insertions, 0 deletions
diff --git a/tools/syntax/nano/icinga2.nanorc b/tools/syntax/nano/icinga2.nanorc
new file mode 100644
index 0000000..cff78be
--- /dev/null
+++ b/tools/syntax/nano/icinga2.nanorc
@@ -0,0 +1,157 @@
+### 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=">"