# DO NOT EDIT MANUALLY # This is an autogenerated file for types exported from the `spoom` gem. # Please instead update this file by running `bin/tapioca gem spoom`. # typed: true module Spoom class << self sig { params(cmd: String, arg: String, path: String, capture_err: T::Boolean).returns([String, T::Boolean]) } def exec(cmd, *arg, path: T.unsafe(nil), capture_err: T.unsafe(nil)); end end end module Spoom::Cli; end class Spoom::Cli::Bump < ::Thor include ::Spoom::Colorize include ::Spoom::Cli::Helper sig { params(directory: String).void } def bump(directory = T.unsafe(nil)); end def config_files(path: T.unsafe(nil)); end def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end def print_changes(files, command:, from: T.unsafe(nil), to: T.unsafe(nil), dry: T.unsafe(nil), path: T.unsafe(nil)); end def undo_changes(files, from_strictness); end end class Spoom::Cli::Config < ::Thor include ::Spoom::Colorize include ::Spoom::Cli::Helper def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end def show; end end class Spoom::Cli::Coverage < ::Thor include ::Spoom::Colorize include ::Spoom::Cli::Helper def bundle_install(path, sha); end def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end def message_no_data(file); end def open(file = T.unsafe(nil)); end def parse_time(string, option); end def report; end def snapshot; end def timeline; end end Spoom::Cli::Coverage::DATA_DIR = T.let(T.unsafe(nil), String) module Spoom::Cli::Helper include ::Spoom::Colorize sig { params(string: String).returns(String) } def blue(string); end sig { returns(T::Boolean) } def color?; end sig { params(string: String, color: Spoom::Color).returns(String) } def colorize(string, *color); end sig { returns(String) } def exec_path; end sig { params(string: String).returns(String) } def gray(string); end sig { params(string: String).returns(String) } def green(string); end sig { params(string: String).returns(String) } def highlight(string); end sig { void } def in_sorbet_project!; end sig { returns(T::Boolean) } def in_sorbet_project?; end sig { params(string: String).returns(String) } def red(string); end sig { params(message: String).void } def say(message); end sig { params(message: String, status: T.nilable(String), nl: T::Boolean).void } def say_error(message, status: T.unsafe(nil), nl: T.unsafe(nil)); end sig { returns(Spoom::Sorbet::Config) } def sorbet_config; end sig { returns(String) } def sorbet_config_file; end sig { params(string: String).returns(String) } def yellow(string); end end class Spoom::Cli::LSP < ::Thor include ::Spoom::Colorize include ::Spoom::Cli::Helper def defs(file, line, col); end def find(query); end def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end def hover(file, line, col); end def list; end def lsp_client; end def refs(file, line, col); end def run(&block); end def show; end def sigs(file, line, col); end def symbol_printer; end def symbols(file); end def to_uri(path); end def types(file, line, col); end end class Spoom::Cli::Main < ::Thor include ::Spoom::Colorize include ::Spoom::Cli::Helper def __print_version; end def bump(*args); end def config(*args); end def coverage(*args); end def files; end def lsp(*args); end def tc(*args); end class << self def exit_on_failure?; end end end class Spoom::Cli::Run < ::Thor include ::Spoom::Colorize include ::Spoom::Cli::Helper def colorize_message(message); end def format_error(error, format); end def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end def tc(*arg); end end Spoom::Cli::Run::DEFAULT_FORMAT = T.let(T.unsafe(nil), String) Spoom::Cli::Run::SORT_CODE = T.let(T.unsafe(nil), String) Spoom::Cli::Run::SORT_ENUM = T.let(T.unsafe(nil), Array) Spoom::Cli::Run::SORT_LOC = T.let(T.unsafe(nil), String) class Spoom::Color < ::T::Enum enums do CLEAR = new BOLD = new BLACK = new RED = new GREEN = new YELLOW = new BLUE = new MAGENTA = new CYAN = new WHITE = new LIGHT_BLACK = new LIGHT_RED = new LIGHT_GREEN = new LIGHT_YELLOW = new LIGHT_BLUE = new LIGHT_MAGENTA = new LIGHT_CYAN = new LIGHT_WHITE = new end sig { returns(String) } def ansi_code; end end module Spoom::Colorize sig { params(string: String, color: Spoom::Color).returns(String) } def set_color(string, *color); end end module Spoom::Coverage class << self sig { params(snapshots: T::Array[Spoom::Coverage::Snapshot], palette: Spoom::Coverage::D3::ColorPalette, path: String).returns(Spoom::Coverage::Report) } def report(snapshots, palette:, path: T.unsafe(nil)); end sig { params(path: String).returns(Spoom::FileTree) } def sigils_tree(path: T.unsafe(nil)); end sig { params(path: String, rbi: T::Boolean, sorbet_bin: T.nilable(String)).returns(Spoom::Coverage::Snapshot) } def snapshot(path: T.unsafe(nil), rbi: T.unsafe(nil), sorbet_bin: T.unsafe(nil)); end sig { params(path: String).returns(Spoom::Sorbet::Config) } def sorbet_config(path: T.unsafe(nil)); end end end module Spoom::Coverage::Cards; end class Spoom::Coverage::Cards::Card < ::Spoom::Coverage::Template sig { params(template: String, title: T.nilable(String), body: T.nilable(String)).void } def initialize(template: T.unsafe(nil), title: T.unsafe(nil), body: T.unsafe(nil)); end def body; end sig { returns(T.nilable(String)) } def title; end end Spoom::Coverage::Cards::Card::TEMPLATE = T.let(T.unsafe(nil), String) class Spoom::Coverage::Cards::Erb < ::Spoom::Coverage::Cards::Card abstract! sig { void } def initialize; end sig { abstract.returns(String) } def erb; end sig { override.returns(String) } def html; end end class Spoom::Coverage::Cards::Map < ::Spoom::Coverage::Cards::Card sig { params(sigils_tree: Spoom::FileTree, title: String).void } def initialize(sigils_tree:, title: T.unsafe(nil)); end end class Spoom::Coverage::Cards::Snapshot < ::Spoom::Coverage::Cards::Card sig { params(snapshot: Spoom::Coverage::Snapshot, title: String).void } def initialize(snapshot:, title: T.unsafe(nil)); end sig { returns(Spoom::Coverage::D3::Pie::Calls) } def pie_calls; end sig { returns(Spoom::Coverage::D3::Pie::Sigils) } def pie_sigils; end sig { returns(Spoom::Coverage::D3::Pie::Sigs) } def pie_sigs; end sig { returns(Spoom::Coverage::Snapshot) } def snapshot; end end Spoom::Coverage::Cards::Snapshot::TEMPLATE = T.let(T.unsafe(nil), String) class Spoom::Coverage::Cards::SorbetIntro < ::Spoom::Coverage::Cards::Erb sig { params(sorbet_intro_commit: T.nilable(String), sorbet_intro_date: T.nilable(Time)).void } def initialize(sorbet_intro_commit: T.unsafe(nil), sorbet_intro_date: T.unsafe(nil)); end sig { override.returns(String) } def erb; end end class Spoom::Coverage::Cards::Timeline < ::Spoom::Coverage::Cards::Card sig { params(title: String, timeline: Spoom::Coverage::D3::Timeline).void } def initialize(title:, timeline:); end end class Spoom::Coverage::Cards::Timeline::Calls < ::Spoom::Coverage::Cards::Timeline sig { params(snapshots: T::Array[Spoom::Coverage::Snapshot], title: String).void } def initialize(snapshots:, title: T.unsafe(nil)); end end class Spoom::Coverage::Cards::Timeline::RBIs < ::Spoom::Coverage::Cards::Timeline sig { params(snapshots: T::Array[Spoom::Coverage::Snapshot], title: String).void } def initialize(snapshots:, title: T.unsafe(nil)); end end class Spoom::Coverage::Cards::Timeline::Runtimes < ::Spoom::Coverage::Cards::Timeline sig { params(snapshots: T::Array[Spoom::Coverage::Snapshot], title: String).void } def initialize(snapshots:, title: T.unsafe(nil)); end end class Spoom::Coverage::Cards::Timeline::Sigils < ::Spoom::Coverage::Cards::Timeline sig { params(snapshots: T::Array[Spoom::Coverage::Snapshot], title: String).void } def initialize(snapshots:, title: T.unsafe(nil)); end end class Spoom::Coverage::Cards::Timeline::Sigs < ::Spoom::Coverage::Cards::Timeline sig { params(snapshots: T::Array[Spoom::Coverage::Snapshot], title: String).void } def initialize(snapshots:, title: T.unsafe(nil)); end end class Spoom::Coverage::Cards::Timeline::Versions < ::Spoom::Coverage::Cards::Timeline sig { params(snapshots: T::Array[Spoom::Coverage::Snapshot], title: String).void } def initialize(snapshots:, title: T.unsafe(nil)); end end module Spoom::Coverage::D3 class << self sig { params(palette: Spoom::Coverage::D3::ColorPalette).returns(String) } def header_script(palette); end sig { returns(String) } def header_style; end end end class Spoom::Coverage::D3::Base abstract! sig { params(id: String, data: T.untyped).void } def initialize(id, data); end sig { returns(String) } def html; end sig { returns(String) } def id; end sig { abstract.returns(String) } def script; end sig { returns(String) } def tooltip; end class << self sig { returns(String) } def header_script; end sig { returns(String) } def header_style; end end end Spoom::Coverage::D3::COLOR_FALSE = T.let(T.unsafe(nil), String) Spoom::Coverage::D3::COLOR_IGNORE = T.let(T.unsafe(nil), String) Spoom::Coverage::D3::COLOR_STRICT = T.let(T.unsafe(nil), String) Spoom::Coverage::D3::COLOR_STRONG = T.let(T.unsafe(nil), String) Spoom::Coverage::D3::COLOR_TRUE = T.let(T.unsafe(nil), String) class Spoom::Coverage::D3::CircleMap < ::Spoom::Coverage::D3::Base sig { override.returns(String) } def script; end class << self sig { returns(String) } def header_script; end sig { returns(String) } def header_style; end end end class Spoom::Coverage::D3::CircleMap::Sigils < ::Spoom::Coverage::D3::CircleMap sig { params(id: String, sigils_tree: Spoom::FileTree).void } def initialize(id, sigils_tree); end sig { params(node: Spoom::FileTree::Node).returns(Float) } def tree_node_score(node); end sig { params(node: Spoom::FileTree::Node).returns(T.nilable(String)) } def tree_node_strictness(node); end sig { params(node: Spoom::FileTree::Node).returns(T::Hash[Symbol, T.untyped]) } def tree_node_to_json(node); end end class Spoom::Coverage::D3::ColorPalette < ::T::Struct prop :false, String prop :ignore, String prop :strict, String prop :strong, String prop :true, String class << self def inherited(s); end end end class Spoom::Coverage::D3::Pie < ::Spoom::Coverage::D3::Base abstract! sig { params(id: String, title: String, data: T.untyped).void } def initialize(id, title, data); end sig { override.returns(String) } def script; end class << self sig { returns(String) } def header_script; end sig { returns(String) } def header_style; end end end class Spoom::Coverage::D3::Pie::Calls < ::Spoom::Coverage::D3::Pie sig { params(id: String, title: String, snapshot: Spoom::Coverage::Snapshot).void } def initialize(id, title, snapshot); end sig { override.returns(String) } def tooltip; end end class Spoom::Coverage::D3::Pie::Sigils < ::Spoom::Coverage::D3::Pie sig { params(id: String, title: String, snapshot: Spoom::Coverage::Snapshot).void } def initialize(id, title, snapshot); end sig { override.returns(String) } def tooltip; end end class Spoom::Coverage::D3::Pie::Sigs < ::Spoom::Coverage::D3::Pie sig { params(id: String, title: String, snapshot: Spoom::Coverage::Snapshot).void } def initialize(id, title, snapshot); end sig { override.returns(String) } def tooltip; end end class Spoom::Coverage::D3::Timeline < ::Spoom::Coverage::D3::Base abstract! sig { params(id: String, data: T.untyped, keys: T::Array[String]).void } def initialize(id, data, keys); end sig { params(y: String, color: String, curve: String).returns(String) } def area(y:, color: T.unsafe(nil), curve: T.unsafe(nil)); end sig { params(y: String, color: String, curve: String).returns(String) } def line(y:, color: T.unsafe(nil), curve: T.unsafe(nil)); end sig { abstract.returns(String) } def plot; end sig { params(y: String).returns(String) } def points(y:); end sig { override.returns(String) } def script; end sig { returns(String) } def x_scale; end sig { returns(String) } def x_ticks; end sig { params(min: String, max: String, ticks: String).returns(String) } def y_scale(min:, max:, ticks:); end sig { params(ticks: String, format: String, padding: Integer).returns(String) } def y_ticks(ticks:, format:, padding:); end class << self sig { returns(String) } def header_script; end sig { returns(String) } def header_style; end end end class Spoom::Coverage::D3::Timeline::Calls < ::Spoom::Coverage::D3::Timeline::Stacked sig { params(id: String, snapshots: T::Array[Spoom::Coverage::Snapshot]).void } def initialize(id, snapshots); end sig { override.returns(String) } def tooltip; end end class Spoom::Coverage::D3::Timeline::RBIs < ::Spoom::Coverage::D3::Timeline::Stacked sig { params(id: String, snapshots: T::Array[Spoom::Coverage::Snapshot]).void } def initialize(id, snapshots); end sig { override.params(y: String, color: String, curve: String).returns(String) } def line(y:, color: T.unsafe(nil), curve: T.unsafe(nil)); end sig { override.returns(String) } def plot; end sig { override.returns(String) } def script; end sig { override.returns(String) } def tooltip; end end class Spoom::Coverage::D3::Timeline::Runtimes < ::Spoom::Coverage::D3::Timeline sig { params(id: String, snapshots: T::Array[Spoom::Coverage::Snapshot]).void } def initialize(id, snapshots); end sig { override.returns(String) } def plot; end sig { override.returns(String) } def tooltip; end end class Spoom::Coverage::D3::Timeline::Sigils < ::Spoom::Coverage::D3::Timeline::Stacked sig { params(id: String, snapshots: T::Array[Spoom::Coverage::Snapshot]).void } def initialize(id, snapshots); end sig { override.returns(String) } def tooltip; end end class Spoom::Coverage::D3::Timeline::Sigs < ::Spoom::Coverage::D3::Timeline::Stacked sig { params(id: String, snapshots: T::Array[Spoom::Coverage::Snapshot]).void } def initialize(id, snapshots); end sig { override.returns(String) } def tooltip; end end class Spoom::Coverage::D3::Timeline::Stacked < ::Spoom::Coverage::D3::Timeline abstract! def initialize(*args, &blk); end sig { override.params(y: String, color: String, curve: String).returns(String) } def line(y:, color: T.unsafe(nil), curve: T.unsafe(nil)); end sig { override.returns(String) } def plot; end sig { override.returns(String) } def script; end end class Spoom::Coverage::D3::Timeline::Versions < ::Spoom::Coverage::D3::Timeline sig { params(id: String, snapshots: T::Array[Spoom::Coverage::Snapshot]).void } def initialize(id, snapshots); end sig { override.returns(String) } def plot; end sig { override.returns(String) } def tooltip; end end class Spoom::Coverage::Page < ::Spoom::Coverage::Template abstract! sig { params(title: String, palette: Spoom::Coverage::D3::ColorPalette, template: String).void } def initialize(title:, palette:, template: T.unsafe(nil)); end sig { returns(String) } def body_html; end sig { abstract.returns(T::Array[Spoom::Coverage::Cards::Card]) } def cards; end sig { returns(String) } def footer_html; end sig { returns(String) } def header_html; end sig { returns(String) } def header_script; end sig { returns(String) } def header_style; end sig { returns(Spoom::Coverage::D3::ColorPalette) } def palette; end sig { returns(String) } def title; end end Spoom::Coverage::Page::TEMPLATE = T.let(T.unsafe(nil), String) class Spoom::Coverage::Report < ::Spoom::Coverage::Page sig { params(project_name: String, palette: Spoom::Coverage::D3::ColorPalette, snapshots: T::Array[Spoom::Coverage::Snapshot], sigils_tree: Spoom::FileTree, sorbet_intro_commit: T.nilable(String), sorbet_intro_date: T.nilable(Time)).void } def initialize(project_name:, palette:, snapshots:, sigils_tree:, sorbet_intro_commit: T.unsafe(nil), sorbet_intro_date: T.unsafe(nil)); end sig { override.returns(T::Array[Spoom::Coverage::Cards::Card]) } def cards; end sig { override.returns(String) } def header_html; end sig { returns(String) } def project_name; end sig { returns(Spoom::FileTree) } def sigils_tree; end sig { returns(T::Array[Spoom::Coverage::Snapshot]) } def snapshots; end sig { returns(T.nilable(String)) } def sorbet_intro_commit; end sig { returns(T.nilable(Time)) } def sorbet_intro_date; end end class Spoom::Coverage::Snapshot < ::T::Struct prop :calls_typed, Integer, default: T.unsafe(nil) prop :calls_untyped, Integer, default: T.unsafe(nil) prop :classes, Integer, default: T.unsafe(nil) prop :commit_sha, T.nilable(String), default: T.unsafe(nil) prop :commit_timestamp, T.nilable(Integer), default: T.unsafe(nil) prop :duration, Integer, default: T.unsafe(nil) prop :files, Integer, default: T.unsafe(nil) prop :methods_with_sig, Integer, default: T.unsafe(nil) prop :methods_without_sig, Integer, default: T.unsafe(nil) prop :modules, Integer, default: T.unsafe(nil) prop :rbi_files, Integer, default: T.unsafe(nil) prop :sigils, T::Hash[String, Integer], default: T.unsafe(nil) prop :singleton_classes, Integer, default: T.unsafe(nil) prop :timestamp, Integer, default: T.unsafe(nil) prop :version_runtime, T.nilable(String), default: T.unsafe(nil) prop :version_static, T.nilable(String), default: T.unsafe(nil) sig { params(out: T.any(IO, StringIO), colors: T::Boolean, indent_level: Integer).void } def print(out: T.unsafe(nil), colors: T.unsafe(nil), indent_level: T.unsafe(nil)); end sig { params(arg: T.untyped).returns(String) } def to_json(*arg); end class << self sig { params(json: String).returns(Spoom::Coverage::Snapshot) } def from_json(json); end sig { params(obj: T::Hash[String, T.untyped]).returns(Spoom::Coverage::Snapshot) } def from_obj(obj); end def inherited(s); end end end Spoom::Coverage::Snapshot::STRICTNESSES = T.let(T.unsafe(nil), Array) class Spoom::Coverage::SnapshotPrinter < ::Spoom::Printer sig { params(snapshot: Spoom::Coverage::Snapshot).void } def print_snapshot(snapshot); end private sig { params(value: T.nilable(Integer), total: T.nilable(Integer)).returns(String) } def percent(value, total); end sig { params(hash: T::Hash[String, Integer], total: Integer).void } def print_map(hash, total); end end class Spoom::Coverage::Template abstract! sig { params(template: String).void } def initialize(template:); end sig { returns(String) } def erb; end sig { returns(Binding) } def get_binding; end sig { returns(String) } def html; end end class Spoom::Error < ::StandardError; end class Spoom::FileTree sig { params(paths: T::Enumerable[String], strip_prefix: T.nilable(String)).void } def initialize(paths = T.unsafe(nil), strip_prefix: T.unsafe(nil)); end sig { params(path: String).returns(Spoom::FileTree::Node) } def add_path(path); end sig { params(paths: T::Enumerable[String]).void } def add_paths(paths); end sig { returns(T::Array[Spoom::FileTree::Node]) } def nodes; end sig { returns(T::Array[String]) } def paths; end sig { params(out: T.any(IO, StringIO), show_strictness: T::Boolean, colors: T::Boolean, indent_level: Integer).void } def print(out: T.unsafe(nil), show_strictness: T.unsafe(nil), colors: T.unsafe(nil), indent_level: T.unsafe(nil)); end sig { returns(T::Array[Spoom::FileTree::Node]) } def roots; end sig { returns(T.nilable(String)) } def strip_prefix; end private sig { params(node: Spoom::FileTree::Node, collected_nodes: T::Array[Spoom::FileTree::Node]).returns(T::Array[Spoom::FileTree::Node]) } def collect_nodes(node, collected_nodes = T.unsafe(nil)); end end class Spoom::FileTree::Node < ::T::Struct const :children, T::Hash[String, Spoom::FileTree::Node], default: T.unsafe(nil) const :name, String const :parent, T.nilable(Spoom::FileTree::Node) sig { returns(String) } def path; end class << self def inherited(s); end end end class Spoom::FileTree::TreePrinter < ::Spoom::Printer sig { params(tree: Spoom::FileTree, out: T.any(IO, StringIO), show_strictness: T::Boolean, colors: T::Boolean, indent_level: Integer).void } def initialize(tree:, out: T.unsafe(nil), show_strictness: T.unsafe(nil), colors: T.unsafe(nil), indent_level: T.unsafe(nil)); end sig { params(node: Spoom::FileTree::Node).void } def print_node(node); end sig { params(nodes: T::Array[Spoom::FileTree::Node]).void } def print_nodes(nodes); end sig { void } def print_tree; end sig { returns(Spoom::FileTree) } def tree; end private sig { params(node: Spoom::FileTree::Node).returns(T.nilable(String)) } def node_strictness(node); end sig { params(strictness: T.nilable(String)).returns(Spoom::Color) } def strictness_color(strictness); end end module Spoom::Git class << self sig { params(arg: String, path: String).returns([String, String, T::Boolean]) } def checkout(*arg, path: T.unsafe(nil)); end sig { params(sha: String, path: String).returns(T.nilable(Time)) } def commit_time(sha, path: T.unsafe(nil)); end sig { params(sha: String, path: String).returns(T.nilable(Integer)) } def commit_timestamp(sha, path: T.unsafe(nil)); end sig { params(path: String).returns(T.nilable(String)) } def current_branch(path: T.unsafe(nil)); end sig { params(arg: String, path: String).returns([String, String, T::Boolean]) } def diff(*arg, path: T.unsafe(nil)); end sig { params(timestamp: String).returns(Time) } def epoch_to_time(timestamp); end sig { params(command: String, arg: String, path: String).returns([String, String, T::Boolean]) } def exec(command, *arg, path: T.unsafe(nil)); end sig { params(path: String).returns(T.nilable(String)) } def last_commit(path: T.unsafe(nil)); end sig { params(arg: String, path: String).returns([String, String, T::Boolean]) } def log(*arg, path: T.unsafe(nil)); end sig { params(arg: String, path: String).returns([String, String, T::Boolean]) } def rev_parse(*arg, path: T.unsafe(nil)); end sig { params(arg: String, path: String).returns([String, String, T::Boolean]) } def show(*arg, path: T.unsafe(nil)); end sig { params(path: String).returns(T.nilable(String)) } def sorbet_intro_commit(path: T.unsafe(nil)); end sig { params(path: String).returns(T.nilable(String)) } def sorbet_removal_commit(path: T.unsafe(nil)); end sig { params(path: String).returns(T::Boolean) } def workdir_clean?(path: T.unsafe(nil)); end end end module Spoom::LSP; end class Spoom::LSP::Client def initialize(sorbet_bin, *sorbet_args, path: T.unsafe(nil)); end def close; end def definitions(uri, line, column); end def document_symbols(uri); end def hover(uri, line, column); end def next_id; end def open(workspace_path); end def read; end def read_raw; end def references(uri, line, column, include_decl = T.unsafe(nil)); end def send(message); end def send_raw(json_string); end def signatures(uri, line, column); end def symbols(query); end def type_definitions(uri, line, column); end end class Spoom::LSP::Diagnostic < ::T::Struct include ::Spoom::LSP::PrintableSymbol const :code, Integer const :informations, Object const :message, String const :range, Spoom::LSP::Range sig { override.params(printer: Spoom::LSP::SymbolPrinter).void } def accept_printer(printer); end def to_s; end class << self def from_json(json); end def inherited(s); end end end class Spoom::LSP::DocumentSymbol < ::T::Struct include ::Spoom::LSP::PrintableSymbol const :children, T::Array[Spoom::LSP::DocumentSymbol] const :detail, T.nilable(String) const :kind, Integer const :location, T.nilable(Spoom::LSP::Location) const :name, String const :range, T.nilable(Spoom::LSP::Range) sig { override.params(printer: Spoom::LSP::SymbolPrinter).void } def accept_printer(printer); end def kind_string; end def to_s; end class << self def from_json(json); end def inherited(s); end end end Spoom::LSP::DocumentSymbol::SYMBOL_KINDS = T.let(T.unsafe(nil), Hash) class Spoom::LSP::Error < ::StandardError; end class Spoom::LSP::Error::AlreadyOpen < ::Spoom::LSP::Error; end class Spoom::LSP::Error::BadHeaders < ::Spoom::LSP::Error; end class Spoom::LSP::Error::Diagnostics < ::Spoom::LSP::Error def initialize(uri, diagnostics); end def diagnostics; end def uri; end class << self def from_json(json); end end end class Spoom::LSP::Hover < ::T::Struct include ::Spoom::LSP::PrintableSymbol const :contents, String const :range, T.nilable(T::Range[T.untyped]) sig { override.params(printer: Spoom::LSP::SymbolPrinter).void } def accept_printer(printer); end def to_s; end class << self def from_json(json); end def inherited(s); end end end class Spoom::LSP::Location < ::T::Struct include ::Spoom::LSP::PrintableSymbol const :range, Spoom::LSP::Range const :uri, String sig { override.params(printer: Spoom::LSP::SymbolPrinter).void } def accept_printer(printer); end def to_s; end class << self def from_json(json); end def inherited(s); end end end class Spoom::LSP::Message def initialize; end def as_json; end def jsonrpc; end def to_json(*args); end end class Spoom::LSP::Notification < ::Spoom::LSP::Message def initialize(method, params); end def method; end def params; end end class Spoom::LSP::Position < ::T::Struct include ::Spoom::LSP::PrintableSymbol const :char, Integer const :line, Integer sig { override.params(printer: Spoom::LSP::SymbolPrinter).void } def accept_printer(printer); end def to_s; end class << self def from_json(json); end def inherited(s); end end end module Spoom::LSP::PrintableSymbol interface! sig { abstract.params(printer: Spoom::LSP::SymbolPrinter).void } def accept_printer(printer); end end class Spoom::LSP::Range < ::T::Struct include ::Spoom::LSP::PrintableSymbol const :end, Spoom::LSP::Position const :start, Spoom::LSP::Position sig { override.params(printer: Spoom::LSP::SymbolPrinter).void } def accept_printer(printer); end def to_s; end class << self def from_json(json); end def inherited(s); end end end class Spoom::LSP::Request < ::Spoom::LSP::Message def initialize(id, method, params); end def id; end def method; end def params; end end class Spoom::LSP::ResponseError < ::Spoom::LSP::Error def initialize(code, message, data); end def code; end def data; end def message; end class << self def from_json(json); end end end class Spoom::LSP::SignatureHelp < ::T::Struct include ::Spoom::LSP::PrintableSymbol const :doc, Object const :label, T.nilable(String) const :params, T::Array[T.untyped] sig { override.params(printer: Spoom::LSP::SymbolPrinter).void } def accept_printer(printer); end def to_s; end class << self def from_json(json); end def inherited(s); end end end class Spoom::LSP::SymbolPrinter < ::Spoom::Printer sig { params(out: T.any(IO, StringIO), colors: T::Boolean, indent_level: Integer, prefix: T.nilable(String)).void } def initialize(out: T.unsafe(nil), colors: T.unsafe(nil), indent_level: T.unsafe(nil), prefix: T.unsafe(nil)); end sig { params(uri: String).returns(String) } def clean_uri(uri); end def prefix; end def prefix=(_arg0); end sig { params(objects: T::Array[Spoom::LSP::PrintableSymbol]).void } def print_list(objects); end sig { params(object: T.nilable(Spoom::LSP::PrintableSymbol)).void } def print_object(object); end sig { params(objects: T::Array[Spoom::LSP::PrintableSymbol]).void } def print_objects(objects); end def seen; end def seen=(_arg0); end end class Spoom::Printer include ::Spoom::Colorize abstract! sig { params(out: T.any(IO, StringIO), colors: T::Boolean, indent_level: Integer).void } def initialize(out: T.unsafe(nil), colors: T.unsafe(nil), indent_level: T.unsafe(nil)); end sig { params(string: String, color: Spoom::Color).returns(String) } def colorize(string, *color); end sig { void } def dedent; end sig { void } def indent; end sig { returns(T.any(IO, StringIO)) } def out; end def out=(_arg0); end sig { params(string: T.nilable(String)).void } def print(string); end sig { params(string: T.nilable(String), color: Spoom::Color).void } def print_colored(string, *color); end sig { params(string: T.nilable(String)).void } def printl(string); end sig { void } def printn; end sig { void } def printt; end end Spoom::SPOOM_PATH = T.let(T.unsafe(nil), String) module Spoom::Sorbet class << self sig { params(arg: String, path: String, capture_err: T::Boolean, sorbet_bin: T.nilable(String)).returns([String, T::Boolean]) } def srb(*arg, path: T.unsafe(nil), capture_err: T.unsafe(nil), sorbet_bin: T.unsafe(nil)); end sig { params(config: Spoom::Sorbet::Config, path: String).returns(T::Array[String]) } def srb_files(config, path: T.unsafe(nil)); end sig { params(arg: String, path: String, capture_err: T::Boolean, sorbet_bin: T.nilable(String)).returns(T.nilable(T::Hash[String, Integer])) } def srb_metrics(*arg, path: T.unsafe(nil), capture_err: T.unsafe(nil), sorbet_bin: T.unsafe(nil)); end sig { params(arg: String, path: String, capture_err: T::Boolean, sorbet_bin: T.nilable(String)).returns([String, T::Boolean]) } def srb_tc(*arg, path: T.unsafe(nil), capture_err: T.unsafe(nil), sorbet_bin: T.unsafe(nil)); end sig { params(arg: String, path: String, capture_err: T::Boolean, sorbet_bin: T.nilable(String)).returns(T.nilable(String)) } def srb_version(*arg, path: T.unsafe(nil), capture_err: T.unsafe(nil), sorbet_bin: T.unsafe(nil)); end sig { params(gem: String, path: String).returns(T.nilable(String)) } def version_from_gemfile_lock(gem: T.unsafe(nil), path: T.unsafe(nil)); end end end Spoom::Sorbet::BIN_PATH = T.let(T.unsafe(nil), String) Spoom::Sorbet::CONFIG_PATH = T.let(T.unsafe(nil), String) class Spoom::Sorbet::Config sig { void } def initialize; end def allowed_extensions; end sig { returns(Spoom::Sorbet::Config) } def copy; end def ignore; end sig { returns(T::Boolean) } def no_stdlib; end def no_stdlib=(_arg0); end sig { returns(String) } def options_string; end sig { returns(T::Array[String]) } def paths; end class << self sig { params(sorbet_config_path: String).returns(Spoom::Sorbet::Config) } def parse_file(sorbet_config_path); end sig { params(sorbet_config: String).returns(Spoom::Sorbet::Config) } def parse_string(sorbet_config); end private sig { params(line: String).returns(String) } def parse_option(line); end end end module Spoom::Sorbet::Errors class << self sig { params(errors: T::Array[Spoom::Sorbet::Errors::Error]).returns(T::Array[Spoom::Sorbet::Errors::Error]) } def sort_errors_by_code(errors); end end end class Spoom::Sorbet::Errors::Error include ::Comparable sig { params(file: T.nilable(String), line: T.nilable(Integer), message: T.nilable(String), code: T.nilable(Integer), more: T::Array[String]).void } def initialize(file, line, message, code, more = T.unsafe(nil)); end sig { params(other: T.untyped).returns(Integer) } def <=>(other); end def code; end sig { returns(T.nilable(String)) } def file; end sig { returns(T.nilable(Integer)) } def line; end def message; end sig { returns(T::Array[String]) } def more; end sig { returns(String) } def to_s; end end class Spoom::Sorbet::Errors::Parser sig { void } def initialize; end sig { params(output: String).returns(T::Array[Spoom::Sorbet::Errors::Error]) } def parse(output); end private sig { params(line: String).void } def append_error(line); end sig { void } def close_error; end sig { params(line: String).returns(T.nilable(Spoom::Sorbet::Errors::Error)) } def match_error_line(line); end sig { params(error: Spoom::Sorbet::Errors::Error).void } def open_error(error); end class << self sig { params(output: String).returns(T::Array[Spoom::Sorbet::Errors::Error]) } def parse_string(output); end end end Spoom::Sorbet::Errors::Parser::ERROR_LINE_MATCH_REGEX = T.let(T.unsafe(nil), Regexp) Spoom::Sorbet::Errors::Parser::HEADER = T.let(T.unsafe(nil), Array) Spoom::Sorbet::GEM_PATH = T.let(T.unsafe(nil), String) module Spoom::Sorbet::MetricsParser class << self sig { params(path: String, prefix: String).returns(T::Hash[String, Integer]) } def parse_file(path, prefix = T.unsafe(nil)); end sig { params(obj: T::Hash[String, T.untyped], prefix: String).returns(T::Hash[String, Integer]) } def parse_hash(obj, prefix = T.unsafe(nil)); end sig { params(string: String, prefix: String).returns(T::Hash[String, Integer]) } def parse_string(string, prefix = T.unsafe(nil)); end end end Spoom::Sorbet::MetricsParser::DEFAULT_PREFIX = T.let(T.unsafe(nil), String) module Spoom::Sorbet::Sigils class << self sig { params(path: T.any(Pathname, String), new_strictness: String).returns(T::Boolean) } def change_sigil_in_file(path, new_strictness); end sig { params(path_list: T::Array[String], new_strictness: String).returns(T::Array[String]) } def change_sigil_in_files(path_list, new_strictness); end sig { params(path: T.any(Pathname, String)).returns(T.nilable(String)) } def file_strictness(path); end sig { params(directory: T.any(Pathname, String), strictness: String, extension: String).returns(T::Array[String]) } def files_with_sigil_strictness(directory, strictness, extension: T.unsafe(nil)); end sig { params(strictness: String).returns(String) } def sigil_string(strictness); end sig { params(content: String).returns(T.nilable(String)) } def strictness_in_content(content); end sig { params(content: String, new_strictness: String).returns(String) } def update_sigil(content, new_strictness); end sig { params(strictness: String).returns(T::Boolean) } def valid_strictness?(strictness); end end end Spoom::Sorbet::Sigils::SIGIL_REGEXP = T.let(T.unsafe(nil), Regexp) Spoom::Sorbet::Sigils::STRICTNESS_FALSE = T.let(T.unsafe(nil), String) Spoom::Sorbet::Sigils::STRICTNESS_IGNORE = T.let(T.unsafe(nil), String) Spoom::Sorbet::Sigils::STRICTNESS_INTERNAL = T.let(T.unsafe(nil), String) Spoom::Sorbet::Sigils::STRICTNESS_STRICT = T.let(T.unsafe(nil), String) Spoom::Sorbet::Sigils::STRICTNESS_STRONG = T.let(T.unsafe(nil), String) Spoom::Sorbet::Sigils::STRICTNESS_TRUE = T.let(T.unsafe(nil), String) Spoom::Sorbet::Sigils::VALID_STRICTNESS = T.let(T.unsafe(nil), Array) class Spoom::Timeline sig { params(from: Time, to: Time, path: String).void } def initialize(from, to, path: T.unsafe(nil)); end sig { params(dates: T::Array[Time]).returns(T::Array[String]) } def commits_for_dates(dates); end sig { returns(T::Array[Time]) } def months; end sig { returns(T::Array[String]) } def ticks; end end Spoom::VERSION = T.let(T.unsafe(nil), String)