From 1390969075d9a89ae18353dfef1bcaec76ee3dc6 Mon Sep 17 00:00:00 2001 From: Maciej Szlosarczyk Date: Sat, 26 Aug 2017 01:05:11 +0300 Subject: [PATCH] Some additional changes to stuff --- behaviour.el | 10 +-- desktops/.emacs.desktop | 103 ------------------------ desktops/.emacs.desktop.lock | 1 - functions.el | 10 +++ key-bindings.el | 1 + layouts/coding_with_magit.window-layout | 2 +- packages.el | 54 +------------ themes.el | 6 +- windows.el | 25 ++++-- 9 files changed, 39 insertions(+), 173 deletions(-) delete mode 100644 desktops/.emacs.desktop delete mode 100644 desktops/.emacs.desktop.lock diff --git a/behaviour.el b/behaviour.el index df48bf4..7e16b43 100644 --- a/behaviour.el +++ b/behaviour.el @@ -47,12 +47,6 @@ ;; Enable y/n answers to questions (fset 'yes-or-no-p 'y-or-n-p) - -;; Trim trailing whitespace on save -(add-hook 'before-save-hook 'whitespace-cleanup) - -;; Save desktop session on exit -(desktop-save-mode 1) ;;;;;;;;;;;;;;;;;;;;;;;; code behaviour ;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Add ruler at 80, do not wrap lines (can be overwritten later) @@ -93,6 +87,10 @@ ;;; When pasting/writing over a selection, replace it. (delete-selection-mode 1) +;;;;;;;;;;;;;;;;;;;;;; Shell stuff ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on) + + ;;;;;;;;;;;;;;;;;;;;;; indentation functions ;;;;;;;;;;;;;;;;;;;;;; ;;; NB! This does not work reliably, using the functions below (defun set-width (columns) diff --git a/desktops/.emacs.desktop b/desktops/.emacs.desktop deleted file mode 100644 index d31e378..0000000 --- a/desktops/.emacs.desktop +++ /dev/null @@ -1,103 +0,0 @@ -;; -*- mode: emacs-lisp; coding: emacs-mule; -*- -;; -------------------------------------------------------------------------- -;; Desktop File for Emacs -;; -------------------------------------------------------------------------- -;; Created Fri Aug 25 23:50:20 2017 -;; Desktop file format version 208 -;; Emacs version 25.2.1 - -;; Global section: -(setq desktop-saved-frameset [frameset 1 (22944 36236 520173 0) (desktop . "208") "maciej@INBNOT022.local" nil nil ((((font-backend mac-ct) (fontsize . 0) (font . "-*-Hasklig-normal-normal-normal-*-15-*-*-*-m-0-iso10646-1") (border-width . 0) (internal-border-width . 2) (vertical-scroll-bars) (horizontal-scroll-bars) (foreground-color . "#383838") (background-color . "#f8f8f8") (line-spacing) (left-fringe . 8) (right-fringe . 8) (menu-bar-lines . 0) (tool-bar-lines . 0) (title) (icon-type) (auto-raise) (auto-lower) (cursor-type . box) (scroll-bar-width . 0) (scroll-bar-height . 0) (alpha) (fullscreen . fullboth) (display-type . color) (background-mode . light) (cursor-color . "#ab4642") (environment) (border-color . "#b8b8b8") (frameset--id . "832B-AC8B-938A-1FAC") (frameset--mini t . t) (modeline . t) (minibuffer . t) (unsplittable) (right-divider-width . 0) (bottom-divider-width . 0) (icon-name) (display . "INBNOT022.local") (explicit-name) (tool-bar-position . top) (visibility . t) (height . 75) (width . 282) (left . 1) (top . 6)) ((min-height . 8) (min-width . 20) (min-height-ignore . 4) (min-width-ignore . 12) (min-height-safe . 2) (min-width-safe . 4) (min-pixel-height . 152) (min-pixel-width . 180) (min-pixel-height-ignore . 76) (min-pixel-width-ignore . 108) (min-pixel-height-safe . 38) (min-pixel-width-safe . 36)) vc (pixel-width . 2554) (pixel-height . 1406) (total-width . 284) (total-height . 74) (normal-height . 1.0) (normal-width . 1.0) (combination-limit) (hc (pixel-width . 2554) (pixel-height . 1178) (total-width . 284) (total-height . 62) (normal-height . 0.8378378378378378) (normal-width . 1.0) (combination-limit) (leaf (pixel-width . 1681) (pixel-height . 1178) (total-width . 187) (total-height . 62) (normal-height . 1.0) (normal-width . 0.6581832419733751) (parameters (purpose-dedicated . t)) (buffer "*scratch*" (selected . t) (hscroll . 0) (fringes 8 8 nil) (margins 1) (scroll-bars nil 0 t nil 0 nil) (vscroll . 0) (dedicated) (point . 145) (start . 1))) (leaf (last . t) (pixel-width . 873) (pixel-height . 1178) (total-width . 97) (total-height . 62) (normal-height . 1.0) (normal-width . 0.3418167580266249) (parameters (purpose-dedicated . t)) (buffer "user_test.exs" (selected) (hscroll . 0) (fringes 8 8 nil) (margins 2 . 1) (scroll-bars nil 0 t nil 0 nil) (vscroll . 0) (dedicated) (point . 627) (start . 1)))) (leaf (last . t) (pixel-width . 2554) (pixel-height . 228) (total-width . 284) (total-height . 12) (normal-height . 0.16216216216216217) (normal-width . 1.0) (parameters (purpose-dedicated . t)) (buffer "*pu-dummy-tools*" (selected) (hscroll . 0) (fringes 8 8 nil) (margins nil) (scroll-bars nil 0 t nil 0 nil) (vscroll . 0) (dedicated) (point . 1) (start . 1)))))]) -(setq desktop-missing-file-warning nil) -(setq tags-file-name nil) -(setq tags-table-list nil) -(setq search-ring nil) -(setq regexp-search-ring nil) -(setq register-alist '((113) (48 . "(evil-leader/set-key \"Jh\" 'dumb-jump-back); Jump back from declariation\n"))) -(setq file-name-history '("~/.emacs.d/desktops/")) - -;; Buffer section -- buffers listed in same order as in buffer list: -(desktop-create-buffer 208 - "/Users/maciej/.emacs.d/key-bindings.el" - "key-bindings.el" - 'emacs-lisp-mode - '(diff-hl-mode diff-hl-flydiff-mode diff-hl-margin-mode diff-hl-margin-minor-mode linum-mode column-enforce-mode whitespace-mode yas-minor-mode rainbow-delimiters-mode rainbow-mode company-mode projectile-mode undo-tree-mode auto-revert-mode purpose-mode flycheck-mode) - 1895 - '(1895 nil) - nil - nil - '((tab-width . 2) (buffer-file-coding-system . prefer-utf-8-unix) (overwrite-mode)) - '((mark-ring (1895 1895 1895 1894 1865 1759 1759)))) - -(desktop-create-buffer 208 - "/Users/maciej/.emacs.d/windows.el" - "windows.el" - 'emacs-lisp-mode - '(diff-hl-mode diff-hl-flydiff-mode diff-hl-margin-mode diff-hl-margin-minor-mode linum-mode column-enforce-mode whitespace-mode yas-minor-mode rainbow-delimiters-mode rainbow-mode company-mode projectile-mode undo-tree-mode auto-revert-mode purpose-mode flycheck-mode) - 1042 - '(1042 nil) - nil - nil - '((tab-width . 2) (buffer-file-coding-system . prefer-utf-8-unix) (overwrite-mode)) - '((mark-ring (1042 1125 1137)))) - -(desktop-create-buffer 208 - "/Users/maciej/.emacs.d/themes.el" - "themes.el" - 'emacs-lisp-mode - '(diff-hl-mode diff-hl-flydiff-mode diff-hl-margin-mode diff-hl-margin-minor-mode linum-mode column-enforce-mode whitespace-mode yas-minor-mode rainbow-delimiters-mode rainbow-mode company-mode projectile-mode undo-tree-mode auto-revert-mode purpose-mode flycheck-mode) - 1626 - '(1626 nil) - nil - nil - '((tab-width . 2) (buffer-file-coding-system . prefer-utf-8-unix) (overwrite-mode)) - '((mark-ring (1763 1763 1763 1763 1706 1765 1763 1763 1653)))) - -(desktop-create-buffer 208 - "/Users/maciej/.emacs.d/behaviour.el" - "behaviour.el" - 'emacs-lisp-mode - '(diff-hl-mode diff-hl-flydiff-mode diff-hl-margin-mode diff-hl-margin-minor-mode linum-mode column-enforce-mode whitespace-mode yas-minor-mode rainbow-delimiters-mode rainbow-mode company-mode projectile-mode undo-tree-mode auto-revert-mode purpose-mode flycheck-mode) - 1128 - '(1128 nil) - nil - nil - '((tab-width . 2) (buffer-file-coding-system . prefer-utf-8-unix) (overwrite-mode)) - '((mark-ring nil))) - -(desktop-create-buffer 208 - "/Users/maciej/Development/elixir/showcase01/apps/http_fetcher/lib/http_fetcher/verb/verb.ex" - "verb.ex" - 'elixir-mode - '(diff-hl-mode diff-hl-flydiff-mode diff-hl-margin-mode diff-hl-margin-minor-mode linum-mode column-enforce-mode whitespace-mode yas-minor-mode rainbow-delimiters-mode rainbow-mode company-mode projectile-mode undo-tree-mode alchemist-mode purpose-mode ruby-end-mode) - 547 - '(547 nil) - nil - nil - '((buffer-file-coding-system . undecided-unix) (overwrite-mode)) - '((mark-ring nil))) - -(desktop-create-buffer 208 - "/Users/maciej/Development/elixir/showcase01/apps/domain/test/user/user_test.exs" - "user_test.exs" - 'elixir-mode - '(diff-hl-mode diff-hl-flydiff-mode diff-hl-margin-mode diff-hl-margin-minor-mode linum-mode column-enforce-mode whitespace-mode yas-minor-mode rainbow-delimiters-mode rainbow-mode company-mode projectile-mode undo-tree-mode auto-revert-mode alchemist-test-mode alchemist-mode purpose-mode ruby-end-mode) - 627 - '(nil nil) - nil - nil - '((buffer-file-coding-system . undecided-unix) (overwrite-mode)) - '((mark-ring nil))) - -(desktop-create-buffer 208 - "/Users/maciej/.emacs.d/functions.el" - "functions.el" - 'emacs-lisp-mode - '(diff-hl-mode diff-hl-flydiff-mode diff-hl-margin-mode diff-hl-margin-minor-mode linum-mode column-enforce-mode whitespace-mode yas-minor-mode rainbow-delimiters-mode rainbow-mode company-mode projectile-mode undo-tree-mode auto-revert-mode purpose-mode flycheck-mode) - 1339 - '(1339 nil) - nil - nil - '((tab-width . 2) (buffer-file-coding-system . prefer-utf-8-unix) (overwrite-mode)) - '((mark-ring (1339)))) - diff --git a/desktops/.emacs.desktop.lock b/desktops/.emacs.desktop.lock deleted file mode 100644 index 40be42e..0000000 --- a/desktops/.emacs.desktop.lock +++ /dev/null @@ -1 +0,0 @@ -3170 \ No newline at end of file diff --git a/functions.el b/functions.el index 94f22f4..d8c5e74 100644 --- a/functions.el +++ b/functions.el @@ -42,4 +42,14 @@ (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." + (interactive) + (set-frame-parameter + nil 'fullscreen + (when (not (frame-parameter nil 'fullscreen)) 'fullboth))) + +(toggle-fullscreen) ;;; functions.el ends here diff --git a/key-bindings.el b/key-bindings.el index 0b452d1..bdd88ca 100644 --- a/key-bindings.el +++ b/key-bindings.el @@ -41,6 +41,7 @@ (evil-leader/set-key "ir" 'indent-region) (evil-leader/set-key "ac" 'align-to-colon) (evil-leader/set-key "cl" 'evilnc-comment-or-uncomment-lines) +(evil-leader/set-key "WC" 'whitespace-cleanup) (evil-leader/set-key "Ps" 'helm-projectile-switch-project) (evil-leader/set-key "t" 'helm-projectile-find-file) diff --git a/layouts/coding_with_magit.window-layout b/layouts/coding_with_magit.window-layout index fc07e92..6e351ba 100644 --- a/layouts/coding_with_magit.window-layout +++ b/layouts/coding_with_magit.window-layout @@ -1 +1 @@ -(t (0 0 284 74) (nil (0 0 284 62) (:purpose code :purpose-dedicated t :width 0.6631205673758865 :height 0.8266666666666667 :edges (0.0 0.0 0.6631205673758865 0.8266666666666667)) (:purpose test :purpose-dedicated t :width 0.34397163120567376 :height 0.8266666666666667 :edges (0.6631205673758865 0.0 1.0070921985815602 0.8266666666666667))) (:purpose tools :purpose-dedicated t :width 1.0070921985815602 :height 0.16 :edges (0.0 0.8266666666666667 1.0070921985815602 0.9866666666666667))) \ No newline at end of file +(t (0 0 284 74) (nil (0 0 284 62) (:purpose code :purpose-dedicated t :width 0.7056737588652482 :height 0.8266666666666667 :edges (0.0 0.0 0.7056737588652482 0.8266666666666667)) (:purpose test :purpose-dedicated t :width 0.30141843971631205 :height 0.8266666666666667 :edges (0.7056737588652482 0.0 1.0070921985815602 0.8266666666666667))) (:purpose tools :purpose-dedicated t :width 1.0070921985815602 :height 0.16 :edges (0.0 0.8266666666666667 1.0070921985815602 0.9866666666666667))) \ No newline at end of file diff --git a/packages.el b/packages.el index 943655d..8eb60a8 100644 --- a/packages.el +++ b/packages.el @@ -5,142 +5,112 @@ (require 'package) (add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/")) (package-initialize) +(package-refresh-contents) ; Refresh only once, on startup ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Behaviour (unless (package-installed-p 'helm) - (package-refresh-contents) (package-install 'helm)) (unless (package-installed-p 'evil) - (package-refresh-contents) (package-install 'evil)) (unless (package-installed-p 'evil-leader) - (package-refresh-contents) (package-install 'evil-leader)) (unless (package-installed-p 'evil-nerd-commenter) - (package-refresh-contents) (package-install 'evil-nerd-commenter)) ;; Rainbow delimiters (unless (package-installed-p 'rainbow-delimiters) - (package-refresh-contents) (package-install 'rainbow-delimiters)) ;; Smart mode line (unless (package-installed-p 'smart-mode-line) - (package-refresh-contents) (package-install 'smart-mode-line)) ;; Show hex colors in UI (unless (package-installed-p 'rainbow-mode) - (package-refresh-contents) (package-install 'rainbow-mode)) ;; Indentation and line length (unless (package-installed-p 'indent-guide) - (package-refresh-contents) (package-install 'indent-guide)) (unless (package-installed-p 'column-enforce-mode) - (package-refresh-contents) (package-install 'column-enforce-mode)) (unless (package-installed-p 'aggressive-indent) - (package-refresh-contents) (package-install 'aggressive-indent)) ;; Window management (unless (package-installed-p 'window-purpose) - (package-refresh-contents) (package-install 'window-purpose)) ;; Project management (unless (package-installed-p 'projectile) - (package-refresh-contents) (package-install 'projectile)) (unless (package-installed-p 'ag) - (package-refresh-contents) (package-install 'ag)) (unless (package-installed-p 'helm-projectile) - (package-refresh-contents) (package-install 'helm-projectile)) (unless (package-installed-p 'helm-ag) - (package-refresh-contents) (package-install 'helm-ag)) (unless (package-installed-p 'dumb-jump) - (package-refresh-contents) (package-install 'dumb-jump)) ; Run stuff directly from shell (unless (package-installed-p 'exec-path-from-shell) - (package-refresh-contents) (package-install 'exec-path-from-shell)) ;; Git (unless (package-installed-p 'magit) - (package-refresh-contents) (package-install 'magit)) (unless (package-installed-p 'diff-hl) - (package-refresh-contents) (package-install 'diff-hl)) (unless (package-installed-p 'evil-magit) - (package-refresh-contents) (package-install 'evil-magit)) ;; Code quality and helpers (unless (package-installed-p 'flycheck) - (package-refresh-contents) (package-install 'flycheck)) (unless (package-installed-p 'projectile) - (package-refresh-contents) (package-install 'projectile)) (unless (package-installed-p 'yasnippet) - (package-refresh-contents) (package-install 'yasnippet)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Themes (unless (package-installed-p 'color-theme-approximate) - (package-refresh-contents) (package-install 'color-theme-approximate)) (unless (package-installed-p 'monokai-theme) - (package-refresh-contents) (package-install 'monokai-theme)) (unless (package-installed-p 'noctilux-theme) - (package-refresh-contents) (package-install 'noctilux-theme)) (unless (package-installed-p 'ujelly-theme) - (package-refresh-contents) (package-install 'ujelly-theme)) (unless (package-installed-p 'flatui-theme) - (package-refresh-contents) (package-install 'flatui-theme)) (unless (package-installed-p 'atom-one-dark-theme) - (package-refresh-contents) (package-install 'atom-one-dark-theme)) (unless (package-installed-p 'helm-themes) - (package-refresh-contents) (package-install 'helm-themes)) (unless (package-installed-p 'base16-theme) - (package-refresh-contents) (package-install 'base16-theme)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -148,100 +118,78 @@ ;; Elixir (unless (package-installed-p 'elixir-mode) - (package-refresh-contents) (package-install 'elixir-mode)) (unless (package-installed-p 'alchemist) - (package-refresh-contents) (package-install 'alchemist)) ; Ruby (unless (package-installed-p 'rvm) - (package-refresh-contents) (package-install 'rvm)) (unless (package-installed-p 'ruby-end) - (package-refresh-contents) (package-install 'ruby-end)) (unless (package-installed-p 'haml-mode) - (package-refresh-contents) (package-install 'haml-mode)) (unless (package-installed-p 'yaml-mode) - (package-refresh-contents) (package-install 'yaml-mode)) (unless (package-installed-p 'jade-mode) - (package-refresh-contents) (package-install 'jade-mode)) (unless (package-installed-p 'less-css-mode) - (package-refresh-contents) (package-install 'less-css-mode)) (unless (package-installed-p 'robe) - (package-refresh-contents) (package-install 'robe)) (unless (package-installed-p 'rspec-mode) - (package-refresh-contents) (package-install 'rspec-mode)) ; Web mode for editing erb (unless (package-installed-p 'web-mode) - (package-refresh-contents) (package-install 'web-mode)) ; JSON prettifier (unless (package-installed-p 'json-reformat) - (package-refresh-contents) (package-install 'json-reformat)) ; Markdown helper (unless (package-installed-p 'markdown-mode) - (package-refresh-contents) (package-install 'markdown-mode)) ;; Docker (unless (package-installed-p 'dockerfile-mode) - (package-refresh-contents) (package-install 'dockerfile-mode)) ;; Jenkinsfile (unless (package-installed-p 'groovy-mode) - (package-refresh-contents) (package-install 'groovy-mode)) ;; Haskell (unless (package-installed-p 'haskell-mode) - (package-refresh-contents) (package-install 'haskell-mode)) ;; Scala (unless (package-installed-p 'scala-mode) - (package-refresh-contents) (package-install 'scala-mode)) ;; Rust (unless (package-installed-p 'rust-mode) - (package-refresh-contents) (package-install 'rust-mode)) (unless (package-installed-p 'racer) - (package-refresh-contents) (package-install 'racer)) (unless (package-installed-p 'toml-mode) - (package-refresh-contents) (package-install 'toml-mode)) ;; Python (unless (package-installed-p 'elpy) - (package-refresh-contents) (package-install 'elpy)) (unless (package-installed-p 'pyenv-mode) - (package-refresh-contents) (package-install 'pyenv-mode)) ;;; packages.el ends here diff --git a/themes.el b/themes.el index 9eab310..97de58e 100644 --- a/themes.el +++ b/themes.el @@ -7,7 +7,7 @@ (require 'smart-mode-line) (setq sml/no-confirm-load-theme t) (sml/setup) -(sml/apply-theme 'smart-mode-line-light) +(sml/apply-theme 'respectful) ;; Display time on mode line (setq display-time-format "%H:%M") @@ -41,8 +41,8 @@ (require 'helm-themes) (if (display-graphic-p) (progn - (enable-theme 'base16-mexico-light) - (base16-summerfruit-light-custom)) + (enable-theme 'base16-not-harmonic) + (base16-harmonic-custom)) (progn (color-theme-approximate-on) (enable-theme 'flatui))) diff --git a/windows.el b/windows.el index 2144fc2..ad2fe15 100644 --- a/windows.el +++ b/windows.el @@ -5,16 +5,26 @@ (require 'window-purpose) (purpose-mode t) -;; Ruby specific +;; Set everything to use code window +(add-to-list 'purpose-user-mode-purposes '(fundamental-mode . code)) + +;; Test (add-to-list 'purpose-user-regexp-purposes '("_spec.rb\\(<.*>\\)?$" . test)) +(add-to-list 'purpose-user-regexp-purposes '("_test.exs\\(<.*>\\)?$" . test)) +(add-to-list 'purpose-user-mode-purposes '(shell-mode . test)) + +;; Enumarate through all stuff. (add-to-list 'purpose-user-regexp-purposes '("COMMIT_EDITMSG\\(<.*>\\)?$" . code)) +(add-to-list 'purpose-user-mode-purposes '(diff-mode . code)) (add-to-list 'purpose-user-mode-purposes '(ruby-mode . code)) -(add-to-list 'purpose-user-mode-purposes '(yaml-mode . code)) - -;; Elixir -(add-to-list 'purpose-user-regexp-purposes '("_test.exs\\(<.*>\\)?$" . test)) (add-to-list 'purpose-user-mode-purposes '(elixir-mode . code)) +(add-to-list 'purpose-user-mode-purposes '(rust-mode . code)) +(add-to-list 'purpose-user-mode-purposes '(haskell-mode . code)) +(add-to-list 'purpose-user-mode-purposes '(web-mode . code)) +(add-to-list 'purpose-user-mode-purposes '(java-mode . code)) +(add-to-list 'purpose-user-mode-purposes '(python-mode . code)) +(add-to-list 'purpose-user-mode-purposes '(javascript-mode . code)) ;; Tools (add-to-list 'purpose-user-mode-purposes '(magit-mode . tools)) @@ -22,7 +32,7 @@ (add-to-list 'purpose-user-mode-purposes '(helm-mode . tools)) (add-to-list 'purpose-user-mode-purposes '(compilation-mode . tools)) -;; Markdown +;; Markdown and others (add-to-list 'purpose-user-mode-purposes '(markdown-mode . code)) ;; Elisp @@ -30,4 +40,7 @@ (setq purpose-use-default-configuration nil) (purpose-compile-user-configuration) + +;; Load configuration by default +(purpose-load-window-layout "coding_with_magit") ;;; windows.el ends here