@@ -3,7 +3,6 @@ package app
5 "database/sql"
5 "database/sql"
8 "github.com/kujtimiihoxha/termai/internal/config"
7 "github.com/kujtimiihoxha/termai/internal/config"
9 "github.com/kujtimiihoxha/termai/internal/db"
8 "github.com/kujtimiihoxha/termai/internal/db"
@@ -23,8 +22,6 @@ type App struct {
23 Permissions permission.Service
22 Permissions permission.Service
25 LSPClients map[string]*lsp.Client
24 LSPClients map[string]*lsp.Client
30func New(ctx context.Context, conn *sql.DB) *App {
27func New(ctx context.Context, conn *sql.DB) *App {
@@ -44,10 +41,7 @@ func New(ctx context.Context, conn *sql.DB) *App {
46 for name, client := range cfg.LSP {
43 for name, client := range cfg.LSP {
47− lspClient, err := lsp.NewClient(client.Command, client.Args...)
44+ lspClient, err := lsp.NewClient(ctx, client.Command, client.Args...)
48− app.ceanups = append(app.ceanups, func() {
51 workspaceWatcher := watcher.NewWorkspaceWatcher(lspClient)
45 workspaceWatcher := watcher.NewWorkspaceWatcher(lspClient)
52 if err != nil {
46 if err != nil {
53 logging.Error("Failed to create LSP client for", name, err)
47 logging.Error("Failed to create LSP client for", name, err)
@@ -64,13 +58,3 @@ func New(ctx context.Context, conn *sql.DB) *App {
65 return app
59 return app
68−func (a *App) Close() {
69− for _, cleanup := range a.ceanups {
72− for _, client := range a.LSPClients {
75− slog.Info("App closed")