Skip to content

Add built-in HTTP Language Server with interactive request execution#7

Open
dreygur wants to merge 3 commits intotie304:mainfrom
dreygur:dev
Open

Add built-in HTTP Language Server with interactive request execution#7
dreygur wants to merge 3 commits intotie304:mainfrom
dreygur:dev

Conversation

@dreygur
Copy link
Copy Markdown

@dreygur dreygur commented Dec 2, 2025

Summary

  • Adds a built-in Language Server (http-lsp) that enables executing HTTP requests directly from the editor
  • Implements inlay hints, code actions, and hover providers for interactive HTTP request handling
  • No external tools required - works out of the box with reqwest HTTP client

Features

  • Inlay Hints: Visual inline buttons (▶ Send | 👁 Show | 💾 Save | ◉ Headers)
  • Code Actions: Access commands via Ctrl+. / Cmd+. anywhere in a request block
  • Hover Info: View request details and cached response status
  • Response Caching: Re-display responses without re-executing requests
  • Save Response: Execute and save response to file

Technical Details

  • http-lsp/ - New Rust LSP crate using tower-lsp
  • tree-sitter-http - Bundled parser for .http file parsing
  • reqwest - HTTP client for request execution
  • Code lens implementation included (awaiting Zed support - Issue #11565)

Setup Required

Users need to enable inlay hints in settings:

  {
    "languages": {
      "http": {
        "inlay_hints": {
          "enabled": true
        }
      }
    }
  }

Test Plan

  • Open a .http file with HTTP requests
  • Verify inlay hint buttons appear on request lines
  • Place cursor on request, press Ctrl+./Cmd+., select "Send Request"
  • Verify response displays correctly
  • Test "Show Response" displays cached response
  • Test "Save Response" saves to file
  • Test "Show Headers" displays headers only

dreygur and others added 3 commits December 2, 2025 15:47
- Add http-lsp crate with tree-sitter-http parsing
- Implement code lens provider (Send, Headers, Save buttons)
- Add HTTP client using reqwest for request execution
- Update extension to download/start LSP binary
- Add JSON/XML/GraphQL language injections
- Add comprehensive documentation in docs/

Note: Code lens awaiting Zed support (Issue #11565)
- Add inlay hints with visual buttons for HTTP requests
- Add code actions (Ctrl+.) for Send, Show, Save, Headers commands
- Add hover provider showing request info and action hints
- Add response caching for Show command
- Fix parser slice bounds issue
- Enable inlay hints by default for http language
1. Fixed save response to path
2. Updated readme
3. Added zed settings for inlay_hints

Co-authored-by: Yeasir Hossain <yeasir06@gmail.com>
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.

1 participant