Socket
Socket
Sign inDemoInstall

helios-language-server

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

helios-language-server

Language server for Helios, a non-Haskell Cardano smart contract DSL.


Maintainers
1

helios-language-server

image-version image-python-versions

Language server for Helios, a non-Haskell Cardano smart contract language. Uses the pygls lsp framework and tree-sitter for syntax tree generation.

auto-complete

Requirements

  • Python >=3.7
  • python3-pip (Ubuntu/Debian)
  • python3-venv (Ubuntu/Debian)

Installation

coc.nvim

  1. Easy way via npm package coc-helios:

    :CocInstall coc-helios

  2. Alternatively, if you know how to set up Python virtual environments:

    python3 -m venv .venv
    source .venv/bin/activate
    pip install helios-language-server

    Put this in your coc-settings.json file (:CocConfig):

    {
        "languageserver": {
          "helios": {
            "command": "helios-language-server",
            "args": ["--stdio"],
            "filetypes": ["*.hl", "hl"]
        }
    }
    

    The language server should now activate whenever you open .hl files, provided you have filetype.nvim plugin installed.

VSCode

  See vscode-helios.

Capabilities

  • Auto-completions
  • Hover
  • Signature help
  • Syntax errors
  • Go to definition

Comments and tips (IMPORTANT)

Currently only supports builtin types and methods up until Helios v0.9.2 (apart from import statements).

While in general the tree-sitter parser works okay, there are several shortcomings as it is not always error tolerant. Meaning that if there are syntax errors present in the source code, the parser can sometimes generate error nodes spanning the entire document. This may lead to no/unexpected auto-completions. Unfortunately, not too much can be done about the parser's error recovery ability at this stage, as this is still also an open issue with tree-sitter. I have tried to address some commonly occuring parsing errors.

To-dos

  • Parser improvements
  • Advanced diagnostics
  • Semantic highlighting
  • Imports
  • Go to definition
  • Support newer Helios versions
  • Tree-sitter syntax highlighting (nvim)
  • Type checking

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc