I have extended vscode with an extension #23

Merged
probablycorey merged 15 commits from vscode into main 2025-11-06 00:20:29 +00:00

Shrimp VSCode Extension

Language support for Shrimp in VSCode. This README is for probablycorey and defunkt.

What it provides:

  • Syntax highlighting and semantic tokens
  • Language server with error diagnostics
  • Commands: "Show Parse Tree" (Alt+K Alt+I) and "Show Bytecode" (Alt+K Alt+,)
  • .sh file association

Development Workflow

Developing the extension:

  1. Open vscode-extension/ in VSCode
  2. Run bun run watch in a terminal (keeps it compiling as you make changes)
  3. Use Run > Start Debugging to launch Extension Development Host
  4. Make changes to the code
  5. Press Cmd+R (or Ctrl+R) in the Extension Development Host window to reload
  6. Repeat steps 4-5

The .vscode/launch.json is configured to compile before launching and use a separate "Shrimp Dev" profile. This means you can have the extension installed in your main VSCode while developing without conflicts.

Installing for daily use:

Run bun run build-and-install to build a VSIX and install it in your current VSCode profile. This lets you use the extension when working on Shrimp scripts outside of development mode.

Project Structure

The extension has two parts: a client (client/src/extension.ts) that registers commands and starts the language server, and a server (server/src/) that implements the Language Server Protocol for diagnostics and semantic highlighting.

Both compile to their respective dist/ folders.

Next Steps

  • Better syntax coloring
  • Autocomplete
    • Identifiers in scope
    • Globals from the prelude (including native functions)
    • Imports
    • Dot-get properties
    • Function argument completion
  • Run shortcut - command to execute the current Shrimp file
  • REPL integration
# Shrimp VSCode Extension Language support for Shrimp in VSCode. This README is for probablycorey and defunkt. **What it provides:** - Syntax highlighting and semantic tokens - Language server with error diagnostics - Commands: "Show Parse Tree" (Alt+K Alt+I) and "Show Bytecode" (Alt+K Alt+,) - `.sh` file association ## Development Workflow **Developing the extension:** 1. Open `vscode-extension/` in VSCode 2. Run `bun run watch` in a terminal (keeps it compiling as you make changes) 3. Use **Run > Start Debugging** to launch Extension Development Host 4. Make changes to the code 5. Press **Cmd+R** (or Ctrl+R) in the Extension Development Host window to reload 6. Repeat steps 4-5 The `.vscode/launch.json` is configured to compile before launching and use a separate "Shrimp Dev" profile. This means you can have the extension installed in your main VSCode while developing without conflicts. **Installing for daily use:** Run `bun run build-and-install` to build a VSIX and install it in your current VSCode profile. This lets you use the extension when working on Shrimp scripts outside of development mode. ## Project Structure The extension has two parts: a **client** (`client/src/extension.ts`) that registers commands and starts the language server, and a **server** (`server/src/`) that implements the Language Server Protocol for diagnostics and semantic highlighting. Both compile to their respective `dist/` folders. ## Next Steps - [ ] Better syntax coloring - [ ] Autocomplete - [ ] Identifiers in scope - [ ] Globals from the prelude (including native functions) - [ ] Imports - [ ] Dot-get properties - [ ] Function argument completion - [ ] Run shortcut - command to execute the current Shrimp file - [ ] REPL integration
probablycorey added 5 commits 2025-11-04 23:57:14 +00:00
probablycorey added 1 commit 2025-11-05 00:25:26 +00:00
probablycorey added 1 commit 2025-11-05 18:17:36 +00:00
Owner

👯

plz merge I need this.

👯 plz merge I need this.
probablycorey added 5 commits 2025-11-05 22:49:45 +00:00
probablycorey added 1 commit 2025-11-06 00:17:38 +00:00
probablycorey added 3 commits 2025-11-06 00:20:25 +00:00
probablycorey merged commit ea01a93563 into main 2025-11-06 00:20:29 +00:00
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: probablycorey/shrimp#23
No description provided.