namespace CursorLang.Core.Models; /// /// How the place for the popup is chosen. /// public enum PopupPlacementMode { /// Next to the mouse cursor. AtCursor, /// /// Next to the caret in the active input field. When the application does not /// report its position, the popup is shown as in — at the /// place and with the look that mode is set up with. /// AtCaret, /// At a fixed point of the monitor holding the active window. FixedPoint, } /// /// Which side of the cursor to show the popup on. /// public enum AnchorSide { TopLeft, TopRight, Left, Right, BottomLeft, BottomRight, } /// /// Which side of the caret to show the popup on. /// /// /// Only the two sides, unlike . The caret stands in a line of /// text being written, and above or below it is exactly where the next line is: the /// popup would cover what is being read. To the side it covers nothing, and the line /// it lines up with is the one the caret is in. /// public enum CaretSide { Left, Right, } /// /// The place on the monitor for the mode. /// public enum ScreenPosition { TopLeft, Top, TopRight, Center, BottomLeft, Bottom, BottomRight, }