From 8753853a69d12357f781ffa1905a5a1e541e7ef7 Mon Sep 17 00:00:00 2001 From: Maciej Szlosarczyk Date: Mon, 24 Apr 2017 09:55:54 +0300 Subject: [PATCH] Separate line and tab functions --- behaviour.el | 43 +++++++++++++++++++++++++++---------------- emacs | 2 +- languages.el | 21 +++++++++++++++++---- 3 files changed, 45 insertions(+), 21 deletions(-) diff --git a/behaviour.el b/behaviour.el index 291df1e..18116a1 100644 --- a/behaviour.el +++ b/behaviour.el @@ -46,8 +46,6 @@ ; Add ruler at 80, do not wrap lines (can be overwritten later) (require 'whitespace) ;; (setq whitespace-space 'underline) - -(add-hook 'prog-mode-hook 'whitespace-mode) (toggle-truncate-lines t) ;; Show trailing whitespaces and remove whitespace on save @@ -77,24 +75,37 @@ ;;;;;;;;;;;;;;;;;;;;;; indentation functions ;;;;;;;;;;;;;;;;;;;;;; ;; Use this function for ruby, elixir and such -(defun set-line-limit-80-tab-2 () - "Set line length to 80 and indentation to 2." +(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)) + +(defun set-tab-4 () + "Set tab length to 4 spaces." + (interactive) + (setq tab-width 4) + (setq tab-stop-list (quote(4 8 12 16 24 28 32 36 40 44 48 52 56 60 64 68 72 76 + 80 84 88 92 96 100 104 108 112 116 120)))) + +(defun set-tab-2 () + "Set tab length to 2 spaces." + (interactive) (setq tab-width 2) (setq tab-stop-list (quote(2 4 6 8 10 12 14 16 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 - 72 74 76 78 80)))) - -;; Use this function for rust -(defun set-line-limit-99-tab-4 () - "Set line length to 99 and indentation to 4." - (setq whitespace-line-column 99) - (setq tab-width 4) - (setq tab-stop-list (quote(4 8 12 16 24 28 32 36 40 44 48 52 56 60 - 64 68 72 76 80 84 88 92 96)))) - -;; By default, use 80 -(set-line-limit-80-tab-2) + 72 74 76 78 80 82 84 86 88 90 92 94 96 98 100 102 + 104 106 108 110 112 114 116 118 120)))) ;;;;;;;;;;;;;;;;;;;;;;;; additional features ;;;;;;;;;;;;;;;;;;;;;;;;;;; diff --git a/emacs b/emacs index 08e69f8..f2d9caf 100644 --- a/emacs +++ b/emacs @@ -24,7 +24,7 @@ '(hl-paren-colors (quote ("#ecf0f1" "#ecf0f1" "#c0392b"))) '(package-selected-packages (quote - (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-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 2e4a02f..90fcedb 100644 --- a/languages.el +++ b/languages.el @@ -10,7 +10,9 @@ (remove-hook 'elixir-mode-hook 'elixir-mode-config) (remove-hook 'emacs-lisp-mode-hook 'elisp-mode-config) - (set-line-limit-99-tab-4) + (set-line-80) + (set-tab-2) + (aggressive-mode-indent) (defun align-to-colon (begin end) "Align region to colon signs" @@ -36,7 +38,12 @@ (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) - (set-line-limit-99-tab-4) + + (whitespace-mode -1) + (set-line-99) + (set-tab-4) + (whitespace-mode 1) + (flycheck-mode 1)) (add-hook 'rust-mode-hook 'rust-mode-config) @@ -50,7 +57,10 @@ (remove-hook 'rust-mode-hook 'rust-mode-config) (remove-hook 'emacs-lisp-mode-hook 'elisp-mode-config) (alchemist-mode 1) - (set-line-limit-80-tab-2) + + (set-line-80) + (set-tab-2) + (ruby-end-mode)) (add-hook 'elixir-mode-hook 'elixir-mode-config) @@ -61,7 +71,10 @@ (remove-hook 'rust-mode-hook 'rust-mode-config) (remove-hook 'ruby-mode-hook 'ruby-mode-config) (remove-hook 'elixir-mode-hook 'elixir-mode-config) - (set-line-limit-80-tab-2) + + (set-line-80) + (set-tab-2) + (flycheck-mode 1)) (add-hook 'emacs-lisp-mode-hook 'elisp-mode-config)