tree 7dd924811c0ae0ca407fecd4a04b02e3687cd0e7
parent 4102fc994a390cd3aef6c06a1ee3f8117d14ca63
author Christian Dürr <contact@christianduerr.com> 1538732743 +0200
committer Christian Dürr <contact@christianduerr.com> 1538732743 +0200

Add optional modifiers for url launching

It is not always desired for URLs to open automatically when clicking on
them. To resolve this a new `modifiers` field has been introduced to the
config, which allows specifying which keyboard modifiers need to be held
down to launch URLs in the specified launcher.

Since the config now has two different fields for the URL clicking
feature, the new `url` field has been added to `mouse` and the
`mouse.url_launcher` field has been moved to `mouse.url.launcher`.

Some tests have been added to make sure that the edge-cases of the URL
parsing are protected against future regressions. To make testing easier
the parsing method has been moved into the `SemanticSearch` trait. The
name of the trait has also been changed to just `Search` and it has been
moved to `src/term/mod.rs` to fit the additional functionality.

Some minor style improvements have also been made.
