lib/solargraph/language_server/uri_helpers.rb



module Solargraph
  module LanguageServer
    module UriHelpers
      # Convert a file URI to a path.
      #
      # @param uri [String]
      # @return [String]
      def uri_to_file uri
        URI.decode(uri).sub(/^file\:\/\//, '').sub(/^\/([a-z]\:)/i, '\1')
      end

      # Convert a file path to a URI.
      #
      # @param file [String]
      # @return [String]
      def file_to_uri file
        "file://#{URI.encode(file.gsub(/^([a-z]\:)/i, '/\1'))}"
      end
    end
  end
end