Commit graph

94 commits

Author SHA1 Message Date
Henrik Lissner
5bae67e299
lang/python: remove +pyvenv flag
The pyvenv package isn't going anywhere, it's just needed by
pipenv.el (which surprisingly doesn't declare it as a dependency).
2019-03-04 20:47:26 -05:00
Henrik Lissner
eb3c569e1d
Replace +lsp|init with lsp! autodef 2019-03-02 01:34:19 -05:00
Henrik Lissner
8832737671
Adopt seagle0128/doom-modeline for :ui modeline
And remove obsolete :ui doom-modeline module.

Relevant to: #136, #921
2019-03-02 01:34:14 -05:00
Henrik Lissner
812c834970
lang/python: fix ipython repl & change args type
+python-ipython-repl-args and +python-jupyter-repl-args are now lists,
rather than strings.
2019-02-28 04:10:35 -05:00
Henrik Lissner
f5a18d3751
+python|adjust-mode-line -> +python|init-mode-line
To be consistent with other initializer hooks.
2019-02-24 21:00:46 -05:00
Henrik Lissner
cb923eadcc
Add basic LSP support
Still needs to be documented, but includes support for the following
languages:

+ C/C++/ObjC
+ Go
+ Java
+ Javascript
+ OCaml
+ PHP
+ Python
+ Ruby
+ Scala
+ Swift
+ HTML/CSS

Relevant to #460, #716, #1186
2019-02-21 19:13:35 -05:00
Henrik Lissner
94b16cba6c
Standardize REPL commands & improve SPC o r
- SPC o r now prompts for a REPL to open when none was found for the
  current buffer.
- REPL handlers must now follow the naming convention "*/open*-repl".
  e.g. +python/open-ipython-repl, +emacs-lisp/open-repl, etc.
- +eval/open-repl has been split in two:
  - +eval/open-repl-other-window
  - +eval/open-repl-same-window
2019-02-18 01:59:56 -05:00
Henrik Lissner
3f195614d9
Normalize :leader/:localleader keybinds
Evil states no longer apply to them. Also removes x-alt-keysym.
2018-12-23 23:54:27 -05:00
Henrik Lissner
408eecad8e lang/python: lazyload python-pytest #1026 2018-12-05 22:11:54 -05:00
Henrik Lissner
4455dc8baa
Extract ipython/jupyter arglist to variables
Also fixes #1022 by removing default --pylab arg from
+python/open-ipython-repl.
2018-12-05 14:31:02 -05:00
Henrik Lissner
30fbb0d62f
Lazy-load python-pytest 2018-12-03 23:15:40 -05:00
Edmund Miller
52f805ba62
Add some extra keybindings 2018-11-23 11:14:25 -06:00
Edmund Miller
2c0b0fac77
Keybindings are added to python-mode-map 2018-11-23 11:06:03 -06:00
Edmund Miller
ba49765358
Initial pytest 2018-11-22 12:53:08 -06:00
Ting Zhou
7e02cbb17d lang/python: add miniconda3 path 2018-11-14 22:33:18 -08:00
Henrik Lissner
80e53eee5d
lang/python: add homebrew miniconda3 path
For `brew cask install miniconda`
2018-11-15 00:55:54 -05:00
Henrik Lissner
d21887149f
Minor refactor/reformatting 2018-10-06 20:44:25 -04:00
Henrik Lissner
9185da824c
lang/python: remove +ipython flag
+ Replace +ipython functionality with +python/open-ipython-repl command.
+ Use python-shell-interpreter for eval handlers, repl and python
  version detection.
+ Removed various python-shell-* variables for ipython; they are already
  supported upstream.
2018-10-06 20:44:25 -04:00
Henrik Lissner
7f1b526f64
Set python-shell-* vars early
To make it easier for users to overwrite them in thir config.el (without
an after! block).
2018-10-03 00:05:45 -04:00
Henrik Lissner
431ea613b0
lang/python: set PIPENV_MAX_DEPTH in eval handler
Instead of changing the cwd, which chould have other reprecussions for
the code about to be executed.
2018-09-26 20:38:02 -04:00
Henrik Lissner
68699c3d5b
lang/python: make repl/eval handlers respect pipenv 2018-09-26 12:28:32 -04:00
Henrik Lissner
b91a8f0d2f
lang/python: rewrite modeline version segment
+ Add $PYENV_ROOT/shims was added to exec-path, so pyenv python version
  is picked up on.
+ Fixes out-of-date python version in the modeline of other buffers
  after switching pyenv/pyvenv/conda envs.
+ The pipenv version and regular python display have been merged.
2018-09-25 22:17:41 -04:00
Henrik Lissner
5145e7e822
lang/python: tab-width = python-indent-offset #882
This fixes evil-shift-width too (which is set to tab-width by
evil-collection-python).
2018-09-13 19:15:15 -04:00
Henrik Lissner
c58077810d
General refactor of modules
General code and comment improvements.

Also, removed the :desc's for csv-mode because map! is currently unable
to set which-key descriptions mode-locally, and should be avoided for
anything but global keybinds. This will be fixed when General is
introduced into Doom.
2018-09-09 09:58:20 -04:00
Henrik Lissner
7d3ffdff06
Remove third line in section headers
This is truly important stuff. We've saved many lives with this update.
2018-09-09 09:58:19 -04:00
Allen Shaw
45e22c7e23 add anaconda3 home path '/usr/local/anaconda3' 2018-09-09 17:18:39 +08:00
Henrik Lissner
69e992e54a
lang/python: minor reformatting 2018-08-12 02:46:55 +02:00
Henrik Lissner
69eb2cd40d
lang/python: improve pipenv support 2018-08-11 21:18:21 +02:00
Henrik Lissner
7ffa3c8d8d
lang/python: register ANACONDA_HOME envvar 2018-08-01 22:30:30 +02:00
Henrik Lissner
e053234992
lang/python: fix anaconda ignoring conda envs 2018-08-01 22:29:51 +02:00
Henrik Lissner
ad68f26477
Fix python mode-line persisting into other modes
And more polish for the python mode-line indicator.
2018-08-01 15:17:57 +02:00
Henrik Lissner
65f0dcef54
lang/python: remove references to removed variable 2018-08-01 01:31:12 +02:00
Henrik Lissner
90d0f334f8
lang/python: rewrite mode-line indicator (again) 2018-08-01 01:13:49 +02:00
Henrik Lissner
9cf5907c48
lang/python: update modeline on version change 2018-07-31 23:21:13 +02:00
Henrik Lissner
991199ee78
Fix PYENV -> PYENV_ROOT envvar typo 2018-07-31 23:16:18 +02:00
Henrik Lissner
b4c8584f64
lang/python: rewrite version mode-line segment 2018-07-31 23:07:22 +02:00
Henrik Lissner
d9a52e1094
Fix company/lookup settings in anaconda-mode
Applying them to python-mode means it would happen too late.
2018-07-31 19:20:58 +02:00
Henrik Lissner
560d16d651
lang/python: add support for more env managers
+ Rewritten +conda support
+ Adds +pyenv and +pyvenv flags with support.
+ New +ipython flag to enable ipython REPL support
+ Added pipenv support. This is the new default, instead of pyenv, and
  isn't hidden behind a module flag because it is officially endorsed by
  python.

Addresses #736
2018-07-31 15:51:25 +02:00
Aria
90d09e6f93 Highlight-numbers on every prog-mode 2018-07-29 12:19:56 +10:00
Henrik Lissner
0a577f3a0e
lang/python: fix pyenv version detection #736 2018-07-06 23:56:50 +02:00
Henrik Lissner
e05d7cfee0
Change flycheck initialization strategy
Initialize it globally and turn it off where needed, instead of enabling
it on demand. Also fixes void-function: flycheck-mode errors when
:feature syntax-checker is disabled. This is experimental.

Indirectly fixes #710
2018-06-22 01:49:20 +02:00
Henrik Lissner
6808c46b58
💥 Change set-popup-rule! usage
Now accepts a flat plist of all its former parameters, including new
:parameters and :actions properties to increase your control over the
fate of your windows.

The old usage of set-popup-rule! is deprecated and may not work right!

The :ui popup module has also seen a major refactor to improve
efficiency and load times.

Sorry! This is the last "big" change before 2.1!
2018-06-18 02:34:16 +02:00
Henrik Lissner
ec8ae0bedc
Add :ui pretty-code & set-pretty-symbols! autodef
Along with defaults for C/C++, elm, elisp, js, typescript, web-mode, and
org-mode. Thanks to @ar1a for inspiration.
2018-06-16 19:32:25 +02:00
Henrik Lissner
4d017ae19e
Replace :yas-minor-mode with set-yas-minor-mode! 2018-06-15 18:03:50 +02:00
Henrik Lissner
c0251aacee
Replace :lookup with set-lookup-handlers! autodef
And update all internal references.
2018-06-15 17:27:48 +02:00
Henrik Lissner
588359cc5f
Replace :eval/:repl with autodef functions
+ :eval => set-eval-handler!
+ :repl => set-repl-handler!
+ Updates all internal references.
2018-06-15 16:20:20 +02:00
Henrik Lissner
9f0ebe42e8
Replace :electric with set-electric-rules!
And general refactor of the emacs/electric-indent module.

Also updates (set! :electric ...) references in various :lang modules
2018-06-15 13:32:07 +02:00
Henrik Lissner
98d2f1de3f
Add set-env! autodef; make :env obsolete 2018-06-15 03:42:01 +02:00
Henrik Lissner
d8b1e469bc
Introduce autodefs to replace some settings
+ :popup -> set-popup-rule!
+ :popups -> set-popup-rules!
+ :company-backend -> set-company-backend!
+ :evil-state -> set-evil-initial-state!

I am slowly phasing out the setting system (def-setting! and set!),
starting with these.

What are autodefs? These are functions that are always defined, whether
or not their respective modules are enabled. However, when their modules
are disabled, they are replaced with macros that no-op and don't
waste time evaluating their arguments.

The old set! function will still work, for a while.
2018-06-15 03:42:01 +02:00
Henrik Lissner
32a2a2b64d
General, minor refactor
+ Group hooks with add-hook!
+ Sharpquote elfeed call
+ Extract elfeed buffer detector into function and ensure idempotency of
  doom-real-buffer-functions
2018-06-03 15:51:59 +02:00