Repository: rclone/rclone
File: backend/sftp/sftp.go (Go)

Code before:
		}, {
			Name:     "sha1sum_command",
			Default:  "",
			Help:     "The command used to read sha1 hashes. Leave blank for autodetect.",
			Advanced: true,
		}, {
			Name:     "skip_links",
			Default:  false,
			Help:     "Set to skip any symlinks and any other non regular files.",
			Advanced: true,
		}, {
			Name:     "subsystem",
			Default:  "sftp",
			Help:     "Specifies the SSH2 subsystem on the remote host.",
			Advanced: true,
		}, {
			Name:     "sftp_server",
			Default:  "",
			Help:     "Specifies the path or command to run a sftp server on the remote host. The subsystem option is ignored when sftp_server is defined.",
			Advanced: true,
		}},
	}
	fs.Register(fsi)
}

// Options defines the configuration for this backend
type Options struct {
	Host              string `config:"host"`
	User              string `config:"user"`
	Port              string `config:"port"`
	Pass              string `config:"pass"`
	KeyPem            string `config:"key_pem"`
	KeyFile           string `config:"key_file"`
	KeyFilePass       string `config:"key_file_pass"`
	KeyUseAgent       bool   `config:"key_use_agent"`
	UseInsecureCipher bool   `config:"use_insecure_cipher"`
	DisableHashCheck  bool   `config:"disable_hashcheck"`
	AskPassword       bool   `config:"ask_password"`
	PathOverride      string `config:"path_override"`
	SetModTime        bool   `config:"set_modtime"`
	Md5sumCommand     string `config:"md5sum_command"`
	Sha1sumCommand    string `config:"sha1sum_command"`
	SkipLinks         bool   `config:"skip_links"`
	Subsystem         string `config:"subsystem"`
	SftpServer        string `config:"sftp_server"`
}

// Fs stores the interface to the remote SFTP files
type Fs struct {
	name         string
	root         string

Review comment (refactor):
Can you break this line into two parts - the first line makes the option help text for `--sftp-server` and its too long!

`Specifies the path or command to run a sftp server on the remote host.

The subsystem option is ignored when sftp_server is defined.`



Code after:
		}, {
			Name:     "sha1sum_command",
			Default:  "",
			Help:     "The command used to read sha1 hashes. Leave blank for autodetect.",
			Advanced: true,
		}, {
			Name:     "skip_links",
			Default:  false,
			Help:     "Set to skip any symlinks and any other non regular files.",
			Advanced: true,
		}, {
			Name:     "subsystem",
			Default:  "sftp",
			Help:     "Specifies the SSH2 subsystem on the remote host.",
			Advanced: true,
		}, {
			Name:    "server_command",
			Default: "",
			Help: `Specifies the path or command to run a sftp server on the remote host.

The subsystem option is ignored when server_command is defined.`,
			Advanced: true,
		}},
	}
	fs.Register(fsi)
}

// Options defines the configuration for this backend
type Options struct {
	Host              string `config:"host"`
	User              string `config:"user"`
	Port              string `config:"port"`
	Pass              string `config:"pass"`
	KeyPem            string `config:"key_pem"`
	KeyFile           string `config:"key_file"`
	KeyFilePass       string `config:"key_file_pass"`
	KeyUseAgent       bool   `config:"key_use_agent"`
	UseInsecureCipher bool   `config:"use_insecure_cipher"`
	DisableHashCheck  bool   `config:"disable_hashcheck"`
	AskPassword       bool   `config:"ask_password"`
	PathOverride      string `config:"path_override"`
	SetModTime        bool   `config:"set_modtime"`
	Md5sumCommand     string `config:"md5sum_command"`
	Sha1sumCommand    string `config:"sha1sum_command"`
	SkipLinks         bool   `config:"skip_links"`
	Subsystem         string `config:"subsystem"`
	ServerCommand     string `config:"server_command"`
}

// Fs stores the interface to the remote SFTP files
type Fs struct {