Skip to content

Latest commit

 

History

History
84 lines (64 loc) · 3.74 KB

File metadata and controls

84 lines (64 loc) · 3.74 KB

Change Log

All notable changes to the "sac-language-support" extension will be documented in this file.

0.0.1 - 16 April 2026

Language + Editor Support

  • Added SaC language registration for .sac files.
  • Added language configuration for editor behaviors (comments/brackets/word boundaries).
  • Added SaC TextMate grammar + injection support for SaC-aware highlighting inside C scopes.
  • Added built-in SaC snippets.
  • Added SaC file icon contribution and icon theme mapping.
  • Added multiple bundled SaC color themes (Default, Warm, Cool, Vibrant).

Language Server (LSP)

  • Added SaC language server activation and lifecycle wiring from the extension host.
  • Added diagnostics publication to Problems panel + inline squiggles.
  • Added hover provider for:
    • builtins + stdlib docs from docs/builtins and docs/stdlib
    • compiler-index-backed symbols when available
    • source-defined function docs/signatures fallback
  • Added go-to-definition provider using compiler navigation index with source/stdlib fallbacks.
  • Added safe server error handling (runSafely) so failures are logged instead of crashing server process.

Diagnostics Pipeline

  • Added diagnostics execution modes: onSave, onType (debounced), manual.
  • Added diagnostics presentation modes: expanded, smart, hybrid.
  • Added best-effort parser/grouping pipeline for sac2c output.
  • Added related information + stack/context rendering controls:
    • sac.diagnostics.includeRelatedInformation
    • sac.diagnostics.includeStackInMessage
    • sac.diagnostics.maxStackFrames
  • Added workspace-wide diagnostics scan controls:
    • sac.diagnostics.workspaceScan.enabled
    • sac.diagnostics.workspaceScan.onInitialize
    • sac.diagnostics.workspaceScan.onConfigurationChange
    • sac.diagnostics.workspaceScan.excludeDirectories

Compiler prerequisite (current fork status):

Compiler Resolution + Execution

  • Added compiler resolution strategy with channels: system, stable, develop.
  • Added explicit compiler path override via sac.compiler.path.
  • Added fallback behavior to system compiler when bundled channel binary is missing.
  • Added backend execution modes:
    • local
    • wsl (Windows host)
    • docker
  • Added configurable extra compiler args and deterministic messaging args:
    • sac.compiler.extraArgs
    • sac.compiler.messaging.enabled
    • sac.compiler.messaging.args

Navigation + Hover Docs Infrastructure

  • Added markdown documentation lookup + formatting pipeline for hover content.
  • Added heading/section parsing helpers for richer hover rendering.
  • Added builtin family doc resolution (for example _add_SxS_ -> _add_.md).
  • Added hover/definition runtime tracing controls via sac.compiler.trace and debug logging hooks.

Compiler prerequisite (current fork status):

Repository + Packaging Foundations

  • Added diagnostics architecture docs (docs/diagnostics-pipeline.md, docs/editor-agnostic-diagnostics.md).
  • Added extension packaging optimization:
    • esbuild bundle pipeline for extension + server outputs
    • prepublish bundle hook before vsce package
    • lean .vscodeignore rules for smaller VSIX artifacts
  • Added initial GitHub workflow foundation for nightly/stable VSIX release automation.

Tooling Baseline

  • Added Node.js runtime pin via .nvmrc.
  • Added npm behavior pin via .npmrc and package-manager metadata.