/// <summary>
        /// Handles a player input.
        /// </summary>
        public static IEnumerator HandlePlayerInput(string rawInput)
        {
            var text = TextUtil.CleanInputText(rawInput);

            if (string.IsNullOrEmpty(text))
            {
                yield break;
            }

            DebugUtil.Log("[Terminal Util] PLAYER INPUT: " + text, Color.green, DebugUtil.DebugCondition.Verbose,
                          DebugUtil.LogType.Info);

            var deviceText = GetCurrentPathTextFormatted();

            deviceText = TextUtil.Success(deviceText);
            deviceText = TextUtil.ApplyNGUIModifiers(deviceText, TextModifiers.Italic);

            ShowDualText(deviceText, text);

            if (!Shell.RunCommandLine(text))
            {
                var msg = string.Format("'{0}' is not a valid command. If you need help, input 'help'", text);
                msg = TextUtil.Error(msg);
                ShowText(msg);
            }

            UpdateTableAndScroll();
            ClearInputText();
            FocusOnInput();
            CacheCommand(DataHolder.TerminalData, text);
            ResetCommandBufferIndex();
        }
        public static string GetCurrentPathTextFormatted()
        {
            var text = GetCurrentPathText();

            text = TextUtil.Success(text);
            text = TextUtil.ApplyNGUIModifiers(text, TextModifiers.Italic);
            return(text);
        }