prettyprint.rst
author Oleksandr Gavenko <gavenkoa@gmail.com>
Mon, 09 Oct 2017 10:49:36 +0300
changeset 2188 e95731eef030
parent 2098 1a896c3e47c2
child 2228 837f1337c59b
permissions -rw-r--r--
Fixed: NameError: name 'locale_encoding' is not defined File /bin/rst2html.py, line 17, in <module> from docutils.core import publish_cmdline, default_description File /usr/lib/python2.7/site-packages/docutils/core.py, line 20, in <module> from docutils import frontend, io, utils, readers, writers File /usr/lib/python2.7/site-packages/docutils/frontend.py, line 41, in <module> import docutils.utils File /usr/lib/python2.7/site-packages/docutils/utils/__init__.py, line 20, in <module> import docutils.io File /usr/lib/python2.7/site-packages/docutils/io.py, line 18, in <module> from docutils.utils.error_reporting import locale_encoding, ErrorString, ErrorOutput File /usr/lib/python2.7/site-packages/docutils/utils/error_reporting.py, line 60, in <module> codecs.lookup(locale_encoding or '') # None -> '' NameError: name 'locale_encoding' is not defined

.. -*- coding: utf-8; -*-

===========================
 Pretty print source code.
===========================
.. contents::
   :local:

About pretty printing.
======================

Code formatter, beautifier, pretty printer.

http://en.wikipedia.org/wiki/Pretty-printer
  Wiki article on pretty printing.

json
====

With ``jq`` (available in Debian/Cygwin)::

  $ jq  $FILE
  $ curl -s http://.../... | jq

By default ``jq`` produce colorized output in terminal!

With Python 2.6+::

  $ python -m simplejson.tool  $FILE
  $ python -m json.tool  $FILE

In terminal you can add color support with ``pygmentize``::

  $ curl -s http://.../... | python -m simplejson.tool | pygmentize -l json

xml
===

With tidy::

  $ tidy -xml -i -utf8 -o out.xml in.xml

or in Emacs::

  C-x h C-x <RET> c utf-8 <RET> C-u M-| tidy -q -xml -i -utf8 -

With xmllint::

  $ xmllint --format file.xml

or in Emacs::

  : C-x h C-u M-| xmllint --format - <RET>

With Emacs and nxml you need introduce line-breaks and then::

  C-x h C-M-\

http://tidy.sourceforge.net
  Home page.
http://www.emacswiki.org/cgi-bin/wiki/tidy.el
  Emacs bindings.
http://xmlindent.sourceforge.net/
  xmlindent home page.

c/c++/java/c#.
==============

Artistic Style, astyle.
-----------------------

A Free, Fast and Small Automatic Formatter for C, C++, C#, and Java Source Code.

There are exist package for Cygwin, Debian.

  http://astyle.sourceforge.net/
                home page

Uncrustify.
-----------

Source Code Beautifier for C, C++, C#, ObjectiveC, D, Java, Pawn and VALA.

Exist package for Windows (binary from home page), Debian.

  http://uncrustify.sourceforge.net/
                home page

jpplib.
-------

Pretty Printer Library.

  http://jpplib.sourceforge.net/
                Home page.

Perl.
=====

http://perltidy.sourceforge.net/
  Home page.