"""
Wcwidth module.

https://github.com/jquast/wcwidth
"""
# re-export all functions & definitions, even private ones, from top-level
# module path, to allow for 'from wcwidth import _private_func'.  Of course,
# user beware that any _private functions or variables not exported by __all__
# may disappear or change signature at any future version.

# local
from .wcwidth import ZERO_WIDTH  # noqa
from .wcwidth import (WIDE_EASTASIAN,
                      AMBIGUOUS_EASTASIAN,
                      VS16_NARROW_TO_WIDE,
                      clip,
                      ljust,
                      rjust,
                      width,
                      center,
                      wcwidth,
                      wcswidth,
                      list_versions,
                      iter_sequences,
                      strip_sequences,
                      _wcmatch_version,
                      _wcversion_value)
from .bisearch import bisearch as _bisearch
from .grapheme import iter_graphemes  # noqa
from .textwrap import SequenceTextWrapper, wrap

# The __all__ attribute defines the items exported from statement,
# 'from wcwidth import *', but also to say, "This is the public API".
__all__ = ('wcwidth', 'wcswidth', 'width', 'iter_sequences', 'iter_graphemes',
           'ljust', 'rjust', 'center', 'wrap', 'clip', 'strip_sequences',
           'list_versions')

# We also used pkg_resources to load unicode version tables from version.json,
# generated by bin/update-tables.py, but some environments are unable to
# import pkg_resources for one reason or another, yikes!
__version__ = '0.3.2'
