/// <summary> /// 指令补全 /// </summary> private void CompleteInstruction() { if (!completing) { InputAttribution ia = ACompletion.GetInstructionCompletion(new InputAttribution { content = InstructionTextBox.Text, caretPosition = InstructionTextBox.CaretIndex, selectEmpty = true }); if (!ia.selectEmpty) { completing = true; InstructionTextBox.Text = ia.content; InstructionTextBox.CaretIndex = ia.caretPosition; InstructionTextBox.SelectionStart = ia.selectStart; InstructionTextBox.SelectionLength = ia.selectEnd - ia.selectStart + 1; } } completing = false; }
public void GetInstructionCompletionDepartTest() { InputAttribution ia = new InputAttribution { content = "@del chro aaa", caretPosition = 9, }; string tl, t, tr; ACompletion.GetInstructionCompletionDepart(ia, out tl, out t, out tr); Assert.AreEqual("@del ", tl); Assert.AreEqual("chro", t); Assert.AreEqual(" aaa", tr); ia.content = "@haha"; ia.caretPosition = 3; ACompletion.GetInstructionCompletionDepart(ia, out tl, out t, out tr); Assert.AreEqual("", tl); Assert.AreEqual("@ha", t); Assert.AreEqual("ha", tr); }