From 06d3108f66c17bbe5c81212b6b437ea3d9611e04 Mon Sep 17 00:00:00 2001 From: Gabe Berke-Williams Date: Sun, 21 Sep 2025 11:33:11 -0700 Subject: [PATCH 1/2] Support asterisks in URLs Asterisks can appear in URLs like this: https://crontab.guru/#0_3_*_*_* http://wayback.archive.org/web/*/http://google.com --- lua/gx/handlers/url.lua | 2 +- test/spec/gx/handlers/url_spec.lua | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/lua/gx/handlers/url.lua b/lua/gx/handlers/url.lua index 6fc3c53..5381574 100644 --- a/lua/gx/handlers/url.lua +++ b/lua/gx/handlers/url.lua @@ -10,7 +10,7 @@ local M = { -- get url from line (with http/s) function M.handle(mode, line, _) - local pattern = "(https?://[a-zA-Z%d_/%%%-%.~@\\+#=?&:]+)" + local pattern = "(https?://[a-zA-Z%d_/%%%-%.~@\\+#=?&:*]+)" local url = helper.find(line, mode, pattern) -- match url without http(s) diff --git a/test/spec/gx/handlers/url_spec.lua b/test/spec/gx/handlers/url_spec.lua index 0f44598..06b70f2 100644 --- a/test/spec/gx/handlers/url_spec.lua +++ b/test/spec/gx/handlers/url_spec.lua @@ -44,6 +44,13 @@ describe("url_parser_does_work", function() "https://golang-jwt.github.io/jwt/usage/signing\\_methods/#signing-methods-and-key-types" ) ) + assert.equals( + "https://crontab.guru/#0_3_*_*_*", + handler.handle( + "n", + "https://crontab.guru/#0_3_*_*_*" + ) + ) end) it("urls in python", function() From e85600d63cda74e21756b8ae3708a161d8a73e56 Mon Sep 17 00:00:00 2001 From: Gabe Berke-Williams Date: Sun, 21 Sep 2025 11:39:09 -0700 Subject: [PATCH 2/2] Format per stylua --- test/spec/gx/handlers/url_spec.lua | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/test/spec/gx/handlers/url_spec.lua b/test/spec/gx/handlers/url_spec.lua index 06b70f2..04b321d 100644 --- a/test/spec/gx/handlers/url_spec.lua +++ b/test/spec/gx/handlers/url_spec.lua @@ -46,10 +46,7 @@ describe("url_parser_does_work", function() ) assert.equals( "https://crontab.guru/#0_3_*_*_*", - handler.handle( - "n", - "https://crontab.guru/#0_3_*_*_*" - ) + handler.handle("n", "https://crontab.guru/#0_3_*_*_*") ) end)