From c2d105ae65721d669f368fcd4db2494de682756b Mon Sep 17 00:00:00 2001 From: Maciej Szlosarczyk Date: Tue, 25 Apr 2017 08:59:26 +0300 Subject: [PATCH] Add set-line-120 function and racer package Fix align-to-colon function --- behaviour.el | 9 +++++++++ emacs | 2 +- functions.el | 7 ++++--- languages.el | 29 ++++++++++++++++++++++++----- packages.el | 6 +++++- 5 files changed, 43 insertions(+), 10 deletions(-) diff --git a/behaviour.el b/behaviour.el index 3c03ef8..7d2a7b3 100644 --- a/behaviour.el +++ b/behaviour.el @@ -81,17 +81,26 @@ ;;;;;;;;;;;;;;;;;;;;;; indentation functions ;;;;;;;;;;;;;;;;;;;;;; (defun set-line-99 () + "Set line length to 99 columns." (interactive) (setq column-enforce-column 99) (column-enforce-mode -1) (column-enforce-mode 1)) (defun set-line-80 () + "Set line length to 80 columns." (interactive) (setq column-enforce-column 80) (column-enforce-mode -1) (column-enforce-mode 1)) +(defun set-line-120 () + "Set line length to 120 columns." + (interactive) + (setq column-enforce-column 120) + (column-enforce-mode -1) + (column-enforce-mode 1)) + (defun set-tab-4 () "Set tab length to 4 spaces." (interactive) diff --git a/emacs b/emacs index 0278fa8..d0390e3 100644 --- a/emacs +++ b/emacs @@ -25,7 +25,7 @@ '(hl-paren-colors (quote ("#ecf0f1" "#ecf0f1" "#c0392b"))) '(package-selected-packages (quote - (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))) + (flycheck-rust racer 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/functions.el b/functions.el index f86f7de..6e5fa08 100644 --- a/functions.el +++ b/functions.el @@ -8,7 +8,8 @@ ) (defun align-to-colon (begin end) - "Align region from BEGIN to END according to colon signs." - (align-regexp begin end - (rx ":" (group (zero-or-mode (syntax-white)))))) + "Align region from BEGIN to END according to colon signs." + (interactive "r") + (align-regexp begin end + (rx ":" (group (zero-or-more (syntax whitespace))) ) 1 1)) ;;; functions.el ends here diff --git a/languages.el b/languages.el index 3687814..7111259 100644 --- a/languages.el +++ b/languages.el @@ -9,6 +9,7 @@ (remove-hook 'rust-mode-hook 'rust-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) (aggressive-mode-indent)) @@ -33,13 +34,15 @@ (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) - (set-tab-4) - - (flycheck-mode 1)) + (set-tab-4)) (add-hook 'rust-mode-hook 'rust-mode-config) (add-hook 'rust-mode-hook 'set-line-99) +(add-hook 'rust-mode-hook 'racer-mode) +(add-hook 'rust-mode-hook 'flycheck-mode) + ;;; Elixir ;; Note: there is no flycheck support for Elixir yet @@ -49,7 +52,7 @@ (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) - (alchemist-mode 1) + (remove-hook 'html-mode-hook 'web-mode-config) (set-tab-2) @@ -57,7 +60,7 @@ (add-hook 'elixir-mode-hook 'elixir-mode-config) (add-hook 'elixir-mode-hook 'set-line-80) - +(add-hook 'elixir-mode-hook 'alchemist-mode) ;;; Elisp (defun elisp-mode-config () @@ -65,6 +68,7 @@ (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 'html-mode-hook 'web-mode-config) (set-tab-2) @@ -72,12 +76,27 @@ (add-hook 'emacs-lisp-mode-hook 'elisp-mode-config) (add-hook 'emacs-lisp-mode-hook 'set-line-80) +(add-hook 'emacs-lisp-mode-hook 'flycheck-mode) ;;;; Other things ;;;;; ;;; Javascript (setq js-indent-level 2) ;;; 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) + + (flycheck-mode 1)) + +(add-hook 'html-mode-hook 'web-mode) +(add-hook 'html-mode-hook 'web-mode-config) +(add-hook 'html-mode-hook 'set-line-120) + (setq web-mode-markup-indent-offset 2) (setq web-mode-code-indent-offset 2) + + ;;; languages.el ends here diff --git a/packages.el b/packages.el index 71e6108..883d93c 100644 --- a/packages.el +++ b/packages.el @@ -194,4 +194,8 @@ (unless (package-installed-p 'rust-mode) (package-refresh-contents) (package-install 'rust-mode)) -;;; elpa.el ends here + +(unless (package-installed-p 'racer) + (package-refresh-contents) + (package-install 'racer)) +;;; packages.el ends here