Commit graph

303 commits

Author SHA1 Message Date
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
kimr
da80634370
converted cl to cl-lib 2019-12-14 20:20:51 +00:00
James Gough
e6997638e7
Set VIRTUAL_ENV environment variable when switching to new pyenv
This environment variable is used by python LSP to determine
the pyenv virtual environment to use. When switching to a different
project using projectile 'switch-to-project', it should only be
necessary to restart the LSP server but a restart will only
work if this VIRTUAL_ENV changes value too.
2019-12-03 20:37:43 +00:00
emacspace
fd9b8c71d7
documentation formatting: Sat Nov 23 21:43:58 UTC 2019 2019-11-23 22:52:16 +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
Nam Nguyen
729ad60b28 Support relative virtualenv path in .venv file for Python layer 2019-11-08 23:28:30 +01:00
emacspace
c91779aff4 documentation formatting: Fri Nov 8 16:03:53 UTC 2019 2019-11-08 16:08:22 +00:00
Boris Buliga
5785f1788f [python] update jedi instructions
Following 150390968b
2019-10-14 22:18:11 +02:00
Martin Račák
1fec4ec135 Fix conditional backend setup
* Use spacemacs//python-backend to check which backend is being used
* Set leader keys for anaconda in :config to avoid overwriting by tags layer
2019-10-12 15:21:40 +02:00
Martin Račák
c95534ace5 Revert "Use anaconda-mode-find-definition for SPC-m-g-g"
This reverts commit 9bafd3f561.
2019-10-12 15:21:40 +02:00
Rakan Alhneiti
9bafd3f561 Use anaconda-mode-find-definition for SPC-m-g-g 2019-10-11 22:03:59 +02:00
syl20bnr
584392bd92 [core] Fix layer dependencies based on layer variables
There was a edge case with the declaration of the `lsp` layer in `layers.el`
files.
The `hy` layer depends on the `python` layer which in turn depends on the `lsp`
layer if and only if the `python-backend` layer variable is set to `lsp`.
When the `hy` layer was declared first then it declares the `python` layer
without its layer variables, thus the `lsp` layer was not declared because the
`python-backend` variable was not set.

The fix is to gather all the layer dependencies and resolve them only after all
the used layers have been declared.

* new function `configuration-layer/declare-layer-dependencies`
* replace all calls to `configuration-layer/declare-layer` by the new function
  except for distribution layers (we declare layer dependencies right away in
  distribution layers)
2019-09-30 02:00:48 -04: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
syl20bnr
9606dd344e [dap] Refactor configuration dap config in layers
* use local-vars-hook coupled to setup function for dap
* define new private layer variable `spacemacs--dap-supported-modes` to
  configure key bindings. This allows to move the key bindings definition from
  `funcs.el` to `packages.el`
* remove duplication of DAP key bindings in READMEs by pointing to the dap layer
  documentation
* alphabetically sort package configuration
2019-09-30 00:34:26 -04:00
torstein
909d755667 Do not use tabs in inferior python mode 2019-09-22 19:05:14 +02:00
Danny KB
901b1ad6e4 [python] fix IPython shell setup on windows path with whitespaces
On systems where IPython executable path contains whitespace
(e.g, if IPython is under Local Appdata and your Windows username has
whitespace), the shell command was invalid, quoting the executable is required.
2019-09-22 18:53:44 +02:00
lsp
054856be3d Don't start the lsp server until after mspyls is optionally required
Otherwise, lsp will attempt to use pyls when the user wanted to use mspyls
2019-09-18 19:26:12 +02:00
Koray Al
08cd88a6ea [python] Make pylookup use correct shell 2019-09-17 20:26:04 +02:00
smile13241324
b702df7938 Make layers request lsp dependency if lsp has been selected as backend 2019-09-10 22:00:56 +02:00
yqu212
9f72af3b73 Add lazy loading of lsp-python-ms 2019-09-10 21:15:59 +02:00
Benjamin Hipple
61ed84be65 [python] Declare lsp layer dependency when python-backend is 'lsp
Previously, if a user set `python-backend` to `'lsp`, it would not do anything
unless the user also manually added the `lsp` layer to the spacemacs `init.el`
file. This commit updates the `python` layer to correctly add the dependency
when needed, like the `c-c++` layer does.
2019-09-05 20:36:31 +02:00
emacspace
7072f61922 documentation formatting: Sat Aug 31 21:42:39 UTC 2019 2019-09-01 00:24:30 +02:00
smile13241324
53553e2307 [python] Add lsp as possible python formatter 2019-08-31 23:21:03 +02:00
smile13241324
290cacf2a9 [python] Bind formatter to == only for LSP backend 2019-08-31 22:55:34 +02:00
cormacc
c4a05f7ebf Corrected keybinding collision (format-buffer)
`spacemacs/python-format-buffer` was bound to '='.
Subsequently clobbered by lsp layer declaration of '=' as prefix with subsidiary
keybindings.
Resolved by moving `spacemacs/python-format-buffer` binding to '=='.
Updated README accordingly.

