Separate more languages

This commit is contained in:
Maciej Szlosarczyk 2017-08-28 23:01:39 +03:00
parent 4073c40b2c
commit daa26bbc3b
No known key found for this signature in database
GPG key ID: 0D4EEACF63D4262E
7 changed files with 97 additions and 59 deletions

3
emacs
View file

@ -20,6 +20,9 @@
'(foreground-color "#cccccc")
'(hl-paren-background-colors (quote ("#2492db" "#95a5a6" nil)))
'(hl-paren-colors (quote ("#ecf0f1" "#ecf0f1" "#c0392b")))
'(package-selected-packages
(quote
(company-racer yaml-mode window-purpose web-mode ujelly-theme toml-mode smart-mode-line scala-mode rvm ruby-end rspec-mode robe rainbow-mode rainbow-delimiters racer pyenv-mode pos-tip noctilux-theme neotree 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 dash-at-point company-jedi column-enforce-mode color-theme-approximate base16-theme atom-one-dark-theme alchemist aggressive-indent ag)))
'(safe-local-variable-values (quote ((encoding . utf-8))))
'(sml/active-background-color "#34495e")
'(sml/active-foreground-color "#ecf0f1")

View file

@ -10,23 +10,9 @@
(load "~/.emacs.d/languages/ruby.elc")
(load "~/.emacs.d/languages/python.elc")
(load "~/.emacs.d/languages/elisp.elc")
;;; Rust
(defun rust-mode-config ()
"Setup editor for rust."
(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))
(add-hook 'rust-mode-hook 'rust-mode-config)
(add-hook 'rust-mode-hook 'racer-mode)
(add-hook 'rust-mode-hook 'flycheck-mode)
(add-hook 'rust-mode-hook 'set-width-99)
(load "~/.emacs.d/languages/elixir.elc")
(load "~/.emacs.d/languages/rust.elc")
(load "~/.emacs.d/languages/web.elc")
;;; SQL
(defun sql-mode-hook ()
@ -43,25 +29,6 @@
(add-hook 'sql-mode-hook 'flycheck-mode)
(add-hook 'sql-mode-hook 'set-width-120)
;;; Elixir
;; Note: there is no flycheck support for Elixir yet
(require 'alchemist)
(defun elixir-mode-config ()
"Call elixir mode config."
(remove-hook 'ruby-mode-hook 'ruby-mode-config)
(remove-hook 'rust-mode-hook 'rust-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 2))
(add-hook 'elixir-mode-hook 'elixir-mode-config)
(add-hook 'elixir-mode-hook 'alchemist-mode)
(add-hook 'elixir-mode-hook 'ruby-end-mode)
(add-hook 'elixir-mode-hook 'set-width-80)
;;; Haskell
(defun haskell-mode-config ()
"Call haskell mode config."
@ -96,28 +63,6 @@
;;; Javascript
(setq js-indent-level 2)
;;; Web-mode
(require 'web-mode)
(defun web-mode-config ()
"Setup web mode."
(remove-hook 'rust-mode-hook 'rust-mode-config)
(remove-hook 'ruby-mode-hook 'ruby-mode-config)
(remove-hook 'elixir-mode-hook 'elixir-mode-config)
(remove-hook 'java-mode-hook 'java-mode-config)
(flycheck-mode 1)
(set-indent 2))
(add-hook 'html-mode-hook 'web-mode)
(add-hook 'html-mode-hook 'web-mode-config)
(add-hook 'html-mode-hook 'set-width-120)
(setq web-mode-markup-indent-offset 2)
(setq web-mode-code-indent-offset 2)
;; CSS-mode
(setq css-indent-offset 2)
;; Markdown mode
(defun markdown-mode-config ()
"Setup markdown mode."

View file

@ -1,4 +1,4 @@
;;; Ruby -- summary
;;; Elisp -- summary
;;; Commentary:
;;; Code:
@ -21,4 +21,6 @@
;;========== Hooks =================================
(add-hook 'emacs-lisp-mode-hook 'editor-config-elisp)
(add-hook 'emacs-lisp-mode-hook 'completion-config-elisp)
(provide 'elisp)
;;; elisp.el ends here

26
languages/elixir.el Normal file
View file

@ -0,0 +1,26 @@
;;; Elixir -- summary
;;; Commentary:
;;; Code:
;;========== Editor config =========================
(defun editor-config-elixir ()
"Editor configuration for Elixir."
(set-indent 2)
(set-width-80)
(ruby-end-mode 1))
;;========== Code completion =======================
(defun completion-config-elixir ()
"Code completion and inspection for Elixir."
(alchemist-mode 1)
(company-mode 1)
(set (make-local-variable 'company-backends)
'((alchemist-company company-capf company-dabbrev-code company-yasnippet
company-files))))
;;========== Hooks =================================
(add-hook 'elixir-mode-hook 'editor-config-elixir)
(add-hook 'elixir-mode-hook 'completion-config-elixir)
(provide 'elixir)
;;; elixir.el ends here

28
languages/rust.el Normal file
View file

@ -0,0 +1,28 @@
;;; Rust -- summary
;;; Commentary:
;;; Code:
;;========== Editor config =========================
(defun editor-config-rust ()
"Editor configuration for Rust."
(set-indent 4)
(set-width-99))
;;========== Code completion =======================
(defun completion-config-rust ()
"Code completion and inspection for Rust."
(racer-mode 1)
(company-mode 1)
(flycheck-mode 1)
(flymake-mode)
(set (make-local-variable 'company-backends)
'((company-racer company-capf company-dabbrev-code company-yasnippet
company-files))))
;;========== Hooks =================================
(add-hook 'rust-mode-hook 'editor-config-rust)
(add-hook 'rust-mode-hook 'completion-config-rust)
(provide 'rust)
;;; rust.el ends here

31
languages/web.el Normal file
View file

@ -0,0 +1,31 @@
;;; Web -- summary
;;; Commentary:
;;; Code:
(require 'web-mode)
;;========== Editor config =========================
(defun editor-config-web ()
"Editor configuration for Web."
(set-indent 2)
(set-width-120)
(setq web-mode-markup-indent-offset 2)
(setq web-mode-code-indent-offset 2)
(setq css-indent-offset 2))
;;========== Code completion =======================
(defun completion-config-web ()
"Code completion and inspection for Web."
(company-mode 1)
(flycheck-mode 1)
(flymake-mode)
(set (make-local-variable 'company-backends)
'((company-capf company-dabbrev-code company-yasnippet
company-files))))
;;========== Hooks =================================
(add-hook 'html-mode-hook 'editor-config-web)
(add-hook 'html-mode-hook 'completion-config-web)
(provide 'web)
;;; web.el ends here

View file

@ -190,6 +190,9 @@
(unless (package-installed-p 'racer)
(package-install 'racer))
(unless (package-installed-p 'company-racer)
(package-install 'company-racer))
(unless (package-installed-p 'toml-mode)
(package-install 'toml-mode))