hspylib-clitt 0.9.139__tar.gz → 0.9.141__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of hspylib-clitt might be problematic. Click here for more details.

Files changed (104) hide show
  1. {hspylib_clitt-0.9.139/hspylib_clitt.egg-info → hspylib_clitt-0.9.141}/PKG-INFO +17 -3
  2. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/README.md +1 -1
  3. hspylib_clitt-0.9.141/clitt/.version +1 -0
  4. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/__init__.py +2 -2
  5. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/addons/__init__.py +2 -2
  6. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/addons/appman/__init__.py +2 -2
  7. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/addons/appman/templates/__init__.py +2 -2
  8. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/addons/widman/__init__.py +2 -2
  9. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/addons/widman/widgets/__init__.py +2 -2
  10. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/__init__.py +2 -2
  11. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/exception/__init__.py +2 -2
  12. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/icons/__init__.py +2 -2
  13. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/icons/emojis/__init__.py +2 -2
  14. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/icons/font_awesome/__init__.py +2 -2
  15. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/term/__init__.py +2 -2
  16. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/tui/__init__.py +2 -2
  17. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/tui/line_input/__init__.py +2 -2
  18. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/tui/line_input/keyboard_input.py +26 -16
  19. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/tui/line_input/line_input.py +6 -1
  20. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/tui/mchoose/__init__.py +2 -2
  21. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/tui/mdashboard/__init__.py +2 -2
  22. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/tui/menu/__init__.py +2 -2
  23. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/tui/minput/__init__.py +2 -2
  24. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/tui/mselect/__init__.py +2 -2
  25. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/tui/table/__init__.py +2 -2
  26. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/utils/__init__.py +2 -2
  27. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141/hspylib_clitt.egg-info}/PKG-INFO +17 -3
  28. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/hspylib_clitt.egg-info/requires.txt +1 -0
  29. hspylib_clitt-0.9.139/clitt/.version +0 -1
  30. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/MANIFEST.in +0 -0
  31. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/__classpath__.py +0 -0
  32. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/__main__.py +0 -0
  33. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/addons/appman/appman.py +0 -0
  34. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/addons/appman/appman_enums.py +0 -0
  35. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/addons/appman/templates/build.gradle.tpl +0 -0
  36. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/addons/appman/templates/classpath.py.tpl +0 -0
  37. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/addons/appman/templates/dependencies.hspd.tpl +0 -0
  38. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/addons/appman/templates/gitignore.tpl +0 -0
  39. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/addons/appman/templates/main.py.tpl +0 -0
  40. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/addons/appman/templates/main_qt.py.tpl +0 -0
  41. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/addons/appman/templates/main_qt_view.py.tpl +0 -0
  42. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/addons/appman/templates/main_qt_view.ui.tpl +0 -0
  43. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/addons/appman/templates/run.sh.tpl +0 -0
  44. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/addons/appman/templates/test_main.py.tpl +0 -0
  45. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/addons/appman/templates/usage.txt.tpl +0 -0
  46. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/addons/appman/templates/widget.py.tpl +0 -0
  47. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/addons/widman/widget.py +0 -0
  48. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/addons/widman/widget_entry.py +0 -0
  49. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/addons/widman/widgets/widget_free.py +0 -0
  50. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/addons/widman/widgets/widget_punch.py +0 -0
  51. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/addons/widman/widgets/widget_send_msg.py +0 -0
  52. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/addons/widman/widgets/widget_time_calc.py +0 -0
  53. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/addons/widman/widman.py +0 -0
  54. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/exception/exceptions.py +0 -0
  55. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/icons/emojis/emojis.py +0 -0
  56. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/icons/emojis/face_smiling.py +0 -0
  57. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/icons/font_awesome/app_icons.py +0 -0
  58. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/icons/font_awesome/awesome.py +0 -0
  59. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/icons/font_awesome/dashboard_icons.py +0 -0
  60. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/icons/font_awesome/form_icons.py +0 -0
  61. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/icons/font_awesome/game_icons.py +0 -0
  62. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/icons/font_awesome/nav_icons.py +0 -0
  63. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/icons/font_awesome/trickplay_icons.py +0 -0
  64. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/icons/font_awesome/widget_icons.py +0 -0
  65. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/preferences.py +0 -0
  66. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/term/commons.py +0 -0
  67. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/term/cursor.py +0 -0
  68. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/term/screen.py +0 -0
  69. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/term/terminal.py +0 -0
  70. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/tui/mchoose/mchoose.py +0 -0
  71. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/tui/mchoose/menu_choose.py +0 -0
  72. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/tui/mdashboard/dashboard_builder.py +0 -0
  73. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/tui/mdashboard/dashboard_item.py +0 -0
  74. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/tui/mdashboard/mdashboard.py +0 -0
  75. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/tui/mdashboard/menu_dashboard.py +0 -0
  76. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/tui/menu/tui_menu.py +0 -0
  77. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/tui/menu/tui_menu_action.py +0 -0
  78. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/tui/menu/tui_menu_factory.py +0 -0
  79. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/tui/menu/tui_menu_item.py +0 -0
  80. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/tui/menu/tui_menu_ui.py +0 -0
  81. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/tui/menu/tui_menu_view.py +0 -0
  82. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/tui/minput/access_type.py +0 -0
  83. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/tui/minput/field_builder.py +0 -0
  84. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/tui/minput/form_builder.py +0 -0
  85. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/tui/minput/form_field.py +0 -0
  86. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/tui/minput/input_type.py +0 -0
  87. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/tui/minput/input_validator.py +0 -0
  88. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/tui/minput/menu_input.py +0 -0
  89. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/tui/minput/minput.py +0 -0
  90. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/tui/minput/minput_utils.py +0 -0
  91. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/tui/mselect/menu_select.py +0 -0
  92. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/tui/mselect/mselect.py +0 -0
  93. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/tui/table/table_enums.py +0 -0
  94. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/tui/table/table_renderer.py +0 -0
  95. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/tui/tui_application.py +0 -0
  96. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/tui/tui_component.py +0 -0
  97. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/core/tui/tui_preferences.py +0 -0
  98. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/utils/git_utils.py +0 -0
  99. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/clitt/welcome.txt +0 -0
  100. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/hspylib_clitt.egg-info/SOURCES.txt +0 -0
  101. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/hspylib_clitt.egg-info/dependency_links.txt +0 -0
  102. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/hspylib_clitt.egg-info/top_level.txt +0 -0
  103. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/setup.cfg +0 -0
  104. {hspylib_clitt-0.9.139 → hspylib_clitt-0.9.141}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: hspylib-clitt
