Bash completion for the defaultbrowser
tool for MacOS
The completion implementation requires defaultbrowser
to be installed (of course), Tt uses the defaultbrowser
built-in feature of listing all available browsers by not providing as$ argument.
$ defaultbrowser
iterm2
* chrome
firefoxdeveloperedition
safari
vlc
evernote
netnewswire
$ defaultbrowser <tab><tab>
chrome iterm2 vlc
evernote netnewswire
firefoxdeveloperedition safari
$ curl https://raw.githubusercontent.com/jonasbn/bash_completion_defaultbrowser/master/defaultbrowser > defaultbrowser
When downloaded you have to install the completion implementation. Where your completions are located might vary.
If you want to install them for your personal use, do the following.
Create the file: ~/.bash_completion
, containing the code below:
for bcfile in ~/.bash_completion.d/* ; do
. $bcfile
done
Ref: ServerFault.com: Standard place for user defined bash_completion.d scripts?
Create a directory for your completions:
$ mkdir ~/.bash_completion.d
Copy your completions into the newly created directory:
$ cp defaultbrowser ~/.bash_completion.d/
Start a new shell and you should be good to go.
Based on an introduction to bash
completions on Debian.
$ sudo cp defaultbrowser /etc/bash_completion.d/
This assumes you are using Homebrew
Do note that paths vary based on whether you are using bash
3 or 4
Formula: bash-completions
.
$ cp defaultbrowser /usr/local/etc/bash_completion.d/
And to activate right away:
$ source /usr/local/etc/bash_completion.d/defaultbrowser
Formula: bash-completions2
.
$ cp defaultbrowser /usr/local/share/bash-completion/completions/
And to activate right away:
$ source /usr/local/share/bash-completion/completions/defaultbrowser
I just discovered defaultbrowser
today, since I needed a tool, which does exactly THAT - with this tab completion, it is even easier to use.
- 1.0.0
- Initial version working with
defaultbrowser
.
- Initial version working with
A more elaborate piece of documentation on bash
completions is available from The Linux Documentation Project in the Advanced Bash-Scripting Guide.
From the GNU Documentation.
Good two-part article, "An Introduction to Bash Completion": Part 1 and Part 2.
Please note that this experimental implementation has only been tested with bash
version 3 (see version 1.0.0).
Versions after version 1.0.0 have been tested with bash
version 4.
The most comprehensive collection of bash
completions I have come across is the one from the Debian Linux distribution. It is also the one offered for OSX via Homebrew.
This is made available under the MIT license, see separate license file.
©️ jonasbn 2018
©️ defaultbrowser Margus Kerma, MIT License