Skip to content

Commit 0283f1a

Browse files
authored
Update README.md
1 parent 97bbd81 commit 0283f1a

File tree

1 file changed

+14
-29
lines changed

1 file changed

+14
-29
lines changed

README.md

Lines changed: 14 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -22,43 +22,14 @@ I very much appreciate help from other people especially regarding semantic anal
2222
- Supports find-references (also in presence of overloading)
2323
- Supports hovering symbols
2424

25-
## VHDL Language Frontend
26-
[![vhdl language frontend crate](https://img.shields.io/crates/v/vhdl_lang.svg)](https://crates.io/crates/vhdl_lang)
27-
### Goals
28-
- This project aims to provide a fully featured open source VHDL frontend that is easy to integrate into other tools.
29-
- A design goal of the frontend is to be able to recover from syntax errors such that it is useful for building a language server.
30-
- Analysis order must be automatically computed such that the user does not have to maintain a compile order.
31-
- Comments will be part of the AST to support document generation.
32-
- Separate parsing from semantic analysis to allow code formatting on non-semantically correct code.
33-
3425
## Trying it out
3526
A language server is never used directly by the end user and it is integrated into different editor plugins. The ones I know about are listed here.
3627

3728
## Use in VSCode
3829
https://github.com/Bochlin/rust_hdl_vscode
3930

40-
## Use in Atom
41-
https://github.com/mbrobbel/atom-ide-vhdl
42-
4331
## Use in emacs
44-
### lsp-mode
4532
VHDL LS has built-in support by emacs `lsp-mode` since 2020-01-04.
46-
The only thing required is to configure the path to the `vhdl_ls` binary unless it is added to the `$PATH`.
47-
Just add the following to your `.emacs.el`:
48-
```elisp
49-
(require 'use-package)
50-
51-
; Required unless vhdl_ls is on the $PATH
52-
(setq lsp-vhdl-server-path "${PATH_TO_RUST_HDL}/target/release/vhdl_ls")
53-
54-
; Prefer vhdl_ls over other VHDL language servers
55-
(custom-set-variables
56-
'(lsp-vhdl-server 'vhdl-ls))
57-
58-
(use-package lsp-mode
59-
:config
60-
(add-hook 'vhdl-mode-hook 'lsp))
61-
```
6233

6334
### Configuration
6435
The language server needs to know your library mapping to perform full analysis of the code. For this it uses a configuration file in the [TOML](https://github.com/toml-lang/toml) format named `vhdl_ls.toml`.
@@ -84,3 +55,17 @@ lib1.files = [
8455
]
8556
```
8657

58+
## As an LSP-client developer how should I integrate VHDL-LS?
59+
I recommend that the `lsp-client` polls GitHub and downloads the [latest](https://github.com/VHDL-LS/rust_hdl/releases/latest) VHDL-LS release from GitHub.
60+
61+
VHDL-LS has frequent releases and the automatic update ensures minimal maintenance for the `lsp-client` developer as well as ensuring the users are not running and outdated version.
62+
63+
## VHDL Language Frontend
64+
[![vhdl language frontend crate](https://img.shields.io/crates/v/vhdl_lang.svg)](https://crates.io/crates/vhdl_lang)
65+
### Goals
66+
- This project aims to provide a fully featured open source VHDL frontend that is easy to integrate into other tools.
67+
- A design goal of the frontend is to be able to recover from syntax errors such that it is useful for building a language server.
68+
- Analysis order must be automatically computed such that the user does not have to maintain a compile order.
69+
- Comments will be part of the AST to support document generation.
70+
- Separate parsing from semantic analysis to allow code formatting on non-semantically correct code.
71+

0 commit comments

Comments
 (0)