File tree Expand file tree Collapse file tree 2 files changed +12
-3
lines changed
Expand file tree Collapse file tree 2 files changed +12
-3
lines changed Original file line number Diff line number Diff line change @@ -25,9 +25,17 @@ module Geode::Commands
2525 warn " Shard '#{ name } ' is not installed but listed as a dependency"
2626 end
2727
28- if shard.dependencies.delete(name) || shard.development.delete(name)
29- # TODO: this should really update shard.yml but the YAML module does it really badly
30- # This may require a custom shard.yml file parser
28+ key = if shard.dependencies.delete(name)
29+ " dependencies"
30+ elsif shard.development.delete(name)
31+ " development_dependencies"
32+ end
33+
34+ if key
35+ doc = StrictYAML .parse_document File .read(" ./shard.yml" ), preserve: true
36+ doc.edit & .remove [key, shard.name]
37+ File .write " ./shard.yml" , doc
38+
3139 success " Removed shard '#{ name } '"
3240 removed = true
3341 elsif untracked
Original file line number Diff line number Diff line change @@ -5,6 +5,7 @@ require "crystal-lua"
55require " file_utils"
66require " license"
77require " shards/commands/install"
8+ require " strict-yaml"
89require " trigram"
910require " wait_group"
1011require " yaml"
You can’t perform that action at this time.
0 commit comments