From 5bd7066cde1a4fb74acd4ed0ebb9e31a1246a848 Mon Sep 17 00:00:00 2001 From: Maciej Szlosarczyk Date: Sun, 29 Oct 2017 00:26:03 +0300 Subject: [PATCH] Fix backup saving --- behaviour.el | 12 +++++++++--- emacs | 2 +- functions.el | 12 ++++++++++++ init.el | 18 +++++++++--------- key-bindings.el | 2 +- languages.el | 10 +--------- languages/elisp.el | 4 +--- languages/elixir.el | 3 +-- languages/ruby.el | 3 ++- languages/rust.el | 2 +- packages.el | 6 +++++- themes.el | 2 +- windows.el | 3 +++ 13 files changed, 47 insertions(+), 32 deletions(-) diff --git a/behaviour.el b/behaviour.el index 57fb07d..940efc6 100644 --- a/behaviour.el +++ b/behaviour.el @@ -4,15 +4,17 @@ ;;;;;;;;;;;;;;;;;;;;;;;; Overall behaviour ;;;;;;;;;;;;;;;;;;;;;;;;;;; (setq backup-directory-alist - `(("" . "~/.emacs.d/backups"))) + `((".*" . "~/.emacs_backups/auto-save-list"))) (setq auto-save-file-name-transforms - `((".*" ,"~/.emacs.d/backups/auto-save" t))) + `((".*", "~/.emacs_backups/auto-save-list" t))) + (setq backup-by-copying t) (setq delete-old-versions t kept-new-versions 6 kept-old-versions 2 version-control t) + ; Use Shells variables (when (memq window-system '(mac ns)) (exec-path-from-shell-initialize)) @@ -40,7 +42,7 @@ ; Enable line numbers and show cursors position (global-linum-mode t) (column-number-mode 1) -(global-hl-line-mode) +;; (global-hl-line-mode) ;; Turn off sounds (setq ring-bell-function 'ignore) @@ -170,6 +172,10 @@ (require 'evil-magit) +;; Additional configuration for flycheck. +(require 'flycheck) +(setq flycheck-highlighting-mode 'lines) + ;;;;;;;;;;;;;;;;;;;;;;;; Projectile ;;;;;;;;;;;;;;;;;;;;;;;;;;; (require 'projectile) (projectile-mode) diff --git a/emacs b/emacs index c28527e..ab64e6a 100644 --- a/emacs +++ b/emacs @@ -59,7 +59,7 @@ ) ;;; Set performance -(setq gc-cons-threshold 100000000) +(setq gc-cons-threshold 8000000) ; load custom config files (load "~/.emacs.d/init.elc") diff --git a/functions.el b/functions.el index 7202943..45592f2 100644 --- a/functions.el +++ b/functions.el @@ -40,6 +40,18 @@ nil t)) +(defun call-in-windowed-mode (callee) + "Call function passed as CALLEE only if run in window mode." + (interactive) + (if (display-graphic-p) + (progn + (funcall callee)))) + +;; (call-in-windowed-mode 'byte-compile-init-dir) + +(add-hook 'kill-emacs-hook 'byte-compile-init-dir) +(add-hook 'emacs-lisp-mode-hook 'remove-elc-on-save) + ;; Always start in fullscreen (defun toggle-fullscreen () "Toggle full screen." diff --git a/init.el b/init.el index 4de5021..4e00246 100644 --- a/init.el +++ b/init.el @@ -8,14 +8,14 @@ ;; You may delete these explanatory comments. (package-initialize) -(load "~/.emacs.d/packages.el") -(load "~/.emacs.d/functions.el") -(load "~/.emacs.d/behaviour.el") -(load "~/.emacs.d/themes.el") -(load "~/.emacs.d/key-bindings.el") -(load "~/.emacs.d/spelling.el") -(load "~/.emacs.d/languages.el") -(load "~/.emacs.d/windows.el") +(load "~/.emacs.d/packages.elc") +(load "~/.emacs.d/functions.elc") +(load "~/.emacs.d/behaviour.elc") +(load "~/.emacs.d/themes.elc") +(load "~/.emacs.d/key-bindings.elc") +(load "~/.emacs.d/spelling.elc") +(load "~/.emacs.d/languages.elc") +(load "~/.emacs.d/windows.elc") (provide 'init) ;;; init.el ends here @@ -26,7 +26,7 @@ ;; If there is more than one, they won't work right. '(package-selected-packages (quote - (etags-select nvm tide yaml-mode window-purpose web-mode ujelly-theme toml-mode smart-mode-line scala-mode rvm ruby-end rspec-mode robe rainbow-mode rainbow-delimiters racer pyenv-mode noctilux-theme monokai-theme markdown-mode less-css-mode json-reformat jade-mode indent-guide helm-themes helm-projectile helm-ag haskell-mode haml-mode groovy-mode flymake-ruby flymake-cursor flycheck flatui-theme exec-path-from-shell evil-nerd-commenter evil-magit evil-leader elpy dumb-jump dockerfile-mode diff-hl dash-at-point company-tern company-racer company-jedi column-enforce-mode color-theme-approximate base16-theme atom-one-dark-theme alchemist aggressive-indent ag))) + (hlinum etags-select nvm tide yaml-mode window-purpose web-mode ujelly-theme toml-mode smart-mode-line scala-mode rvm ruby-end rspec-mode robe rainbow-mode rainbow-delimiters racer pyenv-mode noctilux-theme monokai-theme markdown-mode less-css-mode json-reformat jade-mode indent-guide helm-themes helm-projectile helm-ag haskell-mode haml-mode groovy-mode flymake-ruby flymake-cursor flycheck flatui-theme exec-path-from-shell evil-nerd-commenter evil-magit evil-leader elpy dumb-jump dockerfile-mode diff-hl dash-at-point company-tern company-racer company-jedi column-enforce-mode color-theme-approximate base16-theme atom-one-dark-theme alchemist aggressive-indent ag))) '(safe-local-variable-values (quote ((encoding . utf-8))))) (custom-set-faces ;; custom-set-faces was added by Custom. diff --git a/key-bindings.el b/key-bindings.el index 8ad5224..d0f2e97 100644 --- a/key-bindings.el +++ b/key-bindings.el @@ -17,7 +17,7 @@ (evil-leader/set-leader "") (evil-leader/set-key - "w" 'kill-buffer + "w" 'delete-window "," 'previous-buffer "." 'next-buffer "k" 'kill-buffer-and-window diff --git a/languages.el b/languages.el index 92e4477..d157d79 100644 --- a/languages.el +++ b/languages.el @@ -71,12 +71,4 @@ (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 +;;; languages.el ends here. diff --git a/languages/elisp.el b/languages/elisp.el index d133c72..239ac1a 100644 --- a/languages/elisp.el +++ b/languages/elisp.el @@ -15,11 +15,9 @@ (company-mode 1) (flycheck-mode 1) (set (make-local-variable 'company-backends) - '((elisp-company company-capf company-yasnippet company-files)))) + '((company-yasnippet company-dabbrev-code company-files)))) ;;========== Hooks ================================= (add-hook 'emacs-lisp-mode-hook 'editor-config-elisp) (add-hook 'emacs-lisp-mode-hook 'completion-config-elisp) - -(provide 'elisp) ;;; elisp.el ends here. diff --git a/languages/elixir.el b/languages/elixir.el index 2c3c782..835f9fb 100644 --- a/languages/elixir.el +++ b/languages/elixir.el @@ -15,8 +15,7 @@ (alchemist-mode 1) (company-mode 1) (set (make-local-variable 'company-backends) - '((alchemist-company company-capf company-dabbrev-code company-yasnippet - company-files)))) + '((company-alchemist company-yasnippet company-dabbrev company-files)))) ;;========== Hooks ================================= (add-hook 'elixir-mode-hook 'editor-config-elixir) diff --git a/languages/ruby.el b/languages/ruby.el index 264c314..c44628c 100644 --- a/languages/ruby.el +++ b/languages/ruby.el @@ -14,6 +14,7 @@ ;; Indentation and line length (set-width-80) (set-indent 2) + (setq ruby-deep-indent-paren nil) ;; Do not align 'begin' and 'while' ;; (setq ruby-align-to-stmt-keywords '(if begin case elseif rescue)) @@ -48,7 +49,7 @@ ;; Initalize completion (set (make-local-variable 'company-backends) - '((company-etags company-yasnippet company-files)))) + '((company-yasnippet company-etags company-dabbrev-code company-files)))) ;;========== Hooks ================================ (add-hook 'ruby-mode-hook 'editor-ruby-mode-config) diff --git a/languages/rust.el b/languages/rust.el index 0b1bbf6..438a557 100644 --- a/languages/rust.el +++ b/languages/rust.el @@ -15,7 +15,7 @@ (racer-mode 1) (company-mode 1) (flycheck-mode 1) - (flymake-mode) + (flymake-mode 1) (set (make-local-variable 'company-backends) '((company-racer company-capf company-dabbrev-code company-yasnippet company-files)))) diff --git a/packages.el b/packages.el index 21725d1..8b6c444 100644 --- a/packages.el +++ b/packages.el @@ -5,10 +5,13 @@ (require 'package) (add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/")) (package-initialize) -(package-refresh-contents) ; Refresh only once, on startup +(if (display-graphic-p) ; If GUI version + (progn + (package-refresh-contents))) ; Refresh only once, on startup ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Behaviour + (unless (package-installed-p 'helm) (package-install 'helm)) @@ -68,6 +71,7 @@ (unless (package-installed-p 'helm-ag) (package-install 'helm-ag)) + (unless (package-installed-p 'dumb-jump) (package-install 'dumb-jump)) diff --git a/themes.el b/themes.el index 97de58e..bf1656b 100644 --- a/themes.el +++ b/themes.el @@ -12,7 +12,7 @@ ;; Display time on mode line (setq display-time-format "%H:%M") (display-time-mode t) - +() (load-theme 'flatui t t) (load "~/.emacs.d/base16-not-harmonic-theme.el") (load-theme 'base16-not-harmonic t t) diff --git a/windows.el b/windows.el index e8a6aa8..436a926 100644 --- a/windows.el +++ b/windows.el @@ -15,6 +15,8 @@ '("_test\\.exs\\(<.*>\\)?$" . test)) ;; ExUnit (add-to-list 'purpose-user-regexp-purposes '("test_.*\\.py\\(<.*>\\)?$" . test)) ;; Pytest +(add-to-list 'purpose-user-regexp-purposes + '("tests.rs\\(<.*>\\)?$" . test)) ;; Rust tests (add-to-list 'purpose-user-mode-purposes '(shell-mode . test)) (add-to-list 'purpose-user-mode-purposes '(magit-diff-mode . test)) @@ -37,6 +39,7 @@ (add-to-list 'purpose-user-mode-purposes '(python-mode . code)) (add-to-list 'purpose-user-mode-purposes '(js-mode . code)) (add-to-list 'purpose-user-mode-purposes '(emacs-lisp-mode . code)) +(add-to-list 'purpose-user-mode-purposes '(sql-mode . code)) ;; Other files that fall into 'code' (add-to-list 'purpose-user-mode-purposes '(xml-mode . code))