Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>PPL Procedural Programming ToolkitNew to Visual Studio Code? Get it now.
PPL Procedural Programming Toolkit

PPL Procedural Programming Toolkit

Gaok1

|
2 installs
| (0) | Free
Rich editor support for the Procedural Programming Language (PPL): syntax highlighting, compiler diagnostics, deep hover (routines/func/proc, enums & variants, type aliases, module globals, and the prelude operator table), outline, completion, signature help, references, rename, CodeLens, call hiera
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

PPL Language Support for VS Code

VS Code extension assets for the Procedural Programming Language (.ppl).

Included in v0.6

Everything in v0.3, plus support for newer PPL additions:

  • Syntax, outline, hover, completion, references, and semantic highlighting for enum declarations and variants
  • Type-alias parsing (type Name = ...) and module-level let / const globals
  • Highlighting and literal hover support for 0x / 0b / 0o numbers and _ digit separators
  • Struct field defaults, shorthand/update-spread snippets, if expressions, and break / continue keywords

Included in v0.3

Everything in v0.2, plus a full set of compiler-aware editor features driven by a lightweight in-extension index of every .ppl file in the workspace (including std/):

  • Hover — routine signatures with their doc comments, struct layouts, operator declarations, and built-in keyword/type documentation
  • Outline & breadcrumbs — routines, types (with their fields), and operators via a Document Symbol provider, plus workspace symbol search (Ctrl+T)
  • Completion — keywords, built-in types, in-scope locals/parameters, all workspace routines (inserted as a call template) and types, literals, and import path completion for std.* and sibling modules
  • Signature help — parameter hints as you fill in a routine call, with the active argument highlighted (variadics handled)
  • References (Shift+F12) for routines, types, operators, and locals
  • CodeLens — a ▶ Run action above main and reference counts above routines and types (toggle with ppl.codeLens.enabled)
  • Semantic highlighting — scope-aware coloring that distinguishes routine calls, types, parameters, locals, and struct fields (toggle with ppl.semanticHighlighting.enabled)
  • Sharper diagnostics — squiggles now span the compiler's caret underline (not just one character), and note: lines attach as related information
  • Compiler-insight commands — PPL: Show LLVM IR / Assembly / AST / Tokens open the corresponding --emit output in a side editor, and PPL: Build Executable links the active file, surfacing errors in the Problems panel
  • Status bar item — reflects the last compile result (ok / errors / compiling / compiler-not-found); click it to open the output channel

Included in v0.2

  • Run button (▶ in the editor title bar) and PPL: Run File command/context-menu entry that compiles and runs the active .ppl file with ppl run in an integrated terminal, reusing the configured ppl.compilerPath / ppl.cargoPath resolution

Included in v0.1

  • Syntax highlighting for current PPL declarations, literals, operators, match, comments, imports, extern routine, intrinsic routine, enum, type aliases, globals, unsigned scalars, pointers, arrays, function-pointer types, and packed varargs (...)
  • Language configuration for // comments, bracket matching, auto-closing pairs, number suffixes, and basic indentation
  • Snippets for routine, procedures, extern routine, packed varargs, type, enum, type aliases, globals, if/else, if expressions, while ... do, do ... while, for ... while ... do, match, operators, imports, function pointer types, casts, struct update, and raw byte pointers
  • Go to Definition (Ctrl+Click / F12) for local variables, for initializers, routine parameters, top-level routines/externs, type names/usages, user-defined operators, and imported modules
  • Compiler diagnostics in the editor for saved .ppl files, using the project compiler output

What this does not include

  • Language Server Protocol integration (features run in-process from the extension's own index rather than a separate server)
  • In-memory semantic diagnostics/type checking for unsaved files (diagnostics run the real compiler on save)
  • Rename and formatting
  • Type inference, so member completion after . is intentionally left off rather than guessed

Develop and run

  1. Open this editors/vscode folder.
  2. Install extension development dependencies in your VS Code environment if needed.
  3. Press F5 in VS Code to launch an Extension Development Host.
  4. Open any .ppl file in the new window.

If you prefer packaging later, this folder is already structured as a standalone extension with package.json, syntaxes/, snippets/, and language-configuration.json.

Useful files

  • package.json
  • syntaxes/ppl.tmLanguage.json
  • snippets/ppl.json
  • language-configuration.json
  • references/PPL.syntax

Layout

All VS Code extension assets for PPL live under editors/vscode, including the source grammar reference used while building the TextMate grammar.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft