Commit graph

35 commits

Author SHA1 Message Date
Daniel Nicolai f8301056c9
Update python layer to use pylsp (new maintained fork of pyls) (#14772) 2021-05-13 18:30:32 -04:00
Sylvain Benner 4a1f0ae49f [python] Fix directory specific python-backend
With this fix it is now possible to select different backends in
different project using the directory variables mechanism of Emacs
(the file .dir-local.el)
2021-04-18 08:56:04 +02:00
Lucius Hu 26eb3df294 python: refactor
- Moved backend determination to `config.el`
- Replaced unnecessary backquote construct with simple quotation
- Replaced `pcase` form with only one-arm with `when` or `unless` form
- Replaccd `(cond ((eq foo) bar))` form with `(pcase (foo bar))`
2021-04-04 12:48:21 +02:00
syl20bnr 97cd83e169 Apply GPLv3 terms explicitly to all elisp files 2021-03-25 22:59:32 -04:00
syl20bnr d55a9e2e67 Update header for year 2021 2021-03-25 22:59:32 -04:00
Peter Kuchar 638bbb0c38
[+lang/python] Poetry integration for python layer
Adding Poetry integration (tool for managing virtual environments in Python)
2020-12-30 21:53:27 +01:00
Robert O'Connor 82ba73a1c0
update copyright to 2020 2020-09-23 21:25:01 +02:00
Ayush Goyal 96cc779cbe Support pyright language server for python layer
Microsoft has released pyright language server for python. It boasts better
performance than the old Microsoft language server for python. This commit adds
supports for pyright language server in python layer
2020-09-04 18:25:21 +02:00
duianto 04b80d610a [python][doc] Fix emphasis
README.org
Buffer formatting, first paragraph
The apostrophes before: yapf and black
caused the org emphasis verbatim equal signs to be visible.

config.el
python-formatter variable docstring
An apostrophe instead of a backtick, before the possible value: lsp
caused it to be shown with the default docstring color.
2020-07-29 08:37:42 +02:00
Maximilian Wolff 23056c9882
Revert "Revise python layer"
Removing the getter function for python-backend had
unintended side effects. This should restore the old
behaviour.
2020-01-23 23:15:28 +01:00
Maximilian Wolff 9720127282
Revise python layer
Make LSP be used as default backend
Request DAP layer when LSP is used as backend
Update README.org with latest pyls package dependencies
Remove obsolete getter functions
2019-12-15 14:29:33 +01:00
lin.sun 7f6b4205cb
Automatically choose the `lsp' as python-formatter backend when lsp-layer is enabled. 2019-12-15 14:29:33 +01:00
chysi fe028e9887
Update hy layer to new hy/python modes
Replace old "hy-shall-start-or-switch-to-shell" with "run-hy"
Expand pipenv to hy-mode
2019-11-23 21:20:16 +01:00
syl20bnr ac30247811 [lsp] When used, make LSP the default backend for all supported lang
* Added a new function to each language to select the backend
* Use these new functions in all `pcase`.
2019-09-30 00:49:44 -04:00
smile13241324 53553e2307 [python] Add lsp as possible python formatter 2019-08-31 23:21:03 +02:00
cormacc 00b2db982d Added support for Microsoft Python Language Server
<<26/04/2019>>
Incorporated feedback from robbyoconnor and yyoncho.
Rebased.

<<08/04/2019>>
Rebased on develop tip

<<17/04/2019>>
Rebased

<<02/06/2019>>
Rebased. Incorporated feedback from duianto.
2019-06-02 21:14:50 +02:00
Mike Macpherson c339656172 python: Add support for black formatter 2019-04-18 18:34:09 +02:00
cormacc c375bc428f Flattened some cquery/ccls configuration
c-c++-lsp-initialization-options:
-> ccls-initialization-options
-> cquery-extra-init-params (cacheFormat set to "msgpack" by default)

c-c++-lsp-args:
-> ccls-args
-> cquery-extra-args

c-c++-lsp-cache-dir:
-> ccls: Appended to initialization-options
-> cquery-cache-dir

<<Amendment 1 21/12/18>>
Removing 'clangd' from list of lsp clients to squash per-file prompt for
language client.
Updated lsp/packages.el to reflect upstream lsp-mode function name changes.
Python layer -- added if guards to prevent anaconda package loading / keyboard
shortcut config when lsp backend selected.
2018-12-22 12:51:17 +02:00
Benno Fünfstück f31bed7f52 python-mode: fix indent offset guessing for tab indentation 2018-08-28 22:37:08 +01:00
Miciah 6d8be7b381 python: Initialize inferior-python-mode variables
Fix SPC m c c (spacemacs/python-execute-file) and SPC m c C
(spacemacs/python-execute-file-focus), which were causing
the following errors:

    save-current-buffer: Symbol’s value as variable is void: python-shell--interpreter
    error in process filter: python-shell-comint-end-of-output-p: Wrong type argument: arrayp, nil
    error in process filter: Wrong type argument: arrayp, nil

This commit also fixes issue #9070: spacemacs/python-execute-file-focus
does not change focus.

The problem is that spacemacs/python-execute-file-focus invokes
spacemacs/python-execute-file, spacemacs/python-execute-file invokes
inferior-python-mode, and inferior-python-mode uses the variables
python-shell--interpreter and python-shell--interpreter-args, which
the python package declares but does not initialize.

To resolve this problem, this commit initializes both variables to nil.

* layers/+lang/python/config.el: Initialize python-shell--interpreter and
python-shell--interpreter-args to nil.
2018-08-03 06:53:02 +03:00
syl20bnr ea8991ac90 New layer Hy extracted from Python layer 2018-05-20 03:06:25 -04:00
syl20bnr 81a931f48b python: add support for Language Server Protocol 2018-02-19 00:08:27 -05:00
Benoit Coste 3f01fd5fed Add defvar python-save-before-test
If true, buffer is automatically saved when calling
python-test-* functions
2018-01-05 21:38:28 -05:00
syl20bnr 326965d4ce Happy New Year 2018! 2018-01-04 02:00:25 -05:00
syl20bnr fb27ede558 Bump year in copyright headers
Happy New Year 2017!
2017-01-05 23:08:17 -05:00
syl20bnr 74fdbb6795 Refactor and simplify company backends declaration
Enabling a company backend for a specific mode was a tedious tasks with code
scattered at different locations, one for local variable definitions, one for
company hook function definitions and another where the backends were pushed to
the local variables (which was problematic, since we ended up pushing the same
backends over and over again with `SPC f e R`, pushes have been replaced by
add-to-list calls in the new macro).

All these steps are now put together at one place with the new macro
spacemacs|add-company-backends, check its docstring for more info on its
arguments.

This macro also allows to define arbitrary buffer local variables to tune
company for specific modes (similar to layer variables via a keyword :variables)

The code related to company backends management has been moved to the
auto-completion layer in the funcs.el file. A nice side effect of this move is
that it enforces correct encapsulation of company backends related code. We can
now easily detect if there is some configuration leakage when the
auto-completion layer is not used. But we loose macro expansion at file loading
time (not sue it is a big concern though).

The function spacemacs|enable-auto-complete was never used so it has been
deleted which led to the deletion of the now empty file core-auto-completion.el.

The example in LAYERS.org regarding auto-completion is now out of date and has
been deleted. An example to setup auto-completion is provided in the README.org
file of the auto-completion layer.
2017-01-02 00:39:04 -05:00
Koray Al aaefaa3573
Added auto load virtualenv support via .venv file
The `pyvenv-mode` doesn't provide a list of available virtual
environments. So it's not currently possible to check if the
provided virtualenv name is available
2016-12-27 09:55:28 +02:00
Eivind Fonn 200fb764aa Make python tab-width configurable 2016-10-11 20:01:24 +02:00
syl20bnr 9066d073b2 Fix (void-variable spacemacs-jump-handlers-....)
Move the variable definitions to config.el and eval-after-load the
key binding on SPC m g g.
2016-09-04 22:31:47 -04:00
Eivind Fonn d94d0d9f71 Some improvements to py-isort config
- Rename variable
- Wrap the save function to check condition variable at runtime
- Add keybinding
2016-08-21 17:49:20 +02:00
Swaroop C H a2d7461bb1 [python] Add py-isort package
py-isort sorts the imports to keep it tidy.

Disabled by default.
2016-08-21 17:41:43 +02:00
syl20bnr 046d86800c Clean copyrights and update for year 2016 2016-01-11 21:42:17 -05:00
Fredrik Bergroth 577e7b2d86 Auto-activate local pyenv version 2015-12-19 22:30:07 -05:00
Swaroop C H 0a6c619194 [python] Allow user to customize fill column 2015-10-07 15:51:40 -04:00
justbur 6eab954afe Use + instead of ! for layer categories
Helm seems to treat "!" specially in pattern matching, so having a ! in
the pattern string when traversing directories is problematic. This
change fixes #2737, because as far as I can tell "+" has no special
meaning in a helm pattern.

Of course, we can choose a different character, but I'm fond of "+" as
representing "more layers here".
2015-09-11 00:13:51 -04:00
Renamed from layers/!lang/python/config.el (Browse further)