aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xabbrevURL34
-rw-r--r--plugin/spec.vim18
2 files changed, 35 insertions, 17 deletions
diff --git a/abbrevURL b/abbrevURL
new file mode 100755
index 0000000..5f37c59
--- /dev/null
+++ b/abbrevURL
@@ -0,0 +1,34 @@
+#!/usr/bin/lua
+local str = ''
+
+if #arg == 0 then
+str = io.read("*l")
+else
+str = arg[1]:lower()
+end
+
+str = str:gsub("https://github.com/(.*)/issues/(%d+)", "gh#%1#%2")
+str = str:gsub("https://github.com/(.*)/pull/(%d+)", "gh#%1#%2")
+str = str:gsub("https://gitlab.com/(.*)/-/issues/(%d+)", "gl#%1#%2")
+str = str:gsub("https://gitlab.com/(.*)/issues/(%d+)", "gl#%1#%2")
+str = str:gsub("https://gitlab.com/(.*)/pull/(%d+)", "gl#%1#%2")
+str = str:gsub("https://sourceforge.net/support/tracker.php%?aid=(%d+)", "sh#%1")
+str = str:gsub("https://sf.net/support/tracker.php%?aid=(%d+)", "sh#%1")
+str = str:gsub("https://sourceforge.net/p/(.*)/patches/(%d+)/", "shp#%1#%2")
+str = str:gsub("https://sourceforge.net/p/(.*)/bugs/(%d+)/", "shb#%1#%2")
+str = str:gsub("https://sf.net/support/p/(.*)/patches/(%d+)/", "shp#%1#%2")
+str = str:gsub("https://sf.net/support/p/(.*)/bugs/(%d+)/", "shb#%1#%2")
+str = str:gsub("https://bitbucket.org/(.*)/issues/(%d+)/", "bt#%1#%2")
+str = str:gsub("https://build.suse.de/request/show/(%d+)", "ssr#%1")
+str = str:gsub("https://build.opensuse.org/request/show/(%d+)", "sr#%1")
+str = str:gsub("https://bugzilla.opensuse.org/show_bug.cgi%?id=(%d+)", "boo#%1")
+str = str:gsub("https://bugzilla.opensuse.org/(%d+)", "boo#%1")
+str = str:gsub("https://bugzilla.suse.com/show_bug.cgi%?id=(%d+)", "bsc#%1")
+str = str:gsub("https://bugzilla.suse.com/(%d+)", "bsc#%1")
+str = str:gsub("https://bugzilla.redhat.com/show_bug.cgi%?id=(%d+)", "rh#%1")
+str = str:gsub("https://bugzilla.redhat.com/(%d+)", "rh#%1")
+str = str:gsub("https://jira.suse.com/browse/(%a+)", "jsc#%1")
+str = str:gsub("https://bugs.python.org/issue(%d+)", "bpo#%1")
+str = str:gsub("https://bugs.launchpad.net/[^]+/+bug/(%d+)", "lp#%1")
+
+print(str)
diff --git a/plugin/spec.vim b/plugin/spec.vim
index 376e666..6dc02dc 100644
--- a/plugin/spec.vim
+++ b/plugin/spec.vim
@@ -1,20 +1,4 @@
-function! ReplaceURLs()
- s!https://github.com/\(.*\)/\(issues\|pull\)/\(\d\+\)!gh#\1#\3!e
- s!https://gitlab.com/\(.*\)/\(-/\)\?\(issues\|pull\)/\(\d\+\)!gl#\1#\4!e
- s!https://\(sourceforge\|sf\).net/support/tracker.php?aid=\(\d\+\)!sh#\2!e
- s!https://\(sourceforge\|sf\).net/p/\(.*\)/bugs/\(\d\+\)/!shb#\2#\3!e
- s!https://\(sourceforge\|sf\).net/p/\(.*\)/patches/\(\d\+\)/!shp#\2#\3!e
- s!https://bitbucket.org/\(.*\)/issues/\(\d\+\)!bt#\1#\2!e
- s!https://build.suse.de/request/show/\(\d*\)!ssr#\1!e
- s!https://build.opensuse.org/request/show/\(\d*\)!sr#\1!e
- s!https://bugzilla.opensuse.org/\(show_bug.cgi?id=\)\?\(\d*\).*$!boo#\2!e
- s!https://bugzilla.suse.com/\(show_bug.cgi?id=\)\?\(\d*\).*$!bsc#\2!e
- s!https://jira.suse.\(com\|de\)/browse/\(\d*\)!jsc#\2!e
- s!https://bugs.python.org/issue\(\d\+\)!bpo#\1!e
- s!https://bugs.launchpad.net/\([^/]\+\)/+bug/\(\d\+\)!lp#\2!e
-endfunction
-
-noremap gG :call ReplaceURLs()<CR>
+noremap gG :,!abbrevURL<CR>
" for netrw
let g:netrw_browsex_viewer='setsid osurl'