hspylib-clitt 0.9.121__tar.gz → 0.9.122__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.121/hspylib_clitt.egg-info → hspylib_clitt-0.9.122}/PKG-INFO +2 -2
  2. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/README.md +1 -1
  3. hspylib_clitt-0.9.122/clitt/.version +1 -0
  4. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/__init__.py +2 -2
  5. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/addons/__init__.py +2 -2
  6. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/addons/appman/__init__.py +2 -2
  7. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/addons/appman/templates/__init__.py +2 -2
  8. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/addons/widman/__init__.py +2 -2
  9. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/addons/widman/widgets/__init__.py +2 -2
  10. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/__init__.py +2 -2
  11. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/exception/__init__.py +2 -2
  12. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/icons/__init__.py +2 -2
  13. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/icons/emojis/__init__.py +2 -2
  14. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/icons/font_awesome/__init__.py +2 -2
  15. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/term/__init__.py +2 -2
  16. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/tui/__init__.py +2 -2
  17. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/tui/line_input/__init__.py +2 -2
  18. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/tui/line_input/keyboard_input.py +54 -18
  19. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/tui/mchoose/__init__.py +2 -2
  20. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/tui/mdashboard/__init__.py +2 -2
  21. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/tui/menu/__init__.py +2 -2
  22. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/tui/minput/__init__.py +2 -2
  23. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/tui/mselect/__init__.py +2 -2
  24. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/tui/table/__init__.py +2 -2
  25. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/utils/__init__.py +2 -2
  26. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122/hspylib_clitt.egg-info}/PKG-INFO +2 -2
  27. hspylib_clitt-0.9.121/clitt/.version +0 -1
  28. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/MANIFEST.in +0 -0
  29. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/__classpath__.py +0 -0
  30. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/__main__.py +0 -0
  31. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/addons/appman/appman.py +0 -0
  32. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/addons/appman/appman_enums.py +0 -0
  33. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/addons/appman/templates/build.gradle.tpl +0 -0
  34. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/addons/appman/templates/classpath.py.tpl +0 -0
  35. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/addons/appman/templates/dependencies.hspd.tpl +0 -0
  36. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/addons/appman/templates/gitignore.tpl +0 -0
  37. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/addons/appman/templates/main.py.tpl +0 -0
  38. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/addons/appman/templates/main_qt.py.tpl +0 -0
  39. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/addons/appman/templates/main_qt_view.py.tpl +0 -0
  40. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/addons/appman/templates/main_qt_view.ui.tpl +0 -0
  41. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/addons/appman/templates/run.sh.tpl +0 -0
  42. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/addons/appman/templates/test_main.py.tpl +0 -0
  43. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/addons/appman/templates/usage.txt.tpl +0 -0
  44. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/addons/appman/templates/widget.py.tpl +0 -0
  45. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/addons/widman/widget.py +0 -0
  46. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/addons/widman/widget_entry.py +0 -0
  47. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/addons/widman/widgets/widget_free.py +0 -0
  48. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/addons/widman/widgets/widget_punch.py +0 -0
  49. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/addons/widman/widgets/widget_send_msg.py +0 -0
  50. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/addons/widman/widgets/widget_time_calc.py +0 -0
  51. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/addons/widman/widman.py +0 -0
  52. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/exception/exceptions.py +0 -0
  53. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/icons/emojis/emojis.py +0 -0
  54. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/icons/emojis/face_smiling.py +0 -0
  55. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/icons/font_awesome/app_icons.py +0 -0
  56. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/icons/font_awesome/awesome.py +0 -0
  57. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/icons/font_awesome/dashboard_icons.py +0 -0
  58. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/icons/font_awesome/form_icons.py +0 -0
  59. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/icons/font_awesome/game_icons.py +0 -0
  60. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/icons/font_awesome/nav_icons.py +0 -0
  61. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/icons/font_awesome/trickplay_icons.py +0 -0
  62. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/icons/font_awesome/widget_icons.py +0 -0
  63. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/preferences.py +0 -0
  64. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/term/commons.py +0 -0
  65. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/term/cursor.py +0 -0
  66. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/term/screen.py +0 -0
  67. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/term/terminal.py +0 -0
  68. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/tui/line_input/line_input.py +0 -0
  69. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/tui/mchoose/mchoose.py +0 -0
  70. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/tui/mchoose/menu_choose.py +0 -0
  71. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/tui/mdashboard/dashboard_builder.py +0 -0
  72. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/tui/mdashboard/dashboard_item.py +0 -0
  73. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/tui/mdashboard/mdashboard.py +0 -0
  74. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/tui/mdashboard/menu_dashboard.py +0 -0
  75. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/tui/menu/tui_menu.py +0 -0
  76. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/tui/menu/tui_menu_action.py +0 -0
  77. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/tui/menu/tui_menu_factory.py +0 -0
  78. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/tui/menu/tui_menu_item.py +0 -0
  79. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/tui/menu/tui_menu_ui.py +0 -0
  80. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/tui/menu/tui_menu_view.py +0 -0
  81. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/tui/minput/access_type.py +0 -0
  82. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/tui/minput/field_builder.py +0 -0
  83. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/tui/minput/form_builder.py +0 -0
  84. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/tui/minput/form_field.py +0 -0
  85. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/tui/minput/input_type.py +0 -0
  86. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/tui/minput/input_validator.py +0 -0
  87. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/tui/minput/menu_input.py +0 -0
  88. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/tui/minput/minput.py +0 -0
  89. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/tui/minput/minput_utils.py +0 -0
  90. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/tui/mselect/menu_select.py +0 -0
  91. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/tui/mselect/mselect.py +0 -0
  92. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/tui/table/table_enums.py +0 -0
  93. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/tui/table/table_renderer.py +0 -0
  94. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/tui/tui_application.py +0 -0
  95. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/tui/tui_component.py +0 -0
  96. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/core/tui/tui_preferences.py +0 -0
  97. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/utils/git_utils.py +0 -0
  98. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/clitt/welcome.txt +0 -0
  99. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/hspylib_clitt.egg-info/SOURCES.txt +0 -0
  100. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/hspylib_clitt.egg-info/dependency_links.txt +0 -0
  101. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/hspylib_clitt.egg-info/requires.txt +0 -0
  102. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/hspylib_clitt.egg-info/top_level.txt +0 -0
  103. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/setup.cfg +0 -0
  104. {hspylib_clitt-0.9.121 → hspylib_clitt-0.9.122}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hspylib-clitt
