Open the current word (or other text) with custom openers, extensible.
E.g: Open GitHub shorthand "ofirgall/open.nvim"
at your default browser.
use { 'ofirgall/open.nvim', requires = 'nvim-lua/plenary.nvim' }
You can install vim.ui.select
wrapper to change the ui for selecting multiple results:
-- Leave empty for default values
require('open').setup {
}
require('open').setup {
config = {
-- Override system opener, the defaults should work out of the box
system_open = {
cmd = "",
args = {},
},
-- Options to pass to plenary.curl
curl_opts = {
-- compressed = false -- Uncomment this line to disable curl compression
},
},
-- List of disabled openers, 'github' for example see `:help open.default_openers`
disabled_openers = {
},
-- fallback function if no opener succeeds
fallback = function(text)
system_open.open(text)
end,
-- Override `config` per opener
openers_config = {
-- Override `jira` browser for example
['jira'] = {
system_open = {
cmd = 'chromium-browser',
},
},
},
}
By default, no keymaps are set, you have to set your own keymap:
vim.keymap.set('n', 'gx', require('open').open_cword)
Please share awesome custom openers with PR.
require('open').register_opener({
name = 'Example Opener',
open_fn = function(text)
return { 'www.example.org' }
end
})
Feel free to add your opener to the list.