ACPAddIn.ExtensionMode.displayWordExtensions C# (CSharp) Method

displayWordExtensions() private method

private displayWordExtensions ( ) : void
return void
        private void displayWordExtensions()
        {
            Word.Range range = Globals.ThisAddIn.Application.ActiveDocument.Range(extensionRange.End, extensionRange.End);

            switch (extensionType)
            {
                case Suggestion.PARAGRAPH: // Paragraph and sentence will do almost similar codes
                    for (int i = extensionWordPos + 1; i < currentExtensionPosWordList.Count; i++)
                    {
                        String word = currentExtensionPosWordList[i];
                        range.Text += word + extraSpace;
                    }
                    currentExtensionPosWordList = null;
                    extensionWordPos = -1;
                    isCompletingLastSentenceOfPara = true;
                    break;
                case Suggestion.SENTENCE:
                    for (int i = extensionWordPos + 1; i < currentExtensionPosWordList.Count; i++)
                    {
                        String word = currentExtensionPosWordList[i];
                        range.Text += word + extraSpace;
                    }
                    currentExtensionPosWordList = null;
                    extensionWordPos = -1;
                    break;
                case Suggestion.WORD:
                    if (extensionWordPos == -1 || extensionWordPos == currentExtensionPosWordList.Count - 1)
                    {
                        extensionWordPos = 0;
                        extensionPos++;

                        Sentence nextSentence = (Sentence)extensions[extensionPos];
                        currentExtensionPosWordList = nextSentence.content.Split(wordListSplitChar).ToList();
                        range.Text = currentExtensionPosWordList[extensionWordPos] + extraSpace;

                    }
                    else // if (extensionWordPos != lastWordListIndex && extensionWordPos != -1)
                    {
                        extensionWordPos++;
                        range.Text = currentExtensionPosWordList[extensionWordPos] + extraSpace;
                    }
                    break;
            }

            if (range.Text != null)
                extensionRange.MoveEnd(Word.WdUnits.wdCharacter, new StringInfo(range.Text).LengthInTextElements);

            // Reposition the cursor to the end of the sentence that is just pasted
            int position = extensionRange.End;
            Globals.ThisAddIn.Application.Selection.SetRange(position, position);
            highlight(extensionRange);

            scrollToRange(extensionRange);
        }