Re-enable displaying type errors in pyrefly (#5046)
CI / Build (push) Canceled after 0s
CI / Neovim 0.10 Windows (push) Canceled after 0s
CI / Neovim 0.12 Windows (push) Canceled after 0s
CI / Vim 8.2 Windows (push) Canceled after 0s
CI / Vim 9.2 Windows (push) Canceled after 0s
CI / Lint (push) Canceled after 0s
CI / Lua (push) Canceled after 0s
CI / Neovim 0.10 Linux (push) Canceled after 0s
CI / Neovim 0.12 Linux (push) Canceled after 0s
CI / Vim 8.2 Linux (push) Canceled after 0s
CI / Vim 9.2 Linux (push) Canceled after 0s

* Re-enable displaying type errors in pyrefly

* Add test

* clarify the disabled by default statement

* Address linter issue

* Properly align doc tags
This commit is contained in:
sivel / Matt Martz
2026-08-19 10:58:10 +09:00
committed by GitHub
parent 42d1062011
commit 0aa1ea11e0
3 changed files with 39 additions and 0 deletions
+2
View File
@@ -6,6 +6,7 @@ call ale#Set('python_pyrefly_use_global', get(g:, 'ale_use_global_executables',
call ale#Set('python_pyrefly_auto_pipenv', 0)
call ale#Set('python_pyrefly_auto_poetry', 0)
call ale#Set('python_pyrefly_auto_uv', 0)
call ale#Set('python_pyrefly_config', {'python': {'pyrefly': {'displayTypeErrors': 'force-on'}}})
function! ale_linters#python#pyrefly#GetExecutable(buffer) abort
if (ale#Var(a:buffer, 'python_auto_pipenv') || ale#Var(a:buffer, 'python_pyrefly_auto_pipenv'))
@@ -54,4 +55,5 @@ call ale#linter#Define('python', {
\ 'project_root': function('ale#python#FindProjectRoot'),
\ 'completion_filter': 'ale#completion#python#CompletionItemFilter',
\ 'cwd': function('ale_linters#python#pyrefly#GetCwd'),
\ 'lsp_config': {b -> ale#Var(b, 'python_pyrefly_config')},
\})
+30
View File
@@ -1685,7 +1685,37 @@ g:ale_python_pyrefly_auto_uv
Set the executable to `uv` if true. This is overridden by a manually-set
executable.
*ale-options.python_pyrefly_config*
*g:ale_python_pyrefly_config*
*b:ale_python_pyrefly_config*
python_pyrefly_config
g:ale_python_pyrefly_config
Type: |Dictionary|
Default: `{'python': {'pyrefly': {'displayTypeErrors': 'force-on'}}}`
Settings for configuring the `pyrefly` language server.
Starting with `pyrefly` version `0.31.1` displaying type errors is
disabled by default if no `pyrefly.toml` or `pyproject.toml` with a
`[tool.pyrefly]` section exists. The default |g:ale_python_pyrefly_config|
enables `displayTypeErrors`. When explicitly configuring
|g:ale_python_pyrefly_config| ensure to configure `displayTypeErrors`
if desired. To disable `displayTypeErrors` set the value to `force-off`
or set to `default` to require a `pyrefly` configuration for the
project.
A commonly used setting for `pyrefly` is disabling language services
apart from type checking, you can set this setting like so, or use
whatever other settings you want: >
let b:ale_python_pyright_config = {
\ 'python': {
\ 'pyrefly': {
\ 'disableLanguageServices': v:true,
\ }
\ },
\}
<
===============================================================================
pyright *ale-python-pyright*
+7
View File
@@ -67,3 +67,10 @@ Execute(uv is detected when python_pyrefly_auto_uv is set):
AssertLinter 'uv',
\ ale#Escape('uv') . ' run pyrefly lsp'
Execute(Assert the default config):
AssertLSPConfig {'python': {'pyrefly': {'displayTypeErrors': 'force-on'}}}
let b:ale_python_pyrefly_config = {}
AssertLSPConfig {}