fullstorydev / fullstorydev/grpcurl

Bash completion for RPC names

Open
#544 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
12.8k
Forks
580
Avg merge
1h 8m
Merged PRs (30d)
5

Description

It would be a really nice enhancement to the usability of the tool if you could auto-complete the names of RPCs. I often find it difficult to type out the `..` fully from memory and end up having to use several `list` commands to jog my memory before my actual intended command. I'm imagining this would look like:

```
$ grpcurl -plaintext localhost:50051
# when the user presses tab, shows a list of service names
myapp.LogsService
myapp.UsersService

$ grpcurl -plaintext localhost:50051 myapp.LogsService
# when the user presses tab, shows a list of RPC names
myapp.LogsService.ListLogs
myapp.LogsService.DownloadLogs

$ grpcurl -plaintext locaclhost:50051 myapp.LogsService.List
# when the user presses tab, auto-completes to myapp.LogsService.ListLogs
```

I did a quick search and haven't seen this proposed before but apologies if I missed any duplicates.

The main challenge as far as I can see is populating the available entries for completion -- the scenario I've described above would require server reflection, and even then it _could_ be slow if you make a reflection request on every tab so there might be some tricks needed.

Is this something that would be appreciated as an addition to the tool? I'm happy to attempt making a PR (with my sharply limited Go expertise) if so.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.