Conversation
…line bean_index rebuilt regular expressions inside its per-line loop: five on every line through has_annotation, is_injection_context, and constructor_regex, plus seven more on each type declaration. Over a workspace with thousands of Java sources that reached roughly ten million compilations. Hold the fixed patterns in function-scoped LazyLock statics, cache the patterns for the annotations this module recognizes, and hoist the type-dependent constructor pattern out of the line loop. The scan is still full and the traversal order is unchanged. On a 7774-file Maven workspace this takes spring.index from 491.74s to 2.40s with a byte-identical response: same 3519348 bytes and SHA-256 across 16 properties, 327 values, 111 property references, 1870 diagnostics, 2338 beans, 4479 injections, and 4103 endpoints. Refs #299
fix(macos): disable GitHub Pull Request integration
Add three mouse-reachable entries for jumping to a line: the Navigate menu, the editor context menu, and the status bar caret label, all opening a shared go-to-line bar styled after the find bar. Input accepts 1-based line or line:column, converges out-of-range values against the live document, selects the target line through the existing editorNavigationTarget pathway (now carrying selectsWholeLine), and records navigation history so Cmd+[ returns to the departure position. The bar and the find bar are mutually exclusive; Cmd+L is registered in the command catalog and remappable in Keymap settings.
Swap the in-editor go-to-line bar for a small modal "Go to Line:Column" window: a single [Line] [:column]: input prefilled with the caret's 1-based position and fully selected, with Cancel/OK buttons. Return and OK jump through the same parser and navigation pathway, invalid input disables OK, and Esc, Cancel, or the close button dismiss without side effects. Every entry point (Navigate menu, editor context menu, status bar caret label, Cmd+L) funnels through the chrome visibility flag via a shared presenter, so the workbench and standalone editor windows both stay covered. Also unify all go-to-line comments to English to match the surrounding files.
The dialog panel fell back to the system appearance and rendered light inside a dark-themed editor. Apply the same AppThemePreference window appearance the workbench windows use, so the dialog matches the editor theme in system, light, and dark modes. Widen the private AppThemePreference.windowAppearance helper for reuse.
…og count The Simplified Chinese localization test requires every command catalog entry to carry translated title and subtitle strings, and the keyboard shortcut test pins the catalog size. Cover the new go-to-line command and bump the expected count to 33.
feat(macos): add editor find options and replace-in-file
…overs The Branch and User filters in the Git Log filter bar used native NSMenu menus that grew to screen height on repositories with many references or authors, covering the whole workbench (issue #302). Replace them with custom SwiftUI popovers anchored under their filter chips: - Branch: a two-level menu with the All Branches reset entry, starred shortcuts for the current branch and its upstream, and group rows (Local, per-remote, Tags) that open a bounded flyout column; typing falls back to a flat filtered list. - User: a flat bounded list with pinned reset entries and stable author ordering. Both popovers are searchable, cap their height with internal scrolling, and reuse the existing selectGitReference action without any data-layer or shared-contract changes. Review feedback on this PR is folded in: fixed rows are modeled with an explicit Kind enum; browse and search modes follow identical per-row rules (full names, upstream-only detail, pinned entries surviving search); sections carry an explicit isPinned flag; the branch menu is injected as data instead of a builder closure; selection matching lives on the item types; fixed labels render and match through a single GitLogFilterFixedLabel source so localized text and the English key both find them; the popover opens at its compact width without dead space; zh-Hans gains the missing translations with a table test and bilingual matching test.
…o-line-preview # Conflicts: # macos/Resources/zh-Hans.lproj/Localizable.strings # macos/Sources/Lithe/Models/AppModel/AppModel+FeatureState.swift # macos/Sources/Lithe/Models/Keymap/LitheCommandCatalog.swift # macos/Sources/Lithe/Models/LitheAction.swift # macos/Tests/LitheTests/EditorChromeModelTests.swift
feat(macos): replace git log filter menus with bounded IDEA-style popovers
Address review feedback on the go-to-line PR: - Line-only jumps keep selecting the whole target line, but an explicitly entered column now places the caret at that column via a hasExplicitColumn flag threaded through GoToLineInput and the navigation target, so "120:35" no longer lands at column one. - GoToLineInput.clamped and the new GoToLineSelection helper share the editor's line-index rules (LF, CRLF, CR), so CR-only files jump to the right line and CRLF whole-line selections no longer include the carriage return. applyNavigationTargetIfNeeded now delegates to the helper, giving the final caret/selection a unit-tested pure implementation with CRLF, CR, and edge-case regression coverage. - The AppKit dialog strings (title, label, Cancel, OK) and the context menu item now resolve through Localizable.strings instead of literal English, with new Simplified Chinese entries.
The regression test called clamped without forwarding the parsed hasExplicitColumn flag, unlike the production goToLine path, so the preservation assertion failed. Mirror the production call and also assert the converged target.
… into codex/macos-switcher-popover-ui
feat(macos): 添加编辑器按行号跳转对话框
Reviewed and validated; all required CI checks passed.
Uh oh!
There was an error while loading. Please reload this page.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
发布说明
将当前预发布分支
preview晋级到main。说明
preview是持续开发汇总分支;本 PR 包含上次发布后累积的开发提交。f669e33b,其相对当时preview没有额外代码差异。git merge-tree模拟main<-preview合并,未发现文本冲突。请在 CI 全部通过后合入。