Language server for requirements.txt.
Currently python's requirement.txt
has 2 types:
The difference is that PEP508 doesn't support pip's options.
For pyproject.toml
:
[tool.setuptools.dynamic.dependencies]
file = "requirements.txt"
[tool.setuptools.dynamic.optional-dependencies.dev]
file = "requirements/dev.txt"
We recognize requirements.txt
and requirements/dev.txt
as PEP508's
requirements.txt
s and display errors for all pip's options. For other
requirements.txt
s, we recognize them as pip's requirements.txt
s.
Features:
- Goto Definition: jump to first repeated package
- Find References: jump to all other repeated packages
- Diagnostic:
- repeated packages
- unsorted packages
- invalid path
- pip's option when PEP508 is enabled
- Document Formatting: sort packages
- Document Link: open package's pypi homepage
- Hover
- pip's options
- package
- Completion:
- pip's options
- package
Other features:
- pre-commit-hooks
- linter
- formatter
See here.
- requirements.txt.vim: syntax highlight for vim
- vim-polyglot: contains above
- bat: syntax highlight for less
- requirements-txt-fixer: sort package names
- pip-tools: check
requirements.txt