require "json"

module Scry
  struct InitializeParams
    JSON.mapping({
      process_id:   {type: Int64 | Int32, key: "processId"},
      root_uri:     {type: String, key: "rootPath"},
      capabilities: JSON::Any,
      trace:        String,
    })

  end
end

require "json"

module Scry
  struct InitializeParams
    JSON.mapping({
      process_id:   {type: Int64 | Int32, key: "processId"},
      root_uri:     {type: String, key: "rootPath"},
      capabilities: JSON::Any,
      trace:        String?,
    })

  end
end

Allow trace to be nilable.
Allow trace to be nilable.

This ensures compatibility with Atom and is more accurate to LSP
