You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -34,7 +34,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
34
34
- Hidden columns stay hidden. The columns you choose to show are remembered per table across sessions, and resizing a column no longer brings the hidden ones back. Column widths and order are remembered per table too, now kept separately for each connection, database, and schema so two tables with the same name no longer overwrite each other's layout. A Reset Columns button in the Columns popover puts widths, order, and visibility back to defaults. Existing saved column layouts (widths, order, and which columns are hidden) reset once as part of this change. (#1815)
35
35
- Query and filter errors now appear in a scrollable banner you can read, select, and copy, with a Fix with AI button, instead of a small dialog that cut the message off. (#1815)
36
36
- The filter autocomplete no longer pops up on empty input, and pressing Escape to close it no longer also closes the filter bar. (#1815)
37
-
- The editor autocomplete popup no longer draws over the status bar or the Columns and Add buttons, and clicking outside it now dismisses it. This fixes the bottom-right buttons and the editor mouse going dead after the popup had appeared. (#1815)
37
+
- The editor autocomplete popup no longer draws over the status bar, the Columns and Add buttons, or the editor's sides as it grows. Clicking anywhere on the popup that isn't a suggestion now dismisses it, instead of doing nothing and leaving the editor mouse dead. (#1815, #1831)
Copy file name to clipboardExpand all lines: LocalPackages/CodeEditSourceEditor/Sources/CodeEditSourceEditor/CodeSuggestion/Model/SuggestionViewModel.swift
+5Lines changed: 5 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -29,6 +29,11 @@ final class SuggestionViewModel: ObservableObject {
29
29
/// directly leaves the local key monitor installed.
30
30
varonApply:(()->Void)?
31
31
32
+
/// Invoked when a click lands on a non-interactive part of the panel (background,
33
+
/// padding, rounded corners, divider, preview, or the "No Completions" label).
34
+
/// The owning controller dismisses the window so the click is not swallowed.
Copy file name to clipboardExpand all lines: LocalPackages/CodeEditSourceEditor/Sources/CodeEditSourceEditor/CodeSuggestion/View/SuggestionContentView.swift
Copy file name to clipboardExpand all lines: LocalPackages/CodeEditSourceEditor/Sources/CodeEditSourceEditor/CodeSuggestion/Window/SuggestionController+Window.swift
+26-63Lines changed: 26 additions & 63 deletions
Original file line number
Diff line number
Diff line change
@@ -14,66 +14,14 @@ internal final class SuggestionPanel: NSPanel {
14
14
}
15
15
16
16
extensionSuggestionController{
17
-
/// Will constrain the window's frame to be within the visible screen and, when provided, the editor's bounds.
18
-
///
19
-
/// `editorFrame` is the editor pane in screen coordinates. The panel flips above the cursor when it would
20
-
/// extend past the editor's bottom edge, so it never overlaps sibling chrome below the editor.
17
+
/// Anchors the windowto `cursorRect` and constrains it within the visible screen and, when provided,
18
+
/// the editor's bounds. The anchor is retained and re-applied on every later resize (see
19
+
/// ``applyPlacement(windowSize:)``), so the panel never drifts past the editor edges as its content
Copy file name to clipboardExpand all lines: LocalPackages/CodeEditSourceEditor/Sources/CodeEditSourceEditor/CodeSuggestion/Window/SuggestionController.swift
+10Lines changed: 10 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -32,6 +32,11 @@ public final class SuggestionController: NSWindowController {
32
32
/// Tracks when the window is placed above the cursor
33
33
varisWindowAboveCursor=false
34
34
35
+
/// Anchor for the current completion session. Re-applied by ``applyPlacement(windowSize:)``
36
+
/// on every resize so the panel re-derives its position from the cursor instead of drifting
37
+
/// from its previous frame as the list grows.
38
+
varplacementAnchor:SuggestionPlacementAnchor?
39
+
35
40
varpopover:NSPopover?
36
41
37
42
/// Holds the observer for the window resign notifications
@@ -53,6 +58,7 @@ public final class SuggestionController: NSWindowController {
Copy file name to clipboardExpand all lines: LocalPackages/CodeEditSourceEditor/Tests/CodeEditSourceEditorTests/CodeSuggestion/SuggestionApplyTests.swift
+16Lines changed: 16 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -122,6 +122,22 @@ final class SuggestionApplyTests: XCTestCase {
0 commit comments