Opportunistically added 'mspyls' dir to .gitignore
2019-08-31 22:19:53 +02:00
Guido Kraemer
e9afae2285 [python] Fixed typos 2019-07-15 22:48:12 +02:00
Trapez Breen
9dbc0b9d0c Fix failing lsp-python-ms setup
Configuring lsp-python-ms variables properly.
2019-07-07 11:26:26 +02:00
Vikash Balasubramanian
3ed24436cd Enables eldoc for anaconda-mode 2019-07-07 09:07:17 +02:00
emacspace
cbe174021c documentation formatting: Mon Jun 17 06:48:02 UTC 2019 2019-06-17 09:05:38 +02:00
cormacc
b80154bd52 Corrected instructions relating to ms language server from git 2019-06-15 23:55:20 +02:00
emacspace
fc36771313 documentation formatting: Sun Jun 2 20:15:51 UTC 2019 2019-06-02 23:47:05 +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
emacspace
c7c348a676 documentation formatting: Sun May 26 20:58:52 UTC 2019 2019-05-27 01:23:35 +03:00
Anton-Latukha
f6660f82d4
Switch to the new layers generator 2019-05-15 21:08:21 +03:00
Anton-Latukha
ba074bc908 layers: lang: new structure: general: add pure, multi-paradigm (&js) 2019-05-15 21:04:48 +03:00
JAremko
77c680160e Add placeholder tags 2019-05-05 20:40:47 +03:00
Bet4
bb86989775 semantic: enable company and disable idle summary when gtags is enabled 2019-05-04 17:18:28 +02:00
emacspace
912f69ef9d documentation formatting: Thu Apr 18 19:16:31 UTC 2019 2019-04-18 21:39:10 +02:00
Mike Macpherson
c339656172 python: Add support for black formatter 2019-04-18 18:34:09 +02:00
Trapez Breen
d25b329c17 Shadow python-mode-hook during python-send-shell-* 2019-04-18 17:56:47 +02:00
emacspace
0b90e116f5 documentation formatting: Wed Apr 17 13:48:54 UTC 2019 2019-04-17 23:36:35 -04:00
Trapez Breen
2206095be8 Added instruction on installing importmagic and epc.
Importmagic and epc isn't really optional if error messages are to be avoided.
2019-04-17 09:14:01 +02:00
emacspace
3e97b8e8f3 documentation formatting: Mon Apr 15 20:21:30 UTC 2019 2019-04-15 22:56:31 +02:00
Ivan Yonchovski
59c4f1f283 Use dap mode layer for python debugging
- I had to remove the "db" keybinding manually before setting the dap bindings.
  An alternative approach is to use a different binding for it.
2019-04-15 20:56:27 +02:00
Loys Ollivier
7667df6319 python: add diminish for importmagic
importmangic does not have a diminish character.
Add diminish characters to make the modeline nice(r).

Signed-off-by: Loys Ollivier <loys.ollivier@gmail.com>
2019-04-04 12:33:57 +02:00
rgb-24bit
c2a351cac7 Fix conflict between pipenv directory .venv and pyvenv file .venv 2019-01-20 17:28:43 +02:00
emacspace
8b3a30f240 documentation formatting: Sat Dec 22 11:04:49 UTC 2018 2018-12-22 11:12:10 +00: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
Ivan Yonchovski
f346ae0683 Fix java/python/javascript/rust lsp backends 2018-12-22 12:51:05 +02:00
emacspace
45276bd96f documentation formatting: Wed Dec 5 03:03:03 UTC 2018 2018-12-04 22:06:14 -05:00
duianto
ee811f7b13 Unify packages list parentheses style
problem:
some layer packages lists have the open and closing parentheses on the same line
as the first and last listed package, but most seem to have them on a separate
lines.

solution:
put the open and close parentheses on separate lines, except for lists with only
a single package, they are written on the same line as the variable name and
parentheses.

