support shell lsp
diff --git a/server/lsp-server.py b/server/lsp-server.py
index a56e021..29a6654 100644
--- a/server/lsp-server.py
+++ b/server/lsp-server.py
@@ -59,10 +59,19 @@
     )
 
 
+class ShellWebSocketHandler(LanguageWebSocketHandler):
+    proc = process.Subprocess(
+        ['bash-language-server', 'start'],
+        stdin=subprocess.PIPE,
+        stdout=subprocess.PIPE
+    )
+
+
 if __name__ == "__main__":
     app = web.Application([
         (r"/python", PythonWebSocketHandler),
-        (r"/sql", SQLWebSocketHandler)
+        (r"/sql", SQLWebSocketHandler),
+        (r"/shell", ShellWebSocketHandler)
     ])
     app.listen(3001)
     ioloop.IOLoop.current().start()
diff --git a/studio/components/monaco/index.tsx b/studio/components/monaco/index.tsx
index b014373..7d4cb46 100644
--- a/studio/components/monaco/index.tsx
+++ b/studio/components/monaco/index.tsx
@@ -87,7 +87,7 @@
         name: 'Studio Language Client',
         clientOptions: {
           // use a language id as a document selector
-          documentSelector: ['python', 'sql'],
+          documentSelector: ['python', 'sql', 'shell'],
           // disable the default error handler
           errorHandler: {
             error: () => ({ action: ErrorAction.Continue }),