andrewchambers / janetsh

A powerful new shell that uses the janet programming language for both the implementation and repl.
https://janet-shell.org
MIT License
370 stars 13 forks source link

User callback for argument completion #201

Open ALSchwalm opened 5 years ago

ALSchwalm commented 5 years ago

It would be nice to allow users to register callbacks for completing a command. This would allow them to keep the normal completion logic we have while getting custom stuff for completing e.g. git. It would also save people from needing to redundantly implement parsing logic, etc. I'm thinking something like: https://elv.sh/ref/edit.html#argument-completer

It would probably be best to wait to do this until after janet-lang/janet#121 is implemented, but I thought I'd go ahead and open an issue.

andrewchambers commented 5 years ago

I think it is reasonable to guide people in the right direction on this without necessarily implementing everything ourselves, so I agree a common extension point is reasonable.

andrewchambers commented 5 years ago

Another thought, once the coprocess function is added, people can spawn completion servers implemented in other shells which will be cool.