Replace language lambdas with separate functions
This commit is contained in:
parent
63475697d5
commit
83569bf5f9
9 changed files with 110 additions and 57 deletions
34
behaviour.el
34
behaviour.el
|
|
@ -57,17 +57,11 @@
|
||||||
;; Show trailing whitespaces and remove whitespace on save
|
;; Show trailing whitespaces and remove whitespace on save
|
||||||
(setq-default show-trailing-whitespace t)
|
(setq-default show-trailing-whitespace t)
|
||||||
(setq whitespace-style '(face trailing lines-tail trailing))
|
(setq whitespace-style '(face trailing lines-tail trailing))
|
||||||
(setq whitespace-line-column 80)
|
|
||||||
(add-hook 'before-save-hook 'delete-trailing-lines)
|
(add-hook 'before-save-hook 'delete-trailing-lines)
|
||||||
|
|
||||||
;; Tabs are spaces and are general at 2. Guide indent with lines
|
;; Tabs are spaces and are general at 2. Guide indent with lines
|
||||||
(setq-default indent-tabs-mode nil)
|
(setq-default indent-tabs-mode nil)
|
||||||
(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)))
|
|
||||||
;; (require 'indent-guide)
|
|
||||||
;; (indent-guide-global-mode)
|
|
||||||
|
|
||||||
; Insert newline on save
|
; Insert newline on save
|
||||||
(setq require-final-newline t)
|
(setq require-final-newline t)
|
||||||
|
|
@ -85,6 +79,25 @@
|
||||||
;;; When pasting/writing over a selection, replace it.
|
;;; When pasting/writing over a selection, replace it.
|
||||||
(delete-selection-mode 1)
|
(delete-selection-mode 1)
|
||||||
|
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;; indentation functions ;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
;; Use this function for ruby, elixir and such
|
||||||
|
(defun set-line-limit-80-tab-2 ()
|
||||||
|
(setq whitespace-line-column 80)
|
||||||
|
(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 ()
|
||||||
|
(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)
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;; additional features ;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;; additional features ;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
; Add completion
|
; Add completion
|
||||||
|
|
@ -133,10 +146,5 @@
|
||||||
;; (add-to-list 'default-frame-alist '(alpha . (94 . 90)))
|
;; (add-to-list 'default-frame-alist '(alpha . (94 . 90)))
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Additional loads ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Additional loads ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
(load "~/.emacs.d/languages.el")
|
||||||
; Language specific stuff
|
|
||||||
(load "~/.emacs.d/ruby.el")
|
|
||||||
(load "~/.emacs.d/elixir.el")
|
|
||||||
(load "~/.emacs.d/javascript.el")
|
|
||||||
(load "~/.emacs.d/web-mode.el")
|
|
||||||
;;; behaviour.el ends here
|
;;; behaviour.el ends here
|
||||||
|
|
|
||||||
12
elixir.el
12
elixir.el
|
|
@ -1,12 +0,0 @@
|
||||||
; Special language package
|
|
||||||
(require 'alchemist)
|
|
||||||
|
|
||||||
; Hooks
|
|
||||||
(add-hook 'elixir-mode-hook
|
|
||||||
(alchemist-mode))
|
|
||||||
|
|
||||||
(add-hook 'elixir-mode-hook
|
|
||||||
'flycheck-mode)
|
|
||||||
|
|
||||||
(add-hook 'elixir-mode-hook
|
|
||||||
'ruby-end-mode)
|
|
||||||
1
emacs
1
emacs
|
|
@ -65,6 +65,7 @@
|
||||||
|
|
||||||
; load custom config files
|
; load custom config files
|
||||||
(load "~/.emacs.d/packages.el")
|
(load "~/.emacs.d/packages.el")
|
||||||
|
(load "~/.emacs.d/functions.el")
|
||||||
(load "~/.emacs.d/behaviour.el")
|
(load "~/.emacs.d/behaviour.el")
|
||||||
(load "~/.emacs.d/themes.el")
|
(load "~/.emacs.d/themes.el")
|
||||||
(load "~/.emacs.d/key-bindings.el")
|
(load "~/.emacs.d/key-bindings.el")
|
||||||
|
|
|
||||||
6
functions.el
Normal file
6
functions.el
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
(defun kill-other-buffers
|
||||||
|
"Kill all buffers except for the current one"
|
||||||
|
(interactive)
|
||||||
|
(mapc 'kill-buffer (delq (current-buffer) (buffer-list)))
|
||||||
|
)
|
||||||
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
(setq js-indent-level 2)
|
|
||||||
78
languages.el
Normal file
78
languages.el
Normal file
|
|
@ -0,0 +1,78 @@
|
||||||
|
;;; Languages -- summary
|
||||||
|
;;; Commentary:
|
||||||
|
|
||||||
|
|
||||||
|
;;; Code:
|
||||||
|
|
||||||
|
;;;; Major languages ;;;;
|
||||||
|
;;; Ruby
|
||||||
|
(defun ruby-mode-config ()
|
||||||
|
"Setup editor for Ruby."
|
||||||
|
(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)
|
||||||
|
|
||||||
|
(set-line-limit-99-tab-4)
|
||||||
|
(aggressive-mode-indent)
|
||||||
|
(defun align-to-colon (begin end)
|
||||||
|
"Align region to colon signs"
|
||||||
|
(align-regexp begin end
|
||||||
|
(rx ":" (group (zero-or-mode (syntax-white))))))
|
||||||
|
;; Do not align 'begin' and 'while' ;;
|
||||||
|
(setq ruby-align-to-stmt-keywords '(if begin case elseif rescue))
|
||||||
|
|
||||||
|
;; Do not indent inside the parenthasis
|
||||||
|
(setq ruby-deep-indent-paren nil)
|
||||||
|
|
||||||
|
;; Do not insert encoding comments ;;
|
||||||
|
(setq ruby-insert-encoding-magic-comment nil)
|
||||||
|
|
||||||
|
;; Use web-mode for erb
|
||||||
|
(add-to-list 'auto-mode-alist '("\\.erb\\'" . web-mode)))
|
||||||
|
|
||||||
|
(add-hook 'ruby-mode-hook 'ruby-mode-config)
|
||||||
|
|
||||||
|
;;; 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)
|
||||||
|
(set-line-limit-99-tab-4)
|
||||||
|
(flycheck-mode 1))
|
||||||
|
|
||||||
|
(add-hook 'rust-mode-hook 'rust-mode-config)
|
||||||
|
|
||||||
|
;;; Elixir
|
||||||
|
(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)
|
||||||
|
(require 'alchemist)
|
||||||
|
(alchemist-mode)
|
||||||
|
(flycheck-mode 1)
|
||||||
|
(set-line-limit-80-tab-2)
|
||||||
|
(ruby-end-mode))
|
||||||
|
|
||||||
|
(add-hook 'elixir-mode-hook 'elixir-mode-config)
|
||||||
|
|
||||||
|
;;; Elisp
|
||||||
|
(defun elisp-mode-config ()
|
||||||
|
"Setup editor for Lisp."
|
||||||
|
(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)
|
||||||
|
(flycheck-mode 1))
|
||||||
|
|
||||||
|
(add-hook 'emacs-lisp-mode-hook 'elisp-mode-config)
|
||||||
|
|
||||||
|
;;;; Other things ;;;;;
|
||||||
|
;;; Javascript
|
||||||
|
(setq js-indent-level 2)
|
||||||
|
|
||||||
|
;;; Web-mode
|
||||||
|
(setq web-mode-markup-indent-offset 2)
|
||||||
|
(setq web-mode-code-indent-offset 2)
|
||||||
|
;;; languages.el ends here
|
||||||
26
ruby.el
26
ruby.el
|
|
@ -1,26 +0,0 @@
|
||||||
(add-hook 'ruby-mode-hook
|
|
||||||
(aggressive-indent-mode))
|
|
||||||
|
|
||||||
(add-hook 'yaml-mode-hook
|
|
||||||
(lambda () (indent-guide-mode -1)))
|
|
||||||
|
|
||||||
(add-hook 'sql-mode-hook
|
|
||||||
(lambda () (indent-guide-mode -1)))
|
|
||||||
|
|
||||||
(defun align-to-colon (begin end)
|
|
||||||
"Align region to colon (:) signs"
|
|
||||||
(interactive "r")
|
|
||||||
(align-regexp begin end
|
|
||||||
(rx ":" (group (zero-or-more (syntax whitespace))) ) 1 1 ))
|
|
||||||
|
|
||||||
;; Do not align 'begin' and 'while' ;;
|
|
||||||
(setq ruby-align-to-stmt-keywords '(if begin case elseif rescue))
|
|
||||||
|
|
||||||
;; Do not indent inside the parenthasis
|
|
||||||
(setq ruby-deep-indent-paren nil)
|
|
||||||
|
|
||||||
;; Do not insert encoding comments ;;
|
|
||||||
(setq ruby-insert-encoding-magic-comment nil)
|
|
||||||
|
|
||||||
;; Use web mode for erb
|
|
||||||
(add-to-list 'auto-mode-alist '("\\.erb\\'" . web-mode))
|
|
||||||
|
|
@ -26,6 +26,7 @@
|
||||||
;; (load-theme 'flatui t t)
|
;; (load-theme 'flatui t t)
|
||||||
(load-theme 'atom-one-dark t t)
|
(load-theme 'atom-one-dark t t)
|
||||||
(load-theme 'flatui t t)
|
(load-theme 'flatui t t)
|
||||||
|
(load-theme 'noctilux t t)
|
||||||
|
|
||||||
(require 'helm-themes)
|
(require 'helm-themes)
|
||||||
(if (display-graphic-p)
|
(if (display-graphic-p)
|
||||||
|
|
@ -35,9 +36,10 @@
|
||||||
;; (helm-themes 'avk-daylight t))
|
;; (helm-themes 'avk-daylight t))
|
||||||
|
|
||||||
(progn
|
(progn
|
||||||
(enable-theme 'monokai))
|
;; (enable-theme 'flatui))
|
||||||
;; (helm-themes 'monokai t))
|
(enable-theme 'flatui)
|
||||||
;; (enable-theme 'airline-base16-shell-dark)
|
;; (enable-theme 'airline-base16-shell-dark)
|
||||||
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
(color-theme-approximate-on)
|
(color-theme-approximate-on)
|
||||||
|
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
;; Indent by 2 spaces
|
|
||||||
(setq web-mode-markup-indent-offset 2)
|
|
||||||
(setq web-mode-code-indent-offset 2)
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue