Figure out a way to do python virtual environments

This commit is contained in:
Maciej Szlosarczyk 2017-08-29 00:12:17 +03:00
parent 321146b0aa
commit 5a30c48953
No known key found for this signature in database
GPG key ID: 0D4EEACF63D4262E
8 changed files with 54 additions and 3 deletions

1
.gitignore vendored
View file

@ -4,3 +4,4 @@ backups
elpa elpa
*.elc *.elc
recentf recentf
.python-environments*

View file

@ -154,6 +154,9 @@
(company-abbrev company-dabbrev) (company-abbrev company-dabbrev)
)) ))
;; Test, I do not know what it does yet.
(setq company-tooltip-align-annotations t)
;; Do not required match to continue typing ;; Do not required match to continue typing
(setq company-require-match 'never) (setq company-require-match 'never)

View file

@ -57,7 +57,9 @@
(require 'dash-at-point) (require 'dash-at-point)
(evil-leader/set-key "d" 'dash-at-point) (evil-leader/set-key "d" 'dash-at-point)
;; Force company-yasnippet
(require 'evil) (require 'evil)
;;; VIM insert mode things ;;; VIM insert mode things
(define-key evil-insert-state-map "\C-a" 'company-yasnippet) (define-key evil-insert-state-map "\C-a" 'company-complete)
;;; key-bindings.el ends here ;;; key-bindings.el ends here

View file

@ -13,6 +13,7 @@
(load "~/.emacs.d/languages/elixir.elc") (load "~/.emacs.d/languages/elixir.elc")
(load "~/.emacs.d/languages/rust.elc") (load "~/.emacs.d/languages/rust.elc")
(load "~/.emacs.d/languages/web.elc") (load "~/.emacs.d/languages/web.elc")
(load "~/.emacs.d/languages/js.elc")
;;; SQL ;;; SQL
(defun sql-mode-hook () (defun sql-mode-hook ()

27
languages/js.el Normal file
View file

@ -0,0 +1,27 @@
;;; Js -- summary
;;; Commentary:
;;; Code:
;;========== Editor config =========================
(defun editor-config-js ()
"Editor configuration for Javascript."
(set-indent 2)
(set-width-80))
;;========== Code completion =======================
(defun completion-config-js ()
"Code completion and inspection for Javascript."
(company-mode 1)
(flycheck-mode 1)
(flymake-mode)
(set (make-local-variable 'company-backends)
'((company-tern company-capf company-dabbrev-code company-yasnippet
company-files))))
;;========== Hooks =================================
(add-hook 'js-mode-hook 'editor-config-js)
(add-hook 'js-mode-hook 'completion-config-js)
(provide 'js)
;;; js.el ends here

View file

@ -4,6 +4,8 @@
;;; Code: ;;; Code:
(require 'elpy) (require 'elpy)
(require 'pyenv-mode) (require 'pyenv-mode)
(require 'company-jedi)
;;========== Editor config ========================= ;;========== Editor config =========================
(defun editor-config-python () (defun editor-config-python ()
"Setup editor for Python." "Setup editor for Python."
@ -12,7 +14,18 @@
(setq python-indent-guess-indent-offset 4) (setq python-indent-guess-indent-offset 4)
(setq python-indent-offset 4)) (setq python-indent-offset 4))
;;========== Code completion ;;========== Helper for pyenv ======================
(defun ssbb-pyenv-hook ()
"Automatically activates pyenv version if .python-version file exists."
(f-traverse-upwards
(lambda (path)
(let ((pyenv-version-path (f-expand ".python-version" path)))
(if (f-exists? pyenv-version-path)
(pyenv-mode-set (s-trim (f-read-text pyenv-version-path 'utf-8))))))))
(add-hook 'find-file-hook 'ssbb-pyenv-hook)
;;========== Code completion =======================
(defun completion-config-python () (defun completion-config-python ()
"Code completion and inspection for Python." "Code completion and inspection for Python."
(elpy-mode 1) (elpy-mode 1)

View file

@ -211,4 +211,8 @@
(unless (package-installed-p 'pyenv-mode) (unless (package-installed-p 'pyenv-mode)
(package-install 'pyenv-mode)) (package-install 'pyenv-mode))
;; Javascript
(unless (package-installed-p 'company-tern)
(package-install 'company-tern))
;;; packages.el ends here ;;; packages.el ends here

View file

@ -36,7 +36,7 @@
(add-to-list 'purpose-user-mode-purposes '(web-mode . code)) (add-to-list 'purpose-user-mode-purposes '(web-mode . code))
(add-to-list 'purpose-user-mode-purposes '(java-mode . code)) (add-to-list 'purpose-user-mode-purposes '(java-mode . code))
(add-to-list 'purpose-user-mode-purposes '(python-mode . code)) (add-to-list 'purpose-user-mode-purposes '(python-mode . code))
(add-to-list 'purpose-user-mode-purposes '(javascript-mode . code)) (add-to-list 'purpose-user-mode-purposes '(js-mode . code))
(add-to-list 'purpose-user-mode-purposes '(emacs-lisp-mode . code)) (add-to-list 'purpose-user-mode-purposes '(emacs-lisp-mode . code))
;; Other files that fall into 'code' ;; Other files that fall into 'code'