/// <summary>
        /// Copies any text from the terminal and replaces all ANSI escape codes with their known
        /// mud color codes.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void AvalonTerminalContextMenuCopyWithMudColors_OnClick(object sender, RoutedEventArgs e)
        {
            try
            {
                var item  = sender as MenuItem;
                var cm    = (ContextMenu)item?.Parent;
                var popup = (Popup)cm?.Parent;

                var terminal = popup?.PlacementTarget as AvalonTerminal;

                if (terminal == null)
                {
                    return;
                }

                // Remove any ANSI codes from the selected text.
                var sb = new StringBuilder(terminal.SelectedText);
                Colorizer.AnsiToMudColorCodes(sb);
                Clipboard.SetDataObject(sb.ToString(), true);
            }
            catch (Exception ex)
            {
                this.Interp.Conveyor.EchoLog(ex.Message, Common.Models.LogType.Error);

                if (!string.IsNullOrWhiteSpace(ex.StackTrace))
                {
                    this.Interp.Conveyor.EchoLog(ex.StackTrace, Common.Models.LogType.Error);
                }
            }
        }
        /// <summary>
        /// Copies any text from the terminal and replaces all ANSI escape codes with their known
        /// mud color codes.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void AvalonTerminalContextMenuCopyWithMudColors_OnClick(object sender, RoutedEventArgs e)
        {
            var item  = sender as MenuItem;
            var cm    = (ContextMenu)item?.Parent;
            var popup = (Popup)cm?.Parent;

            var terminal = popup?.PlacementTarget as AvalonTerminal;

            if (terminal == null)
            {
                return;
            }

            // Remove any ANSI codes from the selected text.
            var sb = new StringBuilder(terminal.SelectedText);

            Colorizer.AnsiToMudColorCodes(sb);
            Clipboard.SetText(sb.ToString());
        }