;; Now insert indent-column spaces.
(let ((indent-remaining indent-column))
- (while (< 0 indent-remaining)
- (insert " ")
- (setq indent-remaining (- indent-remaining 1)))
+ (while (< 0 indent-remaining)
+ (insert " ")
+ (setq indent-remaining (- indent-remaining 1)))
)
;; The text on the current line just moved left/right some amount;
;; call it text-delta. We want to move the point that same distance.
(let ((text-delta (- (nagios-first-char-offset) orig-first-char-offset)))
- (goto-char (+ orig-point text-delta))
+ (goto-char (+ orig-point text-delta))
)
;; The point should never wind up to the left of indent-column, so
;; if it's there, move it over to indent-column.
(if (< (nagios-point-offset) indent-column)
- (goto-char (+ (nagios-beginning-of-line-pos) indent-column))
+ (goto-char (+ (nagios-beginning-of-line-pos) indent-column))
)
)
)
(let ((lob (re-search-backward "{" nil t)))
(while (nagios-char-is-commented-and-valid lob)
- (goto-char lob)
- (setq lob (re-search-backward "{" nil t))
+ (goto-char lob)
+ (setq lob (re-search-backward "{" nil t))
)
(if lob
- lob
- -1)
+ lob
+ -1)
)
)
)
(let ((lcb (re-search-backward "}" nil t)))
(while (nagios-char-is-commented-and-valid lcb)
- (goto-char lcb)
- (setq lcb (re-search-backward "}" nil t))
+ (goto-char lcb)
+ (setq lcb (re-search-backward "}" nil t))
)
(if lcb
- lcb
- -1)
+ lcb
+ -1)
)
)
)
;; Initialize the indent variable to either nagios-indent-level
;; or 0 depending on whether or not we're in a block.
(let ((indent (if (nagios-in-block)
- nagios-indent-level
- 0)
- )
+ nagios-indent-level
+ 0)
+ )
)
;; Set the indentation level to 0 if we find either brace on this
;; line and.
(if (and (nagios-brace-on-line)
- (not (nagios-char-is-commented (nagios-brace-on-line))))
- 0
+ (not (nagios-char-is-commented (nagios-brace-on-line))))
+ 0
indent
)
)
(concat "^[ \t\r\n]*"
(regexp-opt
- '("active_checks_enabled" "address" "alias" "check_command"
- "check_freshness" "check_interval" "check_period" "checks_enabled"
- "command_line" "command_name" "contactgroups" "contact_groups"
- "contactgroup_members" "contact_name" "contactgroup_name" "contacts"
- "dependent_host_name" "dependent_service_description" "email"
- "event_handler" "event_handler_enabled" "execution_failure_criteria"
- "failure_prediction_enabled" "first_notification"
- "first_notification_delay" "flap_detection_enabled" "freshness_threshold"
- "friday" "high_flap_threshold" "host_name" "host_notification_commands"
- "host_notification_options" "host_notification_period"
- "host_notifications_enabled" "hostgroup_name" "hostgroups"
- "is_volatile" "last_notification" "low_flap_threshold"
- "max_check_attempts" "members" "monday" "normal_check_interval"
- "notes" "notification_failure_criteria"
- "notification_interval" "notification_options"
- "notification_period" "notifications_enabled"
- "obsess_over_service" "pager" "parallelize_check"
- "parents" "passive_checks_enabled"
- "process_perf_data" "retain_nonstatus_information"
- "retain_status_information" "retry_check_interval"
- "retry_interval" "saturday" "service_description"
- "service_notification_commands" "service_notification_options"
- "service_notification_period" "service_notifications_enabled"
- "servicegroup_name" "stalking_options"
- "sunday" "thursday" "timeperiod_name" "tuesday" "wednesday") t)
+ '("action_url"
+ "active_checks_enabled"
+ "address"
+ "alias"
+ "can_submit_commands"
+ "check_command"
+ "check_freshness"
+ "check_interval"
+ "check_period"
+ "checks_enabled"
+ "command_line"
+ "command_name"
+ "contact_groups"
+ "contact_name"
+ "contactgroup_members"
+ "contactgroup_name"
+ "contactgroups"
+ "contacts"
+ "dependency_period"
+ "dependent_description"
+ "dependent_host"
+ "dependent_host_name"
+ "dependent_hostgroup"
+ "dependent_hostgroup_name"
+ "dependent_hostgroups"
+ "dependent_service_description"
+ "dependent_servicegroup"
+ "dependent_servicegroup_name"
+ "dependent_servicegroups"
+ "description"
+ "display_name"
+ "email"
+ "escalation_options"
+ "escalation_period"
+ "event_handler"
+ "event_handler_enabled"
+ "exclude"
+ "execution_failure_criteria"
+ "execution_failure_options"
+ "failure_prediction_enabled"
+ "failure_prediction_options"
+ "first_notification"
+ "first_notification_delay"
+ "flap_detection_enabled"
+ "flap_detection_options"
+ "freshness_threshold"
+ "friday"
+ "high_flap_threshold"
+ "host"
+ "host_groups"
+ "host_name"
+ "host_notification_commands"
+ "host_notification_options"
+ "host_notification_period"
+ "host_notifications_enabled"
+ "hostgroup"
+ "hostgroup_members"
+ "hostgroup_name"
+ "hostgroups"
+ "hosts"
+ "hourly_value"
+ "icon_image"
+ "icon_image_alt"
+ "importance"
+ "inherits_parent"
+ "initial_state"
+ "is_volatile"
+ "last_notification"
+ "low_flap_threshold"
+ "master_description"
+ "master_host"
+ "master_host_name"
+ "master_service_description"
+ "max_check_attempts"
+ "members"
+ "minimum_importance"
+ "minimum_value"
+ "monday"
+ "normal_check_interval"
+ "notes"
+ "notes_url"
+ "notification_failure_criteria"
+ "notification_failure_options"
+ "notification_interval"
+ "notification_options"
+ "notification_period"
+ "notifications_enabled"
+ "obsess"
+ "obsess_over_host"
+ "obsess_over_service"
+ "pager"
+ "parallelize_check"
+ "parents"
+ "passive_checks_enabled"
+ "process_perf_data"
+ "retain_nonstatus_information"
+ "retain_status_information"
+ "retry_check_interval"
+ "retry_interval"
+ "saturday"
+ "service_description"
+ "service_groups"
+ "service_notification_commands"
+ "service_notification_options"
+ "service_notification_period"
+ "service_notifications_enabled"
+ "servicegroup"
+ "servicegroup_members"
+ "servicegroup_name"
+ "servicegroups"
+ "stalking_options"
+ "statusmap_image"
+ "sunday"
+ "thursday"
+ "timeperiod_name"
+ "tuesday"
+ "vrml_image"
+ "wednesday") t)
"[ \r\n\t]+")
)
(concat "^[ \t\r\n]*"
- "\\(" ;; Stick parenthesis around whatever comes out
- ;; of regexp-opt. We use this to match a
- ;; subexpression during font-lock.
- (regexp-opt
- '("define command"
- "define contact"
- "define contactgroup"
- "define host"
- "define hostdependency"
- "define hostescalation"
- "define hostextinfo"
- "define hostgroup"
- "define null"
- "define service"
- "define servicedependency"
- "define serviceescalation"
- "define serviceextinfo"
- "define servicegroup"
- "define timeperiod"))
- ;; This closes the parentheses that we opened
- "\\)" ;; before regexp-opt.
-
- ;; These can be "terminated" by either an opening curly
- ;; brace, or a space.
- "\\({\\| \\)")
+ "\\(" ;; Stick parenthesis around whatever comes out
+ ;; of regexp-opt. We use this to match a
+ ;; subexpression during font-lock.
+ (regexp-opt
+ '("define command"
+ "define contact"
+ "define contactgroup"
+ "define host"
+ "define hostdependency"
+ "define hostescalation"
+ "define hostextinfo"
+ "define hostgroup"
+ "define null"
+ "define service"
+ "define servicedependency"
+ "define serviceescalation"
+ "define serviceextinfo"
+ "define servicegroup"
+ "define timeperiod"))
+ ;; This closes the parentheses that we opened
+ "\\)" ;; before regexp-opt.
+
+ ;; These can be "terminated" by either an opening curly
+ ;; brace, or a space.
+ "\\({\\| \\)")
)
)
(make-local-variable 'comment-start-skip)
(make-local-variable 'comment-end)
(make-local-variable 'indent-line-function)
- (make-local-variable 'syntax-begin-function)
(set-syntax-table nagios-mode-syntax-table)
(setq mode-name "nagios"
- major-mode 'nagios-mode
- indent-line-function 'nagios-indent-line
- font-lock-defaults '(nagios-font-lock-keywords)
- comment-start "#"
- comment-start-skip "#\|; +"
- comment-end ""
-
- ;; Since comments and strings do not span multiple lines,
- ;; the syntax parser can safely start parsing at the beginning
- ;; of any line.
- syntax-begin-function 'beginning-of-line
- )
+ major-mode 'nagios-mode
+ indent-line-function 'nagios-indent-line
+ font-lock-defaults '(nagios-font-lock-keywords)
+ comment-start "#"
+ comment-start-skip "#\|; +"
+ comment-end ""
+ )
;; Keyboard Mapping
(use-local-map nagios-mode-map)