Commit Graph

125 Commits

Author SHA1 Message Date
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
68699c3d5b lang/python: make repl/eval handlers respect pipenv 2018-09-26 12:28:32 -04:00
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
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
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
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
45e22c7e23 add anaconda3 home path '/usr/local/anaconda3' 2018-09-09 17:18:39 +08:00
69e992e54a lang/python: minor reformatting 2018-08-12 02:46:55 +02:00
69eb2cd40d lang/python: improve pipenv support 2018-08-11 21:18:21 +02:00
7ffa3c8d8d lang/python: register ANACONDA_HOME envvar 2018-08-01 22:30:30 +02:00
e053234992 lang/python: fix anaconda ignoring conda envs 2018-08-01 22:29:51 +02:00
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
65f0dcef54 lang/python: remove references to removed variable 2018-08-01 01:31:12 +02:00
90d0f334f8 lang/python: rewrite mode-line indicator (again) 2018-08-01 01:13:49 +02:00
9cf5907c48 lang/python: update modeline on version change 2018-07-31 23:21:13 +02:00
991199ee78 Fix PYENV -> PYENV_ROOT envvar typo 2018-07-31 23:16:18 +02:00
b4c8584f64 lang/python: rewrite version mode-line segment 2018-07-31 23:07:22 +02:00
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
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
90d09e6f93 Highlight-numbers on every prog-mode 2018-07-29 12:19:56 +10:00
0a577f3a0e lang/python: fix pyenv version detection #736 2018-07-06 23:56:50 +02:00
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
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
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
4d017ae19e Replace :yas-minor-mode with set-yas-minor-mode! 2018-06-15 18:03:50 +02:00
c0251aacee Replace :lookup with set-lookup-handlers! autodef
And update all internal references.
2018-06-15 17:27:48 +02:00
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
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
98d2f1de3f Add set-env! autodef; make :env obsolete 2018-06-15 03:42:01 +02:00
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
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
ad5713cd78 add-hook 'nose-mode-hook #'evil-normalize-keymaps
Ensures nose-mode-map keybinds work in nose-mode.
2018-06-03 11:21:32 +02:00
bcc01628a3 Remove anaconda-view-mode-map keybinds
It, with anaconda-view-mode, have been removed upstream.
2018-06-03 11:20:43 +02:00
83db654058 Fix anaconda-mode loading late in python-mode #638
This would mean anaconda-mode's config wouldn't work until the second
opened python buffer (or invokation of python-mode).
2018-06-01 12:19:11 +02:00
1f5dae9176 Merge evil-collection-anaconda into lang/python #628
This is the first step of removing evil-collection from Doom.
2018-05-31 13:59:21 +02:00
c80baef05d lang/python: minor refactor
company-anaconda is *not* being removed, it just autoloads itself, so we
don't need its def-package! block.
2018-05-31 11:31:32 +02:00
568a6c7e2c lang/python: remove defunct advice 2018-05-31 11:27:23 +02:00
09cb4f6716 Major refactor & optimization of how modules load their packages
Now that we are loading package autoloads files (as part of the
generated doom-package-autoload-file when running make autoloads), many
:commands properties are redundant. In fact, many def-package! blocks
are redundant.

In some cases, we can do without a config.el file entirely, and can move
into the autoloads file or rely entirely on package autoloads.

Also, many settings have been moved in their module's autoloads files,
which makes them available ASAP; their use no longer depends on module
load order.

This gained me a modest ~10% boost in startup speed.
2018-05-25 00:46:16 +02:00
80adb9c1f6 General refactor for consistency & idempotency
Also updated comments
2018-05-18 01:26:41 +02:00
7eb0dd6340 lang/python: remove redundant pip-requirements config
The auto-mode-alist entry is already set up by
pip-requirements-autoloads.
2018-05-15 21:49:47 +02:00
e421720996 lang/python: fix non-interactive command on gf 2018-03-23 15:18:52 -04:00
738f39d21a Change how shell env is injected #449
Changes the behavior of the :env setting to fetch the shell variables
immediately on call.
2018-03-02 19:55:05 -05:00
a9cbfc7f4e New :env setting for pulling shell envvars into MacOS sessions
:env lets you specify what environment variables exec-path-from-shell
should pull in from your shell environment at startup. As such, these
need to be defined at startup. :env is useless post-init.

May address #433
2018-03-01 01:03:03 -05:00
4dbca5b21f lang/python: kill anaconda processes after killing last python buffer 2018-01-31 05:33:26 -05:00
ac825754c6 lang/python: move :lookup setting to anaconda-mode block 2018-01-24 03:16:36 -05:00
12ac162276 lang/python: set :company-backend sooner #369
company-anaconda was added to company-backends too late, causing
code completion not to work in first-time python buffers.
2018-01-24 03:15:49 -05:00
91357a3e5d 💥 Replace core-popup with new feature/popup module
This is a breaking change! Update your :popup settings. Old ones will
throw errors!

Doom's new popup management system casts off its shackles (hur hur) and
replaces them with the monster that is `display-buffer-alist`, and
window parameters.

However, this is highly experimental! Expect edge cases.  Particularly
with org-mode and magit (or anything that does its own window
management).

Relevant to #261, #263, #325
2018-01-06 02:17:43 -05:00
42cee2e046 Update :jump => :lookup 2018-01-05 23:57:48 -05:00
8ef3cf8ea7 lang/python: fix anaconda-mode-find-references typo 2018-01-04 16:16:44 -05:00
76a4ae459d Fix obsolete (when|if)-let messages in Emacs 26 2017-12-10 14:49:52 -05:00