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
+7 -7
View File
@@ -37,7 +37,7 @@ pub struct ChannelState {
impl ChannelState {
pub fn init() -> Self {
let channel = Channel::Oss;
let app_id = AppId::new("dev", "warp", "WarpOss");
let app_id = AppId::new("samsung", "galaxy", "GalaxyOss");
Self {
channel,
additional_features: Default::default(),
@@ -379,13 +379,13 @@ impl ChannelState {
pub fn url_scheme() -> &'static str {
match Self::channel() {
Channel::Stable => "warp",
Channel::Preview => "warppreview",
Channel::Dev => "warpdev",
Channel::Stable => "galaxy",
Channel::Preview => "galaxypreview",
Channel::Dev => "galaxydev",
// Dummy value--integration tests shouldn't support URL schemes.
Channel::Integration => "warpintegration",
Channel::Local => "warplocal",
Channel::Oss => "warposs",
Channel::Integration => "galaxyintegration",
Channel::Local => "galaxylocal",
Channel::Oss => "galaxyoss",
}
}
}