Skip to content

Add inshellisense IDE-style autocomplete to shared shell profile - #30

Open
josephschmitt wants to merge 1 commit into
mainfrom
claude/inshellisense-install-8csjfl
Open

Add inshellisense IDE-style autocomplete to shared shell profile#30
josephschmitt wants to merge 1 commit into
mainfrom
claude/inshellisense-install-8csjfl

Conversation

@josephschmitt

@josephschmitt josephschmitt commented Jul 2, 2026

Copy link
Copy Markdown
Owner

Wire up microsoft/inshellisense across all three shells (bash, zsh, fish).
inshellisense auto-starts a session that wraps the interactive shell, so the
source line must be the last command in each rc file — it's appended after the
profile-override loops in .bashrc, .zshrc, and fish/config.fish.

  • Gate the block behind is_integrated_terminal so it's skipped in VS Code /
    Neovim / Emacs / Zed terminals, mirroring auto_start_tmux.
  • Source ~/.inshellisense/init//init. only if it exists, so shells
    are unaffected until is init is run and the non-interactive CI startup-time
    harness stays inert (inshellisense is intentionally not installed in CI, where
    a wrapping PTY session would hang the measurement).
  • Declare the is binary for macOS in nix-darwin systemPackages; npm install is
    documented for Ubuntu / remote sandboxes.
  • Document the integration (must-be-last, editor-terminal gating, provisioning)
    in the shell README, and cross-reference from the root, fish, and nix-darwin
    READMEs.

Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_01RKQHwwanmxtTm74iM6SdH7

Greptile Summary

This PR wires up inshellisense IDE-style autocomplete across bash, zsh, and fish by appending an init block to each shell's RC file as the final statement.

  • The block is guarded by a file-existence check (~/.inshellisense/init/<shell>/init.<ext>) so shells stay unaffected on unprovisioned machines, and by is_integrated_terminal so it is skipped in VS Code, Neovim, Emacs, and Zed terminals — matching the existing auto_start_tmux pattern.
  • The inshellisense package is declared in darwin.nix for macOS; npm installation is documented for Ubuntu/remote sandboxes.
  • Documentation in the shell README clearly explains the must-be-last constraint, the recursion guard (ISTERM) handled by the upstream init file, and warns users not to re-append the source line via is init <shell> >> ~/.<shell>rc.

Confidence Score: 5/5

Safe to merge — the changes are additive shell startup snippets with proper existence and editor-terminal guards, and a single nixpkgs package addition that resolves correctly.

All three shell integrations follow the established pattern in the repo: file-existence guard prevents breakage on unprovisioned machines, is_integrated_terminal correctly gates out editor terminals, and the must-be-last placement is consistent with how inshellisense works. The inshellisense nixpkgs attribute name is valid.

No files require special attention.

Reviews (1): Last reviewed commit: "Add inshellisense IDE-style autocomplete..." | Re-trigger Greptile

Wire up microsoft/inshellisense across all three shells (bash, zsh, fish).
inshellisense auto-starts a session that wraps the interactive shell, so the
source line must be the last command in each rc file — it's appended after the
profile-override loops in .bashrc, .zshrc, and fish/config.fish.

- Gate the block behind is_integrated_terminal so it's skipped in VS Code /
  Neovim / Emacs / Zed terminals, mirroring auto_start_tmux.
- Source ~/.inshellisense/init/<shell>/init.<ext> only if it exists, so shells
  are unaffected until `is init` is run and the non-interactive CI startup-time
  harness stays inert (inshellisense is intentionally not installed in CI, where
  a wrapping PTY session would hang the measurement).
- Declare the `is` binary for macOS in nix-darwin systemPackages; npm install is
  documented for Ubuntu / remote sandboxes.
- Document the integration (must-be-last, editor-terminal gating, provisioning)
  in the shell README, and cross-reference from the root, fish, and nix-darwin
  READMEs.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RKQHwwanmxtTm74iM6SdH7
@josephschmitt
josephschmitt force-pushed the claude/inshellisense-install-8csjfl branch from e706047 to 987bc27 Compare July 2, 2026 12:48
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.

2 participants