pw_console: Style and help text cleanup

- Add high and low contrast dark UI styles.
- Add a toggle_light_theme option that uses ptpython's style
  transformation which can change any theme into a light variant.
- Add Theme menu to toggle the above options.
- Add pygments-style-dracula and pygments-style-tomorrow.
- Set default pygments-style for python code to tomorrow-night-bright.
- Cleanup existing style classes.
- Highlight toolbars of the pane currently in focus.
- Add scrolling to help window content.
- Populate some Repl pane specific key binds in the help window.
- Allow for preable text in the help window content
- Allow F2 to trigger the ptpython repl settings. This allows users to
  change python code themes among other things.
- Discovered F3 opens ptpython history window and it works.
- Add repl startup message option to embed()
- Add additional help text option to embed()
- TODO cleanup.
- Fix mouse_handler bug in get_pane_indicator
- Parse metadata from log lines.

No-Docs-Update-Reason: Cleanup change.
Change-Id: Iee8027d60e10f270952a1c626261a95264a853b2
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/49100
Reviewed-by: Joe Ethier <jethier@google.com>
Commit-Queue: Anthony DiGirolamo <tonymd@google.com>
16 files changed
tree: 46753d1fac9b6b22d814efd89044b429823fffba
  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_tokenizer/
  88. pw_tool/
  89. pw_toolchain/
  90. pw_trace/
  91. pw_trace_tokenized/
  92. pw_transfer/
  93. pw_unit_test/
  94. pw_varint/
  95. pw_watch/
  96. pw_web_ui/
  97. targets/
  98. third_party/
  99. .bazelignore
  100. .bazelrc
  101. .clang-format
  102. .eslintrc.json
  103. .gitattributes
  104. .gitignore
  105. .gn
  106. .prettierrc.js
  107. .pylintrc
  108. activate.bat
  109. AUTHORS
  110. bootstrap.bat
  111. bootstrap.sh
  112. BUILD
  113. BUILD.gn
  114. BUILDCONFIG.gn
  115. CMakeLists.txt
  116. LICENSE
  117. modules.gni
  118. OWNERS
  119. package.json
  120. PW_PLUGINS
  121. README.md
  122. tsconfig.json
  123. WORKSPACE
  124. yarn.lock
README.md

See our website: http://pigweed.dev