emacs/languages.el
2017-08-28 23:01:39 +03:00

81 lines
2.3 KiB
EmacsLisp

;;; Languages -- summary
;;; Commentary:
;;; Code:
;;;; Major languages ;;;;
;;; Intial imports
(require 'company)
;; Imports
(load "~/.emacs.d/languages/ruby.elc")
(load "~/.emacs.d/languages/python.elc")
(load "~/.emacs.d/languages/elisp.elc")
(load "~/.emacs.d/languages/elixir.elc")
(load "~/.emacs.d/languages/rust.elc")
(load "~/.emacs.d/languages/web.elc")
;;; SQL
(defun sql-mode-hook ()
"Editor setup for SQL."
(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 'sql-mode-hook 'flycheck-mode)
(add-hook 'sql-mode-hook 'set-width-120)
;;; Haskell
(defun haskell-mode-config ()
"Call haskell 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 'elixir-mode-hook 'elixir-mode-config)
(set-indent 4))
(add-hook 'haskell-mode-hook 'haskell-mode-config)
(add-hook 'haskell-mode-hook 'flycheck-mode)
(add-hook 'haskell-mode-hook 'set-width-80)
;;; Java
(defun java-mode-config ()
"Setup editor for java."
(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 'rust-mode-hook 'rust-mode-config)
(set-indent 2))
(add-hook 'rust-mode-hook 'java-mode-config)
(add-hook 'java-mode-hook 'flycheck-mode)
(add-hook 'java-mode-hook 'set-width-120)
;;;; Other things ;;;;;
;;; Javascript
(setq js-indent-level 2)
;; Markdown mode
(defun markdown-mode-config ()
"Setup markdown mode."
(set-indent 2))
(add-hook 'markdown-mode-hook 'markdown-mode-config)
(add-hook 'markdown-mode-hook 'set-width-80)
;; Shell things
(defun shell-mode-config ()
"Setup shell mode."
)
(setq ansi-color-for-comint-mode t) ;; Properly display colors in shell mode
(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)
;;; languages.el ends here