Skip to content

ntoulasm/jref-language-server

Repository files navigation

JRef Language Support (VS Code Extension)

CI Status

This project is a submission for the JSON Schema organization's Google Summer of Code 2026 qualification task

Features

Go to Definition

Navigate to referenced files using Ctrl+Click on $ref values.

JRef Go to Definition Demo

Diagnostics

Syntax validation and error reporting for malformed JRef structure.

JRef Diagnostics Demo

Semantic Syntax Highlighting

The Language Server understands the JRef schema. It surgically identifies $ref keys and their destination paths to provide a clear visual distinction.

Document Symbols

The Language Server implements a Document Symbol Provider that enables the Outline View, Breadcrumbs and Symbol Search Jref Document Symbols

Requirements

  1. Node
  2. VS Code

How to run the extension

  1. Clone the repository
git clone https://github.com/ntoulasm/jref-language-server.git
cd jref-language-server
  1. Install dependencies
npm install
  1. Open VS Code and press F5 to open a new window with the extension loaded

Testing Suite

Integration Tests (client/src/test)

These tests use vscode-test to simulate a real user environment.

Unit Tests (server/src/test)

These tests use mocha to test the server side functionality.

How to run

npm run test -w client # client tests only
npm run test -w server # server tests only
npm run test           # both client and server tests

Continuous Integration

This repository uses GitHub Actions to ensure code quality on every push and PR.

Linting

Automated check for code style and formatting.

Integration Tests

Executes the vscode-test suite for headless VS Code testing.

Unit Tests

Runs the mocha suite for the Language Server logic.

About

Language Server for JRef (JSON Reference) - GSoC 2026 Qualification Task for JSON Schema

Topics

Resources

Stars

Watchers

Forks

Contributors