From d8dc7e067cdbd2fe400dd457cdbacf32105f224e Mon Sep 17 00:00:00 2001 From: Adrien Biencourt Date: Mon, 13 Feb 2023 23:37:17 +0000 Subject: [PATCH 1/2] open url based on OS --- lua/telescope/_extensions/getOS.lua | 10 ++++++++++ lua/telescope/_extensions/http.lua | 9 ++++++++- readme.md | 6 ++++-- 3 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 lua/telescope/_extensions/getOS.lua diff --git a/lua/telescope/_extensions/getOS.lua b/lua/telescope/_extensions/getOS.lua new file mode 100644 index 0000000..d0af981 --- /dev/null +++ b/lua/telescope/_extensions/getOS.lua @@ -0,0 +1,10 @@ +return function() + -- ask LuaJIT first + if jit then return jit.os end + + -- Unix, Linux variants + local fh, _ = assert(io.popen('uname -o 2>/dev/null', 'r')) + if fh then return fh:read() end + + return 'Windows' +end diff --git a/lua/telescope/_extensions/http.lua b/lua/telescope/_extensions/http.lua index 8626db6..0e612f1 100644 --- a/lua/telescope/_extensions/http.lua +++ b/lua/telescope/_extensions/http.lua @@ -5,8 +5,15 @@ if not ok then end local list = require 'telescope._extensions.http.list' +local osname = require 'telescope._extensions.getOS' -local default_opts = { open_url = 'xdg-open %s' } +local open_url_os = { + ['OSX'] = { open_url = 'open %s' }, + ['Windows'] = { open_url = 'start %s' }, +} + +local default_opts = open_url_os[osname()] +if not default_opts then default_opts = { open_url = 'xdg-open %s' } end local opts = {} return telescope.register_extension { diff --git a/readme.md b/readme.md index b0c353e..257bed2 100644 --- a/readme.md +++ b/readme.md @@ -31,8 +31,10 @@ require('telescope').load_extension 'http' require('telescope').setup { extensions = { http = { - -- How the mozilla url is opened. By default: - open_url = 'xdg-open %s' + -- How the mozilla url is opened. By default will be configured based on OS: + open_url = 'xdg-open %s' -- UNIX + -- open_url = 'open %s' -- OSX + -- open_url = 'start %s' -- Windows } } } From 949709acbe8fbbc45ba1a71a413cca4cdd94e601 Mon Sep 17 00:00:00 2001 From: Adrien Biencourt Date: Tue, 14 Feb 2023 00:08:47 +0000 Subject: [PATCH 2/2] Added comment for LuaJIT --- lua/telescope/_extensions/getOS.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/lua/telescope/_extensions/getOS.lua b/lua/telescope/_extensions/getOS.lua index d0af981..e05d020 100644 --- a/lua/telescope/_extensions/getOS.lua +++ b/lua/telescope/_extensions/getOS.lua @@ -1,5 +1,6 @@ return function() -- ask LuaJIT first + -- will return "Windows", "Linux", "OSX", "BSD", "POSIX" or "Other" if jit then return jit.os end -- Unix, Linux variants