Yet another Jedi Python language server
Project description
anakin-language-server
Yet another Jedi Python language server
Requirements
- Python >= 3.6
- pygls == 0.8.1
- Jedi == 0.17.0
- pyflakes == 2.2.0
- pycodestyle == 2.5.0
Implemented features
textDocument/completion
textDocument/hover
textDocument/signatureHelp
textDocument/definition
textDocument/references
textDocument/publishDiagnostics
Initialization option
venv
- path to virtualenv. This option will be passed to Jedi's create_environment.
Also one can set VIRTUAL_ENV
or CONDA_PREFIX
before running anakinls
so Jedi will find proper environment. See get_default_environment.
Diagnostics
Diagnostics are published on document open and save.
Diagnostics providers:
- Jedi. See get_syntax_errors.
- pyflakes
- pycodestyle
Configuration options
Configuration options must be passed under anakinls
key in workspace/didChangeConfiguration
notification.
Available options:
pyflakes_errors
- Diagnostic severity will be set toError
if Pyflakes message class name is in this list. See Pyflakes messages. Default:['UndefinedName
]`.
Example
Here is eglot configuration:
(defvar my/lsp-venv nil
"Name of virtualenv.
Set it in project's dir-locals file.")
(defclass my/eglot-anakinls (eglot-lsp-server) ()
:documentation
"Own eglot server class.")
(cl-defmethod eglot-initialization-options ((_server my/eglot-anakinls))
"Pass initialization param to anakinls."
`(:venv ,(when my/lsp-venv
(expand-file-name
(concat "~/.virtualenvs/" my/lsp-venv)))))
;; Add this server to eglot programs to handle python-mode and run `anakinls'
(add-to-list 'eglot-server-programs
'(python-mode my/eglot-anakinls "anakinls"))
;; Also treat UnusedVariable as error
(setq-default eglot-workspace-configuration
'((:anakinls :pyflakes_errors ["UndefinedName" "UnusedVariable"])))
Installation
pip install anakin-language-server
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for anakin-language-server-1.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 31b5605f4985a7106c7022ce60f4dcc2abb544099a712a31eca98a68760bfc76 |
|
MD5 | d9ce3c28d2c52cab8962016545eaf469 |
|
BLAKE2b-256 | 613a430c9ba946034c388fcef470ddcaf56abcb5d2adf1b6339ff75005ca7883 |
Close
Hashes for anakin_language_server-1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b61c4c417d43b0f178a1477a979ae8e4d8a0e82346e6d5b4d99c8f568df5cb85 |
|
MD5 | cbc591c13a527de0852ba565c20f2c48 |
|
BLAKE2b-256 | bdf1dc0e3ebac5a425081da457bd2dcd2164c3c20aa30d573d61d71ff9db820b |