Added highlighting of entered characters in filenames

  - does nothing if vim wasn't compiled with +conceal
  - underlines first instance of each character as you type
  - replaced class variables which never get modified with constants

Amendments made to original pull request[1]:

  - whitespace fixes (removed blank lines, replaced 4-space indents with
    2-space ones)
  - wrapped some long lines
  - added comments to the `#match_with_syntax_highlight` method noting
    its limitations
  - reimplemented the guts of that method in terms of a single iteration
    rather than nested interations (the nested iterations could lead to
    highlighting being repeatedly applied to the same character; for
    example, consider the search abbrevation "aba" and the matched path
    "aba", which would highlight the first "a" twice)

[1]: https://github.com/wincent/Command-T/pull/28

Signed-off-by: Wincent Colaiuta <win@wincent.com>
doc: Update HISTORY section for match string highlighting

I'm not yet sure whether this feature will get merged into master, nor
whether it should be on by default or whether it should be configurable,
so for now not mentioning it outside of the HISTORY section.

Signed-off-by: Wincent Colaiuta <win@wincent.com>
Make matching character highlighting case-insensitive

The matching algorithm is case-insensitive, which means that the display
of matching characters must also be done in a case-insensitive fashion.

Signed-off-by: Wincent Colaiuta <win@wincent.com>
Replace Array#flatten() with Array()

Brevity is the soul of wit.

Signed-off-by: Wincent Colaiuta <win@wincent.com>
Add instructions on selecting system ruby using rbenv

Signed-off-by: Wincent Colaiuta <win@wincent.com>
Add Felix Tjandrawibawa to the author list

Signed-off-by: Wincent Colaiuta <win@wincent.com>
Merge branch 'mong8se/highlight'

I've been using this locally for about a week now without any problems,
so merging to master.

* mong8se/highlight:
  Make matching character highlighting case-insensitive
  doc: Update HISTORY section for match string highlighting
  Added highlighting of entered characters in filenames
Silence warnings on BufLeave and BufUnload

Apply patch from https://wincent.com/issues/1778
Add Yan Pritzker to list of authors

Signed-off-by: Wincent Colaiuta <win@wincent.com>
Attempted fix for "E90: Cannot unload last buffer" error

Details noted in the code comment.

Note that in the case where the `:quit` command kicks in, the subsequent
`:bwipeout!`/`:bunload!` commands will still run, and most likely fail;
this seems harmless enough and visible error messages are suppressed
with `silent!`, but it seems sensible to err on the side of caution and
make sure clean-up really happens (the Vim docs are silent on what
`:quit` does to unlisted buffers, but experimentation with help windows,
at least, shows that they linger on in the `:ls!` output after a
`:quit`, even if their contents end up getting unloaded).

See:

  https://wincent.com/issues/1778

Signed-off-by: Wincent Colaiuta <win@wincent.com>
Set synmaxcol to avoid match highlighting errors

The new match highlight feature uses <commandt></commandt> as conceal
markers per match. If the user has set a low synmaxcol (in order to
speed up syntax highlighting in files with long lines), the concealed
markers can quickly bring the character count of the line past the
synmaxcol value, causing all markers past the value to be shown.

This can be demonstrated by setting a low synmaxcol, then opening a new
match window in this project's root:

:set synmaxcol=20 | CommandT

" Search for `//`

> fixtures/bar/abc
  fixtures/</commandt>bar<commandt>/</commandt>xyz
  fixtures/</commandt>foo<commandt>/</commandt>beta
Update .mailmap file

Signed-off-by: Wincent Colaiuta <win@wincent.com>
Fix some failing specs

These specs seem too mock- and stub-heavy, and could use a bit of
loving, but for now just making the minimal change to get the spec suite
green again (it has been neglected for a long while).

Signed-off-by: Wincent Colaiuta <win@wincent.com>
Use `bundle exec` rather than assuming binstubs will be available

The binstubs were removed in commit 9a35f4036f0.

Signed-off-by: Wincent Colaiuta <win@wincent.com>