From bc1138eb06ac23ec25ef8286afb6a085bb37a897 Mon Sep 17 00:00:00 2001 From: Maciej Szlosarczyk Date: Fri, 4 Aug 2017 12:56:14 +0300 Subject: [PATCH] Add working python mode --- behaviour.el | 7 +++++++ emacs | 2 +- languages.el | 21 +++++++++++++++++++++ packages.el | 4 ++++ 4 files changed, 33 insertions(+), 1 deletion(-) diff --git a/behaviour.el b/behaviour.el index 1584aa6..8b11967 100644 --- a/behaviour.el +++ b/behaviour.el @@ -108,6 +108,13 @@ (column-enforce-mode -1) (column-enforce-mode 1)) +(defun set-width-79 () + "Set line length to 79 columns." + (interactive) + (setq column-enforce-column 79) + (column-enforce-mode -1) + (column-enforce-mode 1)) + (defun set-width-120 () "Set line length to 120 columns." (interactive) diff --git a/emacs b/emacs index 451c2d0..cc637b4 100644 --- a/emacs +++ b/emacs @@ -22,7 +22,7 @@ '(hl-paren-colors (quote ("#ecf0f1" "#ecf0f1" "#c0392b"))) '(package-selected-packages (quote - (toml-mode color-theme-approximate smex yaml-mode web-mode ujelly-theme smart-mode-line scala-mode rvm ruby-end rainbow-mode rainbow-delimiters racer noctilux-theme monokai-theme markdown-mode less-css-mode json-reformat jade-mode indent-guide helm-themes helm-projectile helm-ag haskell-mode haml-mode groovy-mode flycheck flatui-theme exec-path-from-shell evil-nerd-commenter evil-magit evil-leader elpy dumb-jump dockerfile-mode diff-hl column-enforce-mode base16-theme avk-emacs-themes atom-one-dark-theme all-the-icons alchemist aggressive-indent ag))) + (company-jedi pyenv pyenv-mode toml-mode color-theme-approximate smex yaml-mode web-mode ujelly-theme smart-mode-line scala-mode rvm ruby-end rainbow-mode rainbow-delimiters racer noctilux-theme monokai-theme markdown-mode less-css-mode json-reformat jade-mode indent-guide helm-themes helm-projectile helm-ag haskell-mode haml-mode groovy-mode flycheck flatui-theme exec-path-from-shell evil-nerd-commenter evil-magit evil-leader elpy dumb-jump dockerfile-mode diff-hl column-enforce-mode base16-theme avk-emacs-themes atom-one-dark-theme all-the-icons alchemist aggressive-indent ag))) '(safe-local-variable-values (quote ((encoding . utf-8)))) '(sml/active-background-color "#34495e") '(sml/active-foreground-color "#ecf0f1") diff --git a/languages.el b/languages.el index 82bcd49..c80dc45 100644 --- a/languages.el +++ b/languages.el @@ -49,6 +49,27 @@ (add-hook 'rust-mode-hook 'flycheck-mode) (add-hook 'rust-mode-hook 'set-width-99) +;;; Python +(defun python-mode-config () + "Setup editor for Python." + (remove-hook 'ruby-mode-hook 'ruby-mode-config) + (remove-hook 'elixir-mode-hook 'elixir-mode-config) + (remove-hook 'emacs-lisp-mode-hook 'elisp-mode-config) + (remove-hook 'html-mode-hook 'web-mode-config) + (remove-hook 'haskell-mode-hook 'haskell-mode-config) + (remove-hook 'java-mode-hook 'java-mode-config) + + (set-indent 4)) + +(setq elpy-rpc-python-command "python3") +(setq python-indent-guess-indent-offset 4) +(setq python-indent-offset 4) + +(add-hook 'python-mode-hook 'python-mode-config) +(add-hook 'python-mode-hook 'pyenv-mode) +(add-hook 'python-mode-hook 'elpy-mode) +(add-hook 'python-mode-hook 'set-width-79) + ;;; SQL (defun sql-mode-hook () "Editor setup for SQL." diff --git a/packages.el b/packages.el index 2509777..1006f34 100644 --- a/packages.el +++ b/packages.el @@ -235,4 +235,8 @@ (unless (package-installed-p 'elpy) (package-refresh-contents) (package-install 'elpy)) + +(unless (package-installed-p 'pyenv-mode) + (package-refresh-contents) + (package-install 'pyenv-mode)) ;;; packages.el ends here