icinga2/tools/syntax/nano/icinga2.nanorc
Julian Brost a1197411e5 Fix documentation on global custom variables
Global custom variables were moved from the global `Vars` constant to the
`vars` attribute of the `IcingaApplication` object in v2.4
(84536da221), however the documentation wasn't
updated accordingly.

This commit updates the documentation accordingly. The `vars` attribute of
`IcingaApplication` is already documented in `09-object-types.md`, so no
addition for this is needed.

There is still a reference in `24-appendix.md` that I left unchanged because it
is related to the IDO, which is deprecated and scheduled for removal in v2.18,
so I didn't bother checking what the IDO actually does in respect to global
custom variables.
2026-04-27 14:01:53 +02:00

156 lines
5.7 KiB
Text

### 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)"
## 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=">"