Skip to content

Fix Language Servers settings page UI and search#2171

Open
ayush-that wants to merge 1 commit intoCodeEditApp:mainfrom
ayush-that:fix/language-servers-settings-ui
Open

Fix Language Servers settings page UI and search#2171
ayush-that wants to merge 1 commit intoCodeEditApp:mainfrom
ayush-that:fix/language-servers-settings-ui

Conversation

@ayush-that
Copy link

@ayush-that ayush-that commented Mar 8, 2026

Description

fixes several ui/ux issues on the language servers settings page:

  • row view: replaced the broken ZStack overlay ("Show More" button with background rectangle hack that caused text collision) with a clean VStack layout showing a single-line description
  • page layout: replaced .searchable() toolbar search with SearchField in its own Section, matching the pattern used by other settings pages (e.g. themes). replaced List with LazyVStack for scroll performance with hundreds of registry items
  • search: replaced fuzzy search with word-prefix matching. fuzzy search returned irrelevant results (e.g. "ad" matched "Gradle" because it found a→d scattered in the string). word-prefix only matches items where a word in the display name starts with the query
  • warning banner: styled inline with a small yellow triangle icon and secondary text, matching apple system settings pattern. previously was a section header with inconsistent spacing
  • cleanup: removed unused getInfoString() and showingInfoPanel

Related Issues

Checklist

  • I read and understood the contributing guide as well as the code of conduct
  • The issues this PR addresses are related to each other
  • My changes generate no new warnings
  • My code builds and runs on my machine
  • My changes are all related to the related issue above
  • I documented my code

Screenshots

Before

image image

After

CodeEdit.mp4

Copilot AI review requested due to automatic review settings March 8, 2026 06:44
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR fixes several UI/UX issues on the Language Servers settings page (issue #2157 - missing search functionality). It replaces the broken ZStack-based "Show More" overlay in each row with a clean single-line description, adds a proper SearchField with word-prefix matching (replacing the toolbar-based .searchable() + fuzzy search), switches from List to LazyVStack for better scroll performance, and improves the experimental warning banner styling. Unused code (getInfoString(), showingInfoPanel) is also removed.

Changes:

  • Replaces toolbar-based fuzzy search with a dedicated SearchField section and word-prefix filtering in LanguageServersView
  • Replaces List with LazyVStack + ForEach, restyling the warning banner and layout to match the ThemeSettingsView pattern
  • Removes the ZStack-based "Show More/Less" expandable description in LanguageServerRowView, replacing it with a single truncated description line

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
LanguageServersView.swift Adds SearchField, word-prefix filtering, LazyVStack layout, improved warning banner, and removes the FuzzySearchUIModel dependency
LanguageServerRowView.swift Removes the broken showMore/ZStack overlay; shows a single truncated description line

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

- Replace broken ZStack overlay in LanguageServerRowView with
  clean VStack layout and single-line description
- Replace .searchable() toolbar search with SearchField in a
  Section to match other settings pages
- Replace List with LazyVStack for scroll performance
- Replace fuzzy search with word-prefix matching for more
  intuitive filtering results
- Style warning banner inline with small yellow icon matching
  Apple System Settings pattern
- Remove unused getInfoString()
@ayush-that ayush-that force-pushed the fix/language-servers-settings-ui branch from 0fbcfa6 to 9780995 Compare March 8, 2026 07:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Filtering/No Search Bar for Language Servers

2 participants