;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (require 'lsp-mode) #@31 Name of the VHDL Tool binary. (defvar vhdl-tool-bin-name "vhdl-tool" (#$ . 107)) #@29 Name of HDL Checker binary. (defvar hdl-checker-bin-name "hdl_checker" (#$ . 194)) #@29 Name of the VHDL LS binary. (defvar vhdl-ls-bin-name "vhdl_ls" (#$ . 283)) #@29 Name of the GHDL LS binary. (defvar ghdl-ls-bin-name "ghdl-ls" (#$ . 364)) (byte-code "\300\301\302\303\304\305%\210\306\307\310\311\312DD\313\314\315\304\301&\210\306\316\310\311\317DD\320\304\301\321\322\314\323& \207" [custom-declare-group lsp-vhdl nil "LSP support for VHDL. Set lsp-vhdl-server to select server. The default is to use VHDL-tool." :group lsp-mode custom-declare-variable lsp-vhdl-server funcall function #[0 "\300\207" [vhdl-tool] 1] "Select which server to use:\nVHDL-tool: A syntax checking, type checking and linting tool (http://vhdltool.com).\nHDL Checker: A wrapper for third party tools such as GHDL, ModelSim, Vivado Simulator (https://github.com/suoto/hdl_checker).\nVHDL LS: A complete VHDL language server protocol implementation with diagnostics, navigate to symbol, find all references etc. (https://github.com/kraigher/rust_hdl)." :type (choice (const :tag "VHDL-tool" vhdl-tool) (const :tag "HDL Checker" hdl-checker) (const :tag "VHDL LS" vhdl-ls) (const :tag "GHDL LS" ghdl-ls)) lsp-vhdl-server-path #[0 "\300\207" [nil] 1] "Path to binary server file." :risky t file] 10) (defvar lsp-vhdl--params nil) #@59 Returns lsp-stdio-connection based on the selected server (defalias 'lsp-vhdl--create-connection #[0 "\300 \210\301 \210\302\303\304\"\207" [lsp-vhdl--set-server-path lsp-vhdl--set-server-args lsp-stdio-connection #[0 "\301\302\"\301\303\"B\207" [lsp-vhdl--params plist-get server-path server-args] 4] #[0 "\301\302\303\"!\207" [lsp-vhdl--params executable-find plist-get server-path] 4]] 3 (#$ . 1511)]) #@66 Set path to server binary based on selection in lsp-vhdl-server. (defalias 'lsp-vhdl--set-server-path #[0 "\306\267\202_ \307=\203\310\n\311 #\211\207\310\n\311 #\211\207 \307=\203*\310\n\311\f#\211\207\310\n\311 #\211\207 \307=\203@\310\n\311 #\211\207\310\n\311 #\211\207 \307=\203W\310\n\311\n#\211\207\310\n\311 #\211\207\307\207" [lsp-vhdl-server lsp-vhdl-server-path lsp-vhdl--params hdl-checker-bin-name vhdl-tool-bin-name vhdl-ls-bin-name #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (hdl-checker 6 vhdl-tool 28 vhdl-ls 50 ghdl-ls 72)) nil plist-put server-path ghdl-ls-bin-name] 4 (#$ . 1925)]) #@49 Set server arguments based on server selection. (defalias 'lsp-vhdl--set-server-args #[0 "\302\267\202&\303 \304\305#\211\207\303 \304\306#\211\207\303 \304\307#\211\207\303 \304\307#\211\207\307\207" [lsp-vhdl-server lsp-vhdl--params #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (hdl-checker 6 vhdl-tool 14 vhdl-ls 22 ghdl-ls 30)) plist-put server-args ("--lsp") ("lsp") nil] 4 (#$ . 2591)]) (byte-code "\300\301\302\303 \304\305\306\307\310\311\312\313&\n!\207" [lsp-register-client make-lsp-client :new-connection lsp-vhdl--create-connection :major-modes (vhdl-mode) :language-id "VHDL" :priority -1 :server-id lsp-vhdl] 12) (defconst lsp-vhdl-plist-value-when-compiled nil) (provide 'lsp-vhdl)