Add LSP completion/code actions/rename/signature help infrastructure, fix TypeScript LSP, rebrand app identifiers

- LSP Layer: Add completion, completion_resolve, signature_help, code_action,
  prepare_rename, and rename methods to TextDocumentService and LspServerModel
- Types: Add CompletionItemData, CompletionResult, SignatureHelpResult,
  CodeActionData, PrepareRenameResult, RenameResult, FileEdits
- Feature Flags: Add LspCompletion, LspCodeActions, LspRename, LspSignatureHelp
- Client Capabilities: Declare completion, signature help, rename, and code
  action capabilities so servers advertise these features
- Completion UI: Add completion state machine with debounced triggers, fuzzy
  filtering, positioned overlay menu, and edit application
- TypeScript LSP: Switch to npx for running typescript-language-server (handles
  download/caching automatically, survives node version switches)
- PATH Resolution: Add interactive shell PATH fallback for LSP server discovery
  and spawning (fixes nvm/fnm/volta users)
- App Identity: Rebrand from com.samsung.Galaxy/dev.warp.WarpOss to
  samsung.galaxy.GalaxyOss across bundle IDs, URL schemes, and plists
- Add scripts/reset-galaxy.sh for clean slate testing
- Galaxy status messages and other in-progress work

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Ryan Ward
2026-05-18 15:57:47 -05:00
co-authored by Claude Opus 4.6
parent f37a744692
commit a75bc99852
15 changed files with 769 additions and 162 deletions
+3 -2
View File
@@ -6,7 +6,8 @@ use super::{
view_impl::common::{
render_switch_control_to_user_button, render_warping_indicator,
render_warping_indicator_base, ButtonProps, ForceRefreshButtonProps, MaybeShimmeringText,
WarpingIndicatorProps, WarpingProps, LOAD_OUTPUT_MESSAGE, WAITING_FOR_USER_INPUT_MESSAGE,
WarpingIndicatorProps, WarpingProps, random_load_output_message,
WAITING_FOR_USER_INPUT_MESSAGE,
},
};
use crate::{
@@ -812,7 +813,7 @@ impl BlocklistAIStatusBar {
);
let default_warping_text = fallback_warping_text
.as_deref()
.unwrap_or(LOAD_OUTPUT_MESSAGE)
.unwrap_or(random_load_output_message())
.to_owned();
let secondary_element = if fallback_warping_text.is_some() {
Some(render_fallback_explanation(model.as_ref(), app))
+48 -1
View File
@@ -129,7 +129,54 @@ const IMAGE_SOURCE_LINK_LINE_INDEX: usize = 1;
const ERROR_APOLOGY_TEXT: &str = "I'm sorry, I couldn't complete that request.";
const INTERNAL_WARP_ERROR: &str = "Internal Warp error.";
pub const LOAD_OUTPUT_MESSAGE: &str = "Warping...";
const GALAXY_STATUS_MESSAGES: &[&str] = &[
"Warping through the Galaxy...",
"Guarding the Galaxy...",
"Exploring the Galaxy...",
"Charting the Galaxy...",
"Traversing the Galaxy...",
"Navigating the Galaxy...",
"Scanning the Galaxy...",
"Hitchhiking across the Galaxy...",
"Assembling the Galaxy...",
"Aligning stars in the Galaxy...",
"Consulting the Galaxy...",
"Galaxy brain activated...",
"Orbiting the Galaxy...",
"Bending the Galaxy...",
"Summoning the Galaxy...",
"Decoding the Galaxy...",
"Harnessing Galaxy power...",
"Riding the Galaxy stream...",
"Tuning into the Galaxy...",
"Surfing the Galaxy waves...",
"Mapping the Galaxy...",
"Galaxy engines engaged...",
"Weaving through the Galaxy...",
"Channeling the Galaxy...",
"Phasing through the Galaxy...",
"Galaxy hyperdrive online...",
"Syncing with the Galaxy...",
"Galaxy core spinning up...",
"Drifting through the Galaxy...",
"Galaxy warp field stable...",
"Tapping into Galaxy energy...",
"Galaxy neurons firing...",
"Quantum leaping the Galaxy...",
"Galaxy thrusters ignited...",
"Calculating Galaxy trajectory...",
"Galaxy flux capacitor charged...",
"Piercing the Galaxy veil...",
"Galaxy signal acquired...",
"Folding Galaxy spacetime...",
"Galaxy coordinates locked...",
];
pub fn random_load_output_message() -> &'static str {
use rand::Rng;
let idx = rand::thread_rng().gen_range(0..GALAXY_STATUS_MESSAGES.len());
GALAXY_STATUS_MESSAGES[idx]
}
pub const LOAD_OUTPUT_MESSAGE_FOR_ADJUSTING: &str = "Adjusting tasks...";
pub const LOAD_OUTPUT_MESSAGE_FOR_PASSIVE_CODE_GEN: &str = "Generating fix...";
pub const LOAD_OUTPUT_MESSAGE_FOR_CREATING_DIFF: &str = "Creating diff...";