[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/textmodes/xml-lite.el
From: |
Mike Williams |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/textmodes/xml-lite.el |
Date: |
Mon, 01 Apr 2002 06:00:33 -0500 |
Index: emacs/lisp/textmodes/xml-lite.el
diff -c emacs/lisp/textmodes/xml-lite.el:1.8
emacs/lisp/textmodes/xml-lite.el:1.9
*** emacs/lisp/textmodes/xml-lite.el:1.8 Fri Mar 29 17:16:38 2002
--- emacs/lisp/textmodes/xml-lite.el Mon Apr 1 06:00:33 2002
***************
*** 43,91 ****
(require 'sgml-mode)
- ;; Variables
-
- (defgroup xml-lite nil
- "Customizable variables for XML-Lite mode."
- :group 'languages
- )
-
- (defcustom xml-lite-basic-offset 2
- "*Specifies the basic indentation level for `xml-lite-indent-line'."
- :type 'integer
- :group 'xml-lite
- )
-
- (defcustom xml-lite-electric-slash 'close
- "*If non-nil, inserting a '/' after a '<' behaves electrically.
- If set to `indent', typing '</' just triggers reindentation.
- If set to `close', typing '</' inserts an end-tag for the
- enclosing XML element."
- :type '(choice (const :tag "Indent" indent)
-
- (const :tag "Close" close)
- (const :tag "No" nil))
-
- :group 'xml-lite
- )
-
- (defcustom xml-lite-mode-line-string " XML"
- "*String to display in the modeline when `xml-lite-mode' is active.
- Set this to nil if you don't want a modeline indicator for xml-lite-mode."
- :type 'string
- :group 'xml-lite)
-
- (defcustom xml-lite-mode-hook nil
- "*Hook called by `xml-lite-mode'."
- :type 'hook
- :group 'xml-lite)
-
- ;;;###autoload
- (defvar xml-lite-mode nil
- "Non-nil if `xml-lite-mode' is enabled.")
- (make-variable-buffer-local 'xml-lite-mode)
-
-
;; Syntax analysis
(defsubst xml-lite-at-indentation-p ()
--- 43,48 ----
***************
*** 94,108 ****
(skip-chars-backward " \t")
(bolp)))
- (defun xml-lite-in-string-p (&optional limit)
- "Determine whether point is inside a string. If it is, return the
- position of the character starting the string, else return nil.
-
- Parse begins from LIMIT, which defaults to the preceding occurence of a tag
- at the beginning of a line."
- (let ((context (sgml-lexical-context limit)))
- (if (eq (car context) 'string) (cdr context))))
-
;; Parsing
(defstruct (xml-lite-tag
--- 51,56 ----
***************
*** 222,228 ****
;; enclosing start-tags we'll have to ignore.
(skip-chars-backward " \t\n") ; Make sure we're not at indentation.
(while
! (and (or ignore (not (if full (eq full 'empty) context))
(not (xml-lite-at-indentation-p))
(and (not sgml-xml-mode) context
(/= (point) (xml-lite-tag-start (car context)))
--- 170,177 ----
;; enclosing start-tags we'll have to ignore.
(skip-chars-backward " \t\n") ; Make sure we're not at indentation.
(while
! (and (or ignore
! (not (if full (eq full 'empty) context))
(not (xml-lite-at-indentation-p))
(and (not sgml-xml-mode) context
(/= (point) (xml-lite-tag-start (car context)))
***************
*** 233,241 ****
;; This tag may enclose things we thought were tags. If so,
;; discard them.
(while (and context
! (> (xml-lite-tag-end tag-info)
! (xml-lite-tag-end (car context))))
! (setq context (cdr context)))
(cond
--- 182,190 ----
;; This tag may enclose things we thought were tags. If so,
;; discard them.
(while (and context
! (> (xml-lite-tag-end tag-info)
! (xml-lite-tag-end (car context))))
! (setq context (cdr context)))
(cond
***************
*** 289,297 ****
(pp (save-excursion (xml-lite-get-context full)))))
- ;; Indenting
-
-
;; Editing shortcuts
(defun xml-lite-insert-end-tag ()
--- 238,243 ----
***************
*** 339,381 ****
(xml-lite-insert-end-tag))
(t
(insert-char ?/ arg))))
-
-
- ;; Keymap
-
- (defvar xml-lite-mode-map
- (let ((map (make-sparse-keymap)))
- (define-key map "\C-c/" 'xml-lite-insert-end-tag)
- (define-key map "\C-c\C-s" 'xml-lite-show-context)
- (define-key map "/" 'xml-lite-slash)
- map)
- "Key bindings for `xml-lite-mode'.")
-
-
- ;; Minor mode
-
- ;;;###autoload
- (define-minor-mode xml-lite-mode
- "Toggle `xml-lite-mode'.
- With ARG, enable xml-lite-mode if and only if ARG is positive.
-
- xml-lite-mode provides indentation for XML tags. The value of
- `xml-lite-basic-offset' determines the amount of indentation.
-
- Key bindings:
- \\{xml-lite-mode-map}"
- nil ; initial value
- " XML" ; mode indicator
- 'xml-lite-mode-map ; keymap
- (if xml-lite-mode
- (progn
- (if (eq major-mode 'fundamental-mode) (sgml-mode))
- (set (make-local-variable 'sgml-xml-mode) t)
- (set (make-local-variable 'xml-lite-orig-indent-line-function)
- indent-line-function)
- (set (make-local-variable 'indent-line-function) 'sgml-indent-line))
- (kill-local-variable 'sgml-xml-mode)
- (setq indent-line-function xml-lite-orig-indent-line-function)))
(provide 'xml-lite)
--- 285,290 ----
- [Emacs-diffs] Changes to emacs/lisp/textmodes/xml-lite.el,
Mike Williams <=