Skip to content

Instantly share code, notes, and snippets.

@elig0n
Last active September 13, 2020 01:58
Show Gist options
  • Save elig0n/5d0dd8ab78e5a292fc3a65b8b3aadb75 to your computer and use it in GitHub Desktop.
Save elig0n/5d0dd8ab78e5a292fc3a65b8b3aadb75 to your computer and use it in GitHub Desktop.
Vim function to highlight URL, query parameters and values in different colors
function! UrlHighlight()
hi Hyperlink ctermfg=white ctermbg=darkmagenta guifg=white guibg=darkmagenta
syntax match Hyperlink `\v<(((https?|ftp|gopher|telnet)://|(mailto|file|news|about|ed2k|irc|sip|magnet):)[^' \t<>"]+|(www|web|w3)[a-z0-9_-]*\.[a-z0-9._-]+\.[^' \t<>"/]+)[a-z0-9/]`
hi UrlParametersQ ctermfg=red ctermbg=NONE guifg=red guibg=NONE
syntax match UrlParametersQ '?' containedin=Hyperlink
hi UrlParametersQVal ctermfg=lightblue ctermbg=NONE guifg=lightblue guibg=NONE
syntax match UrlParametersQVal '=\@<=.\{-}[&\n]\@=' containedin=Hyperlink
hi UrlParametersQPar ctermfg=green ctermbg=black guifg=green guibg=black
syntax match UrlParametersQPar '\(?\)\@<=.\{-}=' containedin=Hyperlink
hi UrlParametersAmphersand ctermfg=red ctermbg=NONE guifg=red guibg=NONE
syntax match UrlParametersAmphersand '&' containedin=Hyperlink
hi UrlParametersAmphersandPar ctermfg=green ctermbg=black guifg=green guibg=black
syntax match UrlParametersAmphersandPar '\(&\)\@<=.\{-}=' containedin=Hyperlink
endfunction
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment