prettyprint.rst
author Oleksandr Gavenko <gavenkoa@gmail.com>
Mon, 22 Feb 2016 12:46:36 +0200
changeset 1905 fba288d59662
parent 1334 9bf0d5a1f0cf
child 1912 8b81a8f0f692
permissions -rw-r--r--
Include only local subsections into TOC. This prevent duplication of TOC when build single page HTML document. Also this make unnecessary CSS hack to hide document title as top level section.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1334
9bf0d5a1f0cf Include common header with quick links.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1326
diff changeset
     1
.. -*- coding: utf-8; -*-
9bf0d5a1f0cf Include common header with quick links.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1326
diff changeset
     2
.. include:: HEADER.rst
1209
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     3
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     4
===========================
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     5
 Pretty print source code.
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     6
===========================
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     7
.. contents::
1905
fba288d59662 Include only local subsections into TOC. This prevent duplication of
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1334
diff changeset
     8
   :local:
1209
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     9
1326
8aac6cb8518d About pretty printing.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1323
diff changeset
    10
About pretty printing.
8aac6cb8518d About pretty printing.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1323
diff changeset
    11
======================
8aac6cb8518d About pretty printing.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1323
diff changeset
    12
1209
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    13
Code formatter, beautifier, pretty printer.
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    14
1326
8aac6cb8518d About pretty printing.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1323
diff changeset
    15
  http://en.wikipedia.org/wiki/Pretty-printer
8aac6cb8518d About pretty printing.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1323
diff changeset
    16
                Wiki article.
8aac6cb8518d About pretty printing.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1323
diff changeset
    17
1209
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    18
xml.
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    19
====
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    20
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    21
tidy.
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    22
-----
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    23
::
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    24
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    25
  $ tidy -xml -i -utf8 -o out.xml in.xml
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    26
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    27
or in Emacs::
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    28
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    29
  C-x h C-x <RET> c utf-8 <RET> C-u M-| tidy -q -xml -i -utf8 -
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    30
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    31
  http://tidy.sourceforge.net
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    32
                Home page.
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    33
  http://www.emacswiki.org/cgi-bin/wiki/tidy.el
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    34
                Emacs bindings.
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    35
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    36
xmllint.
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    37
--------
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    38
::
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    39
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    40
  $ xmllint --format file.xml
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    41
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    42
or in Emacs:
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    43
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    44
  : C-x h C-u M-| xmllint --format - <RET>
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    45
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    46
Emacs and nxml.
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    47
---------------
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    48
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    49
You need introduce line-breaks and then::
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    50
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    51
  C-x h C-M-\
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    52
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    53
xmlindent.
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    54
----------
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    55
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    56
  http://xmlindent.sourceforge.net/
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    57
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    58
c/c++/java/c#.
1323
1d94538d70c9 http://perltidy.sourceforge.net/
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1209
diff changeset
    59
==============
1209
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    60
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    61
Artistic Style, astyle.
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    62
-----------------------
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    63
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    64
A Free, Fast and Small Automatic Formatter for C, C++, C#, and Java Source Code.
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    65
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    66
There are exist package for Cygwin, Debian.
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    67
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    68
  http://astyle.sourceforge.net/
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    69
                home page
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    70
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    71
Uncrustify.
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    72
-----------
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    73
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    74
Source Code Beautifier for C, C++, C#, ObjectiveC, D, Java, Pawn and VALA.
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    75
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    76
Exist package for Windows (binary from home page), Debian.
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    77
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    78
  http://uncrustify.sourceforge.net/
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    79
                home page
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    80
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    81
jpplib.
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    82
-------
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    83
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    84
Pretty Printer Library.
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    85
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    86
  http://jpplib.sourceforge.net/
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    87
                Home page.
bb6eaf58a856 Pretty Printer Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    88
1323
1d94538d70c9 http://perltidy.sourceforge.net/
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1209
diff changeset
    89
Perl.
1d94538d70c9 http://perltidy.sourceforge.net/
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1209
diff changeset
    90
=====
1d94538d70c9 http://perltidy.sourceforge.net/
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1209
diff changeset
    91
1d94538d70c9 http://perltidy.sourceforge.net/
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1209
diff changeset
    92
  http://perltidy.sourceforge.net/
1d94538d70c9 http://perltidy.sourceforge.net/
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1209
diff changeset
    93
                Home page.
1d94538d70c9 http://perltidy.sourceforge.net/
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1209
diff changeset
    94