diff --git a/behaviour.el b/behaviour.el index 18116a1..5038a3d 100644 --- a/behaviour.el +++ b/behaviour.el @@ -44,13 +44,17 @@ ;;;;;;;;;;;;;;;;;;;;;;;; code behaviour ;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Add ruler at 80, do not wrap lines (can be overwritten later) -(require 'whitespace) +(require 'column-enforce-mode) +(add-hook 'prog-mode-hook 'column-enforce-mode) + ;; (setq whitespace-space 'underline) (toggle-truncate-lines t) ;; Show trailing whitespaces and remove whitespace on save +(require 'whitespace) (setq-default show-trailing-whitespace t) -(setq whitespace-style '(face trailing lines-tail trailing)) +(add-hook 'prog-mode-hook 'whitespace-mode) +(setq whitespace-style '(face trailing empty)) (add-hook 'before-save-hook 'delete-trailing-lines) @@ -74,22 +78,17 @@ (delete-selection-mode 1) ;;;;;;;;;;;;;;;;;;;;;; indentation functions ;;;;;;;;;;;;;;;;;;;;;; -;; Use this function for ruby, elixir and such -(defun set-line-80 () - "Set line length to 80." - (interactive) - (whitespace-mode -1) - (setq whitespace-line-column 80) - (whitespace-mode 1)) - - -;; Use this function for rust (defun set-line-99 () - "Set line length to 99." (interactive) - (whitespace-mode -1) - (setq whitespace-line-column 99) - (whitespace-mode 1)) + (setq column-enforce-column 99) + (column-enforce-mode -1) + (column-enforce-mode 1)) + +(defun set-line-80 () + (interactive) + (setq column-enforce-column 80) + (column-enforce-mode -1) + (column-enforce-mode 1)) (defun set-tab-4 () "Set tab length to 4 spaces." diff --git a/emacs b/emacs index f2d9caf..0278fa8 100644 --- a/emacs +++ b/emacs @@ -14,6 +14,7 @@ ["#ecf0f1" "#e74c3c" "#2ecc71" "#f1c40f" "#2492db" "#9b59b6" "#1abc9c" "#2c3e50"]) '(background-color "#202020") '(background-mode dark) + '(column-enforce-column 99) '(cursor-color "#cccccc") '(custom-safe-themes (quote @@ -24,7 +25,7 @@ '(hl-paren-colors (quote ("#ecf0f1" "#ecf0f1" "#c0392b"))) '(package-selected-packages (quote - (column-marker web-mode helm-themes less-css-mode jade-mode zenburn-theme monokai-theme smart-mode-line-powerline-theme smart-mode-line mode-icons airline-themes atom-one-dark-theme neotree ant rainbow-delimiters rust-mode scala-mode haskell-mode yasnippet yaml-mode ujelly-theme rvm ruby-end rinari noctilux-theme markdown-mode jira indent-guide helm-projectile helm-ag haml-mode flycheck flatui-theme exec-path-from-shell evil-terminal-cursor-changer evil-nerd-commenter evil-magit evil-leader dumb-jump dockerfile-mode diff-hl base16-theme avk-emacs-themes alchemist aggressive-indent ag))) + (column-enforce-mode column-marker web-mode helm-themes less-css-mode jade-mode zenburn-theme monokai-theme smart-mode-line-powerline-theme smart-mode-line mode-icons airline-themes atom-one-dark-theme neotree ant rainbow-delimiters rust-mode scala-mode haskell-mode yasnippet yaml-mode ujelly-theme rvm ruby-end rinari noctilux-theme markdown-mode jira indent-guide helm-projectile helm-ag haml-mode flycheck flatui-theme exec-path-from-shell evil-terminal-cursor-changer evil-nerd-commenter evil-magit evil-leader dumb-jump dockerfile-mode diff-hl base16-theme avk-emacs-themes 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 90fcedb..8b3b262 100644 --- a/languages.el +++ b/languages.el @@ -10,9 +10,6 @@ (remove-hook 'elixir-mode-hook 'elixir-mode-config) (remove-hook 'emacs-lisp-mode-hook 'elisp-mode-config) - (set-line-80) - (set-tab-2) - (aggressive-mode-indent) (defun align-to-colon (begin end) "Align region to colon signs" @@ -31,6 +28,7 @@ (add-to-list 'auto-mode-alist '("\\.erb\\'" . web-mode))) (add-hook 'ruby-mode-hook 'ruby-mode-config) +(add-hook 'ruby-mode-hook 'set-line-80) ;;; Rust (defun rust-mode-config () @@ -39,14 +37,12 @@ (remove-hook 'elixir-mode-hook 'elixir-mode-config) (remove-hook 'emacs-lisp-mode-hook 'elisp-mode-config) - (whitespace-mode -1) - (set-line-99) (set-tab-4) - (whitespace-mode 1) (flycheck-mode 1)) (add-hook 'rust-mode-hook 'rust-mode-config) +(add-hook 'rust-mode-hook 'set-line-99) ;;; Elixir ;; Note: there is no flycheck support for Elixir yet @@ -58,12 +54,13 @@ (remove-hook 'emacs-lisp-mode-hook 'elisp-mode-config) (alchemist-mode 1) - (set-line-80) (set-tab-2) (ruby-end-mode)) (add-hook 'elixir-mode-hook 'elixir-mode-config) +(add-hook 'elixir-mode-hook 'set-line-80) + ;;; Elisp (defun elisp-mode-config () @@ -72,12 +69,12 @@ (remove-hook 'ruby-mode-hook 'ruby-mode-config) (remove-hook 'elixir-mode-hook 'elixir-mode-config) - (set-line-80) (set-tab-2) (flycheck-mode 1)) (add-hook 'emacs-lisp-mode-hook 'elisp-mode-config) +(add-hook 'emacs-lisp-mode-hook 'set-line-80) ;;;; Other things ;;;;; ;;; Javascript