diff --git a/config/fg42.user.el b/config/fg42.user.el index d849159..6b4db53 100644 --- a/config/fg42.user.el +++ b/config/fg42.user.el @@ -12,7 +12,7 @@ ;; ABILITIES ;; ========= ;; Disable abilities which you don't want. -(disable 'rbenv 'helm 'spell 'linum 'smart-mode-line 'desktop-mode 'dired+ 'guru 'emoji) +(disable 'rbenv 'helm 'spell 'linum 'smart-mode-line 'desktop-mode 'dired+ 'guru 'emoji 'elpy) ;; EXTENSIONS diff --git a/lib/extensions/editor.el b/lib/extensions/editor.el index 287f8c1..28865c1 100644 --- a/lib/extensions/editor.el +++ b/lib/extensions/editor.el @@ -71,6 +71,9 @@ (depends-on 'emojify)) +(if (eq system-type 'darwin) + (depends-on 'exec-path-from-shell)) + ;; Extension ------------------------------------- (extension editor :version "2.31" diff --git a/lib/extensions/editor/init.el b/lib/extensions/editor/init.el index 15234ed..e6d8426 100644 --- a/lib/extensions/editor/init.el +++ b/lib/extensions/editor/init.el @@ -28,6 +28,11 @@ "Base plugin initialization." (message "Initializing 'editor' extension.") + (if (eq system-type 'darwin) + (progn + (message "Running on the stupid macOS X.") + (exec-path-from-shell-initialize))) + (require 'all-the-icons) (require 'cheatsheet) (require 'extensions/editor/utils) diff --git a/lib/extensions/python.el b/lib/extensions/python.el index 32d17d0..a09282c 100644 --- a/lib/extensions/python.el +++ b/lib/extensions/python.el @@ -8,6 +8,11 @@ (depends-on 'virtualenvwrapper) (depends-on 'flycheck) (depends-on 'pyvenv) +(depends-on 'py-autopep8) + +(with-ability elpy + (depends-on 'ein) + (depends-on 'elpy)) (with-ability kivy-editor (depends-on 'kivy-mode)) diff --git a/lib/extensions/python/init.el b/lib/extensions/python/init.el index c2918c1..1737863 100644 --- a/lib/extensions/python/init.el +++ b/lib/extensions/python/init.el @@ -98,6 +98,24 @@ (defun extensions/python-initialize () (message "Initializing 'python' extension.") + (ability elpy () + "Full feature python IDE. (A little bit heavy)" + + (require 'py-autopep8) + + (elpy-enable) + + (setq python-shell-interpreter "ipython" + python-shell-interpreter-args "-i --simple-prompt") + + ;; enable autopep8 formatting on save + (add-hook 'elpy-mode-hook 'py-autopep8-enable-on-save) + + ;; use flycheck not flymake with elpy + (when (require 'flycheck nil t) + (setq elpy-modules (delq 'elpy-module-flymake elpy-modules)) + (add-hook 'elpy-mode-hook 'flycheck-mode))) + (ability venv () "Virtualenv support" (require 'virtualenvwrapper)