Skip to content

Commit 8e25ec3

Browse files
committed
inshellisense: dynamic list
1 parent ad24c15 commit 8e25ec3

5 files changed

Lines changed: 28 additions & 707 deletions

File tree

.docker/inshellisense.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
services:
2+
inshellisense:
3+
build:
4+
context: inshellisense
5+
image: ghcr.io/carapace-sh/carapace-bridge:inshellisense
6+
hostname: carapace-bridge:inshellisense
7+
volumes:
8+
- '..:/carapace-bridge:ro'

.docker/inshellisense/Dockerfile

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
FROM node:22-alpine
2+
3+
RUN npm install -g @microsoft/inshellisense@0.0.1-rc.21
4+
5+
ENTRYPOINT ["inshellisense"]

compose.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,5 @@ include:
77
- ./.docker/urfavecli.yaml
88
- ./.docker/urfavecliV1.yaml
99
- ./.docker/yargs.yaml
10+
11+
- ./.docker/inshellisense.yaml

pkg/bridges/inshellisense.go

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,26 @@
11
package bridges
22

3-
import "github.com/carapace-sh/carapace/pkg/execlog"
3+
import (
4+
"encoding/json"
5+
6+
"github.com/carapace-sh/carapace/pkg/execlog"
7+
)
48

59
func Inshellisense() []string {
610
if _, err := execlog.LookPath("inshellisense"); err != nil {
711
return []string{}
812
}
913

1014
return cache("inshellisense", func() ([]string, error) {
11-
// out, err := execlog.Command("inshellisense", "list").Output()
12-
// if err != nil {
13-
// return []string{}
14-
// }
15+
out, err := execlog.Command("inshellisense", "specs", "list").Output()
16+
if err != nil {
17+
return nil, err
18+
}
1519

16-
// var entries []string
17-
// if err := json.Unmarshal(out, &entries); err != nil {
18-
// return []string{}
19-
// }
20-
// TODO hardcoded for now (https://github.com/microsoft/inshellisense/pull/154)
21-
entries := inshellisenseCompleters
20+
var entries []string
21+
if err := json.Unmarshal(out, &entries); err != nil {
22+
return nil, err
23+
}
2224

2325
unique := make(map[string]bool)
2426
for _, entry := range entries {

0 commit comments

Comments
 (0)