Skip to main content

A Language Server for Bluespec SystemVerilog

Project description

Bluespec Language Server.

  • Uses bsc for linting.
  • Uses tree-sitter for Completion on .,{ and ( character

See it in action

Installation

pip install bsv-language-server

The language server searches upwards from the current folder for for a .bscflags file for setting to use for compilation The tree-sitter parser is not complete, it currently parses most typedef enum/struct, interfaces module instantation and assignment statements and fails on everything else. This subset should be enough for type completion.

How to use

In your project hierarchy create a file .bscflags with compile time options e.g. .bscflags

-p /prj/bsvlib/bdir:bo:+
-bdir bo
-info-dir bo

VIM

In your .vimrc Add the following plugins e.g. using Vundle

Plugin 'prabirshrestha/vim-lsp'
Plugin 'prabirshrestha/asyncomplete.vim'
Plugin 'prabirshrestha/asyncomplete-lsp.vim'
".... other vundle stuff
 if executable('bsv_language_server')
     au User lsp_setup call lsp#register_server({
         \ 'name': 'bsv_language_server',
         \ 'cmd': {server_info->['bsv_language_server']},
         \ 'allowlist': ['bsv'],
         \ 'workspace_config': {
         \   'bluespec': {
         \     'compilerFlags': ['-p', '+:/prj/bsvlib/bdir:bo', '-check']
         \   }
         \ }
     \ })
 endif

Send PR's for other editors.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bsv_language_server-0.1.0.tar.gz (10.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bsv_language_server-0.1.0-py3-none-any.whl (10.9 kB view details)

Uploaded Python 3

File details

Details for the file bsv_language_server-0.1.0.tar.gz.

File metadata

  • Download URL: bsv_language_server-0.1.0.tar.gz
  • Upload date:
  • Size: 10.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for bsv_language_server-0.1.0.tar.gz
Algorithm Hash digest
SHA256 bcf39437f869c63ff9f1bef112a03a5a1bcce9dda41011e835ae4f571b5b5d40
MD5 d73a5b5e458f3c7f017605ff70decd21
BLAKE2b-256 033beffc855f26078e5fb0ff57fd01fa5340ea327fcc1dd558fbd97f2eaf30e7

See more details on using hashes here.

Provenance

The following attestation bundles were made for bsv_language_server-0.1.0.tar.gz:

Publisher: ci.yaml on jahagirdar/bsv-language-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bsv_language_server-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for bsv_language_server-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8d1da1581681f383a426fbd2acc29d27ce5938ba23e6a094cecfc405df52ecd2
MD5 84702a2bb5da950a8f9b18777563e130
BLAKE2b-256 2b43416fd3dcd3744e356f2f8cd7cbad9628546786c1c33708e9e695447a526d

See more details on using hashes here.

Provenance

The following attestation bundles were made for bsv_language_server-0.1.0-py3-none-any.whl:

Publisher: ci.yaml on jahagirdar/bsv-language-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page