summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorBartek thindil Jasicki <thindil@laeran.pl>2020-08-07 17:43:11 +0200
committerBartek thindil Jasicki <thindil@laeran.pl>2020-08-07 17:43:11 +0200
commit973c4ea053f78d4daa6eceff36da0bbecd788077 (patch)
treef63fcce4cebada3930737a3068ec9baa3571a1b9 /doc
parent9a9d12cf4f3dda8ab45d38b10d5f3e01efc9b5d6 (diff)
parentf741245f11007819e81632e13690ebcf9b6c3f40 (diff)
downloadale-973c4ea053f78d4daa6eceff36da0bbecd788077.zip
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'doc')
-rw-r--r--doc/ale-javascript.txt2
-rw-r--r--doc/ale-python.txt60
-rw-r--r--doc/ale-supported-languages-and-tools.txt2
-rw-r--r--doc/ale-verilog.txt18
-rw-r--r--doc/ale-vhdl.txt75
-rw-r--r--doc/ale.txt36
6 files changed, 180 insertions, 13 deletions
diff --git a/doc/ale-javascript.txt b/doc/ale-javascript.txt
index ea0a7089..13059eaa 100644
--- a/doc/ale-javascript.txt
+++ b/doc/ale-javascript.txt
@@ -138,7 +138,7 @@ g:ale_javascript_flow_use_respect_pragma
By default, ALE will use the `--respect-pragma` option for `flow`, so only
files with the `@flow` pragma are checked by ALE. This option can be set to
- `0` to disable that behaviour, so all files can be checked by `flow`.
+ `0` to disable that behavior, so all files can be checked by `flow`.
===============================================================================
diff --git a/doc/ale-python.txt b/doc/ale-python.txt
index 93f1d668..60b0771d 100644
--- a/doc/ale-python.txt
+++ b/doc/ale-python.txt
@@ -598,6 +598,7 @@ g:ale_python_pylint_use_msg_id *g:ale_python_pylint_use_msg_id*
Use message for output (e.g. I0011) instead of symbolic name of the message
(e.g. locally-disabled).
+
===============================================================================
pyls *ale-python-pyls*
@@ -683,6 +684,65 @@ g:ale_python_pyre_auto_pipenv *g:ale_python_pyre_auto_pipenv*
===============================================================================
+pyright *ale-python-pyright*
+
+The `pyrlight` linter requires a recent version of `pyright` which includes
+the `pyright-langserver` executable. You can install `pyright` on your system
+through `npm` with `sudo npm install -g pyright` or similar.
+
+Refer to their README for installation instructions:
+https://github.com/Microsoft/pyright
+
+`pyright` needs to know the path to your Python executable and probably a
+virtualenv to run. ALE will try to detect these automatically.
+See |g:ale_python_pyright_config|.
+
+
+g:ale_python_pyright_executable *g:ale_python_pyright_executable*
+ *b:ale_python_pyright_executable*
+ Type: |String|
+ Default: `'pyright-langserver'`
+
+ The executable for running `pyright`, which is typically installed globally.
+
+
+g:ale_python_pyright_config *g:ale_python_pyright_config*
+ *b:ale_python_pyright_config*
+ Type: |Dictionary|
+ Default: `{}`
+
+ Settings for configuring the `pyright` language server.
+
+ See pyright's documentation for a full list of options:
+ https://github.com/microsoft/pyright/blob/master/docs/settings.md
+
+ ALE will automatically try to set defaults for `venvPath` and `pythonPath`
+ so your project can automatically be checked with the right libraries.
+ You can override these settings with whatever you want in your ftplugin
+ file like so: >
+
+ let b:ale_python_pyright_config = {
+ \ 'python': {
+ \ 'pythonPath': '/bin/python',
+ \ 'venvPath': '/other/dir',
+ \ },
+ \}
+<
+ If `venvPath` is set, but `pythonPath` is not,
+ ALE will use `venvPath . '/bin/python'` or similar as `pythonPath`.
+
+ A commonly used setting for `pyright` is disabling language services
+ apart from type checking and "hover" (|ale-hover|), you can set this
+ setting like so, or use whatever other settings you want: >
+
+ let b:ale_python_pyright_config = {
+ \ 'pyright': {
+ \ 'disableLanguageServices': v:true,
+ \ },
+ \}
+<
+
+===============================================================================
reorder-python-imports *ale-python-reorder_python_imports*
g:ale_python_reorder_python_imports_executable
diff --git a/doc/ale-supported-languages-and-tools.txt b/doc/ale-supported-languages-and-tools.txt
index cfb1b6e2..6d495fa9 100644
--- a/doc/ale-supported-languages-and-tools.txt
+++ b/doc/ale-supported-languages-and-tools.txt
@@ -373,6 +373,7 @@ Notes:
* `pylint`!!
* `pyls`
* `pyre`
+ * `pyright`
* `reorder-python-imports`
* `vulture`!!
* `yapf`
@@ -484,6 +485,7 @@ Notes:
* VALA
* `uncrustify`
* Verilog
+ * `hdl-checker`
* `iverilog`
* `verilator`
* `vlog`
diff --git a/doc/ale-verilog.txt b/doc/ale-verilog.txt
index 94b820b8..01af63c2 100644
--- a/doc/ale-verilog.txt
+++ b/doc/ale-verilog.txt
@@ -3,7 +3,10 @@ ALE Verilog/SystemVerilog Integration *ale-verilog-options*
===============================================================================
-ALE can use four different linters for Verilog HDL:
+ALE can use five different linters for Verilog HDL:
+
+ HDL Checker
+ Using `hdl_checker --lsp`
iverilog:
Using `iverilog -t null -Wall`
@@ -26,6 +29,9 @@ defining 'g:ale_linters' variable:
\ let g:ale_linters = {'systemverilog' : ['verilator'],}
<
+===============================================================================
+General notes
+
Linters/compilers that utilize a "work" directory for analyzing designs- such
as ModelSim and Vivado- can be passed the location of these directories as
part of their respective option strings listed below. This is useful for
@@ -40,6 +46,16 @@ changing. This can happen in the form of hangs or crashes. To help prevent
this when using these linters, it may help to run linting less frequently; for
example, only when a file is saved.
+HDL Checker is an alternative for some of the issues described above. It wraps
+around ghdl, Vivado and ModelSim/Questa and, when using the latter, it can
+handle mixed language (VHDL, Verilog, SystemVerilog) designs.
+
+===============================================================================
+hdl-checker *ale-verilog-hdl-checker*
+
+See |ale-vhdl-hdl-checker|
+
+
===============================================================================
iverilog *ale-verilog-iverilog*
diff --git a/doc/ale-vhdl.txt b/doc/ale-vhdl.txt
index 3fea947d..c2870240 100644
--- a/doc/ale-vhdl.txt
+++ b/doc/ale-vhdl.txt
@@ -3,10 +3,10 @@ ALE VHDL Integration *ale-vhdl-options*
===============================================================================
-ALE can use three different linters for VHDL:
+ALE can use four different linters for VHDL:
- iverilog:
- Using `iverilog -t null -Wall`
+ ghdl:
+ Using `ghdl --std=08`
ModelSim/Questa
Using `vcom -2008 -quiet -lint`
@@ -14,8 +14,15 @@ ALE can use three different linters for VHDL:
Vivado
Using `xvhdl --2008`
-Note all linters default to VHDL-2008 support. This, and other options, can be
-changed with each linter's respective option variable.
+ HDL Checker
+ Using `hdl_checker --lsp`
+
+===============================================================================
+General notes
+
+ghdl, ModelSim/Questa and Vivado linters default to VHDL-2008 support. This,
+and other options, can be changed with each linter's respective option
+variable.
Linters/compilers that utilize a "work" directory for analyzing designs- such
as ModelSim and Vivado- can be passed the location of these directories as
@@ -31,6 +38,10 @@ changing. This can happen in the form of hangs or crashes. To help prevent
this when using these linters, it may help to run linting less frequently; for
example, only when a file is saved.
+HDL Checker is an alternative for some of the issues described above. It wraps
+around ghdl, Vivado and ModelSim/Questa and, when using the latter, it can
+handle mixed language (VHDL, Verilog, SystemVerilog) designs.
+
===============================================================================
ghdl *ale-vhdl-ghdl*
@@ -51,6 +62,60 @@ g:ale_vhdl_ghdl_options *g:ale_vhdl_ghdl_options*
===============================================================================
+hdl-checker *ale-vhdl-hdl-checker*
+
+HDL Checker is a wrapper for VHDL/Verilg/SystemVerilog tools that aims to
+reduce the boilerplate code needed to set things up. It can automatically
+infer libraries for VHDL sources, determine the compilation order and provide
+some static checks.
+
+You can install it using pip:
+>
+ $ pip install hdl-checker
+
+`hdl-checker` will be run from a detected project root, determined by the
+following methods, in order:
+
+1. Find the first directory containing a configuration file (see
+ |g:ale_hdl_checker_config_file|)
+2. If no configuration file can be found, find the first directory containing
+ a folder named `'.git'
+3. If no such folder is found, use the directory of the current buffer
+
+
+g:ale_hdl_checker_executable
+ *g:ale_hdl_checker_executable*
+ *b:ale_hdl_checker_executable*
+ Type: |String|
+ Default: `'hdl_checker'`
+
+ This variable can be changed to the path to the 'hdl_checker' executable.
+
+
+g:ale_hdl_checker_options *g:ale_hdl_checker_options*
+ *b:ale_hdl_checker_options*
+ Type: |String|
+ Default: `''`
+
+ This variable can be changed to modify the flags/options passed to the
+ 'hdl_checker' server startup command.
+
+
+g:ale_hdl_checker_config_file *g:ale_hdl_checker_config_file*
+ *b:ale_hdl_checker_config_file*
+ Type: |String|
+ Default: `'.hdl_checker.config'` (Unix),
+ `'_hdl_checker.config'` (Windows)
+
+ This variable can be changed to modify the config file HDL Checker will try
+ to look for. It will also affect how the project's root directory is
+ determined (see |ale-vhdl-hdl-checker|).
+
+ More info on the configuration file format can be found at:
+ https://github.com/suoto/hdl_checker/wiki/Setting-up-a-project
+
+
+===============================================================================
vcom *ale-vhdl-vcom*
g:ale_vhdl_vcom_executable *g:ale_vhdl_vcom_executable*
diff --git a/doc/ale.txt b/doc/ale.txt
index 71f69ac0..a19c6060 100644
--- a/doc/ale.txt
+++ b/doc/ale.txt
@@ -127,7 +127,7 @@ their relevant options.
* By showing balloons for your mouse cursor - |g:ale_set_balloons|
Please consult the documentation for each option, which can reveal some other
-ways of tweaking the behaviour of each way of displaying problems. You can
+ways of tweaking the behavior of each way of displaying problems. You can
disable or enable whichever options you prefer.
Most settings can be configured for each buffer. (|b:| instead of |g:|),
@@ -516,6 +516,10 @@ at the cursor taken from LSP linters. The following commands are supported:
|ALEHover| - Print information about the symbol at the cursor.
+Truncated information will be displayed when the cursor rests on a symbol by
+default, as long as there are no problems on the same line. You can disable
+this behavior by setting |g:ale_hover_cursor| to `0`.
+
If |g:ale_set_balloons| is set to `1` and your version of Vim supports the
|balloon_show()| function, then "hover" information also show up when you move
the mouse over a symbol in a buffer. Diagnostic information will take priority
@@ -1048,9 +1052,27 @@ g:ale_history_log_output *g:ale_history_log_output*
if you want to save on some memory usage.
+g:ale_hover_cursor *g:ale_hover_cursor*
+
+ Type: |Number|
+ Default: `1`
+
+ If set to `1`, ALE will show truncated information in the echo line about
+ the symbol at the cursor automatically when the |CursorHold| event is fired.
+ The delay before requesting hover information is based on 'updatetime', as
+ with all |CursorHold| events.
+
+ If there's a problem on the line where the cursor is resting, ALE will not
+ show any hover information.
+
+ See |ale-hover| for more information on hover information.
+
+ This setting must be set to `1` before ALE is loaded for this behavior
+ to be enabled. See |ale-lint-settings-on-startup|.
+
+
g:ale_hover_to_preview *g:ale_hover_to_preview*
*b:ale_hover_to_preview*
-
Type: |Number|
Default: `0`
@@ -1268,7 +1290,7 @@ g:ale_linters *g:ale_linters*
\ 'help': [],
\ 'perl': ['perlcritic'],
\ 'perl6': [],
- \ 'python': ['flake8', 'mypy', 'pylint'],
+ \ 'python': ['flake8', 'mypy', 'pylint', 'pyright'],
\ 'rust': ['cargo'],
\ 'spec': [],
\ 'text': [],
@@ -2557,6 +2579,7 @@ documented in additional help files.
pylint................................|ale-python-pylint|
pyls..................................|ale-python-pyls|
pyre..................................|ale-python-pyre|
+ pyright...............................|ale-python-pyright|
reorder-python-imports................|ale-python-reorder_python_imports|
vulture...............................|ale-python-vulture|
yapf..................................|ale-python-yapf|
@@ -2654,12 +2677,14 @@ documented in additional help files.
vala....................................|ale-vala-options|
uncrustify............................|ale-vala-uncrustify|
verilog/systemverilog...................|ale-verilog-options|
+ hdl-checker...........................|ale-verilog-hdl-checker|
iverilog..............................|ale-verilog-iverilog|
verilator.............................|ale-verilog-verilator|
vlog..................................|ale-verilog-vlog|
xvlog.................................|ale-verilog-xvlog|
vhdl....................................|ale-vhdl-options|
ghdl..................................|ale-vhdl-ghdl|
+ hdl-checker...........................|ale-vhdl-hdl-checker|
vcom..................................|ale-vhdl-vcom|
xvhdl.................................|ale-vhdl-xvhdl|
vim.....................................|ale-vim-options|
@@ -2864,7 +2889,7 @@ ALELast *ALELast*
the last or first warning or error in the file, respectively.
`ALEPrevious` and `ALENext` take optional flags arguments to custom their
- behaviour :
+ behavior :
`-wrap` enable wrapping around the file
`-error`, `-warning` and `-info` enable jumping to errors, warnings or infos
respectively, ignoring anything else. They are mutually exclusive and if
@@ -3506,7 +3531,7 @@ ale#linter#Define(filetype, linter) *ale#linter#Define()*
contents of the buffer being checked. All occurrences of `%t` in command
strings will reference the one temporary file. The temporary file will be
created inside a temporary directory, and the entire temporary directory
- will be automatically deleted, following the behaviour of
+ will be automatically deleted, following the behavior of
|ale#command#ManageDirectory|. This option can be used for some linters which
do not support reading from stdin.
@@ -3531,7 +3556,6 @@ ale#linter#Define(filetype, linter) *ale#linter#Define()*
be used to replace those characters to avoid formatting issues.
*ale-linter-loading-behavior*
- *ale-linter-loading-behaviour*
Linters for ALE will be loaded by searching |runtimepath| in the following
format: >