2025-03-18 17:38:37 +00:00
|
|
|
# typed: true # rubocop:todo Sorbet/StrictSigil
|
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
module Homebrew
|
|
|
|
module Bundle
|
|
|
|
module VscodeExtensionDumper
|
2025-03-21 04:24:55 +00:00
|
|
|
def self.reset!
|
2025-03-18 17:38:37 +00:00
|
|
|
@extensions = nil
|
|
|
|
end
|
|
|
|
|
2025-03-21 04:24:55 +00:00
|
|
|
def self.extensions
|
2025-03-18 17:38:37 +00:00
|
|
|
@extensions ||= if Bundle.vscode_installed?
|
|
|
|
Bundle.exchange_uid_if_needed! do
|
2025-03-19 11:42:37 +00:00
|
|
|
`"#{Bundle.which_vscode}" --list-extensions 2>/dev/null`
|
2025-03-18 17:38:37 +00:00
|
|
|
end.split("\n").map(&:downcase)
|
|
|
|
else
|
|
|
|
[]
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2025-03-21 04:24:55 +00:00
|
|
|
def self.dump
|
2025-03-18 17:38:37 +00:00
|
|
|
extensions.map { |name| "vscode \"#{name}\"" }.join("\n")
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|