GithubHelp home page GithubHelp logo

guilbaudl / rust_hdl_vscode Goto Github PK

View Code? Open in Web Editor NEW

This project forked from vhdl-ls/rust_hdl_vscode

0.0 0.0 0.0 8.8 MB

VHDL Language Support for VSCode

License: MIT License

JavaScript 12.67% TypeScript 87.33%

rust_hdl_vscode's Introduction

VHDL Language Server/Support

VHDL Language Server and Support for Visual Studio Code.

Features

  • Live syntax and type checking
  • Finds missing and duplicate declarations
  • Goto-definition/declaration (also in presence of overloading)
  • Find-all-references (also in presence of overloading)
  • Goto-implementation
    • From component declaration to matching entity by default binding
    • From entity to matching component declaration by default binding
  • Hovering symbols reveals more information
  • Renaming symbols
  • Finding workspace symbols
  • Viewing/finding document symbols

Configuration

The language server needs to know the library mapping of the VHDL files in the project, for this purpose it reads a configuration file in the TOML format named vhdl_ls.toml. The file contains the library mapping of all files within the project and should be located in the workspace root. Files outside of the project without library mapping are checked for syntax errors only.

vhdl_ls will load configuration files in the following order of priority (first to last):

  1. A file named .vhdl_ls.toml in the user home folder.
  2. A file name from the VHDL_LS_CONFIG environment variable.
  3. A file named vhdl_ls.toml in the workspace root.

Library definitions in later files redefines those from previously loaded files.

Example vhdl_ls.toml

# File names are either absolute or relative to the parent folder of the
# vhdl_ls.toml file and supports glob-style patterns.

[libraries]

# Defines library lib2
lib2.files = [
  'pkg2.vhd',
  'src/**/*.vhd',
]

# Defines library lib1
lib1.files = [
  'pkg1.vhd',
  'tb_ent.vhd',
]

Technology under the hood

This extension is based on the VHDL-LS Language Server. Pre-compiled binaries for Linux and Windows are provided with the extension.

The server can also be loaded from either the system path or Docker depending on the value of the vhdlls.languageServer property.

  • embedded: Use the embedded binary.
  • user: Use path provided by user in vhdlls.languageServerUserPath property.
  • systemPath: Run vhdl_ls from path.
  • docker: Use docker image (Only supports files below workspace root)

NOTE: On Linux, it may be necessary to set -x on the vhdl_ls binary.

Issues

Issues related to the extension can be reported at VHDL LS - VSCode repository.

Issues related to the VHDL language support and language server featuresshould be reported directly to VHDL-LS

Chat

Syntax coloring

Syntax coloring is based on the textmate vhdl.tmbundle

Licenses

The VSCode extension is available under the MIT license.

The VHDL-LS VHDL language server is available under the Mozilla Public License, v. 2.0.

rust_hdl_vscode's People

Contributors

bochlin avatar dependabot[bot] avatar kraigher avatar xcodo avatar maximiliankoestler avatar trooper-x avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.