Browse Source

LanguageServers/Shell: Port to LibMain :^)

Andreas Kling 3 years ago
parent
commit
c2b90bab9f

+ 1 - 1
Userland/DevTools/HackStudio/LanguageServers/Shell/CMakeLists.txt

@@ -16,4 +16,4 @@ serenity_bin(ShellLanguageServer)
 
 # We link with LibGUI because we use GUI::TextDocument to update
 # the content of files according to the edit actions we receive over IPC.
-target_link_libraries(ShellLanguageServer LibIPC LibShell LibGUI LibLanguageServer)
+target_link_libraries(ShellLanguageServer LibIPC LibShell LibGUI LibLanguageServer LibMain)

+ 6 - 17
Userland/DevTools/HackStudio/LanguageServers/Shell/main.cpp

@@ -5,32 +5,21 @@
  */
 
 #include "ClientConnection.h"
-#include <AK/LexicalPath.h>
 #include <LibCore/EventLoop.h>
-#include <LibCore/File.h>
 #include <LibCore/LocalServer.h>
 #include <LibIPC/ClientConnection.h>
-#include <sys/stat.h>
-#include <unistd.h>
+#include <LibMain/Main.h>
+#include <LibSystem/Wrappers.h>
 
-int main(int, char**)
+ErrorOr<int> serenity_main(Main::Arguments)
 {
     Core::EventLoop event_loop;
-    if (pledge("stdio unix rpath recvfd", nullptr) < 0) {
-        perror("pledge");
-        return 1;
-    }
+    TRY(System::pledge("stdio unix rpath recvfd", nullptr));
 
     auto socket = Core::LocalSocket::take_over_accepted_socket_from_system_server();
     IPC::new_client_connection<LanguageServers::Shell::ClientConnection>(socket.release_nonnull(), 1);
-    if (pledge("stdio rpath recvfd", nullptr) < 0) {
-        perror("pledge");
-        return 1;
-    }
-    if (unveil("/etc/passwd", "r") < 0) {
-        perror("unveil");
-        return 1;
-    }
+    TRY(System::pledge("stdio rpath recvfd", nullptr));
+    TRY(System::unveil("/etc/passwd", "r"));
 
     return event_loop.exec();
 }