SYMBOL INDEX (347 symbols across 46 files) FILE: cli/del/del.go function init (line 45) | func init() { function groupDeleteTargets (line 49) | func groupDeleteTargets(args []string, forceParentPath bool) map[string]... function deleteEntries (line 73) | func deleteEntries(p *api.PikPak, parentPath string, names []string) err... FILE: cli/download/download.go type warpFile (line 68) | type warpFile struct type warpStat (line 73) | type warpStat struct constant progressNameMaxRunes (line 78) | progressNameMaxRunes = 36 function init (line 80) | func init() { type downloadTargetResolver (line 88) | type downloadTargetResolver interface function handleDownload (line 94) | func handleDownload(cmd *cobra.Command, p *api.PikPak, args []string) { function requiresExplicitOutputFlag (line 111) | func requiresExplicitOutputFlag(cmd *cobra.Command, args []string) bool { function downloadTarget (line 124) | func downloadTarget(p *api.PikPak, arg string) { function downloadFolder (line 146) | func downloadFolder(p *api.PikPak, folderID string, rootOutput string) { function downloadStats (line 152) | func downloadStats(p *api.PikPak, collectStat []warpStat) { function recursive (line 210) | func recursive(p *api.PikPak, collectWarpFile *[]warpStat, parentId stri... function downloadFiles (line 231) | func downloadFiles(p *api.PikPak, files []warpFile) { function startDownloadWorkers (line 248) | func startDownloadWorkers(sendCh <-chan warpFile, receiveCh chan<- struc... function resolveDownloadTarget (line 264) | func resolveDownloadTarget(p downloadTargetResolver, arg string) (api.Fi... function remoteTargetPath (line 295) | func remoteTargetPath(arg string) string { function localOutputRoot (line 307) | func localOutputRoot(name string) string { function mustGetFile (line 314) | func mustGetFile(p *api.PikPak, stat api.FileStat) *api.File { function progressDisplayName (line 324) | func progressDisplayName(warp warpFile) string { function trimRunes (line 332) | func trimRunes(value string, max int) string { function download (line 343) | func download(inCh <-chan warpFile, out chan<- struct{}, pb *mpb.Progres... FILE: cli/download/download_test.go type fakeTargetResolver (line 13) | type fakeTargetResolver struct method GetFileByPath (line 19) | func (f fakeTargetResolver) GetFileByPath(path string) (api.FileStat, ... method GetFileStat (line 23) | func (f fakeTargetResolver) GetFileStat(parentId string, name string) ... method GetPathFolderId (line 27) | func (f fakeTargetResolver) GetPathFolderId(dirPath string) (string, e... function TestRemoteTargetPathJoinsBasePath (line 31) | func TestRemoteTargetPathJoinsBasePath(t *testing.T) { function TestResolveDownloadTargetUsesParentIDForDirectChild (line 42) | func TestResolveDownloadTargetUsesParentIDForDirectChild(t *testing.T) { function TestResolveDownloadTargetJoinsBasePathForNestedArg (line 72) | func TestResolveDownloadTargetJoinsBasePathForNestedArg(t *testing.T) { function TestResolveDownloadTargetWithoutArgsUsesBaseFolder (line 101) | func TestResolveDownloadTargetWithoutArgsUsesBaseFolder(t *testing.T) { function TestRequiresExplicitOutputFlag (line 131) | func TestRequiresExplicitOutputFlag(t *testing.T) { FILE: cli/download/progress_test.go function TestTrimRunes (line 11) | func TestTrimRunes(t *testing.T) { function TestProgressDisplayNameIncludesParentDir (line 16) | func TestProgressDisplayNameIncludesParentDir(t *testing.T) { FILE: cli/empty/empty.go type emptyFolderProvider (line 20) | type emptyFolderProvider interface function init (line 67) | func init() { function handleEmptyFolders (line 73) | func handleEmptyFolders(ctx context.Context, p emptyFolderProvider, root... type emptyWalkState (line 98) | type emptyWalkState struct type emptyFolderResult (line 103) | type emptyFolderResult struct function walkEmptyFolders (line 108) | func walkEmptyFolders(ctx context.Context, p emptyFolderProvider, folder... FILE: cli/empty/empty_test.go type fakeEmptyFolderProvider (line 16) | type fakeEmptyFolderProvider struct method GetPathFolderId (line 24) | func (f *fakeEmptyFolderProvider) GetPathFolderId(dirPath string) (str... method GetFolderFileStatList (line 31) | func (f *fakeEmptyFolderProvider) GetFolderFileStatList(parentId strin... method DeleteFile (line 40) | func (f *fakeEmptyFolderProvider) DeleteFile(fileId string) error { function TestHandleEmptyFoldersDeletesNestedEmptyFolders (line 57) | func TestHandleEmptyFoldersDeletesNestedEmptyFolders(t *testing.T) { function TestHandleEmptyFoldersSkipsNonEmptyRootTarget (line 82) | func TestHandleEmptyFoldersSkipsNonEmptyRootTarget(t *testing.T) { function TestHandleEmptyFoldersDeletesTargetWhenItBecomesEmpty (line 100) | func TestHandleEmptyFoldersDeletesTargetWhenItBecomesEmpty(t *testing.T) { function TestHandleEmptyFoldersNormalizesInvalidConcurrency (line 119) | func TestHandleEmptyFoldersNormalizesInvalidConcurrency(t *testing.T) { function TestHandleEmptyFoldersListsWithoutDeleting (line 135) | func TestHandleEmptyFoldersListsWithoutDeleting(t *testing.T) { type blockingEmptyFolderProvider (line 154) | type blockingEmptyFolderProvider struct method GetFolderFileStatList (line 159) | func (f *blockingEmptyFolderProvider) GetFolderFileStatList(parentId s... function TestHandleEmptyFoldersHonorsCanceledContext (line 166) | func TestHandleEmptyFoldersHonorsCanceledContext(t *testing.T) { function TestHandleEmptyFoldersStopsWaitingAfterCancel (line 184) | func TestHandleEmptyFoldersStopsWaitingAfterCancel(t *testing.T) { FILE: cli/list/list.go function init (line 38) | func init() { function handle (line 45) | func handle(p *api.PikPak, args []string, long, human bool, path, parent... function display (line 75) | func display(mode int, file *api.FileStat) { FILE: cli/new/folder/folder.go function init (line 36) | func init() { function handleNewFolder (line 42) | func handleNewFolder(p *api.PikPak, folders []string) { FILE: cli/new/new.go function init (line 19) | func init() { FILE: cli/new/sha/sha.go function init (line 63) | func init() { function handleNewSha (line 70) | func handleNewSha(p *api.PikPak, shas []string) { FILE: cli/new/url/url.go function init (line 69) | func init() { function handleNewUrl (line 77) | func handleNewUrl(p *api.PikPak, shas []string) { function handleCli (line 98) | func handleCli(p *api.PikPak) { FILE: cli/quota/quota.go function init (line 52) | func init() { function displayCloudDownload (line 56) | func displayCloudDownload(cloudDownload api.Quota) { function displayMonthlyTransferQuota (line 67) | func displayMonthlyTransferQuota(base api.TransferQuotaBase) { function displayTransferRow (line 75) | func displayTransferRow(name string, quota api.TransferQuota) { function formatTransferValue (line 85) | func formatTransferValue(size int64) string { function formatQuotaValue (line 89) | func formatQuotaValue(size string) string { FILE: cli/quota/quota_test.go function TestFormatTransferValue (line 9) | func TestFormatTransferValue(t *testing.T) { FILE: cli/root.go function init (line 47) | func init() { function Execute (line 65) | func Execute() { FILE: cli/rubbish/rubbish.go constant defaultRulesRelativePath (line 33) | defaultRulesRelativePath = "rules/rubbish_rules.txt" constant defaultRulesDownloadURL (line 34) | defaultRulesDownloadURL = "https://raw.githubusercontent.com/52funny/pi... type rubbishProvider (line 37) | type rubbishProvider interface type compiledRules (line 43) | type compiledRules struct method Match (line 421) | func (r compiledRules) Match(path string) (string, bool) { type rubbishMatch (line 48) | type rubbishMatch struct type rubbishWalkState (line 53) | type rubbishWalkState struct type rubbishFolderResult (line 58) | type rubbishFolderResult struct function init (line 159) | func init() { function loadRules (line 169) | func loadRules(path string) (compiledRules, error) { function resolveRulesPath (line 208) | func resolveRulesPath(raw string) (string, error) { function defaultRulesPath (line 235) | func defaultRulesPath() (string, error) { function ensureDefaultRulesFile (line 243) | func ensureDefaultRulesFile(path string) error { function downloadDefaultRules (line 255) | func downloadDefaultRules(targetPath string, sourceURL string) error { function isRemoteRulesSource (line 280) | func isRemoteRulesSource(path string) bool { function openLocalPath (line 284) | func openLocalPath(path string) error { function buildLocalOpenCommand (line 292) | func buildLocalOpenCommand(goos string, path string) (string, []string, ... function handleRubbish (line 305) | func handleRubbish(ctx context.Context, p rubbishProvider, rootPath stri... function walkRubbish (line 330) | func walkRubbish(ctx context.Context, p rubbishProvider, folderID, curre... function patternMatches (line 441) | func patternMatches(pattern, fullPath, name string) bool { function hasWildcard (line 463) | func hasWildcard(pattern string) bool { FILE: cli/rubbish/rubbish_test.go type fakeRubbishProvider (line 18) | type fakeRubbishProvider struct method GetPathFolderId (line 25) | func (f *fakeRubbishProvider) GetPathFolderId(dirPath string) (string,... method GetFolderFileStatList (line 32) | func (f *fakeRubbishProvider) GetFolderFileStatList(parentId string) (... method DeleteFile (line 41) | func (f *fakeRubbishProvider) DeleteFile(fileId string) error { function TestLoadRules (line 58) | func TestLoadRules(t *testing.T) { function TestCompiledRulesMatch (line 70) | func TestCompiledRulesMatch(t *testing.T) { function TestHandleRubbishListsAndDeletesMatches (line 99) | func TestHandleRubbishListsAndDeletesMatches(t *testing.T) { function TestHandleRubbishNormalizesConcurrency (line 139) | func TestHandleRubbishNormalizesConcurrency(t *testing.T) { function TestDefaultRulesPathUsesConfigDir (line 156) | func TestDefaultRulesPathUsesConfigDir(t *testing.T) { function TestResolveRulesPathForDirectory (line 164) | func TestResolveRulesPathForDirectory(t *testing.T) { function TestDownloadDefaultRules (line 172) | func TestDownloadDefaultRules(t *testing.T) { function TestBuildLocalOpenCommand (line 188) | func TestBuildLocalOpenCommand(t *testing.T) { FILE: cli/share/share.go function init (line 65) | func init() { function shareFolder (line 72) | func shareFolder(p *api.PikPak, f *os.File) { function shareFiles (line 97) | func shareFiles(p *api.PikPak, args []string, f *os.File) { function resolveShareTarget (line 118) | func resolveShareTarget(p *api.PikPak, resolvedParentID string, target s... FILE: cli/upload/upload.go function init (line 83) | func init() { function disposeExclude (line 100) | func disposeExclude() { function handleUploadFile (line 106) | func handleUploadFile(p *api.PikPak, path string) { function handleUploadFolder (line 126) | func handleUploadFolder(p *api.PikPak, path string) { FILE: conf/config.go type ConfigType (line 15) | type ConfigType struct method UseProxy (line 35) | func (c *ConfigType) UseProxy() bool { type OpenConfig (line 22) | type OpenConfig struct function InitConfig (line 40) | func InitConfig(path string) error { function readFromBinary (line 75) | func readFromBinary() error { function readFromPath (line 130) | func readFromPath(path string) error { function readFromConfigDir (line 135) | func readFromConfigDir() error { function readConfig (line 143) | func readConfig(path string) error { FILE: internal/api/captcha_token.go constant package_name (line 13) | package_name = `com.pikcloud.pikpak` constant client_version (line 14) | client_version = `1.21.0` constant md5_obj (line 15) | md5_obj = `[{"alg":"md5","salt":""},{"alg":"md5","salt":"E32cSkYXC2bciKJ... type md5Obj (line 17) | type md5Obj struct function init (line 24) | func init() { method AuthCaptchaToken (line 31) | func (p *PikPak) AuthCaptchaToken(action string) error { FILE: internal/api/constants.go constant FileKindFolder (line 4) | FileKindFolder = "drive#folder" constant FileKindFile (line 5) | FileKindFile = "drive#file" FILE: internal/api/download.go constant maxDownloadRetries (line 17) | maxDownloadRetries = 3 type retryableDownloadError (line 21) | type retryableDownloadError struct method Error (line 32) | func (e *retryableDownloadError) Error() string { method Unwrap (line 36) | func (e *retryableDownloadError) Unwrap() error { method requestContext (line 25) | func (f *File) requestContext() context.Context { function retryableDownload (line 40) | func retryableDownload(err error) error { function isRetryableDownloadError (line 47) | func isRetryableDownloadError(err error) bool { method Download (line 53) | func (f *File) Download(path string, bar *mpb.Bar) error { method download (line 77) | func (f *File) download(path string, bar *mpb.Bar, expectedSize int64) e... FILE: internal/api/download_test.go function TestDownloadResumesAfterInterruptedTransfer (line 17) | func TestDownloadResumesAfterInterruptedTransfer(t *testing.T) { function TestDownloadRestartsWhenServerIgnoresRangeRequest (line 67) | func TestDownloadRestartsWhenServerIgnoresRangeRequest(t *testing.T) { function TestDownloadTreatsSatisfiedRangeAsSuccess (line 107) | func TestDownloadTreatsSatisfiedRangeAsSuccess(t *testing.T) { FILE: internal/api/file.go type FileStat (line 21) | type FileStat struct type File (line 38) | type File struct type fileListResult (line 91) | type fileListResult struct constant maxListRetries (line 96) | maxListRetries = 3 method GetFolderFileStatList (line 98) | func (p *PikPak) GetFolderFileStatList(parentId string) ([]FileStat, err... method getFolderFileStatPage (line 134) | func (p *PikPak) getFolderFileStatPage(query url.Values) ([]byte, error) { function isRetryableListError (line 157) | func isRetryableListError(err error) bool { method GetFileStat (line 178) | func (p *PikPak) GetFileStat(parentId string, name string) (FileStat, er... method GetFileByPath (line 191) | func (p *PikPak) GetFileByPath(path string) (FileStat, error) { method GetFile (line 209) | func (p *PikPak) GetFile(fileId string) (File, error) { method DeleteFile (line 243) | func (p *PikPak) DeleteFile(fileId string) error { method Rename (line 269) | func (p *PikPak) Rename(fileId string, newName string) error { FILE: internal/api/file_test.go type fakeNetError (line 13) | type fakeNetError struct method Error (line 15) | func (fakeNetError) Error() string { return "i/o timeout" } method Timeout (line 16) | func (fakeNetError) Timeout() bool { return true } method Temporary (line 17) | func (fakeNetError) Temporary() bool { return true } function TestIsRetryableListError (line 19) | func TestIsRetryableListError(t *testing.T) { function TestFakeNetErrorImplementsNetError (line 28) | func TestFakeNetErrorImplementsNetError(t *testing.T) { function TestPikPakWithContext (line 34) | func TestPikPakWithContext(t *testing.T) { FILE: internal/api/folder.go method GetDeepFolderId (line 17) | func (p *PikPak) GetDeepFolderId(parentId string, dirPath string) (strin... method GetPathFolderId (line 35) | func (p *PikPak) GetPathFolderId(dirPath string) (string, error) { method GetFolderId (line 41) | func (p *PikPak) GetFolderId(parentId string, dir string) (string, error) { method GetDeepFolderOrCreateId (line 85) | func (p *PikPak) GetDeepFolderOrCreateId(parentId string, dirPath string... method CreateFolder (line 117) | func (p *PikPak) CreateFolder(parentId, dir string) (string, error) { FILE: internal/api/glob.go type remotePatternProvider (line 9) | type remotePatternProvider interface function ExpandRemotePatterns (line 14) | func ExpandRemotePatterns(p remotePatternProvider, basePath string, patt... function expandRemotePattern (line 26) | func expandRemotePattern(p remotePatternProvider, basePath string, patte... function hasRemoteWildcard (line 81) | func hasRemoteWildcard(value string) bool { function relativeRemotePath (line 85) | func relativeRemotePath(basePath string, fullPath string) string { FILE: internal/api/glob_test.go type fakeRemotePatternProvider (line 10) | type fakeRemotePatternProvider struct method GetPathFolderId (line 15) | func (f fakeRemotePatternProvider) GetPathFolderId(dirPath string) (st... method GetFolderFileStatList (line 19) | func (f fakeRemotePatternProvider) GetFolderFileStatList(parentId stri... function TestExpandRemotePatternsReturnsAbsoluteMatches (line 23) | func TestExpandRemotePatternsReturnsAbsoluteMatches(t *testing.T) { function TestExpandRemotePatternsCanKeepRelativeMatches (line 44) | func TestExpandRemotePatternsCanKeepRelativeMatches(t *testing.T) { function TestExpandRemotePatternsReturnsNoMatchError (line 64) | func TestExpandRemotePatternsReturnsNoMatchError(t *testing.T) { function TestExpandRemotePatternsPropagatesLookupErrors (line 78) | func TestExpandRemotePatternsPropagatesLookupErrors(t *testing.T) { FILE: internal/api/pikpak.go constant userAgent (line 18) | userAgent = `ANDROID-com.pikcloud.pikpak/1.21.0` constant clientID (line 19) | clientID = `YNxT9w7GMdWvEOKa` constant clientSecret (line 20) | clientSecret = `dbw2OtmVEeuUvIptb1Coyg` type PikPak (line 22) | type PikPak struct method requestContext (line 71) | func (p *PikPak) requestContext() context.Context { method WithContext (line 78) | func (p *PikPak) WithContext(ctx context.Context) *PikPak { method newRequest (line 90) | func (p *PikPak) newRequest(method, url string, body io.Reader) (*http... method login (line 95) | func (p *PikPak) login() error { method getCaptchaToken (line 135) | func (p *PikPak) getCaptchaToken() (string, error) { method sendRequest (line 163) | func (p *PikPak) sendRequest(req *http.Request) ([]byte, error) { method setHeader (line 177) | func (p *PikPak) setHeader(req *http.Request) { method Login (line 186) | func (p *PikPak) Login() error { function NewPikPak (line 35) | func NewPikPak(account, password string) PikPak { function NewPikPakWithContext (line 39) | func NewPikPakWithContext(ctx context.Context, account, password string)... FILE: internal/api/quota.go type QuotaMessage (line 9) | type QuotaMessage struct type Quota (line 15) | type Quota struct method Remaining (line 25) | func (q Quota) Remaining() (int64, error) { type Quotas (line 37) | type Quotas struct type TransferMessage (line 41) | type TransferMessage struct type TransferQuotaCollection (line 46) | type TransferQuotaCollection struct type TransferQuotaBase (line 52) | type TransferQuotaBase struct type TransferQuota (line 58) | type TransferQuota struct method Remaining (line 65) | func (q TransferQuota) Remaining() int64 { method GetQuota (line 70) | func (p *PikPak) GetQuota() (QuotaMessage, error) { method GetTransferQuota (line 88) | func (p *PikPak) GetTransferQuota() (TransferMessage, error) { FILE: internal/api/quota_test.go function TestQuotaRemaining (line 10) | func TestQuotaRemaining(t *testing.T) { function TestQuotaRemainingInvalid (line 16) | func TestQuotaRemainingInvalid(t *testing.T) { function TestTransferQuotaRemaining (line 21) | func TestTransferQuotaRemaining(t *testing.T) { FILE: internal/api/refresh_token.go method RefreshToken (line 12) | func (p *PikPak) RefreshToken() error { FILE: internal/api/session.go constant sessionExpirySkew (line 16) | sessionExpirySkew = 5 * 60 type sessionData (line 19) | type sessionData struct method saveSession (line 28) | func (p *PikPak) saveSession() error { method loadSession (line 56) | func (p *PikPak) loadSession() error { method isTokenExpired (line 79) | func (p *PikPak) isTokenExpired() bool { method saveSessionBestEffort (line 83) | func (p *PikPak) saveSessionBestEffort() { function sessionFile (line 89) | func sessionFile(account string) (string, error) { FILE: internal/api/sha.go method CreateShaFile (line 10) | func (p *PikPak) CreateShaFile(parentId, fileName, size, sha string) err... FILE: internal/api/upload.go type OssArgs (line 29) | type OssArgs struct method UploadFile (line 44) | func (p *PikPak) UploadFile(parentId, path string) error { function uploadChunk (line 183) | func uploadChunk(ctx context.Context, wait *sync.WaitGroup, ch chan Part... type header (line 230) | type header struct type CompleteMultipartUpload (line 235) | type CompleteMultipartUpload struct type Part (line 238) | type Part struct function hmacAuthorization (line 243) | func hmacAuthorization(req *http.Request, body []byte, time time.Time, o... method beforeUpload (line 282) | func (p *PikPak) beforeUpload(ossArgs OssArgs) string { method afterUpload (line 322) | func (p *PikPak) afterUpload(args *CompleteMultipartUpload, ossArgs OssA... FILE: internal/api/url.go method CreateUrlFile (line 11) | func (p *PikPak) CreateUrlFile(parentId, url string) error { FILE: internal/logx/logx.go function Init (line 16) | func Init(debug bool, topics []string) { function Enabled (line 30) | func Enabled(topic string) bool { function Debug (line 44) | func Debug(topic string, args ...any) { function Debugln (line 50) | func Debugln(topic string, args ...any) { function Warn (line 56) | func Warn(topic string, args ...any) { function Warnf (line 62) | func Warnf(topic, format string, args ...any) { function Error (line 68) | func Error(args ...any) { function Errorf (line 72) | func Errorf(format string, args ...any) { function parseTopics (line 76) | func parseTopics(topics []string) map[string]struct{} { function envEnabled (line 101) | func envEnabled(key string) bool { FILE: internal/shell/open.go constant openCategoryDefault (line 19) | openCategoryDefault = "default" constant openCategoryText (line 20) | openCategoryText = "text" constant openCategoryImage (line 21) | openCategoryImage = "image" constant openCategoryVideo (line 22) | openCategoryVideo = "video" constant openCategoryAudio (line 23) | openCategoryAudio = "audio" constant openCategoryPDF (line 24) | openCategoryPDF = "pdf" type openFileService (line 27) | type openFileService interface function handleOpenCommand (line 32) | func handleOpenCommand(p openFileService, currentPath string, args []str... function resolveOpenTarget (line 67) | func resolveOpenTarget(file *api.File) (string, error) { function cacheOpenFile (line 77) | func cacheOpenFile(file *api.File) (string, error) { function openCacheRoot (line 104) | func openCacheRoot() (string, error) { function localFileMatchesRemoteSize (line 125) | func localFileMatchesRemoteSize(path string, remoteSize string) (bool, e... function classifyOpenCategory (line 142) | func classifyOpenCategory(name string) string { function remoteVideoOpenURL (line 160) | func remoteVideoOpenURL(file *api.File) string { function openWithLocalApp (line 185) | func openWithLocalApp(target string, category string) error { function buildOpenCommand (line 195) | func buildOpenCommand(goos string, cfg conf.OpenConfig, path string, cat... function commandForCategory (line 221) | func commandForCategory(cfg conf.OpenConfig, category string) []string { function defaultOpenCommand (line 251) | func defaultOpenCommand(goos string, category string) []string { FILE: internal/shell/shell.go constant clearScreenSequence (line 25) | clearScreenSequence = "\033[H\033[2J" type fileStatProvider (line 27) | type fileStatProvider interface type shellAutoCompleter (line 32) | type shellAutoCompleter struct method Do (line 172) | func (c *shellAutoCompleter) Do(line []rune, pos int) ([][]rune, int) { method completeRemotePath (line 340) | func (c *shellAutoCompleter) completeRemotePath(prefix string, onlyDir... function Start (line 39) | func Start(rootCmd *cobra.Command) { function shouldExitOnReadlineError (line 157) | func shouldExitOnReadlineError(err error) bool { function isReadlineInterrupt (line 161) | func isReadlineInterrupt(err error) bool { function setCommandContextTree (line 165) | func setCommandContextTree(cmd *cobra.Command, ctx context.Context) { function shouldCompleteLocalPathFlagValue (line 222) | func shouldCompleteLocalPathFlagValue(commandKey string, tokens []string... function shouldCompleteDirectoryPath (line 235) | func shouldCompleteDirectoryPath(commandKey string, tokens []string, act... function shouldCompleteRemoteTargetPath (line 257) | func shouldCompleteRemoteTargetPath(commandKey string, tokens []string, ... function shouldCompleteLocalTargetPath (line 273) | func shouldCompleteLocalTargetPath(commandKey string, tokens []string, a... function wantsFlagValue (line 287) | func wantsFlagValue(tokens []string, active string, endedWithSpace bool,... function positionalTokens (line 304) | func positionalTokens(tokens []string, active string) []string { function completeLocalPath (line 392) | func completeLocalPath(prefix string, onlyDirs bool) ([][]rune, int) { function promptForPath (line 437) | func promptForPath(currentPath string) string { function clearScreen (line 444) | func clearScreen(w io.Writer) { function adaptShellArgs (line 448) | func adaptShellArgs(rootCmd *cobra.Command, currentPath string, args []s... function canonicalCommandKey (line 494) | func canonicalCommandKey(rootCmd *cobra.Command, cmd *cobra.Command) str... type shellArgFlags (line 506) | type shellArgFlags struct function inspectShellArgs (line 512) | func inspectShellArgs(args []string) shellArgFlags { function rewritePathFlagValues (line 550) | func rewritePathFlagValues(args []string, currentPath string) []string { function rewritePositionalPaths (line 568) | func rewritePositionalPaths(args []string, currentPath string, limit int... function changeDirectory (line 603) | func changeDirectory(p *api.PikPak, currentPath string, args []string) (... function resolveShellPath (line 621) | func resolveShellPath(currentPath string, target string) string { function expandOpenGlobs (line 634) | func expandOpenGlobs(currentPath string, source fileStatProvider, args [... function expandShellGlobs (line 646) | func expandShellGlobs(rootCmd *cobra.Command, currentPath string, source... function expandDownloadGlobs (line 681) | func expandDownloadGlobs(args []string, currentPath string, source fileS... function expandDeleteGlobs (line 685) | func expandDeleteGlobs(args []string, currentPath string, source fileSta... function expandUploadGlobs (line 742) | func expandUploadGlobs(args []string) ([]string, error) { function rewriteDownloadLikeArgs (line 792) | func rewriteDownloadLikeArgs(args []string, currentPath string, source f... function expandDeletePatternToken (line 863) | func expandDeletePatternToken(token string, pathValue string, currentPat... function expandRemotePatternToken (line 873) | func expandRemotePatternToken(token string, pathValue string, currentPat... function matchRemotePattern (line 914) | func matchRemotePattern(source fileStatProvider, parentPath string, patt... function expandLocalPatternToken (line 942) | func expandLocalPatternToken(token string) ([]string, error) { function consumesNextValue (line 958) | func consumesNextValue(token string) bool { function hasWildcard (line 972) | func hasWildcard(value string) bool { function relativeRemotePath (line 976) | func relativeRemotePath(basePath string, fullPath string) string { function splitCompletionLine (line 989) | func splitCompletionLine(input string) ([]string, string, bool) { function commandCandidates (line 1053) | func commandCandidates(rootCmd *cobra.Command) []string { function subcommandCandidates (line 1060) | func subcommandCandidates(cmd *cobra.Command) []string { function flagCandidates (line 1073) | func flagCandidates(cmd *cobra.Command) []string { function resolveCommand (line 1091) | func resolveCommand(rootCmd *cobra.Command, tokens []string) (*cobra.Com... function completeFromPrefix (line 1116) | func completeFromPrefix(prefix string, candidates []string, appendSpace ... function toRuneCandidates (line 1131) | func toRuneCandidates(candidates []string) [][]rune { function parseShellArgs (line 1140) | func parseShellArgs(input string) []string { function escapeShellCompletion (line 1193) | func escapeShellCompletion(value string) string { function resetFlags (line 1207) | func resetFlags(cmd *cobra.Command) { FILE: internal/shell/shell_test.go function TestParseShellArgs (line 20) | func TestParseShellArgs(t *testing.T) { function TestResolveShellPath (line 55) | func TestResolveShellPath(t *testing.T) { function TestSplitCompletionLine (line 107) | func TestSplitCompletionLine(t *testing.T) { function TestShouldExitOnReadlineError (line 152) | func TestShouldExitOnReadlineError(t *testing.T) { function TestIsReadlineInterrupt (line 159) | func TestIsReadlineInterrupt(t *testing.T) { function TestSetCommandContextTree (line 165) | func TestSetCommandContextTree(t *testing.T) { function TestCompleterCommandsAndFlags (line 184) | func TestCompleterCommandsAndFlags(t *testing.T) { function TestCompleterUploadLocalPath (line 268) | func TestCompleterUploadLocalPath(t *testing.T) { function TestCompleterUploadHomePath (line 302) | func TestCompleterUploadHomePath(t *testing.T) { function TestCompleterRubbishRulesLocalThenRemotePath (line 345) | func TestCompleterRubbishRulesLocalThenRemotePath(t *testing.T) { function TestClearScreen (line 386) | func TestClearScreen(t *testing.T) { function TestAdaptShellArgs (line 392) | func TestAdaptShellArgs(t *testing.T) { function TestExpandShellGlobsDownload (line 474) | func TestExpandShellGlobsDownload(t *testing.T) { function TestExpandShellGlobsDelete (line 498) | func TestExpandShellGlobsDelete(t *testing.T) { function TestExpandShellGlobsUpload (line 521) | func TestExpandShellGlobsUpload(t *testing.T) { function TestExpandOpenGlobs (line 545) | func TestExpandOpenGlobs(t *testing.T) { function TestCompleterCDPath (line 562) | func TestCompleterCDPath(t *testing.T) { function TestCompleterCDPathFromCurrentDirectory (line 589) | func TestCompleterCDPathFromCurrentDirectory(t *testing.T) { function TestCompleterEscapesSpacesInPath (line 613) | func TestCompleterEscapesSpacesInPath(t *testing.T) { type fakeFileStatProvider (line 633) | type fakeFileStatProvider struct method GetPathFolderId (line 638) | func (f fakeFileStatProvider) GetPathFolderId(dirPath string) (string,... method GetFolderFileStatList (line 645) | func (f fakeFileStatProvider) GetFolderFileStatList(parentId string) (... function TestClassifyOpenCategory (line 649) | func TestClassifyOpenCategory(t *testing.T) { function TestBuildOpenCommand (line 658) | func TestBuildOpenCommand(t *testing.T) { function TestRemoteVideoOpenURL (line 684) | func TestRemoteVideoOpenURL(t *testing.T) { function TestResolveOpenTargetForVideoPrefersRemoteURL (line 728) | func TestResolveOpenTargetForVideoPrefersRemoteURL(t *testing.T) { FILE: internal/utils/format.go function FormatStorage (line 7) | func FormatStorage(sizeText string, human bool) string { FILE: internal/utils/format_test.go function TestFormatStorage (line 9) | func TestFormatStorage(t *testing.T) { FILE: internal/utils/path.go function ExpandLocalPath (line 11) | func ExpandLocalPath(path string) string { function SplitSeparator (line 37) | func SplitSeparator(path string) []string { function Slash (line 44) | func Slash(path string) string { function SplitRemotePath (line 56) | func SplitRemotePath(path string) (dir string, name string) { function GetUploadFilePath (line 79) | func GetUploadFilePath(basePath string, defaultRegexp []*regexp.Regexp) ... function Exists (line 121) | func Exists(path string) (bool, error) { function CreateDirIfNotExist (line 133) | func CreateDirIfNotExist(path string) error { function TouchFile (line 148) | func TouchFile(path string) error { FILE: internal/utils/path_test.go function TestSplitRemotePath (line 11) | func TestSplitRemotePath(t *testing.T) { function TestExpandLocalPath (line 55) | func TestExpandLocalPath(t *testing.T) { FILE: internal/utils/sync.go type SyncTxt (line 16) | type SyncTxt struct method Write (line 51) | func (s *SyncTxt) Write(b []byte) (n int, err error) { method Close (line 64) | func (s *SyncTxt) Close() error { method WriteString (line 72) | func (s *SyncTxt) WriteString(str string) (n int, err error) { method UnSync (line 84) | func (s *SyncTxt) UnSync(files []string) []string { function NewSyncTxt (line 23) | func NewSyncTxt(fileName string, enable bool) (sync *SyncTxt, err error) { FILE: main.go function main (line 5) | func main() {