" Vim syntax file " Language: Nagios Config File " Maintainer: Klaus Muth " Last Change: 2008 Mar 9 " Version: 0.3 " Changed: HiLink -> hi def link (Requested by Bram) " URL: http://www.hampft.de/syntax/nagios.vim " Remark: Redone from scratch. Some ideas taken from " Ava Arachne Jarvis " Lance Albertson " For version 5.x: Clear all syntax items " For version 6.x: Quit when a syntax file was already loaded if version < 600 syntax clear elseif exists("b:current_syntax") finish endif syn keyword nagiosStatement define " --------- host ------------------------------------------------------ syn region nagiosHost matchgroup=nagiosObject \ start=/host\_\s*{/ end='}' transparent \ contains=nagiosHostOpts,nagiosSpecialOpts,nagiosComment,nagiosHashComment syn keyword nagiosHostOpts host_name alias address parents hostgroups \ check_command mack_check_attemtpts check_interval \ active_checks_enabled passive_checks_enabled check_period \ obess_over_host check_freshness freshness_threshold \ event_handler event_handler_enabled low_flap_threshold \ high_flap_threshold flap_detection_enabled process_perf_data \ retain_status_information retain_nonstatus_information \ contact_groups notification_interval notification_period \ notification_options notifications_enabled \ stalking_options failure_prediction_enabled \ max_check_attempts contained " --------- hostgroup ------------------------------------------------- syn region nagiosHostgroup matchgroup=nagiosObject \ start=/hostgroup\_\s*{/ end='}' transparent \ contains=nagiosHostgroupOpts,nagiosSpecialOpts,nagiosComment,nagiosHashComment syn keyword nagiosHostgroupOpts hostgroup_name alias members contained " --------- service --------------------------------------------------- syn region nagiosService matchgroup=nagiosObject \ start=/service\_\s*{/ end='}' transparent \ contains=nagiosServiceOpts,nagiosSpecialOpts,nagiosComment,nagiosHashComment syn keyword nagiosServiceOpts host_name service_description servicegroups \ is_volatile check_command max_check_attempts \ normal_check_interval retry_check_interval \ retry_check_interval active_checks_enabled \ passive_checks_enabled check_period parallelize_check \ obsess_over_service check_freshness freshness_threshold \ event_handler event_handler_enabled low_flap_threshold \ high_flap_threshold flap_detection_enabled process_perf_data \ retain_status_information retain_nonstatus_information \ notification_interval notification_period \ notification_options notifications_enabled contact_groups \ stalking_options failure_prediction_enabled contained " --------- servicegroup ---------------------------------------------- syn region nagiosServicegroup matchgroup=nagiosObject \ start=/servicegroup\_\s*{/ end='}' transparent \ contains=nagiosServicegroupOpts,nagiosSpecialOpts,nagiosComment,nagiosHashComment syn keyword nagiosServicegroupOpts servicegroup_name \ alias members contained " --------- contact --------------------------------------------------- syn region nagiosContact matchgroup=nagiosObject \ start=/contact\_\s*{/ end='}' transparent \ contains=nagiosContactOpts,nagiosSpecialOpts,nagiosComment,nagiosHashComment syn keyword nagiosContactOpts name contact_name alias contactgroups \ host_notification_period service_notification_period \ host_notification_options service_notification_options \ host_notification_commands service_notification_commands \ email pager address1 address2 address3 address4 address4 \ contained " --------- contact --------------------------------------------------- syn region nagiosContactgroup matchgroup=nagiosObject \ start=/contactgroup\_\s*{/ end='}' transparent \ contains=nagiosContactgroupOpts,nagiosSpecialOpts,nagiosComment,nagiosHashComment syn keyword nagiosContactgoupOpts contactgroup_name alias members contained " --------- timeperiod ------------------------------------------------ syn region nagiosTimeperiod matchgroup=nagiosObject \ start=/timeperiod\_\s*{/ end='}' transparent \ contains=nagiosTimeperiodOpts,nagiosSpecialOpts,nagiosComment,nagiosHashComment syn keyword nagiosTimeperiodOpts timeperiod_name alias sunday monday tuesday \ wednesday thursday friday saturday contained " --------- command --------------------------------------------------- syn region nagiosCommand matchgroup=nagiosObject \ start=/command\_\s*{/ end='}' transparent \ contains=nagiosCommandOpts,nagiosSpecialOpts,nagiosComment,nagiosHashComment syn keyword nagiosCommandOpts command_name command_line contained " --------- servicedependency ----------------------------------------- syn region nagiosServicedependency matchgroup=nagiosObject \ start=/servicedependency\_\s*{/ end='}' transparent \ contains=nagiosServicedependencyOpts,nagiosSpecialOpts,nagiosComment,nagiosHashComment syn keyword nagiosServicedependencyOpts dependent_host_name \ dependent_service_description host_name service_description \ inherits_parent execution_failure_criteria \ notification_failure_criteria contained " --------- serviceescalation ----------------------------------------- syn region nagiosServiceescalation matchgroup=nagiosObject \ start=/serviceescalation\_\s*{/ end='}' transparent \ contains=nagiosServiceescalationOpts,nagiosSpecialOpts,nagiosComment,nagiosHashComment syn keyword nagiosServiceescalationOpts host_name service_description \ contact_groups first_notification last_notification \ notification_interval escalation_period escalation_options \ contained " --------- hostdependency -------------------------------------------- syn region nagiosHostdependency matchgroup=nagiosObject \ start=/hostdependency\_\s*{/ end='}' transparent \ contains=nagiosHostdependencyOpts,nagiosSpecialOpts,nagiosComment,nagiosHashComment syn keyword nagiosHostdependencyOpts dependent_host_name host_name \ inherits_parent execution_failure_criteria \ notification_failure_criteria \ dependent_hostgroup_name contained " --------- hostescalation -------------------------------------------- syn region nagiosHostescalation matchgroup=nagiosObject \ start=/hostescalation\_\s*{/ end='}' transparent \ contains=nagiosHostescalationOpts,nagiosSpecialOpts,nagiosComment,nagiosHashComment syn keyword nagiosHostescalationOpts host_name hostgroup_name contact_groups \ first_notification last_notification notification_interval \ escalation_period escalation_options contained " --------- hostextinfo ----------------------------------------------- syn region nagiosHostextinfo matchgroup=nagiosObject \ start=/hostextinfo\_\s*{/ end='}' transparent \ contains=nagiosHostextinfoOpts,nagiosSpecialOpts,nagiosComment,nagiosHashComment syn keyword nagiosHostextinfoOpts host_name notes notes_url action_url \ icon_image icon_image_alt vrml_image statusmap_image \ 2d_coords 3d_coords hostgroup_name contained " --------- serviceextinfo ----------------------------------------------- syn region nagiosServiceextinfo matchgroup=nagiosObject \ start=/serviceextinfo\_\s*{/ end='}' transparent \ contains=nagiosServiceextinfoOpts,nagiosSpecialOpts,nagiosComment,nagiosHashComment syn keyword nagiosServiceextinfoOpts host_name service_description notes \ notes_url action_url icon_image icon_image_alt \ hostgroup_name contained " --------- the rest of it -------------------------------------------- syn keyword nagiosSpecialOpts use register name contained syn match nagiosError '}' syn match nagiosHashComment /^#.*/ syn match nagiosComment / ;.*/ syn match nagiosVar /\$[A-Z0-9_]*\$/ hi def link nagiosHostOpts nagiosOpts hi def link nagiosHostgroupOpts nagiosOpts hi def link nagiosServiceOpts nagiosOpts hi def link nagiosServicegroupOpts nagiosOpts hi def link nagiosContactOpts nagiosOpts hi def link nagiosContactgroupOpts nagiosOpts hi def link nagiosTimeperiodOpts nagiosOpts hi def link nagiosCommandOpts nagiosOpts hi def link nagiosServicedependencyOpts nagiosOpts hi def link nagiosServiceescalationOpts nagiosOpts hi def link nagiosHostdependencyOpts nagiosOpts hi def link nagiosHostescalationOpts nagiosOpts hi def link nagiosHostextinfoOpts nagiosOpts hi def link nagiosServiceextinfoOpts nagiosOpts hi def link nagiosOpts PreProc hi def link nagiosSpecialOpts Special hi def link nagiosStatement Statement hi def link nagiosObject Type hi def link nagiosComment Comment hi def link nagiosHashComment Comment hi def link nagiosVar Define hi def link nagiosError Error let b:current_syntax = "nagios"