private void ShouldOpemPopupList() { List <JumpCommandObject> autoCompletions = JumpCommand.GetAutoCompletionCommandObjects(input); if (autoCompletions.Count > 0) { List <string> content = new List <string>(); foreach (var command in autoCompletions) { content.Add(GetCommandRichText(command)); } popupListCommand = autoCompletions; popupListContent = content.ToArray(); if (!popupListOpen) { OpenPopupList(); } } else { if (popupListOpen) { ClosePopupList(); } } }
private void HandleTab() { TextEditor te = (TextEditor)GUIUtility.GetStateObject(typeof(TextEditor), GUIUtility.keyboardControl); if (KeyDown("tab") && popupListOpen) { input = popupListCommand[popupListSelIndex].Name; te.pos = input.Length; te.selectPos = te.pos; ClosePopupList(); } else if (KeyDown("tab") && !popupListOpen) { List <JumpCommandObject> autoCompletions = JumpCommand.GetAutoCompletionCommandObjects(input); if (autoCompletions.Count > 0) { List <string> content = new List <string>(); foreach (var command in autoCompletions) { content.Add(GetCommandRichText(command)); } popupListCommand = autoCompletions; popupListContent = content.ToArray(); input = popupListCommand[popupListSelIndex].Name; te.pos = input.Length; te.selectPos = te.pos; OpenPopupList(); } } // Press tab to switch among auto-completion commands // if (KeyDown("tab")) // { // // eg: com[mand] // // The unselected part of a command // string substr = input.Substring(0, te.pos); // string command = JumpCommand.GetAutoCompletionCommand(substr, input); // if(command != null) { // input = command; // te.pos = input.Length; // } // } }