fix the lists indentation
2018-11-21 21:35:38 +00:00
emacspace
901f35849a documentation fixes: Tue Oct 23 14:18:21 UTC 2018 2018-10-23 23:38:16 +03:00
Boris Buliga
a0db651fc5
mention new python debugging option in readme 2018-10-23 07:18:24 +03:00
boris
554b3d9622
python3.7 comes with a builtin breakpoint() function (PEP 553) 2018-10-23 07:16:38 +03:00
JimmyG
bf2bf86269 anaconda-mode-go-back is replaced with xref-pop-marker-stack 2018-10-20 09:38:32 +03:00
JAremko
cd39f80c24 Reformat documentation 2018-10-11 00:13:43 +03:00
Alexander Eberspächer
77afc63da8 Fix pyenv using system Python
Check the case of "pyenv which" returning "system". In this case, find the
Python executable using default "executable-find".
2018-09-03 20:21:05 +01:00
Benno Fünfstück
03b8f71997 fix typos 2018-08-28 22:37:08 +01:00
Benno Fünfstück
f31bed7f52 python-mode: fix indent offset guessing for tab indentation 2018-08-28 22:37:08 +01:00
Riley Levy
9af8e1564d Fix #1109: Escape argument for shell spacemacs/python-execute-file
Escape the filename before calling python on the filename in the shell in the
function `spacemacs/python-execute-file` by calling `shell-quote-argument`.
2018-08-04 10:51:49 -04:00
EMayej
6f9097e6f0 fix(python): index out of bound 2018-08-04 10:32:31 -04: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
Guan Xipeng
0c878ae453 fix: spacemacs/pyenv-executable-find support multi pyenv versions 2018-08-01 17:42:44 -04:00
Ting Zhou
e362b17868 polish lsp-python and anaconda-mode 2018-08-01 17:22:36 -04:00
JAremko
6946e255e6 Reformat docs 2018-07-20 02:45:21 +03:00
syl20bnr
adf10d652b Lazy load importmagic 2018-06-11 01:45:48 -04:00
syl20bnr
d48ecea6e6 Lazy load anaconda-mode 2018-06-11 01:41:22 -04:00
syl20bnr
49b1659a18 Lazy load lsp-mode 2018-06-11 00:28:11 -04:00
bmag
50621c93af python: conditionally remove binding to obsolete keymap
Using a conditional instead of removing entirely since anaconda-mode code has
been in some flux recently. If the keymap stays obsolete when the dust settles
we can remove this block.
2018-06-03 20:19:19 +03:00
Miciah Dashiel Butler Masters
78297be625 Fix various typos
* Fix various isolated typos

"apppend" -> "append"

"availabe" -> "available"

"Descripti using ternon" -> "Description"

"you have not them" -> "you don't have them"

"new on" -> "new one"

"plained" -> "curved"

"repel" -> "REPL"

"vairable" -> "variable"

* Fix a few errors in the CoffeeScript layer readme

Add a missing "the".

Correct a reference to the layer as "javascript" to "coffeescript".

Fix the syntax on the link to CoffeeLint.

* Fix typos: "dofile" -> "dotfile"

* Fix typos: "formated" and "formating"

"formated" -> "formatted"

"formating" -> "formatting"

* hy: Fix docstrings in funcs.el

Fix copy-and-pasted docstring text for
spacemacs/hy-shell-eval-current-form-and-go and
spacemacs/hy-shell-eval-region-and-go.

* Fix typos: "indendation" -> "indentation"

* Fix typos: "the the", "a a"

Fix duplicated (or misplaced) articles.

* Fix typos: "wether" -> "whether"

* Fix typos: "intialize" -> "initialize"
2018-05-23 22:12:30 -04:00
syl20bnr
7d19ba1711 python: fix missing t with :call-hooks keyword 2018-05-23 22:11:10 -04:00
Brandon T. Willard
f069f9992d Fix pyvenv pre-init defun and package names; adjust hy-mode prefixes. 2018-05-21 01:18:37 -04:00
syl20bnr
ea8991ac90 New layer Hy extracted from Python layer 2018-05-20 03:06:25 -04:00
syl20bnr
9f6b45223f python: put smartparens advice in a post-config use-package hook 2018-05-20 00:24:29 -04:00
Nikita Leshenko
b3743701db python: smartparens: Fix bytecomp warning (#10582)
The byte compiler doesn't know about `smartparens-strict-mode' because
smartparens is lazy loaded, so wrap the variable reference in `bound-and-true-p'
to silence a warning that appears on Spacemacs startup.

To reproduce:
1. Install a fresh Spacemacs from develop branch
2. Use spacemacs-base distribution
3. Select only these configuration layers: spacemacs-editing python
4. Restart Emacs to install packages
5. Restart Emacs again and observe warning:
   Warning (bytecomp): reference to free variable 'smartparens-strict-mode'
2018-05-20 00:22:44 -04:00
syl20bnr
996cc91b5d python: fix company when opening a buffer for the 1st time
fixes #https://github.com/syl20bnr/spacemacs/issues/10638
2018-05-13 12:39:52 -04:00
Codruț Constantin Gușoi
775fb50f9f Fixes TOC formatting for python layer 2018-05-09 01:19:21 +03:00
JAremko
d4017b1ca7 Make sure that docs pass formatting cheques. 2018-04-15 22:16:17 +03:00
syl20bnr
ebe4c60264 Revert "Defer packages by default using use-package-always-defer"
This reverts commit 29c78ce841 and all other fixes
that have been made afterwards.

The motivation is that use-package is seen by many as a replacement for
`require`. Is use-package always defer the loading of packages then is breaks
this use case, this does not respect POLA so even if it was making Spacemacs
loading faster (up to 3s faster on some startup on my machine) we just cannot
use it, it would be irresponsible. Spacemacs should be easy to use, loading
performance will come with time but it is not a priority.
2018-03-03 23:40:10 -05:00
syl20bnr
29c78ce841 Defer packages by default using use-package-always-defer
Warning now `:defer t` is implied, to force a package to load `:demand t` is
now necessary.
2018-02-27 23:32:52 -05:00
syl20bnr
1e6a0a66c0 python: group backend packages 2018-02-27 23:32:52 -05:00
Dan Girshovich
a141c9adff Add support for breakpoints for the trepan3k python debugger 2018-02-24 19:49:39 -05:00
syl20bnr
920a6f6075 python: sort key bindings 2018-02-24 19:49:39 -05:00
Jack Kamm
8f79abc7f3 python: add pipenv. unified prefix for pyenv, pyvenv, pipenv 2018-02-24 19:49:39 -05:00
syl20bnr
e99ca55e13 python: add doc for SPC m t l 2018-02-24 19:49:39 -05:00
Benoit Coste
262c8ee7b0 Add defun spacemacs/python-test-last
It is a wrapper around the nosetests-again defun.
It will call the latest called nosetest function.
2018-02-24 19:49:39 -05:00
syl20bnr
81a931f48b python: add support for Language Server Protocol 2018-02-19 00:08:27 -05:00
JAremko
d2c3b847d8 doc fmt 2018-01-27 16:57:39 +02:00
Shitikanth Kashyap
6e0d38f3ea pylookup: Clear self.tag on endtag 2018-01-17 23:23:59 -05:00
Shitikanth Kashyap
480c8531b3 pylookup: Add "/genindex/" to potential_urls
Used in online documentation of libraries Flask and Requests.

http://flask.pocoo.org/docs/0.12/genindex/
docs.python-requests.org/en/master/genindex/
2018-01-17 23:23:47 -05:00
Shitikanth Kashyap
23e582d121 pylookup: Switch to using urllib2 on Python 2
Fixes bug: pylookup fails silently on 404. For instance, on
`./pylookup -u https://matplotlib.org/` it first looks up
'https://matplotlib.org/genindex-all.html', gets a 404 response,
but instead of moving to the next candidate url, it builds an empty
index.

Cause of bug: urllib.urlopen doesn't give an error on 404.
2018-01-17 23:23:25 -05:00
Shitikanth Kashyap
48032ca787 pylookup: Use generic tags to detect list levels.
This fixes bug #9866.

Tested to work with documentation of Python 2.6, Python 2.7, Python 3.4,
Python 3.5, Python 3.6, and latest stable releases for SciPy, NumPy,
Matplotlib, and Flask.
2018-01-17 23:23:14 -05:00
Shitikanth Kashyap
a3d8df9244 pylookup: Set one_entry to false after each element
Fix for bug: extraneous links registered for last entry
in index. For instance, for python documentation index,
all links in footer would get attached to `zlib`.
2018-01-17 23:23:04 -05:00
Shitikanth Kashyap
01e588c5f0 pylookup: Remove unused field do_entry 2018-01-17 23:22:52 -05:00
Shitikanth Kashyap
86f7213b65 pylookup: Handle end tag logic in handle_endtag
Doing it handle_data was a bug because `self.tag`
would contain the most recent opened tag, not the tag
currently being closed. This meant, for instance, that
the elements were not being generated correctly and
"./pylook.py --cache" was broken.
2018-01-17 23:22:39 -05:00
Shitikanth Kashyap
dbe5bb4893 pylookup: Use HTMLParser instead of htmllib
htmllib has been deprecated since PEP 3108.
2018-01-17 23:22:19 -05:00
syl20bnr
2c16d19ab7 semantic: make it possible to exclude stickyfunc 2018-01-17 23:03:33 -05:00
Hans Jang
d35268a1d6 Fix the broken python repl invocation through SPC a '
Without this chage, it ends up with the following error:
  'Wrong type argument: commandp, python-start-or-switch-repl'
2018-01-06 00:59:29 -05:00
syl20bnr
eee2b4b89c python: document pippel and set key binding to SPC m P 2018-01-05 22:15:50 -05:00