Figure out a way to do python virtual environments
This commit is contained in:
parent
321146b0aa
commit
5a30c48953
8 changed files with 54 additions and 3 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -4,3 +4,4 @@ backups
|
||||||
elpa
|
elpa
|
||||||
*.elc
|
*.elc
|
||||||
recentf
|
recentf
|
||||||
|
.python-environments*
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
27
languages/js.el
Normal 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
|
||||||
|
|
@ -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)
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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'
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue