pw_console: Urwid implementation

Copy of https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/25643/

- General UI Fixes
  - DONE: fix search by making a LogLine container class
  - DONE: fix log line scrolling
  - DONE: move to pw_console
  - DONE: load settings (keybinds/colorscheme) from //.pw_ide.conf file
  - DONE: log line mouse scroll/click
  - toggle vertical/horizonal split
  - split resizing (with mouse?)
  - convert help pane to overlay
  - add keybind to allow focus to leave ipython widget
    (only mouse works so far)
  - fix pylints
- Pigweed features
  - DONE: hookup ingesting logs into self.logs
  - DONE: launch ipython rpc console correctly (not hardcoded)
  - DONE: make argparse options for above
  - log level filter
  - hdlc channel filter
  - auto discovery of setting based on .elf?
  - file browser to load elf / token database?

Change-Id: I1c49df7f2381023459b7166cb8a803b4b71b9182
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/experimental/+/35020
Reviewed-by: Joe Ethier <jethier@google.com>
Commit-Queue: Anthony DiGirolamo <tonymd@google.com>
22 files changed
tree: f1d85768fc81f01d0124d34100cbe4fc24eb5156
  1. applications/
  2. build_overrides/
  3. modules/
  4. targets/
  5. third_party/
  6. tools/
  7. .gitattributes
  8. .gitignore
  9. .gitmodules
  10. .gn
  11. activate.bat
  12. banner.txt
  13. bootstrap.bat
  14. bootstrap.sh
  15. BUILD.gn
  16. BUILDCONFIG.gn
  17. navbar.md
  18. PW_PLUGINS
  19. README.md
README.md

Pigweed Experimental

This repository contains experimental pigweed modules.

Repository setup

Clone this repo with --recursive to get all required submodules.

git clone --recursive https://pigweed.googlesource.com/pigweed/experimental

This will pull the Pigweed source repository into third_party/pigweed. If you already cloned but forgot to --recursive run git submodule update --init to pull all submodules.