on main help sign in
fix: lsp/mcp command expand ~ (#1105)

* fix(lsp): powernap load by name Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com> * fix(mcp): expand command Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com> * fix(lsp): expand command Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com> --------- Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

commit1f35d54ac294f61297be4584f4ccb387207028f2 authorCarlos Alexandro Becker <caarlos0@users.noreply.github.com> dateTue 23 Sep 2025, 09:07 (1 year ago) parent701e550
3 files changed+5−3
internal/config/load.go+1−1 internal/llm/agent/mcp-tools.go+2−1 internal/lsp/client.go+2−1
internal/config/load.go+1−1
@@ -352,7 +352,7 @@ func (c *Config) applyLSPDefaults() {
352352 // Apply defaults to each LSP configuration
353353 for name, cfg := range c.LSP {
354354 // Try to get defaults from powernap based on command name
355− base, ok := configManager.GetServer(cfg.Command)
355+ base, ok := configManager.GetServer(name)
356356 if !ok {
357357 continue
358358 }
internal/llm/agent/mcp-tools.go+2−1
@@ -15,6 +15,7 @@ import (
1515
1616 "github.com/charmbracelet/crush/internal/config"
1717 "github.com/charmbracelet/crush/internal/csync"
18+ "github.com/charmbracelet/crush/internal/home"
1819 "github.com/charmbracelet/crush/internal/llm/tools"
1920 "github.com/charmbracelet/crush/internal/permission"
2021 "github.com/charmbracelet/crush/internal/pubsub"
@@ -360,7 +361,7 @@ func createMcpClient(name string, m config.MCPConfig) (*client.Client, error) {
360361 return nil, fmt.Errorf("mcp stdio config requires a non-empty 'command' field")
361362 }
362363 return client.NewStdioMCPClientWithOptions(
363− m.Command,
364+ home.Long(m.Command),
364365 m.ResolvedEnv(),
365366 m.Args,
366367 transport.WithCommandLogger(mcpLogger{name: name}),
internal/lsp/client.go+2−1
@@ -15,6 +15,7 @@ import (
1515 "github.com/charmbracelet/crush/internal/config"
1616 "github.com/charmbracelet/crush/internal/csync"
1717 "github.com/charmbracelet/crush/internal/fsext"
18+ "github.com/charmbracelet/crush/internal/home"
1819 powernap "github.com/charmbracelet/x/powernap/pkg/lsp"
1920 "github.com/charmbracelet/x/powernap/pkg/lsp/protocol"
2021 "github.com/charmbracelet/x/powernap/pkg/transport"
@@ -55,7 +56,7 @@ func New(ctx context.Context, name string, config config.LSPConfig) (*Client, er
5556
5657 // Create powernap client config
5758 clientConfig := powernap.ClientConfig{
58− Command: config.Command,
59+ Command: home.Long(config.Command),
5960 Args: config.Args,
6061 RootURI: rootURI,
6162 Environment: func() map[string]string {