From fad8e1a63a809b0c63b23f6f71bf368bdae3f910 Mon Sep 17 00:00:00 2001 From: Caleb Bassi Date: Sat, 14 Apr 2018 07:32:04 -0700 Subject: WIP --- Gopkg.lock | 49 +- Gopkg.toml | 6 +- colorschemes/default.go | 32 +- colorschemes/default_dark.go | 23 - colorschemes/monokai.go | 23 - colorschemes/solarized.go | 23 - colorschemes/template.go | 52 +- main.go | 52 +- vendor/github.com/cjbassi/termui/Gopkg.lock | 37 +- vendor/github.com/cjbassi/termui/Gopkg.toml | 31 +- vendor/github.com/cjbassi/termui/block.go | 54 +- vendor/github.com/cjbassi/termui/buffer.go | 15 +- vendor/github.com/cjbassi/termui/colors.go | 49 - vendor/github.com/cjbassi/termui/events.go | 190 +-- vendor/github.com/cjbassi/termui/gauge.go | 18 +- vendor/github.com/cjbassi/termui/grid.go | 6 +- vendor/github.com/cjbassi/termui/init.go | 25 +- vendor/github.com/cjbassi/termui/linegraph.go | 39 +- vendor/github.com/cjbassi/termui/render.go | 9 +- vendor/github.com/cjbassi/termui/sparkline.go | 16 +- vendor/github.com/cjbassi/termui/styles.go | 10 + vendor/github.com/cjbassi/termui/table.go | 28 +- vendor/github.com/gdamore/encoding/.appveyor.yml | 13 + vendor/github.com/gdamore/encoding/.travis.yml | 6 + vendor/github.com/gdamore/encoding/LICENSE | 202 +++ vendor/github.com/gdamore/encoding/README.md | 19 + vendor/github.com/gdamore/encoding/ascii.go | 36 + vendor/github.com/gdamore/encoding/charmap.go | 192 +++ vendor/github.com/gdamore/encoding/doc.go | 17 + vendor/github.com/gdamore/encoding/ebcdic.go | 273 ++++ vendor/github.com/gdamore/encoding/latin1.go | 33 + vendor/github.com/gdamore/encoding/latin5.go | 35 + vendor/github.com/gdamore/encoding/utf8.go | 35 + vendor/github.com/gdamore/tcell/.appveyor.yml | 13 + vendor/github.com/gdamore/tcell/.gitignore | 1 + vendor/github.com/gdamore/tcell/.travis.yml | 19 + vendor/github.com/gdamore/tcell/AUTHORS | 4 + vendor/github.com/gdamore/tcell/LICENSE | 202 +++ vendor/github.com/gdamore/tcell/README.md | 253 +++ vendor/github.com/gdamore/tcell/attr.go | 32 + vendor/github.com/gdamore/tcell/cell.go | 186 +++ vendor/github.com/gdamore/tcell/charset_stub.go | 21 + vendor/github.com/gdamore/tcell/charset_unix.go | 49 + vendor/github.com/gdamore/tcell/charset_windows.go | 21 + vendor/github.com/gdamore/tcell/color.go | 1019 ++++++++++++ vendor/github.com/gdamore/tcell/colorfit.go | 52 + vendor/github.com/gdamore/tcell/console_stub.go | 23 + vendor/github.com/gdamore/tcell/console_win.go | 1025 +++++++++++++ vendor/github.com/gdamore/tcell/database.json | 1351 ++++++++++++++++ vendor/github.com/gdamore/tcell/doc.go | 48 + vendor/github.com/gdamore/tcell/encoding.go | 139 ++ vendor/github.com/gdamore/tcell/errors.go | 73 + vendor/github.com/gdamore/tcell/event.go | 53 + vendor/github.com/gdamore/tcell/interrupt.go | 41 + vendor/github.com/gdamore/tcell/key.go | 464 ++++++ vendor/github.com/gdamore/tcell/mouse.go | 97 ++ vendor/github.com/gdamore/tcell/resize.go | 42 + vendor/github.com/gdamore/tcell/runes.go | 111 ++ vendor/github.com/gdamore/tcell/screen.go | 212 +++ vendor/github.com/gdamore/tcell/simulation.go | 508 ++++++ vendor/github.com/gdamore/tcell/style.go | 126 ++ vendor/github.com/gdamore/tcell/tcell.png | Bin 0 -> 5336 bytes vendor/github.com/gdamore/tcell/tcell.svg | 93 ++ .../github.com/gdamore/tcell/terminfo/.gitignore | 1 + .../github.com/gdamore/tcell/terminfo/TERMINALS.md | 7 + .../gdamore/tcell/terminfo/mkdatabase.sh | 189 +++ vendor/github.com/gdamore/tcell/terminfo/mkinfo.go | 774 ++++++++++ .../github.com/gdamore/tcell/terminfo/models.txt | 59 + .../gdamore/tcell/terminfo/term_Eterm.go | 106 ++ .../gdamore/tcell/terminfo/term_Eterm_256color.go | 105 ++ .../gdamore/tcell/terminfo/term_adm3a.go | 22 + .../gdamore/tcell/terminfo/term_aixterm.go | 76 + .../github.com/gdamore/tcell/terminfo/term_ansi.go | 38 + .../gdamore/tcell/terminfo/term_aterm.go | 107 ++ .../gdamore/tcell/terminfo/term_beterm.go | 51 + .../gdamore/tcell/terminfo/term_bsdos_pc.go | 39 + .../gdamore/tcell/terminfo/term_cygwin.go | 60 + .../github.com/gdamore/tcell/terminfo/term_d200.go | 94 ++ .../github.com/gdamore/tcell/terminfo/term_d210.go | 92 ++ .../gdamore/tcell/terminfo/term_dtterm.go | 64 + .../gdamore/tcell/terminfo/term_gnome.go | 154 ++ .../gdamore/tcell/terminfo/term_gnome_256color.go | 154 ++ .../gdamore/tcell/terminfo/term_hpterm.go | 47 + .../gdamore/tcell/terminfo/term_hz1500.go | 23 + .../gdamore/tcell/terminfo/term_konsole.go | 112 ++ .../tcell/terminfo/term_konsole_256color.go | 112 ++ .../gdamore/tcell/terminfo/term_kterm.go | 64 + .../gdamore/tcell/terminfo/term_linux.go | 66 + .../gdamore/tcell/terminfo/term_pcansi.go | 36 + .../github.com/gdamore/tcell/terminfo/term_rxvt.go | 107 ++ .../gdamore/tcell/terminfo/term_rxvt_256color.go | 107 ++ .../gdamore/tcell/terminfo/term_rxvt_unicode.go | 81 + .../tcell/terminfo/term_rxvt_unicode_256color.go | 81 + .../gdamore/tcell/terminfo/term_screen.go | 64 + .../gdamore/tcell/terminfo/term_screen_256color.go | 64 + .../github.com/gdamore/tcell/terminfo/term_st.go | 155 ++ .../gdamore/tcell/terminfo/term_st_256color.go | 155 ++ .../gdamore/tcell/terminfo/term_st_meta.go | 155 ++ .../tcell/terminfo/term_st_meta_256color.go | 155 ++ .../tcell/terminfo/term_st_meta_truecolor.go | 158 ++ .../gdamore/tcell/terminfo/term_st_truecolor.go | 158 ++ .../github.com/gdamore/tcell/terminfo/term_sun.go | 44 + .../gdamore/tcell/terminfo/term_sun_color.go | 48 + .../gdamore/tcell/terminfo/term_tvi910.go | 36 + .../gdamore/tcell/terminfo/term_tvi912.go | 35 + .../gdamore/tcell/terminfo/term_tvi921.go | 31 + .../gdamore/tcell/terminfo/term_tvi925.go | 40 + .../gdamore/tcell/terminfo/term_tvi950.go | 43 + .../gdamore/tcell/terminfo/term_tvi970.go | 37 + .../gdamore/tcell/terminfo/term_vt100.go | 45 + .../gdamore/tcell/terminfo/term_vt102.go | 44 + .../gdamore/tcell/terminfo/term_vt220.go | 55 + .../gdamore/tcell/terminfo/term_vt320.go | 60 + .../gdamore/tcell/terminfo/term_vt400.go | 43 + .../gdamore/tcell/terminfo/term_vt420.go | 50 + .../github.com/gdamore/tcell/terminfo/term_vt52.go | 26 + .../github.com/gdamore/tcell/terminfo/term_wy50.go | 56 + .../github.com/gdamore/tcell/terminfo/term_wy60.go | 60 + .../gdamore/tcell/terminfo/term_wy99_ansi.go | 58 + .../gdamore/tcell/terminfo/term_wy99a_ansi.go | 58 + .../github.com/gdamore/tcell/terminfo/term_xfce.go | 153 ++ .../gdamore/tcell/terminfo/term_xnuppc.go | 31 + .../gdamore/tcell/terminfo/term_xterm.go | 154 ++ .../gdamore/tcell/terminfo/term_xterm_256color.go | 153 ++ .../gdamore/tcell/terminfo/term_xterm_truecolor.go | 155 ++ .../github.com/gdamore/tcell/terminfo/terminfo.go | 837 ++++++++++ vendor/github.com/gdamore/tcell/tscreen.go | 1388 +++++++++++++++++ vendor/github.com/gdamore/tcell/tscreen_bsd.go | 119 ++ vendor/github.com/gdamore/tcell/tscreen_darwin.go | 140 ++ vendor/github.com/gdamore/tcell/tscreen_linux.go | 129 ++ vendor/github.com/gdamore/tcell/tscreen_posix.go | 206 +++ vendor/github.com/gdamore/tcell/tscreen_stub.go | 32 + vendor/github.com/gdamore/tcell/tscreen_windows.go | 40 + .../github.com/lucasb-eyer/go-colorful/.gitignore | 28 + .../github.com/lucasb-eyer/go-colorful/.travis.yml | 8 + vendor/github.com/lucasb-eyer/go-colorful/LICENSE | 7 + .../github.com/lucasb-eyer/go-colorful/README.md | 479 ++++++ .../lucasb-eyer/go-colorful/colorgens.go | 54 + .../github.com/lucasb-eyer/go-colorful/colors.go | 797 ++++++++++ .../lucasb-eyer/go-colorful/happy_palettegen.go | 26 + .../github.com/lucasb-eyer/go-colorful/hexcolor.go | 37 + .../lucasb-eyer/go-colorful/soft_palettegen.go | 185 +++ .../lucasb-eyer/go-colorful/warm_palettegen.go | 26 + vendor/github.com/nsf/termbox-go/AUTHORS | 4 - vendor/github.com/nsf/termbox-go/LICENSE | 19 - vendor/github.com/nsf/termbox-go/README.md | 38 - vendor/github.com/nsf/termbox-go/api.go | 489 ------ vendor/github.com/nsf/termbox-go/api_common.go | 187 --- vendor/github.com/nsf/termbox-go/api_windows.go | 239 --- .../github.com/nsf/termbox-go/collect_terminfo.py | 110 -- vendor/github.com/nsf/termbox-go/escwait.go | 11 - vendor/github.com/nsf/termbox-go/escwait_darwin.go | 9 - vendor/github.com/nsf/termbox-go/syscalls.go | 39 - .../github.com/nsf/termbox-go/syscalls_darwin.go | 41 - .../nsf/termbox-go/syscalls_darwin_amd64.go | 40 - .../nsf/termbox-go/syscalls_dragonfly.go | 39 - .../github.com/nsf/termbox-go/syscalls_freebsd.go | 39 - vendor/github.com/nsf/termbox-go/syscalls_linux.go | 33 - .../github.com/nsf/termbox-go/syscalls_netbsd.go | 39 - .../github.com/nsf/termbox-go/syscalls_openbsd.go | 39 - .../github.com/nsf/termbox-go/syscalls_windows.go | 61 - vendor/github.com/nsf/termbox-go/termbox.go | 529 ------- vendor/github.com/nsf/termbox-go/termbox_common.go | 59 - .../github.com/nsf/termbox-go/termbox_windows.go | 915 ----------- vendor/github.com/nsf/termbox-go/terminfo.go | 226 --- .../github.com/nsf/termbox-go/terminfo_builtin.go | 64 - .../github.com/shirou/gopsutil/mem/mem_freebsd.go | 2 +- vendor/golang.org/x/sys/unix/ztypes_linux_386.go | 67 + vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go | 67 + vendor/golang.org/x/sys/unix/ztypes_linux_arm.go | 67 + vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go | 67 + vendor/golang.org/x/sys/unix/ztypes_linux_mips.go | 67 + .../golang.org/x/sys/unix/ztypes_linux_mips64.go | 67 + .../golang.org/x/sys/unix/ztypes_linux_mips64le.go | 67 + .../golang.org/x/sys/unix/ztypes_linux_mipsle.go | 67 + vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go | 67 + .../golang.org/x/sys/unix/ztypes_linux_ppc64le.go | 67 + vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go | 67 + vendor/golang.org/x/text/AUTHORS | 3 + vendor/golang.org/x/text/CONTRIBUTORS | 3 + vendor/golang.org/x/text/LICENSE | 27 + vendor/golang.org/x/text/PATENTS | 22 + vendor/golang.org/x/text/encoding/encoding.go | 335 ++++ .../x/text/encoding/internal/identifier/gen.go | 137 ++ .../encoding/internal/identifier/identifier.go | 81 + .../x/text/encoding/internal/identifier/mib.go | 1621 ++++++++++++++++++++ vendor/golang.org/x/text/internal/gen/code.go | 369 +++++ vendor/golang.org/x/text/internal/gen/gen.go | 333 ++++ vendor/golang.org/x/text/transform/transform.go | 705 +++++++++ vendor/golang.org/x/text/unicode/cldr/base.go | 105 ++ vendor/golang.org/x/text/unicode/cldr/cldr.go | 130 ++ vendor/golang.org/x/text/unicode/cldr/collate.go | 359 +++++ vendor/golang.org/x/text/unicode/cldr/decode.go | 171 +++ vendor/golang.org/x/text/unicode/cldr/makexml.go | 400 +++++ vendor/golang.org/x/text/unicode/cldr/resolve.go | 602 ++++++++ vendor/golang.org/x/text/unicode/cldr/slice.go | 144 ++ vendor/golang.org/x/text/unicode/cldr/xml.go | 1494 ++++++++++++++++++ widgets/help.go | 3 +- widgets/temp.go | 13 +- 199 files changed, 25443 insertions(+), 3693 deletions(-) delete mode 100644 colorschemes/default_dark.go delete mode 100644 colorschemes/monokai.go delete mode 100644 colorschemes/solarized.go delete mode 100644 vendor/github.com/cjbassi/termui/colors.go create mode 100644 vendor/github.com/cjbassi/termui/styles.go create mode 100644 vendor/github.com/gdamore/encoding/.appveyor.yml create mode 100644 vendor/github.com/gdamore/encoding/.travis.yml create mode 100644 vendor/github.com/gdamore/encoding/LICENSE create mode 100644 vendor/github.com/gdamore/encoding/README.md create mode 100644 vendor/github.com/gdamore/encoding/ascii.go create mode 100644 vendor/github.com/gdamore/encoding/charmap.go create mode 100644 vendor/github.com/gdamore/encoding/doc.go create mode 100644 vendor/github.com/gdamore/encoding/ebcdic.go create mode 100644 vendor/github.com/gdamore/encoding/latin1.go create mode 100644 vendor/github.com/gdamore/encoding/latin5.go create mode 100644 vendor/github.com/gdamore/encoding/utf8.go create mode 100644 vendor/github.com/gdamore/tcell/.appveyor.yml create mode 100644 vendor/github.com/gdamore/tcell/.gitignore create mode 100644 vendor/github.com/gdamore/tcell/.travis.yml create mode 100644 vendor/github.com/gdamore/tcell/AUTHORS create mode 100644 vendor/github.com/gdamore/tcell/LICENSE create mode 100644 vendor/github.com/gdamore/tcell/README.md create mode 100644 vendor/github.com/gdamore/tcell/attr.go create mode 100644 vendor/github.com/gdamore/tcell/cell.go create mode 100644 vendor/github.com/gdamore/tcell/charset_stub.go create mode 100644 vendor/github.com/gdamore/tcell/charset_unix.go create mode 100644 vendor/github.com/gdamore/tcell/charset_windows.go create mode 100644 vendor/github.com/gdamore/tcell/color.go create mode 100644 vendor/github.com/gdamore/tcell/colorfit.go create mode 100644 vendor/github.com/gdamore/tcell/console_stub.go create mode 100644 vendor/github.com/gdamore/tcell/console_win.go create mode 100644 vendor/github.com/gdamore/tcell/database.json create mode 100644 vendor/github.com/gdamore/tcell/doc.go create mode 100644 vendor/github.com/gdamore/tcell/encoding.go create mode 100644 vendor/github.com/gdamore/tcell/errors.go create mode 100644 vendor/github.com/gdamore/tcell/event.go create mode 100644 vendor/github.com/gdamore/tcell/interrupt.go create mode 100644 vendor/github.com/gdamore/tcell/key.go create mode 100644 vendor/github.com/gdamore/tcell/mouse.go create mode 100644 vendor/github.com/gdamore/tcell/resize.go create mode 100644 vendor/github.com/gdamore/tcell/runes.go create mode 100644 vendor/github.com/gdamore/tcell/screen.go create mode 100644 vendor/github.com/gdamore/tcell/simulation.go create mode 100644 vendor/github.com/gdamore/tcell/style.go create mode 100644 vendor/github.com/gdamore/tcell/tcell.png create mode 100644 vendor/github.com/gdamore/tcell/tcell.svg create mode 100644 vendor/github.com/gdamore/tcell/terminfo/.gitignore create mode 100644 vendor/github.com/gdamore/tcell/terminfo/TERMINALS.md create mode 100755 vendor/github.com/gdamore/tcell/terminfo/mkdatabase.sh create mode 100644 vendor/github.com/gdamore/tcell/terminfo/mkinfo.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/models.txt create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_Eterm.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_Eterm_256color.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_adm3a.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_aixterm.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_ansi.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_aterm.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_beterm.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_bsdos_pc.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_cygwin.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_d200.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_d210.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_dtterm.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_gnome.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_gnome_256color.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_hpterm.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_hz1500.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_konsole.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_konsole_256color.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_kterm.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_linux.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_pcansi.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_rxvt.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_rxvt_256color.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_rxvt_unicode.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_rxvt_unicode_256color.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_screen.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_screen_256color.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_st.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_st_256color.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_st_meta.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_st_meta_256color.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_st_meta_truecolor.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_st_truecolor.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_sun.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_sun_color.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_tvi910.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_tvi912.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_tvi921.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_tvi925.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_tvi950.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_tvi970.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_vt100.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_vt102.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_vt220.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_vt320.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_vt400.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_vt420.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_vt52.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_wy50.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_wy60.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_wy99_ansi.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_wy99a_ansi.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_xfce.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_xnuppc.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_xterm.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_xterm_256color.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/term_xterm_truecolor.go create mode 100644 vendor/github.com/gdamore/tcell/terminfo/terminfo.go create mode 100644 vendor/github.com/gdamore/tcell/tscreen.go create mode 100644 vendor/github.com/gdamore/tcell/tscreen_bsd.go create mode 100644 vendor/github.com/gdamore/tcell/tscreen_darwin.go create mode 100644 vendor/github.com/gdamore/tcell/tscreen_linux.go create mode 100644 vendor/github.com/gdamore/tcell/tscreen_posix.go create mode 100644 vendor/github.com/gdamore/tcell/tscreen_stub.go create mode 100644 vendor/github.com/gdamore/tcell/tscreen_windows.go create mode 100644 vendor/github.com/lucasb-eyer/go-colorful/.gitignore create mode 100644 vendor/github.com/lucasb-eyer/go-colorful/.travis.yml create mode 100644 vendor/github.com/lucasb-eyer/go-colorful/LICENSE create mode 100644 vendor/github.com/lucasb-eyer/go-colorful/README.md create mode 100644 vendor/github.com/lucasb-eyer/go-colorful/colorgens.go create mode 100644 vendor/github.com/lucasb-eyer/go-colorful/colors.go create mode 100644 vendor/github.com/lucasb-eyer/go-colorful/happy_palettegen.go create mode 100644 vendor/github.com/lucasb-eyer/go-colorful/hexcolor.go create mode 100644 vendor/github.com/lucasb-eyer/go-colorful/soft_palettegen.go create mode 100644 vendor/github.com/lucasb-eyer/go-colorful/warm_palettegen.go delete mode 100644 vendor/github.com/nsf/termbox-go/AUTHORS delete mode 100644 vendor/github.com/nsf/termbox-go/LICENSE delete mode 100644 vendor/github.com/nsf/termbox-go/README.md delete mode 100644 vendor/github.com/nsf/termbox-go/api.go delete mode 100644 vendor/github.com/nsf/termbox-go/api_common.go delete mode 100644 vendor/github.com/nsf/termbox-go/api_windows.go delete mode 100755 vendor/github.com/nsf/termbox-go/collect_terminfo.py delete mode 100644 vendor/github.com/nsf/termbox-go/escwait.go delete mode 100644 vendor/github.com/nsf/termbox-go/escwait_darwin.go delete mode 100644 vendor/github.com/nsf/termbox-go/syscalls.go delete mode 100644 vendor/github.com/nsf/termbox-go/syscalls_darwin.go delete mode 100644 vendor/github.com/nsf/termbox-go/syscalls_darwin_amd64.go delete mode 100644 vendor/github.com/nsf/termbox-go/syscalls_dragonfly.go delete mode 100644 vendor/github.com/nsf/termbox-go/syscalls_freebsd.go delete mode 100644 vendor/github.com/nsf/termbox-go/syscalls_linux.go delete mode 100644 vendor/github.com/nsf/termbox-go/syscalls_netbsd.go delete mode 100644 vendor/github.com/nsf/termbox-go/syscalls_openbsd.go delete mode 100644 vendor/github.com/nsf/termbox-go/syscalls_windows.go delete mode 100644 vendor/github.com/nsf/termbox-go/termbox.go delete mode 100644 vendor/github.com/nsf/termbox-go/termbox_common.go delete mode 100644 vendor/github.com/nsf/termbox-go/termbox_windows.go delete mode 100644 vendor/github.com/nsf/termbox-go/terminfo.go delete mode 100644 vendor/github.com/nsf/termbox-go/terminfo_builtin.go create mode 100644 vendor/golang.org/x/text/AUTHORS create mode 100644 vendor/golang.org/x/text/CONTRIBUTORS create mode 100644 vendor/golang.org/x/text/LICENSE create mode 100644 vendor/golang.org/x/text/PATENTS create mode 100644 vendor/golang.org/x/text/encoding/encoding.go create mode 100644 vendor/golang.org/x/text/encoding/internal/identifier/gen.go create mode 100644 vendor/golang.org/x/text/encoding/internal/identifier/identifier.go create mode 100644 vendor/golang.org/x/text/encoding/internal/identifier/mib.go create mode 100644 vendor/golang.org/x/text/internal/gen/code.go create mode 100644 vendor/golang.org/x/text/internal/gen/gen.go create mode 100644 vendor/golang.org/x/text/transform/transform.go create mode 100644 vendor/golang.org/x/text/unicode/cldr/base.go create mode 100644 vendor/golang.org/x/text/unicode/cldr/cldr.go create mode 100644 vendor/golang.org/x/text/unicode/cldr/collate.go create mode 100644 vendor/golang.org/x/text/unicode/cldr/decode.go create mode 100644 vendor/golang.org/x/text/unicode/cldr/makexml.go create mode 100644 vendor/golang.org/x/text/unicode/cldr/resolve.go create mode 100644 vendor/golang.org/x/text/unicode/cldr/slice.go create mode 100644 vendor/golang.org/x/text/unicode/cldr/xml.go diff --git a/Gopkg.lock b/Gopkg.lock index 2ee7a27..d4fa8a1 100644 --- a/Gopkg.lock +++ b/Gopkg.lock @@ -14,10 +14,10 @@ revision = "ad535d0f92cd951308cdb80675e05c62c6b8b296" [[projects]] - branch = "master" + branch = "tcell-migration" name = "github.com/cjbassi/termui" packages = ["."] - revision = "39b79d4cffc860780782f8ca6cca4bbb9d38bbf2" + revision = "eb915cbb31aa154ad97467f585ef463f349437aa" [[projects]] branch = "master" @@ -25,6 +25,21 @@ packages = ["."] revision = "ee0de3bc6815ee19d4a46c7eb90f829db0e014b1" +[[projects]] + branch = "master" + name = "github.com/gdamore/encoding" + packages = ["."] + revision = "b23993cbb6353f0e6aa98d0ee318a34728f628b9" + +[[projects]] + branch = "master" + name = "github.com/gdamore/tcell" + packages = [ + ".", + "terminfo" + ] + revision = "2548ddfbd80a92e96bdde663cdb77b56d65e7dd9" + [[projects]] name = "github.com/go-ole/go-ole" packages = [ @@ -35,16 +50,16 @@ version = "v1.2.1" [[projects]] - name = "github.com/mattn/go-runewidth" + branch = "master" + name = "github.com/lucasb-eyer/go-colorful" packages = ["."] - revision = "9e777a8366cce605130a531d2cd6363d07ad7317" - version = "v0.0.2" + revision = "231272389856c976b7500c4fffcc52ddf06ff4eb" [[projects]] - branch = "master" - name = "github.com/nsf/termbox-go" + name = "github.com/mattn/go-runewidth" packages = ["."] - revision = "3e24a7b6661e09b87a9f49d693034219f81602fa" + revision = "9e777a8366cce605130a531d2cd6363d07ad7317" + version = "v0.0.2" [[projects]] branch = "master" @@ -58,7 +73,7 @@ "net", "process" ] - revision = "cd915bdc31582b0a56405ede7fa2f4ab043f851b" + revision = "a5c2888e464b14fa882c2a059e0f95716bd45cf1" [[projects]] branch = "master" @@ -73,11 +88,23 @@ "unix", "windows" ] - revision = "3b87a42e500a6dc65dae1a55d0b641295971163e" + revision = "f6f352972f061230a99fbf49d1eb8073ebdb36cb" + +[[projects]] + name = "golang.org/x/text" + packages = [ + "encoding", + "encoding/internal/identifier", + "internal/gen", + "transform", + "unicode/cldr" + ] + revision = "f21a4dfb5e38f5895301dc265a8def02365cc3d0" + version = "v0.3.0" [solve-meta] analyzer-name = "dep" analyzer-version = 1 - inputs-digest = "ec71ab41237638295a9293629386692d305ad3a4d80090ff43bba530e0f9af42" + inputs-digest = "ce0fcad6dbc5089c7684a4923ef5a59bfbadff7d0d5306a576a865a458422d15" solver-name = "gps-cdcl" solver-version = 1 diff --git a/Gopkg.toml b/Gopkg.toml index 31f540a..97f9354 100644 --- a/Gopkg.toml +++ b/Gopkg.toml @@ -1,7 +1,11 @@ [[constraint]] - name = "github.com/cjbassi/termui" + name = "github.com/gdamore/tcell" branch = "master" +[[constraint]] + name = "github.com/cjbassi/termui" + branch = "tcell-migration" + [[constraint]] name = "github.com/docopt/docopt-go" branch = "master" diff --git a/colorschemes/default.go b/colorschemes/default.go index 48db2d3..b935b07 100644 --- a/colorschemes/default.go +++ b/colorschemes/default.go @@ -1,23 +1,31 @@ package colorschemes var Default = Colorscheme{ - Fg: 7, - Bg: -1, + Default: ColorTeal, - BorderLabel: 7, - BorderLine: 6, + BorderLabel: ColorTeal, + // BorderLine: 6, + BorderLine: ColorAqua, - CPULines: []int{4, 3, 2, 1, 5, 6, 7, 8}, + // CPULines: []int{4, 3, 2, 1, 5, 6, 7, 8}, + CPULines: []int32{ColorBlue, ColorOlive, ColorGreen, ColorRed}, - MainMem: 5, - SwapMem: 11, + // MainMem: 5, + MainMem: ColorPurple, + // SwapMem: 11, + SwapMem: ColorYellow, - ProcCursor: 4, + // ProcCursor: 4, + ProcCursor: ColorBlue, - Sparkline: 4, + Sparkline: ColorBlue, + // Sparkline: 4, - DiskBar: 7, + // DiskBar: 7, + DiskBar: ColorTeal, - TempLow: 2, - TempHigh: 1, + // TempLow: 2, + TempLow: ColorGreen, + // TempHigh: 1, + TempHigh: ColorRed, } diff --git a/colorschemes/default_dark.go b/colorschemes/default_dark.go deleted file mode 100644 index 15f7137..0000000 --- a/colorschemes/default_dark.go +++ /dev/null @@ -1,23 +0,0 @@ -package colorschemes - -var DefaultDark = Colorscheme{ - Fg: 235, - Bg: -1, - - BorderLabel: 235, - BorderLine: 6, - - CPULines: []int{4, 3, 2, 1, 5, 6, 7, 8}, - - MainMem: 5, - SwapMem: 3, - - ProcCursor: 33, - - Sparkline: 4, - - DiskBar: 252, - - TempLow: 2, - TempHigh: 1, -} diff --git a/colorschemes/monokai.go b/colorschemes/monokai.go deleted file mode 100644 index b3dbc23..0000000 --- a/colorschemes/monokai.go +++ /dev/null @@ -1,23 +0,0 @@ -package colorschemes - -var Monokai = Colorscheme{ - Fg: 249, - Bg: -1, - - BorderLabel: 249, - BorderLine: 239, - - CPULines: []int{81, 70, 208, 197, 249, 141, 221, 186}, - - MainMem: 208, - SwapMem: 186, - - ProcCursor: 197, - - Sparkline: 81, - - DiskBar: 102, - - TempLow: 70, - TempHigh: 208, -} diff --git a/colorschemes/solarized.go b/colorschemes/solarized.go deleted file mode 100644 index 2ead4df..0000000 --- a/colorschemes/solarized.go +++ /dev/null @@ -1,23 +0,0 @@ -package colorschemes - -var Solarized = Colorscheme{ - Fg: 250, - Bg: -1, - - BorderLabel: 250, - BorderLine: 37, - - CPULines: []int{61, 33, 37, 64, 125, 160, 166, 136}, - - MainMem: 125, - SwapMem: 166, - - ProcCursor: 136, - - Sparkline: 33, - - DiskBar: 245, - - TempLow: 64, - TempHigh: 160, -} diff --git a/colorschemes/template.go b/colorschemes/template.go index f5a84bb..e7cd93a 100644 --- a/colorschemes/template.go +++ b/colorschemes/template.go @@ -12,36 +12,44 @@ package colorschemes in `gotop.go`. */ -// Ignore this -const ( - Bold int = 1 << (iota + 9) - Underline - Reverse -) - type Colorscheme struct { - Name string - Author string - - Fg int - Bg int + Default int32 - BorderLabel int - BorderLine int + BorderLabel int32 + BorderLine int32 // should add at least 8 here - CPULines []int + CPULines []int32 - MainMem int - SwapMem int + MainMem int32 + SwapMem int32 - ProcCursor int + ProcCursor int32 - Sparkline int + Sparkline int32 - DiskBar int + DiskBar int32 // colors the temperature number a different color if it's over a certain threshold - TempLow int - TempHigh int + TempLow int32 + TempHigh int32 } + +const ( + ColorBlack = 0x000000 + ColorMaroon = 0x800000 + ColorGreen = 0x008000 + ColorOlive = 0x808000 + ColorNavy = 0x000080 + ColorPurple = 0x800080 + ColorTeal = 0x008080 + ColorSilver = 0xC0C0C0 + ColorGray = 0x808080 + ColorRed = 0xFF0000 + ColorLime = 0x00FF00 + ColorYellow = 0xFFFF00 + ColorBlue = 0x0000FF + ColorFuchsia = 0xFF00FF + ColorAqua = 0x00FFFF + ColorWhite = 0xFFFFFF +) diff --git a/main.go b/main.go index ebc0cd3..f906312 100644 --- a/main.go +++ b/main.go @@ -13,6 +13,7 @@ import ( w "github.com/cjbassi/gotop/widgets" ui "github.com/cjbassi/termui" "github.com/docopt/docopt-go" + "github.com/gdamore/tcell" ) const VERSION = "1.2.12" @@ -89,12 +90,12 @@ func handleColorscheme(cs string) { switch cs { case "default": colorscheme = colorschemes.Default - case "solarized": - colorscheme = colorschemes.Solarized - case "monokai": - colorscheme = colorschemes.Monokai - case "default-dark": - colorscheme = colorschemes.DefaultDark + // case "solarized": + // colorscheme = colorschemes.Solarized + // case "monokai": + // colorscheme = colorschemes.Monokai + // case "default-dark": + // colorscheme = colorschemes.DefaultDark default: fmt.Fprintf(os.Stderr, "error: colorscheme not recognized\n") os.Exit(1) @@ -157,35 +158,37 @@ func keyBinds() { } func termuiColors() { - ui.Theme.Fg = ui.Color(colorscheme.Fg) - ui.Theme.Bg = ui.Color(colorscheme.Bg) - ui.Theme.LabelFg = ui.Color(colorscheme.BorderLabel) - ui.Theme.LabelBg = ui.Color(colorscheme.Bg) - ui.Theme.BorderFg = ui.Color(colorscheme.BorderLine) - ui.Theme.BorderBg = ui.Color(colorscheme.Bg) - - ui.Theme.TableCursor = ui.Color(colorscheme.ProcCursor) - ui.Theme.Sparkline = ui.Color(colorscheme.Sparkline) - ui.Theme.GaugeColor = ui.Color(colorscheme.DiskBar) + // ui.Theme.Fg = ui.Color(colorscheme.Fg) + // ui.Theme.Bg = ui.Color(colorscheme.Bg) + // ui.Theme.LabelFg = ui.Color(colorscheme.BorderLabel) + // ui.Theme.LabelBg = ui.Color(colorscheme.Bg) + // ui.Theme.BorderFg = ui.Color(colorscheme.BorderLine) + // ui.Theme.BorderBg = ui.Color(colorscheme.Bg) + + // ui.Theme.TableCursor = ui.Color(colorscheme.ProcCursor) + // ui.Theme.Sparkline = ui.Color(colorscheme.Sparkline) + // ui.Theme.GaugeColor = ui.Color(colorscheme.DiskBar) } func widgetColors() { - mem.LineColor["Main"] = ui.Color(colorscheme.MainMem) - mem.LineColor["Swap"] = ui.Color(colorscheme.SwapMem) + st := tcell.StyleDefault - LineColor := make(map[string]ui.Color) + mem.LineStyles["Main"] = st.Foreground(tcell.NewHexColor(colorscheme.MainMem)) + mem.LineStyles["Swap"] = st.Foreground(tcell.NewHexColor(colorscheme.SwapMem)) + + LineStyles := make(map[string]tcell.Style) if cpu.Count <= 8 { for i := 0; i < len(cpu.Data); i++ { - LineColor[fmt.Sprintf("CPU%d", i)] = ui.Color(colorscheme.CPULines[i]) + LineStyles[fmt.Sprintf("CPU%d", i)] = st.Foreground(tcell.NewHexColor(colorscheme.CPULines[i])) } } else { - LineColor["Average"] = ui.Color(colorscheme.CPULines[0]) + LineStyles["Average"] = st.Foreground(tcell.NewHexColor(colorscheme.CPULines[0])) } - cpu.LineColor = LineColor + cpu.LineStyles = LineStyles if !minimal { - temp.TempLow = ui.Color(colorscheme.TempLow) - temp.TempHigh = ui.Color(colorscheme.TempHigh) + temp.TempLow = st.Foreground(tcell.NewHexColor(colorscheme.TempLow)) + temp.TempHigh = st.Foreground(tcell.NewHexColor(colorscheme.TempHigh)) } } @@ -279,6 +282,7 @@ func main() { case <-zoomed: ui.Render(cpu, mem) case <-drawTick.C: + ui.Clear() ui.Render(ui.Body) } } diff --git a/vendor/github.com/cjbassi/termui/Gopkg.lock b/vendor/github.com/cjbassi/termui/Gopkg.lock index 389639a..bebb555 100644 --- a/vendor/github.com/cjbassi/termui/Gopkg.lock +++ b/vendor/github.com/cjbassi/termui/Gopkg.lock @@ -7,6 +7,27 @@ packages = ["."] revision = "ad535d0f92cd951308cdb80675e05c62c6b8b296" +[[projects]] + branch = "master" + name = "github.com/gdamore/encoding" + packages = ["."] + revision = "b23993cbb6353f0e6aa98d0ee318a34728f628b9" + +[[projects]] + branch = "master" + name = "github.com/gdamore/tcell" + packages = [ + ".", + "terminfo" + ] + revision = "2548ddfbd80a92e96bdde663cdb77b56d65e7dd9" + +[[projects]] + branch = "master" + name = "github.com/lucasb-eyer/go-colorful" + packages = ["."] + revision = "231272389856c976b7500c4fffcc52ddf06ff4eb" + [[projects]] name = "github.com/mattn/go-runewidth" packages = ["."] @@ -14,14 +35,20 @@ version = "v0.0.2" [[projects]] - branch = "master" - name = "github.com/nsf/termbox-go" - packages = ["."] - revision = "3e24a7b6661e09b87a9f49d693034219f81602fa" + name = "golang.org/x/text" + packages = [ + "encoding", + "encoding/internal/identifier", + "internal/gen", + "transform", + "unicode/cldr" + ] + revision = "f21a4dfb5e38f5895301dc265a8def02365cc3d0" + version = "v0.3.0" [solve-meta] analyzer-name = "dep" analyzer-version = 1 - inputs-digest = "f1dfdd9839e126df79e5c328aef4af3ea9ff34e5a3b26c26eb289496f4f5bf98" + inputs-digest = "19986c95e67aefa431dabee72716c57723b36fff1bc082cfa519030746b3d8d7" solver-name = "gps-cdcl" solver-version = 1 diff --git a/vendor/github.com/cjbassi/termui/Gopkg.toml b/vendor/github.com/cjbassi/termui/Gopkg.toml index 248bc27..1a2d26b 100644 --- a/vendor/github.com/cjbassi/termui/Gopkg.toml +++ b/vendor/github.com/cjbassi/termui/Gopkg.toml @@ -1,37 +1,10 @@ -# Gopkg.toml example -# -# Refer to https://github.com/golang/dep/blob/master/docs/Gopkg.toml.md -# for detailed Gopkg.toml documentation. -# -# required = ["github.com/user/thing/cmd/thing"] -# ignored = ["github.com/user/project/pkgX", "bitbucket.org/user/project/pkgA/pkgY"] -# -# [[constraint]] -# name = "github.com/user/project" -# version = "1.0.0" -# -# [[constraint]] -# name = "github.com/user/project2" -# branch = "dev" -# source = "github.com/myfork/project2" -# -# [[override]] -# name = "github.com/x/y" -# version = "2.4.0" -# -# [prune] -# non-go = false -# go-tests = true -# unused-packages = true - - [[constraint]] - branch = "master" name = "github.com/cjbassi/drawille-go" + branch = "master" [[constraint]] + name = "github.com/gdamore/tcell" branch = "master" - name = "github.com/nsf/termbox-go" [prune] go-tests = true diff --git a/vendor/github.com/cjbassi/termui/block.go b/vendor/github.com/cjbassi/termui/block.go index 4695f25..cf38310 100644 --- a/vendor/github.com/cjbassi/termui/block.go +++ b/vendor/github.com/cjbassi/termui/block.go @@ -2,33 +2,29 @@ package termui import ( "image" + + "github.com/gdamore/tcell" ) // Block is a base struct for all other upper level widgets. type Block struct { - Grid image.Rectangle - X int // largest X value in the inner square - Y int // largest Y value in the inner square - XOffset int // the X position of the widget on the terminal - YOffset int // the Y position of the widget on the terminal - Label string - BorderFg Color - BorderBg Color - LabelFg Color - LabelBg Color - Fg Color - Bg Color + Grid image.Rectangle + X int // largest X value in the inner square + Y int // largest Y value in the inner square + XOffset int // the X position of the widget on the terminal + YOffset int // the Y position of the widget on the terminal + Label string + BorderStyle tcell.Style + LabelStyle tcell.Style + Style tcell.Style } // NewBlock returns a *Block which inherits styles from the current theme. func NewBlock() *Block { return &Block{ - Fg: Theme.Fg, - Bg: Theme.Bg, - BorderFg: Theme.BorderFg, - BorderBg: Theme.BorderBg, - LabelFg: Theme.LabelFg, - LabelBg: Theme.LabelBg, + Style: tcell.StyleDefault, + BorderStyle: BorderStyle, + LabelStyle: LabelStyle, } } @@ -37,25 +33,25 @@ func (self *Block) drawBorder(buf *Buffer) { y := self.Y + 1 // draw lines - buf.Merge(NewFilledBuffer(0, 0, x, 1, Cell{HORIZONTAL_LINE, self.BorderFg, self.BorderBg})) - buf.Merge(NewFilledBuffer(0, y, x, y+1, Cell{HORIZONTAL_LINE, self.BorderFg, self.BorderBg})) - buf.Merge(NewFilledBuffer(0, 0, 1, y+1, Cell{VERTICAL_LINE, self.BorderFg, self.BorderBg})) - buf.Merge(NewFilledBuffer(x, 0, x+1, y+1, Cell{VERTICAL_LINE, self.BorderFg, self.BorderBg})) + buf.Merge(NewFilledBuffer(0, 0, x, 1, Cell{HORIZONTAL_LINE, self.BorderStyle})) + buf.Merge(NewFilledBuffer(0, y, x, y+1, Cell{HORIZONTAL_LINE, self.BorderStyle})) + buf.Merge(NewFilledBuffer(0, 0, 1, y+1, Cell{VERTICAL_LINE, self.BorderStyle})) + buf.Merge(NewFilledBuffer(x, 0, x+1, y+1, Cell{VERTICAL_LINE, self.BorderStyle})) // draw corners - buf.SetCell(0, 0, Cell{TOP_LEFT, self.BorderFg, self.BorderBg}) - buf.SetCell(x, 0, Cell{TOP_RIGHT, self.BorderFg, self.BorderBg}) - buf.SetCell(0, y, Cell{BOTTOM_LEFT, self.BorderFg, self.BorderBg}) - buf.SetCell(x, y, Cell{BOTTOM_RIGHT, self.BorderFg, self.BorderBg}) + buf.SetCell(0, 0, Cell{TOP_LEFT, self.BorderStyle}) + buf.SetCell(x, 0, Cell{TOP_RIGHT, self.BorderStyle}) + buf.SetCell(0, y, Cell{BOTTOM_LEFT, self.BorderStyle}) + buf.SetCell(x, y, Cell{BOTTOM_RIGHT, self.BorderStyle}) } func (self *Block) drawLabel(buf *Buffer) { r := MaxString(self.Label, (self.X-3)-1) - buf.SetString(3, 0, r, self.LabelFg, self.LabelBg) + buf.SetString(3, 0, r, self.LabelStyle) if self.Label == "" { return } - c := Cell{' ', self.Fg, self.Bg} + c := Cell{' ', self.Style} buf.SetCell(2, 0, c) if len(self.Label)+3 < self.X { buf.SetCell(len(self.Label)+3, 0, c) @@ -91,7 +87,7 @@ func (self *Block) GetYOffset() int { func (self *Block) Buffer() *Buffer { buf := NewBuffer() buf.SetAreaXY(self.X+2, self.Y+2) - buf.Fill(Cell{' ', ColorDefault, self.Bg}) + buf.Fill(Cell{' ', tcell.StyleDefault}) self.drawBorder(buf) self.drawLabel(buf) diff --git a/vendor/github.com/cjbassi/termui/buffer.go b/vendor/github.com/cjbassi/termui/buffer.go index 9faabaf..1488f6d 100644 --- a/vendor/github.com/cjbassi/termui/buffer.go +++ b/vendor/github.com/cjbassi/termui/buffer.go @@ -2,13 +2,14 @@ package termui import ( "image" + + "github.com/gdamore/tcell" ) // Cell is a rune with assigned Fg and Bg. type Cell struct { - Ch rune - Fg Color - Bg Color + Ch rune + Style tcell.Style } // Buffer is a renderable rectangle cell data container. @@ -18,8 +19,8 @@ type Buffer struct { } // NewCell returne a new Cell given all necessary fields. -func NewCell(ch rune, Fg, Bg Color) Cell { - return Cell{ch, Fg, Bg} +func NewCell(ch rune, Style tcell.Style) Cell { + return Cell{ch, Style} } // NewBuffer returns a new empty Buffer. @@ -45,9 +46,9 @@ func (self *Buffer) SetCell(x, y int, c Cell) { } // SetString assigns a string to a Buffer starting at (x,y). -func (self *Buffer) SetString(x, y int, s string, fg, bg Color) { +func (self *Buffer) SetString(x, y int, s string, Style tcell.Style) { for i, char := range s { - self.SetCell(x+i, y, Cell{char, fg, bg}) + self.SetCell(x+i, y, Cell{char, Style}) } } diff --git a/vendor/github.com/cjbassi/termui/colors.go b/vendor/github.com/cjbassi/termui/colors.go deleted file mode 100644 index 3af2469..0000000 --- a/vendor/github.com/cjbassi/termui/colors.go +++ /dev/null @@ -1,49 +0,0 @@ -package termui - -// Color is an integer in the range -1 to 255. -type Color int - -// ColorDefault = clear -const ColorDefault = -1 - -// Copied from termbox. Attributes that can be bitwise OR'ed with a color. -const ( - AttrBold Color = 1 << (iota + 9) - AttrUnderline - AttrReverse -) - -// Theme is assigned to the current theme. -var Theme = DefaultTheme - -// DefaultTheme implements a generic set of colors to use by default. -var DefaultTheme = Colorscheme{ - Fg: 7, - Bg: -1, - - LabelFg: 7, - LabelBg: -1, - BorderFg: 6, - BorderBg: -1, - - Sparkline: 4, - LineGraph: 0, - TableCursor: 4, - GaugeColor: 7, -} - -// A Colorscheme represents the current look-and-feel of the dashboard. -type Colorscheme struct { - Fg Color - Bg Color - - LabelFg Color - LabelBg Color - BorderFg Color - BorderBg Color - - Sparkline Color - LineGraph Color - TableCursor Color - GaugeColor Color -} diff --git a/vendor/github.com/cjbassi/termui/events.go b/vendor/github.com/cjbassi/termui/events.go index 3bc5459..6f128f3 100644 --- a/vendor/github.com/cjbassi/termui/events.go +++ b/vendor/github.com/cjbassi/termui/events.go @@ -1,9 +1,9 @@ package termui import ( - "strconv" + // "strconv" - tb "github.com/nsf/termbox-go" + "github.com/gdamore/tcell" ) /* @@ -27,14 +27,14 @@ var eventStream = EventStream{ make(map[string]func(Event)), "", make(chan bool, 1), - make(chan tb.Event), + make(chan tcell.Event), } type EventStream struct { eventHandlers map[string]func(Event) prevKey string // previous keypress stopLoop chan bool - eventQueue chan tb.Event // list of events from termbox + eventQueue chan tcell.Event // list of events from termbox } // Event is a copy of termbox.Event that only contains the fields we need. @@ -47,31 +47,35 @@ type Event struct { } // handleEvent calls the approriate callback function if there is one. -func handleEvent(e tb.Event) { - if e.Type == tb.EventError { - panic(e.Err) - } +func handleEvent(e tcell.Event) { + // if e.Type == tcell.EventError { + // panic(e.Err) + // } - ne := convertTermboxEvent(e) + ne := convertEvent(e) if val, ok := eventStream.eventHandlers[ne.Key]; ok { val(ne) - eventStream.prevKey = "" - } else { // check if the last 2 keys form a key combo with a handler - // if this is a keyboard event and the previous event was unhandled - if e.Type == tb.EventKey && eventStream.prevKey != "" { - combo := eventStream.prevKey + ne.Key - if val, ok := eventStream.eventHandlers[combo]; ok { - ne.Key = combo - val(ne) - eventStream.prevKey = "" - } else { - eventStream.prevKey = ne.Key - } - } else { - eventStream.prevKey = ne.Key - } } + + // if val, ok := eventStream.eventHandlers[ne.Key]; ok { + // val(ne) + // eventStream.prevKey = "" + // } else { // check if the last 2 keys form a key combo with a handler + // // if this is a keyboard event and the previous event was unhandled + // if e.Type == tcell.EventKey && eventStream.prevKey != "" { + // combo := eventStream.prevKey + ne.Key + // if val, ok := eventStream.eventHandlers[combo]; ok { + // ne.Key = combo + // val(ne) + // eventStream.prevKey = "" + // } else { + // eventStream.prevKey = ne.Key + // } + // } else { + // eventStream.prevKey = ne.Key + // } + // } } // Loop gets events from termbox and passes them off to handleEvent. @@ -79,7 +83,7 @@ func handleEvent(e tb.Event) { func Loop() { go func() { for { - eventStream.eventQueue <- tb.PollEvent() + eventStream.eventQueue <- screen.PollEvent() } }() @@ -113,90 +117,92 @@ func On(things ...interface{}) { } } -// convertTermboxKeyValue converts a termbox keyboard event to a more friendly string format. -// Combines modifiers into the string instead of having them as additional fields in an event. -func convertTermboxKeyValue(e tb.Event) string { - k := string(e.Ch) - pre := "" - mod := "" - - if e.Mod == tb.ModAlt { - mod = " 0xFFFF-12 { - k = "" - } else if e.Key > 0xFFFF-25 { - ks := []string{"", "", "", "", "", "", "", "", "", ""} - k = ks[0xFFFF-int(e.Key)-12] - } - - if e.Key <= 0x7F { - pre = ""}, - tb.KeyBackspace: {"", ""}, - tb.KeyTab: {"", ""}, - tb.KeyEnter: {"", ""}, - tb.KeyEsc: {"", ""}, - tb.KeyCtrlBackslash: {"C-", "\\"}, - tb.KeyCtrlSlash: {"C-", "/"}, - tb.KeySpace: {"", ""}, - tb.KeyCtrl8: {"C-", "8"}, - } - if sk, ok := kmap[e.Key]; ok { - pre = sk[0] - k = sk[1] - } - } - } - - if pre != "" { - k += ">" - } - - return pre + mod + k -} - -func convertTermboxMouseValue(e tb.Event) string { - switch e.Key { - case tb.MouseLeft: +// // convertEventKey converts a tcell keyboard event to a more friendly string format. +// // Combines modifiers into the string instead of having them as additional fields in an event. +// func convertEventKey(e tcell.Event) string { +// k := string(e.Ch) +// pre := "" +// mod := "" + +// if e.Mod == tcell.ModAlt { +// mod = " 0xFFFF-12 { +// k = "" +// } else if e.Key > 0xFFFF-25 { +// ks := []string{"", "", "", "", "", "", "", "", "", ""} +// k = ks[0xFFFF-int(e.Key)-12] +// } + +// if e.Key <= 0x7F { +// pre = ""}, +// tcell.KeyBackspace: {"", ""}, +// tcell.KeyTab: {"", ""}, +// tcell.KeyEnter: {"", ""}, +// tcell.KeyEsc: {"", ""}, +// tcell.KeyCtrlBackslash: {"C-", "\\"}, +// tcell.KeyCtrlSlash: {"C-", "/"}, +// tcell.KeySpace: {"", ""}, +// tcell.KeyCtrl8: {"C-", "8"}, +// } +// if sk, ok := kmap[e.Key]; ok { +// pre = sk[0] +// k = sk[1] +// } +// } +// } + +// if pre != "" { +// k += ">" +// } + +// return pre + mod + k +// } + +func convertMouseValue(e *tcell.EventMouse) string { + switch e.Buttons() { + case tcell.Button1: return "" - case tb.MouseMiddle: + case tcell.Button2: return "" - case tb.MouseRight: + case tcell.Button3: return "" - case tb.MouseWheelUp: + case tcell.WheelUp: return "" - case tb.MouseWheelDown: + case tcell.WheelDown: return "" - case tb.MouseRelease: - return "" } return "" } -// convertTermboxEvent turns a termbox event into a termui event. -func convertTermboxEvent(e tb.Event) Event { +// convertEvent turns a termbox event into a termui event. +func convertEvent(e interface{}) Event { var ne Event - switch e.Type { - case tb.EventKey: + switch e.(type) { + case *tcell.EventKey: ne = Event{ - Key: convertTermboxKeyValue(e), + // Key: convertEventKey(e.Key()), + Key: "hi", } - case tb.EventMouse: + case *tcell.EventMouse: + me := e.(*tcell.EventMouse) + x, y := me.Position() ne = Event{ - Key: convertTermboxMouseValue(e), - MouseX: e.MouseX, - MouseY: e.MouseY, + Key: convertMouseValue(me), + MouseX: x, + MouseY: y, } - case tb.EventResize: + case *tcell.EventResize: + width, height := screen.Size() ne = Event{ Key: "", - Width: e.Width, - Height: e.Height, + Width: width, + Height: height, } } diff --git a/vendor/github.com/cjbassi/termui/gauge.go b/vendor/github.com/cjbassi/termui/gauge.go index a5b3b2a..76c3206 100644 --- a/vendor/github.com/cjbassi/termui/gauge.go +++ b/vendor/github.com/cjbassi/termui/gauge.go @@ -2,21 +2,23 @@ package termui import ( "strconv" + + "github.com/gdamore/tcell" ) // Gauge is a progress bar like widget. type Gauge struct { *Block Percent int - GaugeColor Color + BarStyle tcell.Style Description string } // NewGauge return a new gauge with current theme. func NewGauge() *Gauge { return &Gauge{ - Block: NewBlock(), - GaugeColor: Theme.GaugeColor, + Block: NewBlock(), + BarStyle: tcell.StyleDefault.Foreground(tcell.ColorWhite).Reverse(true), } } @@ -28,7 +30,7 @@ func (self *Gauge) Buffer() *Buffer { width := self.Percent * self.X / 100 for y := 1; y <= self.Y; y++ { for x := 1; x <= width; x++ { - buf.SetCell(x, y, Cell{' ', self.GaugeColor, self.GaugeColor}) + buf.SetCell(x, y, Cell{' ', self.BarStyle}) } } @@ -38,13 +40,11 @@ func (self *Gauge) Buffer() *Buffer { y := (self.Y + 1) / 2 x := ((self.X - len(s)) + 1) / 2 for i, char := range s { - bg := self.Bg - fg := self.Fg + st := tcell.StyleDefault if x+i < width { - fg = self.GaugeColor - bg = AttrReverse + st = st.Reverse(true) } - buf.SetCell(1+x+i, y, Cell{char, fg, bg}) + buf.SetCell(1+x+i, y, Cell{char, st}) } return buf diff --git a/vendor/github.com/cjbassi/termui/grid.go b/vendor/github.com/cjbassi/termui/grid.go index 58b4839..5fa21f8 100644 --- a/vendor/github.com/cjbassi/termui/grid.go +++ b/vendor/github.com/cjbassi/termui/grid.go @@ -1,5 +1,9 @@ package termui +import ( + "github.com/gdamore/tcell" +) + var Body *Grid // GridBufferer introduces a Bufferer that can be manipulated by Grid. @@ -48,7 +52,7 @@ func (self *Grid) Resize() { // Buffer implements the Bufferer interface by merging each widget in Grid into one buffer. func (self *Grid) Buffer() *Buffer { - buf := NewFilledBuffer(0, 0, self.Width, self.Height, Cell{' ', ColorDefault, Theme.Bg}) + buf := NewFilledBuffer(0, 0, self.Width, self.Height, Cell{' ', tcell.StyleDefault}) for _, w := range self.Widgets { buf.MergeWithOffset(w.Buffer(), w.GetXOffset(), w.GetYOffset()) } diff --git a/vendor/github.com/cjbassi/termui/init.go b/vendor/github.com/cjbassi/termui/init.go index 764de2b..f3f2adc 100644 --- a/vendor/github.com/cjbassi/termui/init.go +++ b/vendor/github.com/cjbassi/termui/init.go @@ -1,20 +1,33 @@ package termui import ( - tb "github.com/nsf/termbox-go" + "github.com/gdamore/tcell" ) +var screen tcell.Screen + // Init initializes termui library. This function should be called before any others. // After initialization, the library must be finalized by 'Close' function. func Init() error { - if err := tb.Init(); err != nil { + var err error + + screen, err = tcell.NewScreen() + if err != nil { return err } - tb.SetInputMode(tb.InputEsc | tb.InputMouse) - tb.SetOutputMode(tb.Output256) + if err = screen.Init(); err != nil { + return err + } + screen.EnableMouse() Body = NewGrid() - Body.Width, Body.Height = tb.Size() + Body.Width, Body.Height = screen.Size() + + On("", func(e Event) { + screen.Sync() + Body.Width, Body.Height = e.Width, e.Height + Body.Resize() + }) return nil } @@ -22,5 +35,5 @@ func Init() error { // Close finalizes termui library. // It should be called after successful initialization when termui's functionality isn't required anymore. func Close() { - tb.Close() + screen.Fini() } diff --git a/vendor/github.com/cjbassi/termui/linegraph.go b/vendor/github.com/cjbassi/termui/linegraph.go index cc71e8f..9e23731 100644 --- a/vendor/github.com/cjbassi/termui/linegraph.go +++ b/vendor/github.com/cjbassi/termui/linegraph.go @@ -5,27 +5,28 @@ import ( "sort" drawille "github.com/cjbassi/drawille-go" + "github.com/gdamore/tcell" ) // LineGraph implements a line graph of data points. type LineGraph struct { *Block - Data map[string][]float64 - LineColor map[string]Color - Zoom int + Data map[string][]float64 + LineStyles map[string]tcell.Style + Zoom int - DefaultLineColor Color + DefaultLineColor tcell.Style } // NewLineGraph returns a new LineGraph with current theme. func NewLineGraph() *LineGraph { return &LineGraph{ - Block: NewBlock(), - Data: make(map[string][]float64), - LineColor: make(map[string]Color), - Zoom: 5, + Block: NewBlock(), + Data: make(map[string][]float64), + LineStyles: make(map[string]tcell.Style), + Zoom: 5, - DefaultLineColor: Theme.LineGraph, + DefaultLineColor: tcell.StyleDefault, } } @@ -36,9 +37,9 @@ func (self *LineGraph) Buffer() *Buffer { // fyi braille characters have 2x4 dots for each character c := drawille.NewCanvas() // used to keep track of the braille colors until the end when we render the braille to the buffer - colors := make([][]Color, self.X+2) - for i := range colors { - colors[i] = make([]Color, self.Y+2) + styles := make([][]tcell.Style, self.X+2) + for i := range styles { + styles[i] = make([]tcell.Style, self.Y+2) } // sort the series so that overlapping data will overlap the same way each time @@ -54,7 +55,7 @@ func (self *LineGraph) Buffer() *Buffer { for i := len(seriesList) - 1; i >= 0; i-- { seriesName := seriesList[i] seriesData := self.Data[seriesName] - seriesLineColor, ok := self.LineColor[seriesName] + seriesLineColor, ok := self.LineStyles[seriesName] if !ok { seriesLineColor = self.DefaultLineColor } @@ -71,7 +72,7 @@ func (self *LineGraph) Buffer() *Buffer { for _, p := range drawille.Line(lastX, lastY, x, y) { if p.X > 0 { c.Set(p.X, p.Y) - colors[p.X/2][p.Y/4] = seriesLineColor + styles[p.X/2][p.Y/4] = seriesLineColor } } } @@ -79,11 +80,11 @@ func (self *LineGraph) Buffer() *Buffer { } if lastY == -1 { // if this is the first point c.Set(x, y) - colors[x/2][y/4] = seriesLineColor + styles[x/2][y/4] = seriesLineColor } else { c.DrawLine(lastX, lastY, x, y) for _, p := range drawille.Line(lastX, lastY, x, y) { - colors[p.X/2][p.Y/4] = seriesLineColor + styles[p.X/2][p.Y/4] = seriesLineColor } } lastX, lastY = x, y @@ -97,7 +98,7 @@ func (self *LineGraph) Buffer() *Buffer { continue } if char != 10240 { // empty braille character - buf.SetCell(x, y, Cell{char, colors[x][y], self.Bg}) + buf.SetCell(x, y, Cell{char, styles[x][y]}) } } } @@ -107,7 +108,7 @@ func (self *LineGraph) Buffer() *Buffer { for j, seriesName := range seriesList { // sorts lines again seriesData := self.Data[seriesName] - seriesLineColor, ok := self.LineColor[seriesName] + seriesLineColor, ok := self.LineStyles[seriesName] if !ok { seriesLineColor = self.DefaultLineColor } @@ -116,7 +117,7 @@ func (self *LineGraph) Buffer() *Buffer { str := fmt.Sprintf("%s %3.0f%%", seriesName, seriesData[len(seriesData)-1]) for k, char := range str { if char != ' ' { - buf.SetCell(3+k, j+2, Cell{char, seriesLineColor, self.Bg}) + buf.SetCell(3+k, j+2, Cell{char, seriesLineColor}) } } diff --git a/vendor/github.com/cjbassi/termui/render.go b/vendor/github.com/cjbassi/termui/render.go index 52bcdf3..e1e1e73 100644 --- a/vendor/github.com/cjbassi/termui/render.go +++ b/vendor/github.com/cjbassi/termui/render.go @@ -2,8 +2,6 @@ package termui import ( "sync" - - tb "github.com/nsf/termbox-go" ) // Bufferer should be implemented by all renderable components. @@ -24,17 +22,16 @@ func Render(bs ...Bufferer) { // set cells in buf for p, c := range buf.CellMap { if p.In(buf.Area) { - tb.SetCell(p.X+b.GetXOffset(), p.Y+b.GetYOffset(), c.Ch, tb.Attribute(c.Fg)+1, tb.Attribute(c.Bg)+1) + screen.SetContent(p.X+b.GetXOffset(), p.Y+b.GetYOffset(), c.Ch, []rune{}, c.Style) } } }(b) } - wg.Wait() - tb.Flush() + screen.Show() } // Clear clears the screen with the default Bg color. func Clear() { - tb.Clear(tb.ColorDefault+1, tb.Attribute(Theme.Bg)+1) + screen.Clear() } diff --git a/vendor/github.com/cjbassi/termui/sparkline.go b/vendor/github.com/cjbassi/termui/sparkline.go index e9073d3..fa6bd2a 100644 --- a/vendor/github.com/cjbassi/termui/sparkline.go +++ b/vendor/github.com/cjbassi/termui/sparkline.go @@ -2,6 +2,8 @@ package termui import ( "fmt" + + "github.com/gdamore/tcell" ) var SPARKS = [8]rune{'▁', '▂', '▃', '▄', '▅', '▆', '▇', '█'} @@ -11,8 +13,8 @@ type Sparkline struct { Data []int Title1 string Title2 string - TitleColor Color - LineColor Color + TitleStyle tcell.Style + GraphStyle tcell.Style } // Sparklines is a renderable widget which groups together the given sparklines. @@ -29,8 +31,8 @@ func (self *Sparklines) Add(sl Sparkline) { // NewSparkline returns an unrenderable single sparkline that intended to be added into a Sparklines. func NewSparkline() *Sparkline { return &Sparkline{ - TitleColor: Theme.Fg, - LineColor: Theme.Sparkline, + TitleStyle: tcell.StyleDefault.Bold(true), + GraphStyle: tcell.StyleDefault.Foreground(tcell.ColorBlue), } } @@ -56,8 +58,8 @@ func (self *Sparklines) Buffer() *Buffer { title2Y := (2 + (self.Y/lc)*i) + 1 title1 := MaxString(line.Title1, self.X) title2 := MaxString(line.Title2, self.X) - buf.SetString(1, title1Y, title1, line.TitleColor|AttrBold, self.Bg) - buf.SetString(1, title2Y, title2, line.TitleColor|AttrBold, self.Bg) + buf.SetString(1, title1Y, title1, line.TitleStyle) + buf.SetString(1, title2Y, title2, line.TitleStyle) sparkY := (self.Y / lc) * (i + 1) // finds max data in current view used for relative heights @@ -91,7 +93,7 @@ func (self *Sparklines) Buffer() *Buffer { } char = SPARKS[index] } - buf.SetCell(x, sparkY, Cell{char, line.LineColor, self.Bg}) + buf.SetCell(x, sparkY, Cell{char, line.GraphStyle}) } } diff --git a/vendor/github.com/cjbassi/termui/styles.go b/vendor/github.com/cjbassi/termui/styles.go new file mode 100644 index 0000000..d77c007 --- /dev/null +++ b/vendor/github.com/cjbassi/termui/styles.go @@ -0,0 +1,10 @@ +package termui + +import ( + "github.com/gdamore/tcell" +) + +var ( + LabelStyle = tcell.StyleDefault + BorderStyle = tcell.StyleDefault.Foreground(tcell.ColorAqua) +) diff --git a/vendor/github.com/cjbassi/termui/table.go b/vendor/github.com/cjbassi/termui/table.go index 1e962a6..f639195 100644 --- a/vendor/github.com/cjbassi/termui/table.go +++ b/vendor/github.com/cjbassi/termui/table.go @@ -1,8 +1,9 @@ package termui import ( - "fmt" "strings" + + "github.com/gdamore/tcell" ) // Table tracks all the attributes of a Table instance @@ -13,7 +14,7 @@ type Table struct { ColWidths []int CellXPos []int // column position Gap int // gap between columns - Cursor Color + CursorStyle tcell.Style UniqueCol int // the column used to identify the selected item SelectedItem string // used to keep the cursor on the correct item if the data changes SelectedRow int @@ -25,7 +26,7 @@ type Table struct { func NewTable() *Table { self := &Table{ Block: NewBlock(), - Cursor: Theme.TableCursor, + CursorStyle: tcell.StyleDefault.Background(tcell.ColorBlue), SelectedRow: 0, TopRow: 0, UniqueCol: 0, @@ -66,32 +67,23 @@ func (self *Table) Buffer() *Buffer { break } h = MaxString(h, self.X-6) - buf.SetString(self.CellXPos[i], 1, h, self.Fg|AttrBold, self.Bg) + buf.SetString(self.CellXPos[i], 1, h, tcell.StyleDefault.Bold(true)) } // prints each row for rowNum := self.TopRow; rowNum < self.TopRow+self.Y-1 && rowNum < len(self.Rows); rowNum++ { - if rowNum < 0 || rowNum >= len(self.Rows) { - Error("table rows", - fmt.Sprint( - "rowNum: ", rowNum, "\n", - "self.TopRow: ", self.TopRow, "\n", - "len(self.Rows): ", len(self.Rows), "\n", - "self.Y: ", self.Y, - )) - } row := self.Rows[rowNum] y := (rowNum + 2) - self.TopRow - // prints cursor - bg := self.Bg + // prints cursor if applicable + st := tcell.StyleDefault if (self.SelectedItem == "" && rowNum == self.SelectedRow) || (self.SelectedItem != "" && self.SelectedItem == row[self.UniqueCol]) { - bg = self.Cursor + st = self.CursorStyle for _, width := range self.ColWidths { if width == 0 { break } - buf.SetString(1, y, strings.Repeat(" ", self.X), self.Fg, bg) + buf.SetString(1, y, strings.Repeat(" ", self.X), st) } self.SelectedItem = row[self.UniqueCol] self.SelectedRow = rowNum @@ -103,7 +95,7 @@ func (self *Table) Buffer() *Buffer { break } r := MaxString(row[i], self.X-6) - buf.SetString(self.CellXPos[i], y, r, self.Fg, bg) + buf.SetString(self.CellXPos[i], y, r, st) } } diff --git a/vendor/github.com/gdamore/encoding/.appveyor.yml b/vendor/github.com/gdamore/encoding/.appveyor.yml new file mode 100644 index 0000000..19a4c5d --- /dev/null +++ b/vendor/github.com/gdamore/encoding/.appveyor.yml @@ -0,0 +1,13 @@ +version: 1.0.{build} +clone_folder: c:\gopath\src\github.com\gdamore\encoding +environment: + GOPATH: c:\gopath +build_script: +- go version +- go env +- SET PATH=%LOCALAPPDATA%\atom\bin;%GOPATH%\bin;%PATH% +- go get -t ./... +- go build +- go install ./... +test_script: +- go test ./... diff --git a/vendor/github.com/gdamore/encoding/.travis.yml b/vendor/github.com/gdamore/encoding/.travis.yml new file mode 100644 index 0000000..cfc7547 --- /dev/null +++ b/vendor/github.com/gdamore/encoding/.travis.yml @@ -0,0 +1,6 @@ +language: go + +go: + - 1.3 + - 1.5 + - tip diff --git a/vendor/github.com/gdamore/encoding/LICENSE b/vendor/github.com/gdamore/encoding/LICENSE new file mode 100644 index 0000000..d645695 --- /dev/null +++ b/vendor/github.com/gdamore/encoding/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical +