pw_console: Enable floating vertical completion menu

Use a CompletionsMenu defined in the top Float container. This lets the
menu overlay other UI panes and exist outside the python input window.

- Turn on function signature display by default.
- Clear displayed function signatures on Ctrl-C
- Disable ptpython's CompletionMenus. They can still be re-enabled
  in the F2 settings menu. If turned back on our CompletionMenu is
  hidden.

Bug: 418
No-Docs-Update-Reason: No new functionality, readability improvement.
Change-Id: Ieff37dc6547fc9b5f6a20f048514d8e0ccad47fb
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/50863
Reviewed-by: Keir Mierle <keir@google.com>
Commit-Queue: Auto-Submit <auto-submit@pigweed.google.com.iam.gserviceaccount.com>
Pigweed-Auto-Submit: Anthony DiGirolamo <tonymd@google.com>
3 files changed
tree: 726879ef20959520569d5d4cb1779a6a61bc7bfa
  1. build_overrides/
  2. docker/
  3. docs/
  4. pw_allocator/
  5. pw_analog/
  6. pw_arduino_build/
  7. pw_assert/
  8. pw_assert_basic/
  9. pw_assert_log/
  10. pw_base64/
  11. pw_bloat/
  12. pw_blob_store/
  13. pw_boot_armv7m/
  14. pw_build/
  15. pw_bytes/
  16. pw_checksum/
  17. pw_chrono/
  18. pw_chrono_embos/
  19. pw_chrono_freertos/
  20. pw_chrono_stl/
  21. pw_chrono_threadx/
  22. pw_cli/
  23. pw_console/
  24. pw_containers/
  25. pw_cpu_exception/
  26. pw_cpu_exception_cortex_m/
  27. pw_docgen/
  28. pw_doctor/
  29. pw_env_setup/
  30. pw_function/
  31. pw_fuzzer/
  32. pw_hdlc/
  33. pw_hex_dump/
  34. pw_i2c/
  35. pw_interrupt/
  36. pw_interrupt_cortex_m/
  37. pw_kvs/
  38. pw_libc/
  39. pw_log/
  40. pw_log_basic/
  41. pw_log_multisink/
  42. pw_log_null/
  43. pw_log_rpc/
  44. pw_log_sink/
  45. pw_log_tokenized/
  46. pw_malloc/
  47. pw_malloc_freelist/
  48. pw_metric/
  49. pw_minimal_cpp_stdlib/
  50. pw_module/
  51. pw_multisink/
  52. pw_package/
  53. pw_persistent_ram/
  54. pw_polyfill/
  55. pw_preprocessor/
  56. pw_presubmit/
  57. pw_protobuf/
  58. pw_protobuf_compiler/
  59. pw_random/
  60. pw_result/
  61. pw_ring_buffer/
  62. pw_router/
  63. pw_rpc/
  64. pw_snapshot/
  65. pw_span/
  66. pw_status/
  67. pw_stm32cube_build/
  68. pw_stream/
  69. pw_string/
  70. pw_sync/
  71. pw_sync_baremetal/
  72. pw_sync_embos/
  73. pw_sync_freertos/
  74. pw_sync_stl/
  75. pw_sync_threadx/
  76. pw_sys_io/
  77. pw_sys_io_arduino/
  78. pw_sys_io_baremetal_lm3s6965evb/
  79. pw_sys_io_baremetal_stm32f429/
  80. pw_sys_io_stdio/
  81. pw_target_runner/
  82. pw_thread/
  83. pw_thread_embos/
  84. pw_thread_freertos/
  85. pw_thread_stl/
  86. pw_thread_threadx/
  87. pw_tls_client/
  88. pw_tls_client_mbedtls/
  89. pw_tokenizer/
  90. pw_tool/
  91. pw_toolchain/
  92. pw_trace/
  93. pw_trace_tokenized/
  94. pw_transfer/
  95. pw_unit_test/
  96. pw_varint/
  97. pw_watch/
  98. pw_web_ui/
  99. targets/
  100. third_party/
  101. .bazelignore
  102. .bazelrc
  103. .clang-format
  104. .eslintrc.json
  105. .gitattributes
  106. .gitignore
  107. .gn
  108. .prettierrc.js
  109. .pylintrc
  110. activate.bat
  111. AUTHORS
  112. bootstrap.bat
  113. bootstrap.sh
  114. BUILD
  115. BUILD.gn
  116. BUILDCONFIG.gn
  117. CMakeLists.txt
  118. LICENSE
  119. modules.gni
  120. OWNERS
  121. package.json
  122. PW_PLUGINS
  123. README.md
  124. tsconfig.json
  125. WORKSPACE
  126. yarn.lock
README.md

See our website: http://pigweed.dev