3
- Version: 0.9.139
3
+ Version: 0.9.141
4
4
  Summary: HsPyLib - CLI Terminal Tools
5
5
  Home-page: https://github.com/yorevs/hspylib
6
6
  Author: Hugo Saporetti Junior
@@ -29,6 +29,20 @@ Requires-Dist: hspylib
29
29
  Requires-Dist: pyperclip>=1.9.0
30
30
  Requires-Dist: urllib3>=1.26.20
31
31
  Requires-Dist: emoji>=2.12.1
32
+ Requires-Dist: rich>=13.9.4
33
+ Dynamic: author
34
+ Dynamic: author-email
35
+ Dynamic: classifier
36
+ Dynamic: description
37
+ Dynamic: description-content-type
38
+ Dynamic: home-page
39
+ Dynamic: keywords
40
+ Dynamic: license
41
+ Dynamic: platform
42
+ Dynamic: project-url
43
+ Dynamic: requires-dist
44
+ Dynamic: requires-python
45
+ Dynamic: summary
32
46
 
33
47
  <img src="https://iili.io/HYBJFA7.png" width="64" height="64" align="right" />
34
48
 
@@ -40,7 +54,7 @@ Requires-Dist: emoji>=2.12.1
40
54
  [![Gitter](https://badgen.net/badge/icon/gitter?icon=gitter&label)](https://gitter.im/hspylib/community)
41
55
  [![Donate](https://badgen.net/badge/paypal/donate/yellow)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=J5CDEFLF6M3H4)
42
56
  [![License](https://badgen.net/badge/license/MIT/gray)](LICENSE.md)
43
- [![Release](https://badgen.net/badge/release/v0.9.139/gray)](docs/CHANGELOG.md#unreleased)
57
+ [![Release](https://badgen.net/badge/release/v0.9.141/gray)](docs/CHANGELOG.md#unreleased)
44
58
  [![build-and-test](https://github.com/yorevs/hspylib/actions/workflows/build-and-test.yml/badge.svg)](https://github.com/yorevs/hspylib/actions/workflows/build-and-test.yml)
45
59
 
46
60
  HsPyLib is not just a Python library; it's a gateway to elevating your programming experience to new heights. Built on
@@ -8,7 +8,7 @@
8
8
  [![Gitter](https://badgen.net/badge/icon/gitter?icon=gitter&label)](https://gitter.im/hspylib/community)
9
9
  [![Donate](https://badgen.net/badge/paypal/donate/yellow)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=J5CDEFLF6M3H4)
10
10
  [![License](https://badgen.net/badge/license/MIT/gray)](LICENSE.md)
11
- [![Release](https://badgen.net/badge/release/v0.9.139/gray)](docs/CHANGELOG.md#unreleased)
11
+ [![Release](https://badgen.net/badge/release/v0.9.141/gray)](docs/CHANGELOG.md#unreleased)
12
12
  [![build-and-test](https://github.com/yorevs/hspylib/actions/workflows/build-and-test.yml/badge.svg)](https://github.com/yorevs/hspylib/actions/workflows/build-and-test.yml)
13
13
 
14
14
  HsPyLib is not just a Python library; it's a gateway to elevating your programming experience to new heights. Built on
@@ -0,0 +1 @@
1
+ 0.9.141
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.139
3
+ # hspylib-clitt v0.9.141
4
4
  #
5
5
  # Package: main.clitt
6
6
  """Package initialization."""
@@ -10,4 +10,4 @@ __all__ = [
10
10
  'core',
11
11
  'utils'
12
12
  ]
13
- __version__ = '0.9.139'
13
+ __version__ = '0.9.141'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.139
3
+ # hspylib-clitt v0.9.141
4
4
  #
5
5
  # Package: main.clitt.addons
6
6
  """Package initialization."""
@@ -9,4 +9,4 @@ __all__ = [
9
9
  'appman',
10
10
  'widman'
11
11
  ]
12
- __version__ = '0.9.139'
12
+ __version__ = '0.9.141'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.139
3
+ # hspylib-clitt v0.9.141
4
4
  #
5
5
  # Package: main.clitt.addons.appman
6
6
  """Package initialization."""
@@ -10,4 +10,4 @@ __all__ = [
10
10
  'appman_enums',
11
11
  'templates'
12
12
  ]
13
- __version__ = '0.9.139'
13
+ __version__ = '0.9.141'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.139
3
+ # hspylib-clitt v0.9.141
4
4
  #
5
5
  # Package: main.clitt.addons.appman.templates
6
6
  """Package initialization."""
@@ -8,4 +8,4 @@
8
8
  __all__ = [
9
9
 
10
10
  ]
11
- __version__ = '0.9.139'
11
+ __version__ = '0.9.141'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.139
3
+ # hspylib-clitt v0.9.141
4
4
  #
5
5
  # Package: main.clitt.addons.widman
6
6
  """Package initialization."""
@@ -11,4 +11,4 @@ __all__ = [
11
11
  'widgets',
12
12
  'widman'
13
13
  ]
14
- __version__ = '0.9.139'
14
+ __version__ = '0.9.141'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.139
3
+ # hspylib-clitt v0.9.141
4
4
  #
5
5
  # Package: main.clitt.addons.widman.widgets
6
6
  """Package initialization."""
@@ -11,4 +11,4 @@ __all__ = [
11
11
  'widget_send_msg',
12
12
  'widget_time_calc'
13
13
  ]
14
- __version__ = '0.9.139'
14
+ __version__ = '0.9.141'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.139
3
+ # hspylib-clitt v0.9.141
4
4
  #
5
5
  # Package: main.clitt.core
6
6
  """Package initialization."""
@@ -12,4 +12,4 @@ __all__ = [
12
12
  'term',
13
13
  'tui'
14
14
  ]
15
- __version__ = '0.9.139'
15
+ __version__ = '0.9.141'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.139
3
+ # hspylib-clitt v0.9.141
4
4
  #
5
5
  # Package: main.clitt.core.exception
6
6
  """Package initialization."""
@@ -8,4 +8,4 @@
8
8
  __all__ = [
9
9
  'exceptions'
10
10
  ]
11
- __version__ = '0.9.139'
11
+ __version__ = '0.9.141'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.139
3
+ # hspylib-clitt v0.9.141
4
4
  #
5
5
  # Package: main.clitt.core.icons
6
6
  """Package initialization."""
@@ -9,4 +9,4 @@ __all__ = [
9
9
  'emojis',
10
10
  'font_awesome'
11
11
  ]
12
- __version__ = '0.9.139'
12
+ __version__ = '0.9.141'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.139
3
+ # hspylib-clitt v0.9.141
4
4
  #
5
5
  # Package: main.clitt.core.icons.emojis
6
6
  """Package initialization."""
@@ -9,4 +9,4 @@ __all__ = [
9
9
  'emojis',
10
10
  'face_smiling'
11
11
  ]
12
- __version__ = '0.9.139'
12
+ __version__ = '0.9.141'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.139
3
+ # hspylib-clitt v0.9.141
4
4
  #
5
5
  # Package: main.clitt.core.icons.font_awesome
6
6
  """Package initialization."""
@@ -15,4 +15,4 @@ __all__ = [
15
15
  'trickplay_icons',
16
16
  'widget_icons'
17
17
  ]
18
- __version__ = '0.9.139'
18
+ __version__ = '0.9.141'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.139
3
+ # hspylib-clitt v0.9.141
4
4
  #
5
5
  # Package: main.clitt.core.term
6
6
  """Package initialization."""
@@ -11,4 +11,4 @@ __all__ = [
11
11
  'screen',
12
12
  'terminal'
13
13
  ]
14
- __version__ = '0.9.139'
14
+ __version__ = '0.9.141'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.139
3
+ # hspylib-clitt v0.9.141
4
4
  #
5
5
  # Package: main.clitt.core.tui
6
6
  """Package initialization."""
@@ -17,4 +17,4 @@ __all__ = [
17
17
  'tui_component',
18
18
  'tui_preferences'
19
19
  ]
20
- __version__ = '0.9.139'
20
+ __version__ = '0.9.141'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.139
3
+ # hspylib-clitt v0.9.141
4
4
  #
5
5
  # Package: main.clitt.core.tui.line_input
6
6
  """Package initialization."""
@@ -9,4 +9,4 @@ __all__ = [
9
9
  'keyboard_input',
10
10
  'line_input'
11
11
  ]
12
- __version__ = '0.9.139'
12
+ __version__ = '0.9.141'
@@ -48,6 +48,20 @@ class KeyboardInput(TUIComponent):
48
48
  # Stack containing current input reverts.
49
49
  _REDO_HISTORY: list[str] = []
50
50
 
51
+ @classmethod
52
+ def save_history_file(cls, filepath: AnyPath, overwrite: bool = False) -> None:
53
+ """Save history to the specified file. If `overwrite` is True, the file will be overwritten; otherwise, data will be appended.
54
+ :param filepath: Path to the file where history will be saved.
55
+ :param overwrite: Whether to overwrite the file if it exists. Defaults to False.
56
+ """
57
+ punctuation = set(string.punctuation + ' ')
58
+ history: list[str] = list(
59
+ filter(lambda line: line and not all(char in punctuation for char in line), cls.history())
60
+ )
61
+ with open(filepath, 'w' if overwrite else 'a') as file:
62
+ for inpt in history:
63
+ file.write(f"{inpt}" + os.linesep)
64
+
51
65
  @classmethod
52
66
  def preload_history_file(cls, filepath: AnyPath) -> int:
53
67
  """Preload the input with the provided items from the file.
@@ -87,19 +101,6 @@ class KeyboardInput(TUIComponent):
87
101
  """Return the actual input history."""
88
102
  return list(filter(lambda v: v, cls._HISTORY))
89
103
 
90
- @classmethod
91
- def save_history_file(cls, filepath: AnyPath, overwrite: bool = False) -> None:
92
- """Save history to the specified file. If `overwrite` is True, the file will be overwritten; otherwise, data will be appended.
93
- :param filepath: Path to the file where history will be saved.
94
- :param overwrite: Whether to overwrite the file if it exists. Defaults to False.
95
- """
96
- punctuation = set(string.punctuation + ' ')
97
- history: list[str] = list(
98
- filter(lambda line: line and not all(char in punctuation for char in line), cls.history())
99
- )
100
- with open(filepath, 'w' if overwrite else 'a') as file:
101
- list(map(file.write, [a + os.linesep for a in history]))
102
-
103
104
  @classmethod
104
105
  def _add_history(cls, input_text: str) -> None:
105
106
  """Add the following input to the history set.
@@ -138,6 +139,8 @@ class KeyboardInput(TUIComponent):
138
139
  prompt_color: VtColor = VtColor.NC,
139
140
  text_color: VtColor = VtColor.NC,
140
141
  navbar_enable: bool = False,
142
+ case_insensitive: bool = True,
143
+ markdown: bool = False,
141
144
  ):
142
145
  self._HISTORY[-1] = ""
143
146
  self._HIST_INDEX = max(0, len(self._HISTORY) - 1)
@@ -146,6 +149,8 @@ class KeyboardInput(TUIComponent):
146
149
  self._prompt_color: VtColor = prompt_color
147
150
  self._text_color: VtColor = text_color
148
151
  self._navbar_enable: bool = navbar_enable
152
+ self._markdown = markdown
153
+ self._case_insensitive: bool = case_insensitive
149
154
  self._offset: Position = 0, 0
150
155
  self._input_index: int = 0
151
156
  self._input_text: str = ""
@@ -185,6 +190,10 @@ class KeyboardInput(TUIComponent):
185
190
  def bindings(self) -> KeyBinding:
186
191
  return self._bindings
187
192
 
193
+ @property
194
+ def markdown(self) -> bool:
195
+ return self._markdown
196
+
188
197
  def execute(self) -> Optional[str | Keyboard]:
189
198
  keypress = self._loop(cleanup=False) or Keyboard.VK_ESC
190
199
  if keypress.isEnter():
@@ -236,7 +245,7 @@ class KeyboardInput(TUIComponent):
236
245
  self.cursor.move(self._offset[0], Direction.UP)
237
246
  self.cursor.move(self._offset[1], Direction.LEFT)
238
247
  self.cursor.erase(Direction.DOWN)
239
- self.write(self.prompt)
248
+ self.write(self.prompt, markdown=self.markdown)
240
249
  if self.text:
241
250
  self.write(self.text)
242
251
  self._render_suggestions()
@@ -332,8 +341,9 @@ class KeyboardInput(TUIComponent):
332
341
 
333
342
  def _render_suggestions(self) -> None:
334
343
  """Render the input suggestions."""
335
- edt_text: str = self.text
336
- filtered: list[str] = list(filter(lambda h: h.startswith(edt_text), self._HISTORY))
344
+ edt_text: str = self.text.lower() if self._case_insensitive else self.text
345
+ filtered: list[str] = list(map(str.lower, self._HISTORY)) if self._case_insensitive else self._HISTORY
346
+ filtered: list[str] = [s for s in filtered if s.startswith(edt_text)]
337
347
  hint: str = ''
338
348
 
339
349
  if edt_text and edt_text in filtered:
@@ -24,6 +24,8 @@ def line_input(
24
24
  prompt_color: VtColor = VtColor.NC,
25
25
  text_color: VtColor = VtColor.NC,
26
26
  navbar_enable: bool = False,
27
+ case_insensitive: bool = True,
28
+ markdown: bool = False,
27
29
  ) -> Optional[str | Keyboard]:
28
30
  """Read a string from standard input.
29
31
  :param prompt: The message to be displayed to the user.
@@ -31,6 +33,9 @@ def line_input(
31
33
  :param prompt_color: The color of the prompt text.
32
34
  :param text_color: The color of the input text.
33
35
  :param navbar_enable: Whether to display the navbar or not.
36
+ :param case_insensitive: Whether suggestions are case insensitive or not.
37
+ :param markdown: Whether to render rich markdown text.
34
38
  """
35
- ptt = KeyboardInput(prompt, placeholder, prompt_color, text_color, navbar_enable)
39
+ ptt = KeyboardInput(
40
+ prompt, placeholder, prompt_color, text_color, navbar_enable, case_insensitive, markdown)
36
41
  return ptt.execute()
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.139
3
+ # hspylib-clitt v0.9.141
4
4
  #
5
5
  # Package: main.clitt.core.tui.mchoose
6
6
  """Package initialization."""
@@ -9,4 +9,4 @@ __all__ = [
9
9
  'mchoose',
10
10
  'menu_choose'
11
11
  ]
12
- __version__ = '0.9.139'
12
+ __version__ = '0.9.141'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.139
3
+ # hspylib-clitt v0.9.141
4
4
  #
5
5
  # Package: main.clitt.core.tui.mdashboard
6
6
  """Package initialization."""
@@ -11,4 +11,4 @@ __all__ = [
11
11
  'mdashboard',
12
12
  'menu_dashboard'
13
13
  ]
14
- __version__ = '0.9.139'
14
+ __version__ = '0.9.141'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.139
3
+ # hspylib-clitt v0.9.141
4
4
  #
5
5
  # Package: main.clitt.core.tui.menu
6
6
  """Package initialization."""
@@ -13,4 +13,4 @@ __all__ = [
13
13
  'tui_menu_ui',
14
14
  'tui_menu_view'
15
15
  ]
16
- __version__ = '0.9.139'
16
+ __version__ = '0.9.141'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.139
3
+ # hspylib-clitt v0.9.141
4
4
  #
5
5
  # Package: main.clitt.core.tui.minput
6
6
  """Package initialization."""
@@ -16,4 +16,4 @@ __all__ = [
16
16
  'minput',
17
17
  'minput_utils'
18
18
  ]
19
- __version__ = '0.9.139'
19
+ __version__ = '0.9.141'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.139
3
+ # hspylib-clitt v0.9.141
4
4
  #
5
5
  # Package: main.clitt.core.tui.mselect
6
6
  """Package initialization."""
@@ -9,4 +9,4 @@ __all__ = [
9
9
  'menu_select',
10
10
  'mselect'
11
11
  ]
12
- __version__ = '0.9.139'
12
+ __version__ = '0.9.141'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.139
3
+ # hspylib-clitt v0.9.141
4
4
  #
5
5
  # Package: main.clitt.core.tui.table
6
6
  """Package initialization."""
@@ -9,4 +9,4 @@ __all__ = [
9
9
  'table_enums',
10
10
  'table_renderer'
11
11
  ]
12
- __version__ = '0.9.139'
12
+ __version__ = '0.9.141'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.139
3
+ # hspylib-clitt v0.9.141
4
4
  #
5
5
  # Package: main.clitt.utils
6
6
  """Package initialization."""
@@ -8,4 +8,4 @@
8
8
  __all__ = [
9
9
  'git_utils'
10
10
  ]
11
- __version__ = '0.9.139'
11
+ __version__ = '0.9.141'
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: hspylib-clitt
3
- Version: 0.9.139
3
+ Version: 0.9.141
4
4
  Summary: HsPyLib - CLI Terminal Tools
5
5
  Home-page: https://github.com/yorevs/hspylib
6
6
  Author: Hugo Saporetti Junior
@@ -29,6 +29,20 @@ Requires-Dist: hspylib
29
29
  Requires-Dist: pyperclip>=1.9.0
30
30
  Requires-Dist: urllib3>=1.26.20
31
31
  Requires-Dist: emoji>=2.12.1
32
+ Requires-Dist: rich>=13.9.4
33
+ Dynamic: author
34
+ Dynamic: author-email
35
+ Dynamic: classifier
36
+ Dynamic: description
37
+ Dynamic: description-content-type
38
+ Dynamic: home-page
39
+ Dynamic: keywords
40
+ Dynamic: license
41
+ Dynamic: platform
42
+ Dynamic: project-url
43
+ Dynamic: requires-dist
44
+ Dynamic: requires-python
45
+ Dynamic: summary
32
46
 
33
47
  <img src="https://iili.io/HYBJFA7.png" width="64" height="64" align="right" />
34
48
 
@@ -40,7 +54,7 @@ Requires-Dist: emoji>=2.12.1
40
54
  [![Gitter](https://badgen.net/badge/icon/gitter?icon=gitter&label)](https://gitter.im/hspylib/community)
41
55
  [![Donate](https://badgen.net/badge/paypal/donate/yellow)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=J5CDEFLF6M3H4)
42
56
  [![License](https://badgen.net/badge/license/MIT/gray)](LICENSE.md)
43
- [![Release](https://badgen.net/badge/release/v0.9.139/gray)](docs/CHANGELOG.md#unreleased)
57
+ [![Release](https://badgen.net/badge/release/v0.9.141/gray)](docs/CHANGELOG.md#unreleased)
44
58
  [![build-and-test](https://github.com/yorevs/hspylib/actions/workflows/build-and-test.yml/badge.svg)](https://github.com/yorevs/hspylib/actions/workflows/build-and-test.yml)
45
59
 
46
60
  HsPyLib is not just a Python library; it's a gateway to elevating your programming experience to new heights. Built on
@@ -2,3 +2,4 @@ hspylib
2
2
  pyperclip>=1.9.0
3
3
  urllib3>=1.26.20
4
4
  emoji>=2.12.1
5
+ rich>=13.9.4
@@ -1 +0,0 @@
1
- 0.9.139