Commit graph

153 commits

Author SHA1 Message Date
Gerry Agbobada
3e5b7cce3f
[eglot] Add support for eglot lsp client in emacs
- Update README
- Add eglot-specifics to cc, rs, py, hs
  removing unused lsp-mode packages when eglot is active
- Add eglot-specific bindings
- Add doctor warnings for debugger +lsp and +peek
- Add eglot-backed lookup-handlers
- Add flycheck checker using eglot for :checkers
  syntax users (using flycheck/flycheck#1676 and
  flycheck/flycheck#1592 discussion).
  This implementation is based on @marsam code, and uses recent
  Flycheck development in order to make the code smaller and
  easier to maintain.
2020-05-28 09:34:10 +02:00
Viktor Astakhov
4891a7151f Add Poetry support 2020-04-22 20:51:30 +03:00
Henrik Lissner
4eec1141c1
Ensure anaconda-mode attempts to activate after lsp 2020-01-18 22:02:17 -05:00
Henrik Lissner
12094788d7
Fix references to :tools fly{spell,check} 2020-01-14 03:04:26 -05:00
Henrik Lissner
4acd60aba3
Update lsp-python-ms config to reflect changes upstream
mspyls should be installed with M-x lsp-install-server from now on.
2020-01-10 04:59:01 -05:00
Henrik Lissner
dafa4deef4
lang/python: autoload lsp-python-ms setup/update commands
And set lsp-python-ms-python-executable-cmd a little sooner, to make it
easier for folks to change.
2019-12-28 13:52:15 -05:00
Henrik Lissner
327d359fd3
lang/python: silence errors when python isn't present 2019-12-22 23:53:04 -05:00
Rakan Alhneiti
eeafec2df0
Make isort default python import sorting package 2019-12-15 16:50:30 +01:00
Rakan Alhneiti
8e844eada1
Add py-isort feature to the python module 2019-12-11 11:27:50 +01:00
Henrik Lissner
ffb4aa91da
lang/python: minor refactor & reformatting 2019-11-17 16:48:25 -05:00
Henrik Lissner
39f01450cb
lang/python: load flycheck-cython conditionally 2019-11-17 01:23:45 -05:00
Henrik Lissner
2dd27260bb
lang/python: move pipenv keybinds to pipenv config
Why was it under pyvenv?
2019-11-12 20:35:14 -05:00
Henrik Lissner
f2906b073f
Fix #2004: wrong-type-arg stringp error from pyvenv 2019-11-02 13:41:55 -04:00
Henrik Lissner
423c2958b6
lang/python: load lsp-python-ms after python
To isolate errors caused upstream (e.g. emacs-lsp/lsp-python-ms#68)
2019-10-24 17:03:03 -04:00
Henrik Lissner
9177c1b07a
lang/python: ensure anaconda is started after lsp 2019-10-23 22:09:28 -04:00
Henrik Lissner
42421a765d
Avoid fallback completion if lsp--buffer-deferred 2019-10-23 22:08:28 -04:00
Henrik Lissner
0b67251159
tools/eval: associate plist with repl handlers
Also consolidates all REPLs (opened through the :tools eval module)
under one popup rule, which inhibits ESC from prematurely closing
them (#1944), and cleans up after their buffers *only* if their handlers
weren't specified to :persist, e.g.

  (set-repl-handler! 'some-mode #'some-repl-handler :persist t)

Also standardized ESS's REPL commands.
2019-10-23 21:41:23 -04:00
Henrik Lissner
9f332c0201
lang/python: lsp-python-ms-python-executable-cmd = python-shell-interpreter 2019-10-21 06:26:57 -04:00
Henrik Lissner
9b25582be1
Reduce list of root files projectile searches for
And define them on a per-module basis. This reduces the number of file
checks it performs, particularly for non-project files.

Might help #1317
2019-10-19 22:22:49 -04:00
Gerry Agbobada
8820a70a69 Review 2019-10-17 08:51:18 +02:00
Gerry Agbobada
cfc5a0801c Add cython-specific flag and packages 2019-10-17 08:49:54 +02:00
Henrik Lissner
2a943437a2
lang/python: fix missing +modeline-update-env-in-all-windows-h
...when :ui modeline is disabled.
2019-10-07 15:34:12 -04:00
Henrik Lissner
051bceb0a8
Refactor localleader keybinds #1270
Introduces a select few of the localleader keybind standards proposed in
issue #1270, corrects a few typos and introduces more localleader
keybinds in general.

Co-authored-by: yuhan0 <>
2019-10-04 22:04:47 -04:00
Henrik Lissner
c023cef415
Merge pull request #1815 from bersace/pyenv-set-version-from-file
lang/python: recognize .python-version files
2019-10-04 12:13:03 -04:00
Étienne BERSAC
16ea03df4d
Set python version from .python-version file
This allow Doom Emacs to behave like shims, and respect Pyenv version
chosen by .python-version file.

Stolen from b252d252b0/layers/+lang/python/funcs.el (198).
2019-10-04 08:56:25 +02:00
Henrik Lissner
3471828f9e
Merge pull request #1592 from shanavas786/pipenv-bindings
lang/python: add pipenv keybinds
2019-10-03 15:02:48 -04:00
Henrik Lissner
4d910accc9
lang/python: revise comments in conda config 2019-09-22 14:05:03 -04:00
Henrik Lissner
b1f9965fe7
lang/python: install lspyls in doom-etc-dir #1776 2019-09-11 23:41:08 -04:00
uelei
2b0cb80138
sort python imports 2019-08-09 20:09:18 -03:00
Henrik Lissner
3423974234
Minor refactors & tweaks across the board 2019-08-06 14:50:42 -04:00
Henrik Lissner
1e7df8046c
lang/python: disable electric indentation #1593
Electric indentation is only as good as the underlying indenter.
2019-07-28 16:10:54 +02:00
Henrik Lissner
26f9e2cdeb
lang/python: load anaconda-mode a little sooner
So its hooks take effect in the first buffer.
2019-07-28 02:38:27 +02:00
Henrik Lissner
059030be49
lang/python: ensure anaconda-mode in first python buffer 2019-07-28 02:32:25 +02:00
Henrik Lissner
afc22e4265
lang/python: fix dont-auto-install-server advice
The function being overriden takes no arguments.
2019-07-28 02:32:25 +02:00
Henrik Lissner
19dd4e8db8
Correct more inline hook defuns 2019-07-28 02:32:25 +02:00
Henrik Lissner
0a05fd09c3
Merge pull request #1603 from nelson-liu/patch-1
Update list of lang/python considered conda homes
2019-07-27 23:43:32 +02:00
Nelson Liu
fa0f876076
Add new homebrew cask anaconda install path 2019-07-27 11:11:47 -07:00
Henrik Lissner
94d5b73b45
lang/python: lazy load lsp-python-ms
And comment on the hack.
2019-07-27 13:53:38 +02:00
Nelson Liu
bf151916cb
Update list of lang/python considered conda homes
For several years, the default location for a miniconda install has been `~/miniconda3` (`~/miniconda2` if using the python 2 version). This PR adds this path to the list considered by the conda package.
2019-07-26 22:29:33 -07:00
Julian DeMille
850c0bbb61
Adding lsp-python-ms with patch so it doesn't force itself to be installed. 2019-07-26 22:32:17 -04:00
Henrik Lissner
a3e262c7ac
💥 Refactor add-hook! macro & change arg order
This update may potentially break your usage of add-hook! if you pass
the :local or :append properties to it. This is how they used to work:

  (add-hook! :append 'some-mode-hook #'do-something)

Thsoe properties must now follow the hooks, e.g.

  (add-hook! 'some-mode-hook :append #'do-something)

Other changes:
- Various add-hook calls have been renamed to add-hook! because I
  incorrectly assumed `defun` always returned its definition's symbol,
  when in fact, its return value is "undefined" (so sayeth the
  documentation). This should fix #1597.
- This update adds the ability to add multiple functions to hooks
  without a list:

    (add-hook! 'some-mode-hook
               #'do-something
               #'do-something-else)

- The indentation logic has been changed so that consecutive function
  symbols at indented at the same level as the first argument, but forms
  are indent like a defun.

    (add-hook! 'some-mode-hook
               #'do-something
               #'do-something-else)

    (add-hook! 'some-mode-hook
      (message "Hello"))
2019-07-26 20:17:29 +02:00
Shanavas M
2a92cb1c7f Add pipenv keybindings for python module 2019-07-25 10:48:31 +05:30
Henrik Lissner
76cacb5bfe
💥 Rename def-package! -> use-package!
Calling this pivotal macro "def-package!" has frequently been a source
of confusion. It is a thin wrapper around use-package, and it should be
obvious that it is so. For this reason, and to match the naming
convention used with other convenience macros/wrappers, it is now
use-package!.

Also changes def-package-hook! -> use-package-hook!

The old macros are now marked obsolete and will be removed when straight
integration is merged.
2019-07-23 12:50:45 +02:00
Henrik Lissner
c24567a545
:minor-mode -> :minor 2019-07-22 04:30:04 +02:00
Henrik Lissner
13ac086606
lang/python: default to python3 2019-07-22 02:37:47 +02:00
Henrik Lissner
13f7f70242
lang/python: python-indent-guess-indent-offset-verbose = nil 2019-07-22 02:37:47 +02:00
Henrik Lissner
77da28f06a
lang/python: use correct executables for flycheck 2019-07-22 02:37:47 +02:00
Henrik Lissner
0a84d2f0a9
core-lib: add auto-minor-mode, revise def-project-mode!
- Adds the auto-minor-mode package to replace our in-house
  implementation.
- Merges associate! into the def-project-mode! macro because associate!
  on its own is less useful than auto-minor-mode-alist,
  auto-minor-mode-magic-alist or hooks.
- Changes the semantics of :modes and :add-hooks properties of
  def-project-mode!. Its arguments are evaluated as is; lists will need
  to be quoted.

squash! core-lib: remove associate! macro
2019-07-22 02:30:39 +02:00
Henrik Lissner
149b2617b0
💥 revise hook/var fns naming convention (2/2)
This is second of three big naming convention changes. In this commit,
we change the naming conventions for hook functions and variable
functions:

1. Replace the bar | to indicate a hook function with a -h suffix, e.g.

     doom|init-ui -> doom-init-ui-h
     doom|run-local-var-hooks -> doom-run-local-var-hooks-h

2. And add a -fn suffix for functions meant to be set on variables,
   e.g.

     (setq magit-display-buffer-function #'+magit-display-buffer-fn)

See ccf327f8 for the reasoning behind these changes.
2019-07-22 02:30:38 +02:00
Henrik Lissner
447af38051
Merge pull request #1416 from Mambu38/feature-pyimport
Added pyimport support
2019-05-28 17:02:33 -04:00