Metadata-Version: 2.1
Name: afmt
Version: 0.0.4
Summary: ANSI escape code formatter
Home-page: https://github.com/adzierzanowski/afmt
Author: Aleksander Dzierżanowski
Author-email: a.dzierzanowski1@gmail.com
License: MIT
Description: # afmt
        
        This module provides an easy way to format text in CLI environment.
        It is designed for use in **f-strings** but regular string formatting with
        `format` method is also supported.
        
        The module takes care of stripping ANSI escape sequences from piped output
        and puts the sequences only if they're supported by the output device.
        
        # Setup 
        
        `$ pip install afmt`
        
        # Usage and examples
        
        ```python
        from afmt import Formatter
        
        f = Formatter()
        
        # You can use inline styling
        print(f'{f:bold}bold text{f:e}')
        
        # You can define specs outside of an f-string
        warning = 'bold bg(yellow) fg(black) italic'
        error = 'bold bg(red) fg(white) underline'
        print(f'{f:{warning}}Warning: you shouldn\'t do it{f:e}')
        print(f'{f:{error}}Error: you can\'t do it{f:e}')
        
        # You can define custom styles in the formatter instance
        f.add_style('important', 'b fg(red)')
        print(f'{f:important}important text{f:e}')
        
        # Or you can pass a dict of styles in the initializer 
        f = Formatter(styles={
          'important': 'bold fg(255,0,0)',
          'unimporant': 'faint'
        })
        print(f'{f:important}important text{f:e}')
        print(f'{f:unimportant}not so important text{f:e}')
        
        # Move cursor to 4th row and 6th column and print text in reverse video mode 
        print(f'{f:reverse goto(4,6)}hello, world{f:e}')
        
        # Make text bold and underlined and unset bold in the middle
        print(f'{f:bold italic}hello,{f:!bold} world{f:e}')
        ```
        
        [![asciicast](https://asciinema.org/a/271390.svg)](https://asciinema.org/a/271390)
        
        # Development status
        
        This module is in the early stage of development.
        More features are coming hopefully soon.
        
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Terminals
Classifier: Topic :: Text Processing :: General
Requires-Python: >=3.6
Description-Content-Type: text/markdown
