Skip to content

Commit dd9599c

Browse files
committed
Land rapid7#7832, Rex::Text::Table workspace moved to -v
2 parents 83ef454 + 77c78fa commit dd9599c

File tree

2 files changed

+36
-3
lines changed
  • lib/msf/ui/console/command_dispatcher
  • spec/lib/msf/ui/console/command_dispatcher

2 files changed

+36
-3
lines changed

lib/msf/ui/console/command_dispatcher/db.rb

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ def active?
8686
def cmd_workspace_help
8787
print_line "Usage:"
8888
print_line " workspace List workspaces"
89+
print_line " workspace -v List workspaces verbosely"
8990
print_line " workspace [name] Switch workspace"
9091
print_line " workspace -a [name] ... Add workspace(s)"
9192
print_line " workspace -d [name] ... Delete workspace(s)"
@@ -111,6 +112,8 @@ def cmd_workspace(*args)
111112
delete_all = true
112113
when '-r','--rename'
113114
renaming = true
115+
when '-v'
116+
verbose = true
114117
else
115118
names ||= []
116119
names << arg
@@ -178,12 +181,21 @@ def cmd_workspace(*args)
178181
end
179182
else
180183
workspace = framework.db.workspace
184+
185+
unless verbose
186+
framework.db.workspaces.each do |ws|
187+
pad = (ws == workspace) ? '* ' : ' '
188+
print_line("#{pad}#{ws.name}")
189+
end
190+
return
191+
end
192+
181193
col_names = %w{current name hosts services vulns creds loots notes}
182194

183195
tbl = Rex::Text::Table.new(
184196
'Header' => 'Workspaces',
185197
'Columns' => col_names,
186-
'SortIndex' => 1
198+
'SortIndex' => -1
187199
)
188200

189201
# List workspaces

spec/lib/msf/ui/console/command_dispatcher/db_spec.rb

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -542,9 +542,29 @@
542542
db.cmd_workspace "-D"
543543
@output = []
544544
end
545+
545546
describe "<no arguments>" do
546547
it "should list default workspace" do
547548
db.cmd_workspace
549+
expect(@output).to match_array [
550+
"* default"
551+
]
552+
end
553+
554+
it "should list all workspaces" do
555+
db.cmd_workspace("-a", "foo")
556+
@output = []
557+
db.cmd_workspace
558+
expect(@output).to match_array [
559+
" default",
560+
"* foo"
561+
]
562+
end
563+
end
564+
565+
describe "-v" do
566+
it "should list default workspace verbosely" do
567+
db.cmd_workspace("-v")
548568
expect(@output).to match_array [
549569
"",
550570
"Workspaces",
@@ -555,10 +575,10 @@
555575
]
556576
end
557577

558-
it "should list all workspaces" do
578+
it "should list all workspaces verbosely" do
559579
db.cmd_workspace("-a", "foo")
560580
@output = []
561-
db.cmd_workspace
581+
db.cmd_workspace("-v")
562582
expect(@output).to match_array [
563583
"",
564584
"Workspaces",
@@ -613,6 +633,7 @@
613633
expect(@output).to match_array [
614634
"Usage:",
615635
" workspace List workspaces",
636+
" workspace -v List workspaces verbosely",
616637
" workspace [name] Switch workspace",
617638
" workspace -a [name] ... Add workspace(s)",
618639
" workspace -d [name] ... Delete workspace(s)",

0 commit comments

Comments
 (0)