brew/Library/Homebrew/bundle/vscode_extension_dumper.rb
2025-08-21 17:27:36 +08:00

31 lines
720 B
Ruby

# typed: strict
# frozen_string_literal: true
module Homebrew
module Bundle
module VscodeExtensionDumper
sig { void }
def self.reset!
@extensions = nil
end
sig { returns(T::Array[String]) }
def self.extensions
@extensions ||= T.let(nil, T.nilable(T::Array[String]))
@extensions ||= if Bundle.vscode_installed?
Bundle.exchange_uid_if_needed! do
`"#{Bundle.which_vscode}" --list-extensions 2>/dev/null`
end.split("\n").map(&:downcase)
else
[]
end
end
sig { returns(String) }
def self.dump
extensions.map { |name| "vscode \"#{name}\"" }.join("\n")
end
end
end
end