(args []string, currentPath string, source fileStatProvider)
| 790 | } |
| 791 | |
| 792 | func rewriteDownloadLikeArgs(args []string, currentPath string, source fileStatProvider) ([]string, error) { |
| 793 | rewritten := make([]string, 0, len(args)) |
| 794 | stopFlags := false |
| 795 | pathValue := "" |
| 796 | hasParentID := false |
| 797 | |
| 798 | for i := 0; i < len(args); i++ { |
| 799 | token := args[i] |
| 800 | if stopFlags { |
| 801 | matches, err := expandRemotePatternToken(token, pathValue, currentPath, source, true) |
| 802 | if err != nil { |
| 803 | return nil, err |
| 804 | } |
| 805 | rewritten = append(rewritten, matches...) |
| 806 | continue |
| 807 | } |
| 808 | |
| 809 | switch { |
| 810 | case token == "--": |
| 811 | stopFlags = true |
| 812 | rewritten = append(rewritten, token) |
| 813 | case token == "--path" || token == "-p": |
| 814 | rewritten = append(rewritten, token) |
| 815 | if i+1 < len(args) { |
| 816 | pathValue = args[i+1] |
| 817 | rewritten = append(rewritten, pathValue) |
| 818 | i++ |
| 819 | } |
| 820 | case strings.HasPrefix(token, "--path="): |
| 821 | pathValue = strings.TrimPrefix(token, "--path=") |
| 822 | rewritten = append(rewritten, token) |
| 823 | case strings.HasPrefix(token, "-p="): |
| 824 | pathValue = strings.TrimPrefix(token, "-p=") |
| 825 | rewritten = append(rewritten, token) |
| 826 | case token == "--parent-id" || token == "-P": |
| 827 | hasParentID = true |
| 828 | rewritten = append(rewritten, token) |
| 829 | if i+1 < len(args) { |
| 830 | rewritten = append(rewritten, args[i+1]) |
| 831 | i++ |
| 832 | } |
| 833 | case strings.HasPrefix(token, "--parent-id=") || strings.HasPrefix(token, "-P="): |
| 834 | hasParentID = true |
| 835 | rewritten = append(rewritten, token) |
| 836 | default: |
| 837 | if consumesNextValue(token) { |
| 838 | rewritten = append(rewritten, token) |
| 839 | if i+1 < len(args) { |
| 840 | rewritten = append(rewritten, args[i+1]) |
| 841 | i++ |
| 842 | } |
| 843 | continue |
| 844 | } |
| 845 | if strings.HasPrefix(token, "-") { |
| 846 | rewritten = append(rewritten, token) |
| 847 | continue |
| 848 | } |
| 849 | if hasParentID && pathValue == "" && hasWildcard(token) { |
no test coverage detected