public CompletionResult GetCompletion(IConsoleShell shell, string[] args)
    {
        if (args.Length == 1)
        {
            var hint = Loc.GetString("play-global-sound-command-arg-path");
            var res  = IoCManager.Resolve <IResourceManager>();

            var options = CompletionHelper.ContentFilePath(args[0], res);

            return(CompletionResult.FromHintOptions(options, hint));
        }

        if (args.Length == 2)
        {
            return(CompletionResult.FromHint(Loc.GetString("play-global-sound-command-arg-volume")));
        }

        if (args.Length > 2)
        {
            var plyMgr  = IoCManager.Resolve <IPlayerManager>();
            var options = plyMgr.Sessions.Select(c => c.Name);
            return(CompletionResult.FromHintOptions(
                       options,
                       Loc.GetString("play-global-sound-command-arg-usern", ("user", args.Length - 2))));
        }

        return(CompletionResult.Empty);
    }
        public CompletionResult GetCompletion(IConsoleShell shell, string[] args)
        {
            switch (args.Length)
            {
            case 1:
                return(CompletionResult.FromHint(Loc.GetString("cmd-hint-mapping-id")));

            case 2:
                var res  = IoCManager.Resolve <IResourceManager>();
                var opts = CompletionHelper.UserFilePath(args[1], res.UserData)
                           .Concat(CompletionHelper.ContentFilePath(args[1], res));
                return(CompletionResult.FromHintOptions(opts, Loc.GetString("cmd-hint-mapping-path")));
            }
            return(CompletionResult.Empty);
        }