;; 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))
)
)
)
"True if the character at position pos is commented, nil otherwise."
(save-excursion
(goto-char pos)
- (re-search-backward "#" (nagios-beginning-of-line-pos) t)
+ (re-search-backward "\\(#\\|;\\)" (nagios-beginning-of-line-pos) t)
)
)
(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
)
)
"$HOSTACTIONURL$"
"$HOSTADDRESS$"
"$HOSTALIAS$"
+ "$HOSTANDSERVICESIMPORTANCE$"
"$HOSTATTEMPT$"
"$HOSTCHECKCOMMAND$"
"$HOSTCHECKTYPE$"
"$HOSTEXECUTIONTIME$"
"$HOSTGROUPACTIONURL$"
"$HOSTGROUPALIAS$"
+ "$HOSTGROUPMEMBERADDRESSES$"
"$HOSTGROUPMEMBERS$"
"$HOSTGROUPNAME$"
"$HOSTGROUPNAMES$"
"$HOSTGROUPNOTES$"
"$HOSTGROUPNOTESURL$"
+ "$HOSTIMPORTANCE$"
+ "$HOSTINFOURL$"
"$HOSTLATENCY$"
"$HOSTNAME$"
"$HOSTNOTES$"
"$HOSTNOTESURL$"
+ "$HOSTNOTIFICATIONENABLED$"
"$HOSTNOTIFICATIONID$"
"$HOSTNOTIFICATIONNUMBER$"
+ "$HOSTNOTIFICATIONPERIOD$"
"$HOSTOUTPUT$"
"$HOSTPERCENTCHANGE$"
"$HOSTPERFDATA$"
"$SERVICEGROUPNAMES$"
"$SERVICEGROUPNOTES$"
"$SERVICEGROUPNOTESURL$"
+ "$SERVICEIMPORTANCE$"
+ "$SERVICEINFOURL$"
"$SERVICEISVOLATILE$"
"$SERVICELATENCY$"
"$SERVICENOTES$"
"$SERVICENOTESURL$"
+ "$SERVICENOTIFICATIONENABLED$"
"$SERVICENOTIFICATIONID$"
"$SERVICENOTIFICATIONNUMBER$"
+ "$SERVICENOTIFICATIONPERIOD$"
"$SERVICEOUTPUT$"
"$SERVICEPERCENTCHANGE$"
"$SERVICEPERFDATA$"
(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 hostgroupescalation"
- "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)