3
- Version: 0.9.121
3
+ Version: 0.9.122
4
4
  Summary: HsPyLib - CLI Terminal Tools
5
5
  Home-page: https://github.com/yorevs/hspylib
6
6
  Author: Hugo Saporetti Junior
@@ -35,7 +35,7 @@ Requires-Dist: urllib3<2.0.0
35
35
  ## Create professional CLI applications
36
36
 
37
37
  [![License](https://badgen.net/badge/license/MIT/gray)](LICENSE.md)
38
- [![Release](https://badgen.net/badge/release/v0.9.121/gray)](CHANGELOG.md#unreleased)
38
+ [![Release](https://badgen.net/badge/release/v0.9.122/gray)](CHANGELOG.md#unreleased)
39
39
  [![PyPi](https://badgen.net/badge/icon/python?icon=pypi&label)](https://pypi.org/project/hspylib-clitt)
40
40
  [![GitHub](https://badgen.net/badge/icon/github?icon=github&label)](https://github.com/yorevs/hspylib)
41
41
  [![Gitter](https://badgen.net/badge/icon/gitter?icon=gitter&label)](https://gitter.im/hspylib/community)
@@ -3,7 +3,7 @@
3
3
  ## Create professional CLI applications
4
4
 
5
5
  [![License](https://badgen.net/badge/license/MIT/gray)](LICENSE.md)
6
- [![Release](https://badgen.net/badge/release/v0.9.121/gray)](CHANGELOG.md#unreleased)
6
+ [![Release](https://badgen.net/badge/release/v0.9.122/gray)](CHANGELOG.md#unreleased)
7
7
  [![PyPi](https://badgen.net/badge/icon/python?icon=pypi&label)](https://pypi.org/project/hspylib-clitt)
8
8
  [![GitHub](https://badgen.net/badge/icon/github?icon=github&label)](https://github.com/yorevs/hspylib)
9
9
  [![Gitter](https://badgen.net/badge/icon/gitter?icon=gitter&label)](https://gitter.im/hspylib/community)
@@ -0,0 +1 @@
1
+ 0.9.122
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.121
3
+ # hspylib-clitt v0.9.122
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.121'
13
+ __version__ = '0.9.122'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.121
3
+ # hspylib-clitt v0.9.122
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.121'
12
+ __version__ = '0.9.122'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.121
3
+ # hspylib-clitt v0.9.122
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.121'
13
+ __version__ = '0.9.122'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.121
3
+ # hspylib-clitt v0.9.122
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.121'
11
+ __version__ = '0.9.122'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.121
3
+ # hspylib-clitt v0.9.122
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.121'
14
+ __version__ = '0.9.122'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.121
3
+ # hspylib-clitt v0.9.122
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.121'
14
+ __version__ = '0.9.122'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.121
3
+ # hspylib-clitt v0.9.122
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.121'
15
+ __version__ = '0.9.122'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.121
3
+ # hspylib-clitt v0.9.122
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.121'
11
+ __version__ = '0.9.122'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.121
3
+ # hspylib-clitt v0.9.122
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.121'
12
+ __version__ = '0.9.122'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.121
3
+ # hspylib-clitt v0.9.122
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.121'
12
+ __version__ = '0.9.122'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.121
3
+ # hspylib-clitt v0.9.122
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.121'
18
+ __version__ = '0.9.122'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.121
3
+ # hspylib-clitt v0.9.122
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.121'
14
+ __version__ = '0.9.122'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.121
3
+ # hspylib-clitt v0.9.122
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.121'
20
+ __version__ = '0.9.122'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.121
3
+ # hspylib-clitt v0.9.122
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.121'
12
+ __version__ = '0.9.122'
@@ -43,9 +43,9 @@ class KeyboardInput(TUIComponent):
43
43
  """Preload the input with the provided dictionary.
44
44
  :param history: The history keyboard inputs.
45
45
  """
46
- for entry in reversed(history):
46
+ for entry in history:
47
47
  cls._add_history(entry)
48
- cls._HIST_INDEX = max(0, len(cls._HISTORY) - 1)
48
+ cls._HIST_INDEX = max(0, len(cls._HISTORY))
49
49
 
50
50
  @classmethod
51
51
  def forget_history(cls) -> None:
@@ -64,12 +64,14 @@ class KeyboardInput(TUIComponent):
64
64
  """Add the following input to the history set.
65
65
  :param input_text: The input text to add to the history.
66
66
  """
67
- if input_text and input_text not in list(cls._HISTORY)[1:]:
67
+ if cls._HISTORY[-1] != '':
68
+ cls._HISTORY.append('')
69
+ if input_text:
68
70
  idx: int = max(1, len(cls._HISTORY))
69
- if input_text not in cls._HISTORY:
70
- cls._HISTORY.insert(idx - 1, input_text)
71
- else:
72
- cls._HISTORY = cls._HISTORY[1:-1] + cls._HISTORY[:1] + cls._HISTORY[-1:]
71
+ if input_text in cls._HISTORY:
72
+ idx -= 1
73
+ cls._HISTORY.remove(input_text)
74
+ cls._HISTORY.insert(idx - 1, input_text)
73
75
  cls._HIST_INDEX = idx
74
76
 
75
77
  @classmethod
@@ -99,7 +101,9 @@ class KeyboardInput(TUIComponent):
99
101
  self._navbar_enable: bool = navbar_enable
100
102
  self._input_index: int = 0
101
103
  self._input_text: str = ""
104
+ self._tab_complete: str = ""
102
105
  self._HISTORY[-1] = ""
106
+ self._HIST_INDEX = max(0, len(self._HISTORY) - 1)
103
107
 
104
108
  @property
105
109
  def length(self) -> int:
@@ -116,7 +120,7 @@ class KeyboardInput(TUIComponent):
116
120
  keypress = self._loop() or Keyboard.VK_ESC
117
121
 
118
122
  if keypress.isEnter():
119
- self._HISTORY.append('')
123
+ self._add_history(self._input_text)
120
124
  self._UNDO_HISTORY.clear()
121
125
  self._REDO_HISTORY.clear()
122
126
  elif keypress == Keyboard.VK_ESC:
@@ -150,7 +154,8 @@ class KeyboardInput(TUIComponent):
150
154
  self.cursor.restore()
151
155
  self.write(f"{self._prompt_color.placeholder}{self.title}{self._text_color.placeholder}")
152
156
  self.write(self._input_text)
153
- self._terminal.cursor.erase(Direction.DOWN)
157
+ # Write the tab complete option
158
+ self._write_hint()
154
159
  self._re_render = False
155
160
  self._set_cursor_pos()
156
161
  Terminal.set_show_cursor()
@@ -189,6 +194,9 @@ class KeyboardInput(TUIComponent):
189
194
  self._input_index = 0
190
195
  case Keyboard.VK_END:
191
196
  self._input_index = self.length
197
+ case Keyboard.VK_TAB:
198
+ self._update_input(self._input_text + self._tab_complete)
199
+ self._input_index = self.length
192
200
  case _ as key if key.val.isprintable():
193
201
  self._update_input(
194
202
  self._input_text[: self._input_index] + key.val + self._input_text[self._input_index :]
@@ -215,22 +223,50 @@ class KeyboardInput(TUIComponent):
215
223
  self._UNDO_HISTORY.append(self._input_text)
216
224
  self._HISTORY[-1] = text if text not in self._HISTORY else self._input_text
217
225
  self._input_text = text
226
+ self._HIST_INDEX = max(0, len(self._HISTORY) - 1)
218
227
  return text
219
228
 
220
229
  def _next_in_history(self) -> str:
221
230
  """Return the next input in history."""
222
231
  edt_text: str = self._HISTORY[-1]
223
- filtered: list[str] = list(filter(lambda h: h.startswith(edt_text), self._HISTORY))
224
- index = min(len(filtered) - 1, self._HIST_INDEX + 1)
225
- text = get_or_default(filtered, index, "")
226
- self._HIST_INDEX = index
227
- return text or filtered[-1]
232
+ filtered: list[str] = list(filter(lambda h: h.lower().startswith(edt_text.lower()), self._HISTORY))
233
+ if edt_text in filtered:
234
+ edt_idx = filtered.index(edt_text)
235
+ index = min(edt_idx, self._HIST_INDEX + 1)
236
+ text = get_or_default(filtered, index, None) or filtered[-1]
237
+ self._HIST_INDEX = filtered.index(text)
238
+ return text
239
+ return edt_text
228
240
 
229
241
  def _prev_in_history(self) -> str:
230
242
  """Return the previous input in history."""
231
243
  edt_text: str = self._HISTORY[-1]
232
244
  filtered: list[str] = list(filter(lambda h: h.lower().startswith(edt_text.lower()), self._HISTORY))
233
- index = max(0, min(len(filtered) - 2, self._HIST_INDEX - 1))
234
- text = get_or_default(filtered, index, "")
235
- self._HIST_INDEX = index
236
- return text or filtered[-1]
245
+ if edt_text in filtered:
246
+ edt_idx = filtered.index(edt_text) - 1
247
+ index = max(0, min(edt_idx, self._HIST_INDEX - 1))
248
+ text = get_or_default(filtered, index, None) or filtered[-1]
249
+ self._HIST_INDEX = filtered.index(text)
250
+ return text
251
+ return edt_text
252
+
253
+ def _write_hint(self) -> None:
254
+ """TODO """
255
+ edt_text: str = self._input_text
256
+ filtered: list[str] = list(filter(lambda h: h.startswith(edt_text), self._HISTORY))
257
+ hint: str = ''
258
+
259
+ if edt_text and edt_text in filtered:
260
+ edt_idx = filtered.index(edt_text) - 1
261
+ index = max(0, min(edt_idx, self._HIST_INDEX))
262
+ hint: str = get_or_default(filtered, index, '') or filtered[-1]
263
+ if hint and (hint := hint[len(edt_text):]):
264
+ self.write(f"%GRAY%{hint}%NC%")
265
+ self._terminal.cursor.erase(Direction.DOWN)
266
+ self.cursor.move(len(hint), Direction.LEFT)
267
+ else:
268
+ self._terminal.cursor.erase(Direction.DOWN)
269
+ else:
270
+ self._terminal.cursor.erase(Direction.DOWN)
271
+
272
+ self._tab_complete = hint
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.121
3
+ # hspylib-clitt v0.9.122
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.121'
12
+ __version__ = '0.9.122'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.121
3
+ # hspylib-clitt v0.9.122
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.121'
14
+ __version__ = '0.9.122'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.121
3
+ # hspylib-clitt v0.9.122
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.121'
16
+ __version__ = '0.9.122'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.121
3
+ # hspylib-clitt v0.9.122
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.121'
19
+ __version__ = '0.9.122'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.121
3
+ # hspylib-clitt v0.9.122
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.121'
12
+ __version__ = '0.9.122'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.121
3
+ # hspylib-clitt v0.9.122
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.121'
12
+ __version__ = '0.9.122'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.121
3
+ # hspylib-clitt v0.9.122
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.121'
11
+ __version__ = '0.9.122'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hspylib-clitt
3
- Version: 0.9.121
3
+ Version: 0.9.122
4
4
  Summary: HsPyLib - CLI Terminal Tools
5
5
  Home-page: https://github.com/yorevs/hspylib
6
6
  Author: Hugo Saporetti Junior
@@ -35,7 +35,7 @@ Requires-Dist: urllib3<2.0.0
35
35
  ## Create professional CLI applications
36
36
 
37
37
  [![License](https://badgen.net/badge/license/MIT/gray)](LICENSE.md)
38
- [![Release](https://badgen.net/badge/release/v0.9.121/gray)](CHANGELOG.md#unreleased)
38
+ [![Release](https://badgen.net/badge/release/v0.9.122/gray)](CHANGELOG.md#unreleased)
39
39
  [![PyPi](https://badgen.net/badge/icon/python?icon=pypi&label)](https://pypi.org/project/hspylib-clitt)
40
40
  [![GitHub](https://badgen.net/badge/icon/github?icon=github&label)](https://github.com/yorevs/hspylib)
41
41
  [![Gitter](https://badgen.net/badge/icon/gitter?icon=gitter&label)](https://gitter.im/hspylib/community)
@@ -1 +0,0 @@
1
- 0.9.121