## 9 Appearance of text in the buffer

### 9.1 Folding editing

With these commands you can make parts of the text temporarily invisible to make it easier to see the overall structure of your text.

When folding a region all the lines but the first will be invisible. The first line of the region will still be visible with an ellipsis at the end.

See Outline Mode in The Emacs Editor.

`C-c C-f C-r`

  The region between point and mark will be folded (`sgml-fold-region`).

`C-c C-f C-e`

  The region between the start and end of the current element will be folded (`sgml-fold-element`).

  This command can also fold the SGML declaration or the DOCTYPE declaration.

`C-c C-f C-s`

  Fold all the sub elements of the current element (`sgml-fold-subelement`).

`C-c C-s`
`C-c C-u C-l`

  Unfold the current line, assuming it is the first line of a folded region (`sgml-unfold-line`).

`C-c C-u C-e`

  Make all lines in current element visible (`sgml-unfold-element`).

`C-c C-u C-a`

  Make all lines in current buffer visible (`sgml-unfold-all`).

`C-c C-f C-x`

  Unfold current element and then fold the subelements (`sgml-expand-element`). If the current element is folded this expands what is visible.

### 9.2 Hiding markup

*** Describe hide-tags

### 9.3 Highlighting markup

PSGML can highlight the markup giving the markup a different face (see Using Multiple Typefaces in The Emacs Editor). The highlighting will only be done if the variable `sgml-set-face` is non-`nil`. The default settings make tags bold and comments italic, but this can be modified with the variable `sgml-markup-faces`. When highlighting is on PSGML will parse after every command until the whole buffer has been parsed or user event occurs.

To remove the highlighting type `M-x sgml-clear-faces`.

User Option: sgml-set-face

  If non-nil, psgml will set the face of parsed markup.

User Option: sgml-markup-faces

  A list of markup to face mappings. Each element looks like `(markup-type . face)`. Possible values for markup-type is:

  `comment`

    comment declaration

  `doctype`

    doctype declaration

  `end-tag`

    end-tag

  `ignored`

    ignored marked section

  `ms-start`

    marked section end, if not ignored

  `ms-end`

    marked section start, if not ignored

  `pi`

    processing instruction

  `sgml`

    SGML declaration

  `start-tag`

    start-tag

  `entity`

    entity reference

  `shortref`

    short reference