Skip to content

Commit 2969968

Browse files
committed
fix: remove --exec option
1 parent c2716a7 commit 2969968

3 files changed

Lines changed: 18 additions & 24 deletions

File tree

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
cmake_minimum_required(VERSION 3.22)
33
project(scc
44
LANGUAGES CXX
5-
VERSION 0.1.0
5+
VERSION 0.2.0
66
)
77
set(CMAKE_CXX_STANDARD 20)
88
set(CMAKE_CXX_STANDARD_REQUIRED ON)

include/scc_app.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ struct State {
1717
std::vector<std::string> items;
1818
int selected = 0;
1919
bool quit = false;
20-
bool do_exec = false;
20+
2121
bool no_print = false;
2222
std::optional<std::string> pending_cmd;
2323
};

src/main.cc

Lines changed: 16 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,7 @@ int main(int argc, char *argv[]) {
1616
program.add_argument("--config")
1717
.help("Path to ssh config file")
1818
.default_value(std::string{});
19-
program.add_argument("--exec")
20-
.help("Execute ssh after selection")
21-
.default_value(false)
22-
.implicit_value(true);
19+
2320
program.add_argument("--no-print")
2421
.help("Do not print the command to stdout")
2522
.default_value(false)
@@ -56,7 +53,6 @@ int main(int argc, char *argv[]) {
5653
st.items = std::move(items);
5754
st.selected = 0;
5855
st.quit = false;
59-
st.do_exec = program.get<bool>("--exec");
6056
st.no_print = program.get<bool>("--no-print");
6157
st.pending_cmd.reset();
6258

@@ -70,24 +66,22 @@ int main(int argc, char *argv[]) {
7066
if (!st.no_print) {
7167
std::cout << *st.pending_cmd << std::endl;
7268
}
73-
if (st.do_exec) {
74-
std::string dest = scc_app::BuildDest(st.connections[st.selected]);
75-
std::vector<std::string> args_str = {"ssh", dest};
76-
std::vector<char *> args;
77-
args.reserve(args_str.size() + 1);
78-
for (auto &s : args_str) {
79-
args.push_back(s.data());
80-
}
81-
args.push_back(nullptr);
82-
const char *ssh_path = "/usr/bin/ssh";
83-
if (::access(ssh_path, X_OK) == 0) {
84-
::execv(ssh_path, args.data());
85-
} else {
86-
::execvp("ssh", args.data());
87-
}
88-
std::perror("exec ssh failed");
89-
return 127;
69+
std::string dest = scc_app::BuildDest(st.connections[st.selected]);
70+
std::vector<std::string> args_str = {"ssh", dest};
71+
std::vector<char *> args;
72+
args.reserve(args_str.size() + 1);
73+
for (auto &s : args_str) {
74+
args.push_back(s.data());
75+
}
76+
args.push_back(nullptr);
77+
const char *ssh_path = "/usr/bin/ssh";
78+
if (::access(ssh_path, X_OK) == 0) {
79+
::execv(ssh_path, args.data());
80+
} else {
81+
::execvp("ssh", args.data());
9082
}
83+
std::perror("exec ssh failed");
84+
return 127;
9185
}
9286

9387
return 0;

0 commit comments

Comments
 (0)