Merge pull request #2 from maciej-szlosarczyk/introduce-straight-and-use-package

Introduce use-package
This commit is contained in:
Maciej 2019-07-16 22:40:09 +03:00 committed by GitHub
commit e13939c184
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
26 changed files with 276 additions and 298 deletions

View file

@ -97,7 +97,7 @@
; Enable line numbers and show cursors position ; Enable line numbers and show cursors position
(global-display-line-numbers-mode t) (global-display-line-numbers-mode t)
(column-number-mode 1) (column-number-mode t)
;; Turn off sounds ;; Turn off sounds
(setq ring-bell-function 'ignore) (setq ring-bell-function 'ignore)
@ -111,11 +111,11 @@
;;;;;;;;;;;;;;;;;;;;;; Shell stuff ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;; Shell stuff ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on) (add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)
;; Add pgp binary ;; Allow to execute path from shell
(add-to-list 'exec-path "/usr/local/bin") (use-package exec-path-from-shell
:if (memq window-system '(mac ns))
; Use Shells variables :ensure t
(when (memq window-system '(mac ns)) :config (add-to-list 'exec-path "/usr/local/bin")
(exec-path-from-shell-initialize)) (exec-path-from-shell-initialize))
@ -145,6 +145,9 @@
(scroll-bar-mode -1) (scroll-bar-mode -1)
;;;;;;;;;;;;;;;;; Record frequency of different commands. Review them later ;;;;;;;;;;;;;;;;; Record frequency of different commands. Review them later
(require 'keyfreq) (use-package keyfreq
(keyfreq-mode 1) :defer t
(keyfreq-autosave-mode 1) :ensure t)
(keyfreq-mode t)
(keyfreq-autosave-mode t)

View file

@ -1,12 +1,17 @@
(setq-default ivy-use-virtual-buffers t ;; Display recent files in ivy-switch-buffer (use-package counsel :ensure t :defer t)
(use-package swiper :ensure t :defer t)
(use-package ivy
:requires (counsel swiper)
:ensure t
:defer t
:config (setq ivy-use-virtual-buffers t ;; Display recent files in ivy-switch-buffer
ivy-count-format "(%d of %d) " ;; Current candidate count style ivy-count-format "(%d of %d) " ;; Current candidate count style
ivy-display-style 'fancy ;; Formatting style ivy-display-style 'fancy)) ;; Formatting style
)
(global-set-key (kbd "C-c a") 'counsel-ag) (global-set-key (kbd "C-c a") 'counsel-ag)
(global-set-key (kbd "C-c b") 'ivy-switch-buffer) (global-set-key (kbd "C-c b") 'ivy-switch-buffer)
(global-set-key (kbd "C-c t") 'counsel-find-file) (global-set-key (kbd "C-c t") 'counsel-find-file)
(global-set-key (kbd "C-c C-s") 'swiper) ;; Find things by regexp (global-set-key (kbd "C-c C-s") 'swiper) ;; Find things by regexp
(global-set-key (kbd "M-x") 'counsel-M-x) ;; M-x on steroids (global-set-key (kbd "M-x") 'counsel-M-x) ;; M-x on steroids

View file

@ -1,6 +1,8 @@
(require 'hydra) (use-package hydra
:ensure t
(defhydra hydra-file-switcher-menu (:color teal :hint nil) :defer t
:config
(defhydra hydra-file-switcher-menu (:color teal :hint nil)
" "
^Ivy^ ^Projectile^ ^Magit^ ^Ivy^ ^Projectile^ ^Magit^
^^^^^^^^------------------------------------------------------------------------ ^^^^^^^^------------------------------------------------------------------------
@ -26,9 +28,7 @@ _t_: Find file _g_: ag in current project _M_: Git blame
("C" magit-checkout) ("C" magit-checkout)
("M" magit-blame)) ("M" magit-blame))
(global-set-key (kbd "C-c p") 'hydra-file-switcher-menu/body) (defhydra hydra-programming-actions (:color teal :hint nil)
(defhydra hydra-programming-actions (:color teal :hint nil)
" "
Programming actions Programming actions
@ -53,9 +53,7 @@ _s_: swiper
("y" company-yasnippet) ("y" company-yasnippet)
("m" company-complete)) ("m" company-complete))
(global-set-key (kbd "C-c c") 'hydra-programming-actions/body) (defhydra hydra-window-actions (:color teal :hint nil)
(defhydra hydra-window-actions (:color teal :hint nil)
" "
Window actions Window actions
@ -81,4 +79,6 @@ _v_: split vertically _<up>_: Move up
("p" previous-buffer) ("p" previous-buffer)
("n" next-buffer)) ("n" next-buffer))
(global-set-key (kbd "C-c w") 'hydra-window-actions/body) :bind ("C-c p" . hydra-file-switcher-menu/body)
("C-c c" . hydra-programming-actions/body)
("C-c w" . hydra-window-actions/body))

View file

@ -1,8 +1,9 @@
;;; Magit ;;; Magit
(use-package magit
(require 'magit) :ensure t
:defer t
(global-set-key (kbd "<f5> c") 'magit-checkout) :bind ("<f5> c" . magit-checkout)
(global-set-key (kbd "<f5> b") 'magit-blame) ("<f5> b" . magit-blame)
(define-key magit-blame-mode-map (kbd "<f5> b") 'magit-blame-quit) ("<f5> g" . magit-status)
(global-set-key (kbd "<f5> g") 'magit-status) (:map magit-blame-mode-map
("<f5> b" . 'magit-blame-quit)))

View file

@ -3,58 +3,68 @@
;;; Wrap long lines ;;; Wrap long lines
(toggle-truncate-lines t) (toggle-truncate-lines t)
;;; Show trailing whitespace and remove whitespace on save
(require 'whitespace)
(add-hook 'prog-mode-hook 'whitespace-mode)
(add-hook 'text-mode-hook 'whitespace-mode)
(setq whitespace-style '(face trailing empty))
;;; Cleanup whitespace on save
(add-hook 'before-save-hook 'whitespace-cleanup)
;;; Tabs are spaces and are general at 2. Guide indent with lines
(setq-default indent-tabs-mode nil)
;;; Insert newline on save
(setq require-final-newline t)
;;; Match parenthasis (left-right)
(electric-pair-mode 1)
;;; Rainbow parenthesis
(add-hook 'prog-mode-hook 'rainbow-delimiters-mode)
(add-hook 'text-mode-hook 'rainbow-delimiters-mode)
;;; Show hex colors as colors
(add-hook 'prog-mode-hook 'rainbow-mode)
(add-hook 'text-mode-hook 'rainbow-mode)
(require 'lsp-mode)
;;; When pasting/writing over a selection, replace it. ;;; When pasting/writing over a selection, replace it.
(delete-selection-mode 1) (delete-selection-mode t)
;; Dash
(define-key prog-mode-map (kbd "C-s C-d") 'dash-at-point) ;; Jump to dash definition
(define-key text-mode-map (kbd "C-s C-d") 'dash-at-point) ;; Jump to dash definition
(add-to-list
'dash-at-point-mode-alist
'(enh-ruby-mode . "ruby,rubygems,rails")) ;; Configure lookup for Ruby mode
;; When possible, show code documentation ;; When possible, show code documentation
(global-eldoc-mode 1) (global-eldoc-mode t)
;; Revert tags automatically ;; Revert tag tables without asking
(setq tags-revert-without-query 1) (setq tags-revert-without-query t)
;; Use flycheck globally to check syntax and compile languages ;;; Show trailing whitespace and remove whitespace on save
(global-flycheck-mode 1) (use-package whitespace
:commands whitespace-mode
:ensure t
:defer t
:hook (((prog-mode text-mode) . whitespace-mode)
(before-save . whitespace-cleanup))
:config
(setq whitespace-style #'(face trailing empty newline)
;;; Insert newline on save
require-final-newline t
indent-tabs-mode nil))
;; Function for definiting indentation ;; Use colorful, matching parens
(use-package rainbow-delimiters
:commands rainbow-delimiters-mode
:ensure t
:defer t
:hook (((prog-mode text-mode) . rainbow-delimiters-mode))
:init
;;; Match parenthasis (left-right)
(electric-pair-mode t))
;;; Show hex (#aaa) colors as colors
(use-package rainbow-mode
:commands rainbow-mode
:ensure t
:hook ((prog-mode text-mode) . rainbow-mode))
;; Dash integration
(use-package dash-at-point
:commands dash-at-point
:ensure t
:defer t
:bind (:map prog-mode-map ("C-s C-d" . dash-at-point)
:map text-mode-map ("C-s C-d" . dash-at-point))
:config
(add-to-list 'dash-at-point-mode-alist
;; Configure lookup for Ruby mode
'(enh-ruby-mode . "ruby,rubygems,rails")))
;; By default, use 2 spaces for indentation
(setq tab-width 2)
(setq tab-stop-list (number-sequence tab-width 200 tab-width))
;; Ensure indentation in steps:
(defun set-indent (step) (defun set-indent (step)
"Set indentation to X STEPs." "Set indentation to X STEPs."
(interactive "NNumber of columns for one step: ") (interactive "NNumber of columns for one step: ")
(setq tab-width step) (setq-local tab-width step)
(setq tab-stop-list (number-sequence step 200 step))) (setq-local tab-stop-list (number-sequence step 200 step)))
;; Enforce column width by number (use-package column-enforce-mode
(global-column-enforce-mode 1) :ensure t
:defer t
:config (global-column-enforce-mode t))

View file

@ -1,7 +1,35 @@
;; Company completion framework configuration ;; Company completion framework configuration
(require 'company); Add completion (use-package yasnippet
:ensure t
:defer t)
(use-package yasnippet-snippets
:ensure t
:defer t)
(use-package lsp-mode
:ensure t
:defer t)
(use-package lsp-ui)
(use-package company
:commands (company-indent-or-complete-common company-yasnippet)
:requires (yasnippet
yasnippet-snippets
lsp-mode
lsp-ui)
:ensure t
:defer t)
(use-package company-lsp
:ensure t
:requires company
:defer t)
(global-company-mode t)
(yas-global-mode t)
;; Company configuration
(setq-default (setq-default
company-minimum-prefix-length 2 ; minimum prefix character number for auto complete. company-minimum-prefix-length 2 ; minimum prefix character number for auto complete.
company-idle-delay 0.1 company-idle-delay 0.1
@ -20,11 +48,8 @@
;; company-async-timeout 2 ;; company-async-timeout 2
) )
(global-company-mode 1)
(yas-global-mode 1)
;; Absolute defaults for company mode ;; Absolute defaults for company mode
(setq-default company-backends (setq company-backends
'((company-files ; files & directory '((company-files ; files & directory
company-keywords ; keywords company-keywords ; keywords
company-capf company-capf

6
06flycheck.el Normal file
View file

@ -0,0 +1,6 @@
;; Use flycheck globally to check syntax and compile languages
(use-package flycheck
:commands flycheck-define-checker
:ensure t
:defer t
:config (global-flycheck-mode t))

View file

@ -1,12 +1,14 @@
(require 'projectile) (use-package projectile
:ensure t
(setq-default projectile-completion-system 'ivy ;; Use ivy as completion system :requires (counsel counsel-projectile)
:config
(setq-default projectile-completion-system 'ivy ;; Use ivy as completion system
projectile-enable-caching t ;; Cache project files projectile-enable-caching t ;; Cache project files
projectile-file-exists-local-cache-expire (* 3 60) ;; keep cache for 3 minutes projectile-file-exists-local-cache-expire (* 3 60) ;; keep cache for 3 minutes
projectile-sort-order (quote recently-active) ;; Order by recently active projects projectile-sort-order (quote recently-active) ;; Order by recently active projects
projectile-globally-ignored-directories projectile-globally-ignored-directories
(append '("node_modules" ".svn" "_build" "tmp" "log") projectile-globally-ignored-directories) (append '("node_modules" ".svn" "_build" "tmp" "log") projectile-globally-ignored-directories)
;; Add certain folders to ignored ;; Add certain folders to ignored
) ))
(projectile-mode t) (projectile-mode t)

View file

@ -1,48 +0,0 @@
;;; windows.el -- summary
;;; Commentary:
;;; Windows management things, mostly with purpose
;;; Code:
(require 'window-purpose)
(purpose-mode t)
;; Set everything to use code windows
(add-to-list 'purpose-user-mode-purposes '(fundamental-mode . code))
(add-to-list 'purpose-user-mode-purposes '(prog-mode . code))
(add-to-list 'purpose-user-mode-purposes '(diff-mode . code))
(add-to-list 'purpose-user-mode-purposes '(yaml-mode . code))
(add-to-list 'purpose-user-mode-purposes '(magit-diff-mode . code))
(add-to-list 'purpose-user-regexp-purposes
'("COMMIT_EDITMSG\\(<.*>\\)?$" . code))
(add-to-list 'purpose-user-regexp-purposes
'("git-rebase-todo\\(<.*>\\)?$" . code))
;; Tools
(add-to-list 'purpose-user-mode-purposes '(dired-mode . tools))
(add-to-list 'purpose-user-mode-purposes '(process-list . tools))
(add-to-list 'purpose-user-mode-purposes '(magit-mode . tools))
(add-to-list 'purpose-user-mode-purposes '(help-mode . tools))
(add-to-list 'purpose-user-mode-purposes '(term-mode . tools))
(add-to-list 'purpose-user-mode-purposes '(compilation-mode . tools))
(add-to-list 'purpose-user-mode-purposes '(etags-select-mode . tools))
(add-to-list 'purpose-user-mode-purposes '(reb-mode . tools)) ;; Regexp builder
(add-to-list 'purpose-user-regexp-purposes
'("Process List\\(<.*>\\)?$" . tools))
(setq purpose-use-default-configuration nil)
(purpose-compile-user-configuration)
;; Functions for changing layout
(defun purpose-big-screen ()
"Load coding_with_magit."
(interactive)
(purpose-load-window-layout "coding_with_magit"))
(defun purpose-small-screen ()
"Load small_screen."
(interactive)
(purpose-load-window-layout "small_screen"))
;;; windows.el ends here
(global-set-key (kbd "<f8>") 'purpose-big-screen)
(global-set-key (kbd "<f7>") 'purpose-small-screen)

View file

@ -1,6 +1,7 @@
(require 'ispell)
;; Highlight misspelled words ;; Highlight misspelled words
(setq ispell-program-name "aspell") (use-package ispell
(setq ispell-extra-args :ensure t
:config (setq ispell-program-name "aspell")
(setq ispell-extra-args
'("--run-together" "--run-together-limit=5" "--run-together-min=2")) '("--run-together" "--run-together-limit=5" "--run-together-min=2"))
(add-hook 'prog-mode-hook 'flyspell-mode) :hook ((prog-mode text-mode) . flyspell-mode))

105
init.el
View file

@ -14,76 +14,21 @@
;; list the packages you want ;; list the packages you want
(setq package-list '( (setq package-list '(
keyfreq ;; Record how often emacs commands are executed use-package
exec-path-from-shell ;; Allow to execute path from shell
rainbow-delimiters ;; Colorize matching parens
rainbow-mode ;; Make color symbols like #FFF colorfull
magit ;; Git interface for Emacs
column-enforce-mode ;; Enforce column length of X
window-purpose ;; Make sure that windows are of grouped by
;; purpose.
;;; Helm replacements
ivy
counsel
swiper
hydra ;; Create nice text menus without memorizing too much
;;; Code
dash-at-point
company ;; Code completion framework
yasnippet ;; Code snippets framework
yasnippet-snippets ;; Actual snippets for various languages
flycheck ;; Compilation framework
visual-regexp ;; Regexp replacement with preview in visual-regexp ;; Regexp replacement with preview in
;; current buffer. ;; current buffer.
;; Language server protocol
lsp-mode
company-lsp
lsp-ui
;; Project management
projectile
counsel-projectile
;; Themes ;; Themes
smart-mode-line smart-mode-line
base16-theme base16-theme
flatui-theme flatui-theme
planet-theme planet-theme
;; Ruby
enh-ruby-mode ;; Enhanced Ruby mode
ruby-end ;; Insert end for methods automatically
rspec-mode ;; RSpec yasnippets
;; Elixir
alchemist
;; Erlang
erlang
;; Rust
racer
rust-mode
flycheck-rust
;; Crystal
crystal-mode
;; Web ;; Web
web-mode web-mode
company-web company-web
js2-mode js2-mode
;; Clojure
clojure-mode
cider
;; Infrastructure files ;; Infrastructure files
dockerfile-mode dockerfile-mode
terraform-mode terraform-mode
@ -102,30 +47,34 @@
(unless (package-installed-p package) (unless (package-installed-p package)
(package-install package))) (package-install package)))
(require 'use-package)
;; Additional files ;; Additional files
(load "~/.emacs.d/01mac.el") (load "$HOME/.emacs.d/01mac.el" 'f 't)
(load "~/.emacs.d/02macros.el") (load "$HOME/.emacs.d/02macros.el" 'f 't)
(load "~/.emacs.d/02ivy.el") (load "$HOME/.emacs.d/02ivy.el" 'f 't)
(load "~/.emacs.d/03hydra.el") (load "$HOME/.emacs.d/03hydra.el" 'f 't)
(load "~/.emacs.d/04magit.el") (load "$HOME/.emacs.d/04magit.el" 'f 't)
(load "~/.emacs.d/05prog-mode.el") (load "$HOME/.emacs.d/05prog-mode.el" 'f 't)
(load "~/.emacs.d/06company-yasnippet.el") (load "$HOME/.emacs.d/06company-yasnippet.el" 'f 't)
(load "~/.emacs.d/07projectile.el") (load "$HOME/.emacs.d/06flycheck.el" 'f 't)
(load "~/.emacs.d/08purpose.el") (load "$HOME/.emacs.d/07projectile.el" 'f 't)
(load "~/.emacs.d/08ctags.el") (load "$HOME/.emacs.d/08ctags.el" 'f 't)
(load "~/.emacs.d/09ispell.el") (load "$HOME/.emacs.d/09ispell.el" 'f 't)
(load "~/.emacs.d/10themes.el")
;; Themes
(load "$HOME/.emacs.d/themes/themes.el" 'f 't)
;; Actual supported languages ;; Actual supported languages
(load "~/.emacs.d/20elisp.el") (load "$HOME/.emacs.d/languages/elisp.el" 'f 't)
(load "~/.emacs.d/20ruby.el") (load "$HOME/.emacs.d/languages/ruby.el" 'f 't)
(load "~/.emacs.d/20web.el") (load "$HOME/.emacs.d/languages/web.el" 'f 't)
(load "~/.emacs.d/20elixir.el") (load "$HOME/.emacs.d/languages/elixir.el" 'f 't)
(load "~/.emacs.d/20erlang.el") (load "$HOME/.emacs.d/languages/erlang.el" 'f 't)
(load "~/.emacs.d/20sh.el") (load "$HOME/.emacs.d/languages/sh.el" 'f 't)
(load "~/.emacs.d/20rust.el") (load "$HOME/.emacs.d/languages/rust.el" 'f 't)
(load "~/.emacs.d/20clang.el") (load "$HOME/.emacs.d/languages/clang.el" 'f 't)
(load "~/.emacs.d/20clojure.el") (load "$HOME/.emacs.d/languages/clojure.el" 'f 't)
(custom-set-variables (custom-set-variables
;; custom-set-variables was added by Custom. ;; custom-set-variables was added by Custom.
@ -137,7 +86,7 @@
("85e6bb2425cbfeed2f2b367246ad11a62fb0f6d525c157038a0d0eaaabc1bfee" "3380a2766cf0590d50d6366c5a91e976bdc3c413df963a0ab9952314b4577299" "cea3ec09c821b7eaf235882e6555c3ffa2fd23de92459751e18f26ad035d2142" "8ffdc8c66ceeaf7921f4510a70d808f01b303e6b4d177c947b442e80d4228678" "b0c5c6cc59d530d3f6fbcfa67801993669ce062dda1435014f74cafac7d86246" "ad16a1bf1fd86bfbedae4b32c269b19f8d20d416bd52a87cd50e355bf13c2f23" "d9dab332207600e49400d798ed05f38372ec32132b3f7d2ba697e59088021555" "bc4c89a7b91cfbd3e28b2a8e9e6750079a985237b960384f158515d32c7f0490" "99c86852decaeb0c6f51ce8bd46e4906a4f28ab4c5b201bdc3fdf85b24f88518" "a85e40c7d2df4a5e993742929dfd903899b66a667547f740872797198778d7b5" default))) ("85e6bb2425cbfeed2f2b367246ad11a62fb0f6d525c157038a0d0eaaabc1bfee" "3380a2766cf0590d50d6366c5a91e976bdc3c413df963a0ab9952314b4577299" "cea3ec09c821b7eaf235882e6555c3ffa2fd23de92459751e18f26ad035d2142" "8ffdc8c66ceeaf7921f4510a70d808f01b303e6b4d177c947b442e80d4228678" "b0c5c6cc59d530d3f6fbcfa67801993669ce062dda1435014f74cafac7d86246" "ad16a1bf1fd86bfbedae4b32c269b19f8d20d416bd52a87cd50e355bf13c2f23" "d9dab332207600e49400d798ed05f38372ec32132b3f7d2ba697e59088021555" "bc4c89a7b91cfbd3e28b2a8e9e6750079a985237b960384f158515d32c7f0490" "99c86852decaeb0c6f51ce8bd46e4906a4f28ab4c5b201bdc3fdf85b24f88518" "a85e40c7d2df4a5e993742929dfd903899b66a667547f740872797198778d7b5" default)))
'(package-selected-packages '(package-selected-packages
(quote (quote
(planet-theme cider clojure-mode erlang rspec-mode crystal-mode dap-mode lsp-ui company-lsp lsp-mode nginx-mode gitignore-mode js2-mode keyfreq company-web visual-regexp enh-ruby-mode counsel-projectile counsel ivy flycheck-rust flycheck hydra solarized-theme company-ansible alchemist column-enforce-mode yaml-mode ansible dockerfile-mode ruby-end dash-at-point base16-theme exec-path-from-shell)))) (planet-theme cider clojure-mode erlang rspec-mode dap-mode lsp-ui company-lsp lsp-mode nginx-mode gitignore-mode js2-mode keyfreq company-web visual-regexp enh-ruby-mode counsel-projectile counsel ivy flycheck-rust flycheck hydra solarized-theme company-ansible alchemist column-enforce-mode yaml-mode ansible dockerfile-mode ruby-end dash-at-point base16-theme exec-path-from-shell))))
(custom-set-faces (custom-set-faces
;; custom-set-faces was added by Custom. ;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful. ;; If you edit it by hand, you could mess it up, so be careful.

View file

@ -1,4 +1,12 @@
(add-hook 'clojure-mode-hook 'cider-mode) (use-package clojure-mode
:defer t
:ensure t)
(use-package cider
:requires clojure-mode
:commands cider-jack-in
:defer t
:ensure t)
(defun activate-clojure-mode () (defun activate-clojure-mode ()
"Goodies for clojure files." "Goodies for clojure files."
@ -7,3 +15,4 @@
) )
(add-hook 'clojure-mode-hook 'activate-clojure-mode) (add-hook 'clojure-mode-hook 'activate-clojure-mode)
(add-hook 'clojure-mode-hook 'cider-mode)

View file

@ -1,4 +1,7 @@
(require 'alchemist) (use-package alchemist
:requires (ruby-end-mode)
:ensure t
:defer t)
(defun activate-elixir-mode () (defun activate-elixir-mode ()
"All things Elixir." "All things Elixir."
@ -9,12 +12,6 @@
(add-to-list (make-local-variable 'company-backends) (add-to-list (make-local-variable 'company-backends)
'(alchemist-company company-yasnippet))) '(alchemist-company company-yasnippet)))
(add-hook 'elixir-mode-hook 'alchemist-mode)
(add-hook 'alchemist-mode-hook 'activate-elixir-mode) (add-hook 'alchemist-mode-hook 'activate-elixir-mode)
(add-hook 'elixir-mode-hook 'ruby-end-mode) (add-hook 'elixir-mode-hook 'ruby-end-mode)
(add-hook 'elixir-mode-hook 'alchemist-mode)
;; Eex Web mode
(add-to-list 'auto-mode-alist '("\\.eex\\'" . web-mode))
(setq web-mode-extra-auto-pairs
'(("eex" . (("<%" "%>")))
))

View file

@ -1,14 +1,12 @@
;; Require Enhanced Ruby Mode ;; Require Enhanced Ruby Mode
(require 'enh-ruby-mode)
(define-key enh-ruby-mode-map (kbd "C-c \\") 'nil) (use-package rspec-mode :ensure t :defer t)
(use-package ruby-end :ensure t :defer t)
(add-hook 'ruby-mode-hook 'enh-ruby-mode) (use-package enh-ruby-mode
(add-hook 'enh-ruby-mode-hook 'rspec-mode) :requires (rspec-mode ruby-end)
(add-hook 'enh-ruby-mode-hook 'ruby-end-mode) :ensure t
:defer t)
(eval-after-load 'rspec-mode
'(rspec-install-snippets))
(defun activate-ruby-mode () (defun activate-ruby-mode ()
"All things for ruby mode." "All things for ruby mode."
@ -34,11 +32,9 @@
(format "ctags -e -R --languages=ruby -f %sTAGS %s. $(bundle list --paths)" (format "ctags -e -R --languages=ruby -f %sTAGS %s. $(bundle list --paths)"
(projectile-project-root) (projectile-project-root)))) (projectile-project-root) (projectile-project-root))))
(add-hook 'ruby-mode-hook 'enh-ruby-mode)
(add-hook 'enh-ruby-mode-hook 'rspec-mode)
(add-hook 'enh-ruby-mode-hook 'ruby-end-mode)
(eval-after-load 'rspec-mode
'(rspec-install-snippets))
(add-hook 'enh-ruby-mode-hook 'activate-ruby-mode) (add-hook 'enh-ruby-mode-hook 'activate-ruby-mode)
;;; ERB specific things
(add-to-list 'auto-mode-alist '("\\.erb\\'" . web-mode))
(setq web-mode-extra-auto-pairs
'(("erb" . (("<%" "%>")
("beg" "end")))
))

View file

@ -1,3 +1,7 @@
(use-package racer
:ensure t
:requires (racer flycheck-rust))
(defun activate-rust-mode () (defun activate-rust-mode ()
"All things for Rust mode" "All things for Rust mode"
(interactive) (interactive)

View file

@ -1,7 +1,26 @@
(use-package web-mode
:ensure t)
(use-package js2-mode
:requires (web-mode company-web lsp)
:ensure t)
;; Use js2-mode for javascript editing ;; Use js2-mode for javascript editing
(add-to-list 'auto-mode-alist '("\\.js\\'" . js2-mode)) (add-to-list 'auto-mode-alist '("\\.js\\'" . js2-mode))
(add-to-list 'auto-mode-alist '("\\.json\\'" . js2-mode)) (add-to-list 'auto-mode-alist '("\\.json\\'" . js2-mode))
;;; ERB editing
(add-to-list 'auto-mode-alist '("\\.erb\\'" . web-mode))
;; Eex Web mode
(add-to-list 'auto-mode-alist '("\\.eex\\'" . web-mode))
(setq web-mode-extra-auto-pairs
'(("eex" . (("<%" "%>")))
("erb" . (("<%" "%>")
("beg" "end")))))
;; Language Server Protocol is used for completion ;; Language Server Protocol is used for completion
(add-hook 'js2-mode-hook 'lsp) (add-hook 'js2-mode-hook 'lsp)

View file

@ -1 +0,0 @@
(nil (0 0 284 74) (t (0 0 145 74) (:purpose code :purpose-dedicated t :width 0.5141843971631206 :height 0.6133333333333333 :edges (0.0 0.0 0.5141843971631206 0.6133333333333333)) (:purpose tools :purpose-dedicated t :width 0.5141843971631206 :height 0.37333333333333335 :edges (0.0 0.6133333333333333 0.5141843971631206 0.9866666666666667))) (:purpose code :purpose-dedicated t :width 0.4929078014184397 :height 0.9866666666666667 :edges (0.5141843971631206 0.0 1.0070921985815602 0.9866666666666667)))

View file

@ -1 +0,0 @@
(t (0 0 256 70) (nil (0 0 256 57) (:purpose code :purpose-dedicated t :width 0.5039370078740157 :height 0.8028169014084507 :edges (0.0 0.0 0.5039370078740157 0.8028169014084507)) (:purpose code :purpose-dedicated t :width 0.5039370078740157 :height 0.8028169014084507 :edges (0.5039370078740157 0.0 1.0078740157480315 0.8028169014084507))) (:purpose tools :purpose-dedicated t :width 1.0078740157480315 :height 0.18309859154929578 :edges (0.0 0.8028169014084507 1.0078740157480315 0.9859154929577465)))

Binary file not shown.

View file

@ -1,11 +1,12 @@
;; Use smart-mode-line ;; Use smart-mode-line
(require 'smart-mode-line) (use-package smart-mode-line
:ensure t
:config
(setq-default sml/no-confirm-load-theme t)
(setq-default display-time-format "%H:%M") ;; time format to display on mode line
(sml/setup))
(setq-default sml/no-confirm-load-theme t) (load "$HOME/.emacs.d/themes/themes-base16-not-harmonic.el" 'f 't)
(setq-default display-time-format "%H:%M") ;; time format to display on mode line
(sml/setup)
(load "~/.emacs.d/10themes-base16-not-harmonic.el" t)
(load-theme 'base16-mexico-light t t) (load-theme 'base16-mexico-light t t)
(load-theme 'manoj-dark t t) (load-theme 'manoj-dark t t)
(load-theme 'base16-one-light t t) (load-theme 'base16-one-light t t)
@ -22,7 +23,7 @@
(sml/apply-theme 'respectful) (sml/apply-theme 'respectful)
(enable-theme 'base16-mocha)) (enable-theme 'base16-mocha))
(progn (progn
(enable-theme 'manoj-dark))) (enable-theme 'planet)))
;; Set font face ;; Set font face
(set-font-size 16) (set-font-size 16)