* Make DefaultConfig safer
Instead of having a global mutable DefaultConfig which might be
changed by anything during run/test time turn DefaultConfig into a
function which returns a fresh DefaultConfig. This is safer and more
convenient.
* Decouple vttest tests from user's config
The screen capture tests were failing on my machine because the screen
capture based vttest tests were using my personal config in
~/.config/aminal/config.toml. This had different colours and a fixed
DPI scaling factor which mean the screen captures didn't match.
The sixel tests were also failing because my login shell is a highly
customised zsh.
A static test config is now passed by the vttest tests and the shell
is set to "/bin/sh" on Linux, OSX etc to help avoid problems due to
differences between shells and shell configs.
* Added Make targets for gofmt
- `make check-gofmt` will check for files that aren't gofmt compliant
- `make gofmt` will fix any gofmt error's in Aminal's source
Vendored files are ignored.
* Add gofmt check to TravisCI checks
* Fix gofmt errors
* Windows support and enhancements.
- Added basic platform abstraction layer for Pty and Process creation;
- Added "platform" package that exposes a few interfaces and provides implementations for different platforms;
- Windows build and dev env setup instructions;
- Setup Travis and deploy git tags to GItHub releases;
- Window scaling awares of monitor's dpi;
- Resolved memory leaks on window resizing;
- Default limit for terminal's buffer length.
Co-authored-by: nikitar020 <nikitar020@mail.ru>
Co-authored-by: Max Risuhin <risuhin.max@gmail.com>
Co-authored-by: Roman Shevchenko <rrrooommmaaa@mail.ru>
* ReadMe updated with Windows support; Detecting of currently used monitor.