summaryrefslogtreecommitdiffstats
path: root/third_party/python/wcwidth/wcwidth-0.2.5.dist-info
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/python/wcwidth/wcwidth-0.2.5.dist-info')
-rw-r--r--third_party/python/wcwidth/wcwidth-0.2.5.dist-info/LICENSE27
-rw-r--r--third_party/python/wcwidth/wcwidth-0.2.5.dist-info/METADATA309
-rw-r--r--third_party/python/wcwidth/wcwidth-0.2.5.dist-info/RECORD14
-rw-r--r--third_party/python/wcwidth/wcwidth-0.2.5.dist-info/WHEEL6
-rw-r--r--third_party/python/wcwidth/wcwidth-0.2.5.dist-info/top_level.txt1
-rw-r--r--third_party/python/wcwidth/wcwidth-0.2.5.dist-info/zip-safe1
6 files changed, 358 insertions, 0 deletions
diff --git a/third_party/python/wcwidth/wcwidth-0.2.5.dist-info/LICENSE b/third_party/python/wcwidth/wcwidth-0.2.5.dist-info/LICENSE
new file mode 100644
index 0000000000..a44c075724
--- /dev/null
+++ b/third_party/python/wcwidth/wcwidth-0.2.5.dist-info/LICENSE
@@ -0,0 +1,27 @@
+The MIT License (MIT)
+
+Copyright (c) 2014 Jeff Quast <contact@jeffquast.com>
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+Markus Kuhn -- 2007-05-26 (Unicode 5.0)
+
+Permission to use, copy, modify, and distribute this software
+for any purpose and without fee is hereby granted. The author
+disclaims all warranties with regard to this software.
diff --git a/third_party/python/wcwidth/wcwidth-0.2.5.dist-info/METADATA b/third_party/python/wcwidth/wcwidth-0.2.5.dist-info/METADATA
new file mode 100644
index 0000000000..263388a061
--- /dev/null
+++ b/third_party/python/wcwidth/wcwidth-0.2.5.dist-info/METADATA
@@ -0,0 +1,309 @@
+Metadata-Version: 2.1
+Name: wcwidth
+Version: 0.2.5
+Summary: Measures the displayed width of unicode strings in a terminal
+Home-page: https://github.com/jquast/wcwidth
+Author: Jeff Quast
+Author-email: contact@jeffquast.com
+License: MIT
+Keywords: cjk,combining,console,eastasian,emojiemulator,terminal,unicode,wcswidth,wcwidth,xterm
+Platform: UNKNOWN
+Classifier: Intended Audience :: Developers
+Classifier: Natural Language :: English
+Classifier: Development Status :: 5 - Production/Stable
+Classifier: Environment :: Console
+Classifier: License :: OSI Approved :: MIT License
+Classifier: Operating System :: POSIX
+Classifier: Programming Language :: Python :: 2.7
+Classifier: Programming Language :: Python :: 3.5
+Classifier: Programming Language :: Python :: 3.6
+Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3.8
+Classifier: Topic :: Software Development :: Libraries
+Classifier: Topic :: Software Development :: Localization
+Classifier: Topic :: Software Development :: Internationalization
+Classifier: Topic :: Terminals
+Requires-Dist: backports.functools-lru-cache (>=1.2.1) ; python_version < "3.2"
+
+|pypi_downloads| |codecov| |license|
+
+============
+Introduction
+============
+
+This library is mainly for CLI programs that carefully produce output for
+Terminals, or make pretend to be an emulator.
+
+**Problem Statement**: The printable length of *most* strings are equal to the
+number of cells they occupy on the screen ``1 charater : 1 cell``. However,
+there are categories of characters that *occupy 2 cells* (full-wide), and
+others that *occupy 0* cells (zero-width).
+
+**Solution**: POSIX.1-2001 and POSIX.1-2008 conforming systems provide
+`wcwidth(3)`_ and `wcswidth(3)`_ C functions of which this python module's
+functions precisely copy. *These functions return the number of cells a
+unicode string is expected to occupy.*
+
+Installation
+------------
+
+The stable version of this package is maintained on pypi, install using pip::
+
+ pip install wcwidth
+
+Example
+-------
+
+**Problem**: given the following phrase (Japanese),
+
+ >>> text = u'コンニチハ'
+
+Python **incorrectly** uses the *string length* of 5 codepoints rather than the
+*printible length* of 10 cells, so that when using the `rjust` function, the
+output length is wrong::
+
+ >>> print(len('コンニチハ'))
+ 5
+
+ >>> print('コンニチハ'.rjust(20, '_'))
+ _____コンニチハ
+
+By defining our own "rjust" function that uses wcwidth, we can correct this::
+
+ >>> def wc_rjust(text, length, padding=' '):
+ ... from wcwidth import wcswidth
+ ... return padding * max(0, (length - wcswidth(text))) + text
+ ...
+
+Our **Solution** uses wcswidth to determine the string length correctly::
+
+ >>> from wcwidth import wcswidth
+ >>> print(wcswidth('コンニチハ'))
+ 10
+
+ >>> print(wc_rjust('コンニチハ', 20, '_'))
+ __________コンニチハ
+
+
+Choosing a Version
+------------------
+
+Export an environment variable, ``UNICODE_VERSION``. This should be done by
+*terminal emulators* or those developers experimenting with authoring one of
+their own, from shell::
+
+ $ export UNICODE_VERSION=13.0
+
+If unspecified, the latest version is used. If your Terminal Emulator does not
+export this variable, you can use the `jquast/ucs-detect`_ utility to
+automatically detect and export it to your shell.
+
+wcwidth, wcswidth
+-----------------
+Use function ``wcwidth()`` to determine the length of a *single unicode
+character*, and ``wcswidth()`` to determine the length of many, a *string
+of unicode characters*.
+
+Briefly, return values of function ``wcwidth()`` are:
+
+``-1``
+ Indeterminate (not printable).
+
+``0``
+ Does not advance the cursor, such as NULL or Combining.
+
+``2``
+ Characters of category East Asian Wide (W) or East Asian
+ Full-width (F) which are displayed using two terminal cells.
+
+``1``
+ All others.
+
+Function ``wcswidth()`` simply returns the sum of all values for each character
+along a string, or ``-1`` when it occurs anywhere along a string.
+
+Full API Documentation at http://wcwidth.readthedocs.org
+
+==========
+Developing
+==========
+
+Install wcwidth in editable mode::
+
+ pip install -e.
+
+Execute unit tests using tox_::
+
+ tox
+
+Regenerate python code tables from latest Unicode Specification data files::
+
+ tox -eupdate
+
+Supplementary tools for browsing and testing terminals for wide unicode
+characters are found in the `bin/`_ of this project's source code. Just ensure
+to first ``pip install -erequirements-develop.txt`` from this projects main
+folder. For example, an interactive browser for testing::
+
+ ./bin/wcwidth-browser.py
+
+Uses
+----
+
+This library is used in:
+
+- `jquast/blessed`_: a thin, practical wrapper around terminal capabilities in
+ Python.
+
+- `jonathanslenders/python-prompt-toolkit`_: a Library for building powerful
+ interactive command lines in Python.
+
+- `dbcli/pgcli`_: Postgres CLI with autocompletion and syntax highlighting.
+
+- `thomasballinger/curtsies`_: a Curses-like terminal wrapper with a display
+ based on compositing 2d arrays of text.
+
+- `selectel/pyte`_: Simple VTXXX-compatible linux terminal emulator.
+
+- `astanin/python-tabulate`_: Pretty-print tabular data in Python, a library
+ and a command-line utility.
+
+- `LuminosoInsight/python-ftfy`_: Fixes mojibake and other glitches in Unicode
+ text.
+
+- `nbedos/termtosvg`_: Terminal recorder that renders sessions as SVG
+ animations.
+
+- `peterbrittain/asciimatics`_: Package to help people create full-screen text
+ UIs.
+
+Other Languages
+---------------
+
+- `timoxley/wcwidth`_: JavaScript
+- `janlelis/unicode-display_width`_: Ruby
+- `alecrabbit/php-wcwidth`_: PHP
+- `Text::CharWidth`_: Perl
+- `bluebear94/Terminal-WCWidth`: Perl 6
+- `mattn/go-runewidth`_: Go
+- `emugel/wcwidth`_: Haxe
+- `aperezdc/lua-wcwidth`: Lua
+- `joachimschmidt557/zig-wcwidth`: Zig
+- `fumiyas/wcwidth-cjk`: `LD_PRELOAD` override
+- `joshuarubin/wcwidth9`: Unicode version 9 in C
+
+History
+-------
+
+0.2.0 *2020-06-01*
+ * **Enhancement**: Unicode version may be selected by exporting the
+ Environment variable ``UNICODE_VERSION``, such as ``13.0``, or ``6.3.0``.
+ See the `jquast/ucs-detect`_ CLI utility for automatic detection.
+ * **Enhancement**:
+ API Documentation is published to readthedocs.org.
+ * **Updated** tables for *all* Unicode Specifications with files
+ published in a programmatically consumable format, versions 4.1.0
+ through 13.0
+ that are published
+ , versions
+
+0.1.9 *2020-03-22*
+ * **Performance** optimization by `Avram Lubkin`_, `PR #35`_.
+ * **Updated** tables to Unicode Specification 13.0.0.
+
+0.1.8 *2020-01-01*
+ * **Updated** tables to Unicode Specification 12.0.0. (`PR #30`_).
+
+0.1.7 *2016-07-01*
+ * **Updated** tables to Unicode Specification 9.0.0. (`PR #18`_).
+
+0.1.6 *2016-01-08 Production/Stable*
+ * ``LICENSE`` file now included with distribution.
+
+0.1.5 *2015-09-13 Alpha*
+ * **Bugfix**:
+ Resolution of "combining_ character width" issue, most especially
+ those that previously returned -1 now often (correctly) return 0.
+ resolved by `Philip Craig`_ via `PR #11`_.
+ * **Deprecated**:
+ The module path ``wcwidth.table_comb`` is no longer available,
+ it has been superseded by module path ``wcwidth.table_zero``.
+
+0.1.4 *2014-11-20 Pre-Alpha*
+ * **Feature**: ``wcswidth()`` now determines printable length
+ for (most) combining_ characters. The developer's tool
+ `bin/wcwidth-browser.py`_ is improved to display combining_
+ characters when provided the ``--combining`` option
+ (`Thomas Ballinger`_ and `Leta Montopoli`_ `PR #5`_).
+ * **Feature**: added static analysis (prospector_) to testing
+ framework.
+
+0.1.3 *2014-10-29 Pre-Alpha*
+ * **Bugfix**: 2nd parameter of wcswidth was not honored.
+ (`Thomas Ballinger`_, `PR #4`_).
+
+0.1.2 *2014-10-28 Pre-Alpha*
+ * **Updated** tables to Unicode Specification 7.0.0.
+ (`Thomas Ballinger`_, `PR #3`_).
+
+0.1.1 *2014-05-14 Pre-Alpha*
+ * Initial release to pypi, Based on Unicode Specification 6.3.0
+
+This code was originally derived directly from C code of the same name,
+whose latest version is available at
+http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c::
+
+ * Markus Kuhn -- 2007-05-26 (Unicode 5.0)
+ *
+ * Permission to use, copy, modify, and distribute this software
+ * for any purpose and without fee is hereby granted. The author
+ * disclaims all warranties with regard to this software.
+
+.. _`tox`: https://testrun.org/tox/latest/install.html
+.. _`prospector`: https://github.com/landscapeio/prospector
+.. _`combining`: https://en.wikipedia.org/wiki/Combining_character
+.. _`bin/`: https://github.com/jquast/wcwidth/tree/master/bin
+.. _`bin/wcwidth-browser.py`: https://github.com/jquast/wcwidth/tree/master/bin/wcwidth-browser.py
+.. _`Thomas Ballinger`: https://github.com/thomasballinger
+.. _`Leta Montopoli`: https://github.com/lmontopo
+.. _`Philip Craig`: https://github.com/philipc
+.. _`PR #3`: https://github.com/jquast/wcwidth/pull/3
+.. _`PR #4`: https://github.com/jquast/wcwidth/pull/4
+.. _`PR #5`: https://github.com/jquast/wcwidth/pull/5
+.. _`PR #11`: https://github.com/jquast/wcwidth/pull/11
+.. _`PR #18`: https://github.com/jquast/wcwidth/pull/18
+.. _`PR #30`: https://github.com/jquast/wcwidth/pull/30
+.. _`PR #35`: https://github.com/jquast/wcwidth/pull/35
+.. _`jquast/blessed`: https://github.com/jquast/blessed
+.. _`selectel/pyte`: https://github.com/selectel/pyte
+.. _`thomasballinger/curtsies`: https://github.com/thomasballinger/curtsies
+.. _`dbcli/pgcli`: https://github.com/dbcli/pgcli
+.. _`jonathanslenders/python-prompt-toolkit`: https://github.com/jonathanslenders/python-prompt-toolkit
+.. _`timoxley/wcwidth`: https://github.com/timoxley/wcwidth
+.. _`wcwidth(3)`: http://man7.org/linux/man-pages/man3/wcwidth.3.html
+.. _`wcswidth(3)`: http://man7.org/linux/man-pages/man3/wcswidth.3.html
+.. _`astanin/python-tabulate`: https://github.com/astanin/python-tabulate
+.. _`janlelis/unicode-display_width`: https://github.com/janlelis/unicode-display_width
+.. _`LuminosoInsight/python-ftfy`: https://github.com/LuminosoInsight/python-ftfy
+.. _`alecrabbit/php-wcwidth`: https://github.com/alecrabbit/php-wcwidth
+.. _`Text::CharWidth`: https://metacpan.org/pod/Text::CharWidth
+.. _`bluebear94/Terminal-WCWidth`: https://github.com/bluebear94/Terminal-WCWidth
+.. _`mattn/go-runewidth`: https://github.com/mattn/go-runewidth
+.. _`emugel/wcwidth`: https://github.com/emugel/wcwidth
+.. _`jquast/ucs-detect`: https://github.com/jquast/ucs-detect
+.. _`Avram Lubkin`: https://github.com/avylove
+.. _`nbedos/termtosvg`: https://github.com/nbedos/termtosvg
+.. _`peterbrittain/asciimatics`: https://github.com/peterbrittain/asciimatics
+.. _`aperezdc/lua-wcwidth`: https://github.com/aperezdc/lua-wcwidth
+.. _`fumiyas/wcwidth-cjk`: https://github.com/fumiyas/wcwidth-cjk
+.. |pypi_downloads| image:: https://img.shields.io/pypi/dm/wcwidth.svg?logo=pypi
+ :alt: Downloads
+ :target: https://pypi.org/project/wcwidth/
+.. |codecov| image:: https://codecov.io/gh/jquast/wcwidth/branch/master/graph/badge.svg
+ :alt: codecov.io Code Coverage
+ :target: https://codecov.io/gh/jquast/wcwidth/
+.. |license| image:: https://img.shields.io/github/license/jquast/wcwidth.svg
+ :target: https://pypi.python.org/pypi/wcwidth/
+ :alt: MIT License
+
+
diff --git a/third_party/python/wcwidth/wcwidth-0.2.5.dist-info/RECORD b/third_party/python/wcwidth/wcwidth-0.2.5.dist-info/RECORD
new file mode 100644
index 0000000000..5aa57bf71d
--- /dev/null
+++ b/third_party/python/wcwidth/wcwidth-0.2.5.dist-info/RECORD
@@ -0,0 +1,14 @@
+wcwidth/__init__.py,sha256=89fk8q2MPb4clahe_qDVIzlIa0U2872dsE4hEwxC6W8,1557
+wcwidth/table_wide.py,sha256=0yAEOGX6KIrsm5dUpzG0Jrb4s8wB6c7MC76ndXjLLj8,79422
+wcwidth/table_zero.py,sha256=w8ym8msWG1R2XhtJXRjUkT1erFIhj8d6YclXXrYoakQ,310230
+wcwidth/unicode_versions.py,sha256=pmyPU8jPCqNOjOHSVHLedKcWeW-SABSBcJ1EJemQJbo,792
+wcwidth/version.json,sha256=1zjrg0NodaudGjvcY-Eh-5JnBGKHkmVCIj2L9lN9k-U,202
+wcwidth/wcwidth.py,sha256=0bgA8U17QyvSHscy5zu1JW7rTWcEadw6HwNNbA9Phvk,14872
+wcwidth/tests/__init__.py,sha256=v_2uRwUE3hTJkuW656dLrkDiM9al7KL1j_vwGRc0RTM,42
+wcwidth/tests/test_core.py,sha256=gBaR8b3Vv2Wq1q5vGk9fAT0eW12AaEK5kuzH6fwCO-Q,3886
+wcwidth-0.2.5.dist-info/LICENSE,sha256=cLmKlaIUTrcK-AF_qMbZXOJH5AhnQ26LxknhN_4T0ho,1322
+wcwidth-0.2.5.dist-info/METADATA,sha256=K6QVxN6Eq7tMwUYeCeEgAcg0VjFqTrrUPOZL3flmEco,11257
+wcwidth-0.2.5.dist-info/WHEEL,sha256=kGT74LWyRUZrL4VgLh6_g12IeVl_9u9ZVhadrgXZUEY,110
+wcwidth-0.2.5.dist-info/top_level.txt,sha256=LLjS8SFiXXuLEcD2BNdFdGhpKWe5opHtvn7KNj9AIRI,8
+wcwidth-0.2.5.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
+wcwidth-0.2.5.dist-info/RECORD,,
diff --git a/third_party/python/wcwidth/wcwidth-0.2.5.dist-info/WHEEL b/third_party/python/wcwidth/wcwidth-0.2.5.dist-info/WHEEL
new file mode 100644
index 0000000000..ef99c6cf32
--- /dev/null
+++ b/third_party/python/wcwidth/wcwidth-0.2.5.dist-info/WHEEL
@@ -0,0 +1,6 @@
+Wheel-Version: 1.0
+Generator: bdist_wheel (0.34.2)
+Root-Is-Purelib: true
+Tag: py2-none-any
+Tag: py3-none-any
+
diff --git a/third_party/python/wcwidth/wcwidth-0.2.5.dist-info/top_level.txt b/third_party/python/wcwidth/wcwidth-0.2.5.dist-info/top_level.txt
new file mode 100644
index 0000000000..723a22ca00
--- /dev/null
+++ b/third_party/python/wcwidth/wcwidth-0.2.5.dist-info/top_level.txt
@@ -0,0 +1 @@
+wcwidth
diff --git a/third_party/python/wcwidth/wcwidth-0.2.5.dist-info/zip-safe b/third_party/python/wcwidth/wcwidth-0.2.5.dist-info/zip-safe
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/third_party/python/wcwidth/wcwidth-0.2.5.dist-info/zip-safe
@@ -0,0 +1 @@
+