Patent Document ID: 8327326
Application ID: 12815838

Base Claim:
1. At a computer system including one or more processors and system memory, the computer system also including an editor for editing source code of a programming language, a method for providing automated assistance to resolve the placement of a closing code construct operative as an editor caret when editing a portion of source code, the method comprising: while the editor is in a non-interaction mode for positioning closing code constructs: an act of receiving user input from a user, the user input for entering an opening code construct at a specified position within the portion of source code, wherein the opening code construct in combination with a corresponding closing code construct form a grouping representing a feature of the programming language that is being used to develop the source code; in response to receiving the user input for entering the opening code construct: an act of visually indicating placement of the opening code construct at the specified position within the portion of source code; and an act of visually indicating placement of the corresponding closing code construct at another position within the portion of source code based on one or more syntactical rules or semantic rules of the programming language; and an act of detecting that the user's intent with respect to placement of the corresponding closing construct is ambiguous, the ambiguous placement being a real-time event identified as a mismatch between the predicted placement for the closing construct and the user's actual placement of the closing construct in view of the user's earlier placement of the opening construct, the mismatch based on observance of the syntactical and semantic rules of the programming language; in response to the ambiguous placement, an act of the processor transitioning the editor to an interaction mode for positioning closing code constructs, the interaction mode visually indicating that the user is permitted to reposition the closing construct between one or more visually indicated valid positions within the portion of source code, the visual indication of one or more valid positions in accordance with the one or more syntactical rules or semantic rules of the programming language, the interaction mode altering how one or more forms of user input are interpreted by the editor; an act of receiving a form of user input, selected from among the one or more of forms of user input, from the user; an act of re-positioning the closing code construct in accordance with an altered interpretation of the received form of user input due to the editor being in the interaction mode; and an act of transitioning the editor out of the interaction mode subsequent to re-positioning the closing code construct.

---

Claim 9:
9. The method as recited in claim 1 , wherein the act of transitioning the editor to an interaction mode for positioning closing code constructs comprises an act of visually augmenting the closing code construct with one or more user-interface controls for moving the closing code construct between the one or more valid positions.