Skip to content

Dyvil reimplemented with LSP support, VSCode Extension, Web Playground etc. and targeting JavaScript.

Notifications You must be signed in to change notification settings

Dyvil/dyvil-lsp

Repository files navigation

Dyvil LSP

This project provides a compiler, Language Server Protocol (LSP) implementation, VSCode extension and web editor for the Dyvil programming language.

It was made as part of the Winter Term 2023/24 course "Software Tool Construction" at the University of Kassel. The full course (in German) is available on YouTube.

The web editor is a single-page Angular application with the Monaco Editor. It is available at dyvil.org.

Screenshots

Screenshot of the Dyvil LSP web editor

Features

  • Syntax highlighting and semantic tokens
  • Validation/diagnostics
  • Transpilation to JavaScript
  • Editing
    • Code completion
    • Rename
    • Code formatting
      Code formatting GIF
    • Code actions: specify type explicitly, simplify expression
      Quick Fix GIF
  • Information
    • Show references, definition, type definition
    • Hover documentation
    • Document highlight
    • Document symbols
      Outline screenshot
    • Inlay hints (inferred type, parameter names)
      Inlay hints screenshot

Development

Run nx serve web for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.

Run nx graph to see a diagram of the dependencies of the projects.

About

Dyvil reimplemented with LSP support, VSCode Extension, Web Playground etc. and targeting JavaScript.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •