module Solargraph::LanguageServer::UriHelpers

def decode text

Returns:
  • (String) -

Parameters:
  • text (String) --
def decode text
  CGI.unescape(text)
end

def encode text

Returns:
  • (String) -

Parameters:
  • text (String) --
def encode text
  CGI.escape(text)
     .gsub('%3A', ':')
     .gsub('%5C', '\\')
     .gsub('%2F', '/')
     .gsub('+', '%20')
end

def file_to_uri file

Returns:
  • (String) -

Parameters:
  • file (String) --
def file_to_uri file
  "file://#{encode(file.gsub(/^([a-z]\:)/i, '/\1'))}"
end

def uri_to_file uri

Returns:
  • (String) -

Parameters:
  • uri (String) --
def uri_to_file uri
  decode(uri).sub(/^file\:\/\//, '').sub(/^\/([a-z]\:)/i, '\1')
end