Skip to content

Add interface for walking whole config #23

Open
@docwhat

Description

@docwhat

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions