Commit graph

306 commits

Author SHA1 Message Date
Jee L 36ad2b28d2
[Python][LSP] Change mspyls publish directory according to system type 2020-02-10 19:45:46 +00: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 6e1c8e6092
Remove obsolete requirement for lsp layer from python layer 2019-12-15 14:56:46 +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
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