class Sass::Embedded::Host::FunctionRegistry

def function_call(function_call_request)

def function_call(function_call_request)
  arguments = function_call_request.arguments.map do |argument|
    value_protofier.from_proto(argument)
  end
  success = value_protofier.to_proto(get(function_call_request).call(arguments))
  accessed_argument_lists = arguments
                            .select do |argument|
                              argument.is_a?(Sass::Value::ArgumentList) && argument.instance_eval do
                                @keywords_accessed
                              end
                            end
                            .map { |argument| argument.instance_eval { @id } }
  EmbeddedProtocol::InboundMessage::FunctionCallResponse.new(
    id: function_call_request.id,
    success: success,
    accessed_argument_lists: accessed_argument_lists
  )
rescue StandardError => e
  EmbeddedProtocol::InboundMessage::FunctionCallResponse.new(
    id: function_call_request.id,
    error: e.full_message(highlight: @highlight, order: :top)
  )
end