There is no easy way to walk through all the Hosts in a config file if it uses Include. You have to basically detect that there is an include and manually load each config (taking wildcards into account) and walk them.
Instead, it would be nice if:
Config.Expand() returned a Config with all the includes expanded, which would allow Config.Hosts to show all hosts.
- A
Config.walk(callback Function(host Host)) was added.
My use case is I'm trying to write an ssh-completion script that returns all possible completions for use with shells and fzf.
Ideally, if it was passed a partial string (e.g. ssh-host-lister gith) it would narrow the results down to ones that start with or contain gith.
I have another use case, which is that openssh versions prior to 7.3 do not handle Include. This could be used to flatten multiple configuration files (via Include) into one.
There is no easy way to walk through all the
Hosts in a config file if it usesInclude. You have to basically detect that there is an include and manually load each config (taking wildcards into account) and walk them.Instead, it would be nice if:
Config.Expand()returned aConfigwith all the includes expanded, which would allowConfig.Hoststo show all hosts.Config.walk(callback Function(host Host))was added.My use case is I'm trying to write an ssh-completion script that returns all possible completions for use with shells and fzf.
Ideally, if it was passed a partial string (e.g.
ssh-host-lister gith) it would narrow the results down to ones that start with or containgith.I have another use case, which is that openssh versions prior to 7.3 do not handle
Include. This could be used to flatten multiple configuration files (via Include) into one.