Skip to content

SHACLC LSP implementation #193

@VladimirAlexiev

Description

@VladimirAlexiev

@jeswr @anneeb @kendall
Once the SHACLC grammar is unified/finalized (see 4 inputs in https://github.com/VladimirAlexiev/shacl/tree/shaclc-grammars/shacl-compact-syntax/grammar),
we'll want to implement Language Server Protocol (LSP) for it.

Stardog has made https://github.com/stardog-union/stardog-language-servers (and more in https://marketplace.visualstudio.com/items?itemName=stardog-union.vscode-stardog-languages)

It supports a bunch of semantic languages, including Turtle serialization of SHACL. LSP features currently supported include:

  • Diagnostics (error hints)
  • Hover tooltips (identifies entities in SHACL and shows "expected" symbols in the case of an error)
  • Completion suggestions for standard SHACL QNames

With a dedicated SHACLC syntax, we can add even more features, eg

  • more keywords and synonyms, eg xor, xone, >< all mean the same
  • regexp syntax check

Note to self: SPARQL LSP for Emacs: lsp-sparql.el

Stardog people: maybe it's better to move this issue to your project?

Metadata

Metadata

Assignees

No one assigned

    Labels

    CompactFor SHACL 1.2 Compact Syntax

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions