Fix and improve status/refresh-test

Add a missing assertion for the command mentioned in issue #289 and
extend the test to test both checkout of modified and deleted files.
Change test scripts to always wait for previous command to finish

Simplify the script execution by eliminating the `:wait` command. The
asynchronous behavior only renders the tests non-deterministic.
Add refs/default-test
draw_text_overflow: fix wrong offsets for multibyte text.

[ jf: change to use utf8_length; added test ]
Add command-line option for starting in refs view

Signed-off-by: Sven Wegener <sven.wegener@stealer.net>
Signed-off-by: Jonas Fonseca <jonas.fonseca@gmail.com>
Fix installation directory permissions

Use `install` instead of `mkdir -p`.
Improve use_scroll_status_wclear comment
Handle binary files matches reported by git-grep
Add view-split-width setting for controlling vertical splits

Orthogonal with view-split-height, the new options allows to configure
how the terminal is split between the two views, defaulting to 50%.
Requested by Ralph Amissah.

This also fixes the positioning of the cursor to be on the last column
of the active view.
Bind K and J to previous and next

This means you do not have to move your fingers away from the keyboard
(to the arrow keys) to navigate the right an left columns in split main
& diff view, and you do it in a similar (vim familiar) way for both
split windows.

Suggestion and above explaination by Ralph Amissah.
Expose settings holding the filtered command line arguments

This allows to change the filtering arguments at "runtime". For example,
the following binding allows to select a branch in the refs view for
filtering in the refs view:

	bind refs @ :set rev-args = %(ref)

Fixes #306
Add workaround for git pretty.format settings that break the log view

This overrides any pretty.format setting that contains color definitions
to use the 'medium' format. The fix adds the setting 'log-options' for
implementing the workaround. The option can be configured in `tigrc` and
works similar to `blame-options`. Finally, in order to test the feature
the semantics of `:toggle <args-option>` (note no arguments) has been
changed to simply clear the entries in the <args-option>.

Fixes #225
Add submodule tests
blame: fix invocation of diff for line tracking

The argument to `git diff` is spelled "--no-ext-diff" not
"--no-extdiff".  This allows line tracking to work instead of causing
`git diff` to spit out its usage on stderr.

Signed-off-by: John Keeping <john@keeping.me.uk>
completion: don't use _tigcomp for filenames in blame

_tigcomp() unconditionally appends a space to each completion result,
which breaks completion when trying to complete a path with a directory
component by forcing the user to go back one character after each
directory is completed.  Additionally, only one level of tree is printed
so completion within directories only works thanks to readline's default
completion.

Change this to handle the completion of filenames within the script so
that we can append a space or slash as appropriate for files and
directories and complete within subdirectories be detecting the prefix
to use with `git ls-tree`.

Signed-off-by: John Keeping <john@keeping.me.uk>
Show more main view info for the submodule tests
Make the submodule test URLs relative
Fix display of conflicts in the main view when 'show-changes' is enabled

The main view showed both staged and unstaged changes, but should only
show unstaged changes for the unmerged file.
Add tests for the grep view

This also fixes an off-by-one error in how the line numbers are
displayed and shows a message if no match is found.