Tons of lazy-loading improvements and small cleanups

This commit is contained in:
2017-08-08 01:43:26 +01:00
parent 1a6cb0c5db
commit 85b729b201
36 changed files with 382 additions and 394 deletions

View File

@@ -6,31 +6,29 @@
;;; Code:
(siren-require-packages '(auto-complete))
(use-package auto-complete
:config
(require 'siren-flyspell)
(ac-flyspell-workaround)
(require 'auto-complete)
;; (require 'auto-complete-config)
;; (ac-config-default)
(ac-flyspell-workaround)
(setq ac-auto-show-menu 0.2
ac-auto-start 3
ac-delay 0.05
ac-menu-height 15)
(setq ac-auto-show-menu 0.2)
(setq ac-auto-start 3)
(setq ac-delay 0.05)
(setq ac-menu-height 15)
(let ((map ac-completing-map))
(define-key map (kbd "RET") 'ac-complete)
(define-key map (kbd "C-m") 'ac-complete)
(define-key map (kbd "C-s") 'ac-isearch)
(define-key map (kbd "C-n") 'ac-next)
(define-key map (kbd "C-p") 'ac-previous))
(let ((map ac-completing-map))
(define-key map (kbd "RET") 'ac-complete)
(define-key map (kbd "C-m") 'ac-complete)
(define-key map (kbd "C-s") 'ac-isearch)
(define-key map (kbd "C-n") 'ac-next)
(define-key map (kbd "C-p") 'ac-previous))
;; Auto-complete when indenting.
(defadvice indent-for-tab-command (around ac-before-indent activate)
"Call `auto-complete' if text was recently entered."
(if (ac-trigger-command-p last-command)
(auto-complete)
ad-do-it))
;; Auto-complete when indenting.
(defadvice indent-for-tab-command (around ac-before-indent activate)
"Call `auto-complete' if text was recently entered."
(if (ac-trigger-command-p last-command)
(auto-complete)
ad-do-it)))
(provide 'siren-auto-complete)
;;; siren-auto-complete.el ends here

View File

@@ -18,8 +18,7 @@
(siren-prog-mode-defaults)
(rainbow-mode +1)
(setq tab-width 2)
(highlight-indentation-current-column-mode)
(run-hooks 'siren-prog-mode-hook))
(highlight-indentation-current-column-mode))
(setq siren-css-mode-hook 'siren-css-mode-defaults)
(add-hook 'css-mode-hook (lambda ()

View File

@@ -26,13 +26,14 @@
("~/src" "src")
("~/Sites" "Sites")
("~" "~")
("/" "/")))
("/" "/"))
;; Add "^Icon$" as a exclude to the default sources. Dropbox uses "Icon" files
;; with some weird unprintable character at the end of the filename to customize
;; the folder icon. ECB however errors out when trying to render this file,
;; hence we're no longer displaying it at all.
(setq ecb-source-file-regexps
;; Add "^Icon$" as a exclude to the default sources. Dropbox uses "Icon"
;; files with some weird unprintable character at the end of the
;; filename to customize the folder icon. ECB however errors out when
;; trying to render this file, hence we're no longer displaying it at
;; all.
ecb-source-file-regexps
(quote
((".*"
("\\(^\\(#\\)\\|\\(~$\\|\\.\\(elc\\|obj\\|o\\|class\\|lib\\|dll\\|a\\|so\\|cache\\)$\\)\\)" "^Icon$")

View File

@@ -9,8 +9,8 @@
(use-package edit-server
:if window-system
:init
(setq edit-server-default-major-mode 'markdown-mode)
(setq edit-server-new-frame-alist
(setq edit-server-default-major-mode 'markdown-mode
edit-server-new-frame-alist
'((name . "Edit with Emacs FRAME")
(width . 90)
(height . 45)

View File

@@ -7,28 +7,28 @@
;;; Code:
(use-package elscreen
:bind (("s-}" . elscreen-next)
("s-{" . elscreen-previous)
:map elscreen-map
;; Prefix key.
("C-z" . elscreen-map)
;; Set screen nickname
("," . elscreen-screen-nickname)
("C-," . elscreen-screen-nickname)
;; Toggle screens.
("l" . elscreen-toggle)
("C-l" . elscreen-toggle)
;; Display list of screens.
(";" . elscreen-display-screen-name-list)
("C-;" . elscreen-display-screen-name-list))
:config
(use-package elscreen-buffer-group)
;; Prefix key.
(define-key elscreen-map (kbd "C-z") elscreen-map)
;; Goto screens.
(global-set-key (kbd "s-}") 'elscreen-next)
(global-set-key (kbd "s-{") 'elscreen-previous)
;; Set screen nickname
(define-key elscreen-map (kbd ",") 'elscreen-screen-nickname)
(define-key elscreen-map (kbd "C-,") 'elscreen-screen-nickname)
;; Toggle screens.
(define-key elscreen-map (kbd "l") 'elscreen-toggle)
(define-key elscreen-map (kbd "C-l") 'elscreen-toggle)
;; Display list of screens.
(define-key elscreen-map (kbd ";") 'elscreen-display-screen-name-list)
(define-key elscreen-map (kbd "C-;") 'elscreen-display-screen-name-list)
;; Start ElScreen.
(elscreen-start))

View File

@@ -39,10 +39,6 @@
;; Rename current file and buffer
(global-set-key (kbd "C-c r") 'siren-rename-file-and-buffer)
;; Flyspell correct previous word
(when (require 'flyspell nil 'noerror)
(global-set-key (kbd "s-.") 'flyspell-correct-word-before-point))
;; Mac OS X specific keybindings
(when (eq system-type 'darwin)
;; Move to beginning/end of buffer

View File

@@ -9,14 +9,17 @@
(use-package magit
:bind
("C-x g". magit-status)
("C-x C-g". magit-status)
:init
(defalias 'bl 'magit-blame)
:config
(require 'siren-fci)
(require 'siren-flyspell)
(require 'siren-ediff)
(require 'magit)
(defalias 'bl 'magit-blame)
(setq magit-completing-read-function 'magit-ido-completing-read
magit-status-buffer-switch-function 'switch-to-buffer
magit-bury-buffer-function 'bury-buffer

View File

@@ -15,6 +15,7 @@
"\\.markdown"
:config
(require 'siren-flyspell)
(setq markdown-command "redcarpet")
(defun siren-markdown-mode-defaults ()

View File

@@ -7,6 +7,7 @@
;;; Code:
(require 'siren-fci)
(require 'siren-flyspell)
(require 'siren-smartparens)
(defun siren-org-mode-defaults ()

View File

@@ -6,9 +6,17 @@
;;; Code:
(siren-require-packages '(phi-search))
(use-package phi-search
:bind
("C-s" . phi-search)
("C-r" . phi-search-backward)
(require 'phi-search)
:config
(custom-set-faces
'(phi-search-match-face
((t (:background "paleturquoise4"))))
'(phi-search-selection-face
((t (:background "palevioletred2" :foreground "brown4"))))))
(provide 'siren-phi-search)
;;; siren-phi-search.el ends here

View File

@@ -6,27 +6,22 @@
;;; Code:
(require 'siren-programming)
(siren-require-packages '(php-mode))
(use-package php-mode
:config
(require 'siren-rainbow)
(eval-after-load 'php-mode
'(progn
(siren-require-packages '(rainbow-mode))
(defun siren-php-mode-defaults ()
(siren-prog-mode-defaults)
(rainbow-mode +1)
(company-mode +1)
(subword-mode +1)
(highlight-indentation-current-column-mode)
(hs-minor-mode 1)
(hideshowvis-enable))
(defun siren-php-mode-defaults ()
(siren-prog-mode-defaults)
(rainbow-mode +1)
(company-mode +1)
(subword-mode +1)
(highlight-indentation-current-column-mode)
(hs-minor-mode 1)
(hideshowvis-enable)
(run-hooks 'siren-prog-mode-hook))
(setq siren-php-mode-hook 'siren-php-mode-defaults)
(add-hook 'php-mode-hook (lambda ()
(run-hooks 'siren-php-mode-hook)))))
(setq siren-php-mode-hook 'siren-php-mode-defaults)
(add-hook 'php-mode-hook (lambda ()
(run-hooks 'siren-php-mode-hook))))
(provide 'siren-php)
;;; siren-php.el ends here

View File

@@ -6,23 +6,22 @@
;;; Code:
(require 'siren-programming)
(use-package plantuml-mode
:mode "\\.uml\\'"
(siren-require-packages '(plantuml-mode))
:config
(require 'siren-programming)
(add-to-list 'auto-mode-alist '("\\.uml\\'" . plantuml-mode))
(defun siren-plantuml-mode-defaults ()
(siren-prog-mode-defaults)
(setq tab-width 2)
(setq plantuml-jar-path "/usr/local/Cellar/plantuml/8048/plantuml.8048.jar")
(highlight-indentation-set-offset 2)
(highlight-indentation-current-column-mode))
(defun siren-plantuml-mode-defaults ()
(siren-prog-mode-defaults)
(setq tab-width 2)
(setq plantuml-jar-path "/usr/local/Cellar/plantuml/8048/plantuml.8048.jar")
(highlight-indentation-set-offset 2)
(highlight-indentation-current-column-mode))
(setq siren-plantuml-mode-hook 'siren-plantuml-mode-defaults)
(add-hook 'plantuml-mode-hook (lambda ()
(run-hooks 'siren-plantuml-mode-hook)))
(setq siren-plantuml-mode-hook 'siren-plantuml-mode-defaults)
(add-hook 'plantuml-mode-hook (lambda ()
(run-hooks 'siren-plantuml-mode-hook))))
(provide 'siren-plantuml)
;;; siren-plantuml.el ends here

View File

@@ -8,6 +8,7 @@
(require 'siren-fci)
(require 'siren-flycheck)
(require 'siren-flyspell)
(require 'siren-smartparens)
(require 'siren-highlight-indentation)
(require 'siren-highlight-symbol)
@@ -25,7 +26,6 @@
(whitespace-mode +1))
(setq siren-prog-mode-hook 'siren-prog-mode-defaults)
(add-hook 'prog-mode-hook (lambda ()
(run-hooks 'siren-prog-mode-hook)))

View File

@@ -6,29 +6,29 @@
;;; Code:
(siren-require-packages '(project-explorer))
(use-package project-explorer
:bind
("C-x C-p" . project-explorer-toggle)
(require 'project-explorer)
(setq pe/follow-current t)
(setq pe/width 54)
(setq pe/cache-directory (expand-file-name
"project-explorer-cache" siren-savefile-dir))
:config
(setq pe/follow-current t
pe/width 54
pe/cache-directory (expand-file-name
"project-explorer-cache" siren-savefile-dir))
(global-set-key (kbd "C-x C-p") 'project-explorer-toggle)
;; ;; Make Project Explorer open selected file in last used buffer
;; (setq pe/display-content-buffer-function
;; (lambda (buffer)
;; (let* (( last-buffer
;; (car (cl-remove 'project-explorer-mode
;; (buffer-list)
;; :key (apply-partially 'buffer-local-value
;; 'major-mode))))
;; ( window (get-buffer-window last-buffer)))
;; (if window
;; (set-window-buffer window buffer)
;; (pe/show-buffer buffer)))
;; ))
;; Make Project Explorer open selected file in last used buffer
(setq pe/display-content-buffer-function
(lambda (buffer)
(let* (( last-buffer
(car (cl-remove 'project-explorer-mode
(buffer-list)
:key (apply-partially 'buffer-local-value
'major-mode))))
( window (get-buffer-window last-buffer)))
(if window
(set-window-buffer window buffer)
(pe/show-buffer buffer)))
)))
(provide 'siren-project-explorer)
;;; siren-project-explorer.el ends here

View File

@@ -6,52 +6,47 @@
;;; Code:
(siren-require-packages '(projectile))
(use-package projectile
:bind
("C-c p p" . projectile-switch-project)
("C-c C-b" . projectile-ibuffer)
("C-x C-t" . projectile-find-file)
("C-x t" . projectile-find-test-file)
("C-x C-v" . projectile-switch-to-buffer)
(require 'projectile)
(setq projectile-completion-system 'ido)
(setq projectile-enable-caching nil)
(setq projectile-globally-ignored-directories
(quote (".idea"
".eunit"
".git"
".hg"
".fslckout"
".bzr"
".svn"
"_darcs"
"vendor/bundle"
"vendor/ruby"
"coverage"
"docs"
"doc"
"log"
"logs"
"tmp"
"Godeps"
"elpa"
"savefile")))
(setq projectile-globally-ignored-files (quote ("TAGS" "*.log")))
(setq projectile-sort-order 'recently-active)
(setq projectile-mode-line (quote ""))
(setq projectile-cache-file (expand-file-name
"projectile.cache" siren-savefile-dir))
:config
(setq projectile-completion-system 'ido
projectile-enable-caching nil
projectile-globally-ignored-directories '(".idea"
".eunit"
".git"
".hg"
".fslckout"
".bzr"
".svn"
"_darcs"
"vendor/bundle"
"vendor/ruby"
"coverage"
"docs"
"doc"
"log"
"logs"
"tmp"
"Godeps"
"elpa"
"savefile")
projectile-globally-ignored-files (quote ("TAGS" "*.log"))
projectile-sort-order 'recently-active
projectile-mode-line (quote "")
projectile-cache-file (expand-file-name
"projectile.cache" siren-savefile-dir))
;; Treat separate directories with Gemfiles within a single git repo as separate
;; projects.
(push "Gemfile" projectile-project-root-files-bottom-up)
;; Treat separate directories with Gemfiles within a single git repo as separate
;; projects.
(push "Gemfile" projectile-project-root-files-bottom-up)
;; Bug lets projectile write to the file, but not read from it
;; (setq projectile-known-projects-file (expand-file-name
;; "projectile-bookmarks.eld" siren-savefile-dir))
(projectile-global-mode t)
;; Keybindings
(global-set-key (kbd "C-c C-b") 'projectile-ibuffer)
(global-set-key (kbd "C-x C-t") 'projectile-find-file)
(global-set-key (kbd "C-x t") 'projectile-find-test-file)
(global-set-key (kbd "C-x C-v") 'projectile-switch-to-buffer)
(projectile-global-mode t))
(provide 'siren-projectile)
;;; siren-projectile.el ends here

View File

@@ -6,66 +6,67 @@
;;; Code:
(siren-require-packages '(rubocop))
(use-package rubocop
:defer t
(defgroup siren-rubocop nil
"Rubocop options specific to Siren."
:group 'siren)
:config
(defgroup siren-rubocop nil
"Rubocop options specific to Siren."
:group 'siren)
(defcustom siren-rubocop-autocorrect-on-save t
"Auto-correct files with rubocop when saving."
:group 'siren-rubocop
:type 'boolean)
(defcustom siren-rubocop-autocorrect-on-save t
"Auto-correct files with rubocop when saving."
:group 'siren-rubocop
:type 'boolean)
(defadvice compilation-start
(around inhibit-display
(command &optional mode name-function highlight-regexp))
(if (not (string-match "^\\(find\\|grep\\)" command))
(flet ((display-buffer)
(set-window-point)
(goto-char))
(fset 'display-buffer 'ignore)
(fset 'goto-char 'ignore)
(fset 'set-window-point 'ignore)
(save-window-excursion
ad-do-it))
ad-do-it))
(defadvice compilation-start
(around inhibit-display
(command &optional mode name-function highlight-regexp))
(if (not (string-match "^\\(find\\|grep\\)" command))
(flet ((display-buffer)
(set-window-point)
(goto-char))
(fset 'display-buffer 'ignore)
(fset 'goto-char 'ignore)
(fset 'set-window-point 'ignore)
(save-window-excursion
ad-do-it))
ad-do-it))
(defun siren-rubocop-autocorrect ()
"Auto-correct with Rubocop and instantly revert buffer."
(interactive)
(if siren-rubocop-autocorrect-on-save
(save-buffer)
(siren-rubocop-autocorrect-p t)))
(defun siren-rubocop-autocorrect ()
"Auto-correct with Rubocop and instantly revert buffer."
(interactive)
(if siren-rubocop-autocorrect-on-save
(save-buffer)
(siren-rubocop-autocorrect-p t)))
(defun siren-rubocop-autocorrect-p (force-save)
"Auto-correct with Rubocop and instantly revert buffer.
(defun siren-rubocop-autocorrect-p (force-save)
"Auto-correct with Rubocop and instantly revert buffer.
If FORCE-SAVE is nil then file will not be saved before
auto-correction is triggered."
(if force-save (save-buffer))
(ad-activate 'compilation-start)
(rubocop-autocorrect-current-file)
(ad-deactivate 'compilation-start)
;; doesn't work, buffer just updates a few seconds later via auto-revert.
;; (revert-buffer t t)
)
(if force-save (save-buffer))
(ad-activate 'compilation-start)
(rubocop-autocorrect-current-file)
(ad-deactivate 'compilation-start)
;; doesn't work, buffer just updates a few seconds later via auto-revert.
;; (revert-buffer t t)
)
(defun siren-rubocop-autocorrect-hook ()
"Siren's Rubocop auto-correct hook."
(if siren-rubocop-autocorrect-on-save
(siren-rubocop-autocorrect-p nil)))
(defun siren-rubocop-autocorrect-hook ()
"Siren's Rubocop auto-correct hook."
(if siren-rubocop-autocorrect-on-save
(siren-rubocop-autocorrect-p nil)))
(defun siren-rubocop-mode-defaults ()
(add-hook 'after-save-hook 'siren-rubocop-autocorrect-hook nil t)
(defun siren-rubocop-mode-defaults ()
(add-hook 'after-save-hook 'siren-rubocop-autocorrect-hook nil t)
(let ((map rubocop-mode-map))
(define-key map (kbd "C-c C-f") 'siren-rubocop-autocorrect)))
(let ((map rubocop-mode-map))
(define-key map (kbd "C-c C-f") 'siren-rubocop-autocorrect)))
(setq siren-rubocop-mode-hook 'siren-rubocop-mode-defaults)
(add-hook 'rubocop-mode-hook (lambda ()
(run-hooks 'siren-rubocop-mode-hook)))
(setq siren-rubocop-mode-hook 'siren-rubocop-mode-defaults)
(add-hook 'rubocop-mode-hook (lambda ()
(run-hooks 'siren-rubocop-mode-hook))))
(provide 'siren-rubocop)
;;; siren-rubocop.el ends here

View File

@@ -6,7 +6,24 @@
;;; Code:
(siren-require-packages '(ruby-tools inf-ruby yari ruby-refactor rspec-mode))
(use-package inf-ruby
:defer t)
(use-package rspec-mode
:defer t
:init
(eval-after-load 'rspec-mode '(rspec-install-snippets)))
(use-package ruby-refactor
:defer t)
(use-package ruby-tools
:defer t)
(use-package yari
:defer t
:init
(define-key 'help-command (kbd "R") 'yari))
(require 'siren-programming)
(require 'siren-company)
@@ -14,6 +31,10 @@
(require 'siren-smartparens)
(require 'siren-toggle-quotes)
(require 'smartparens-ruby)
(require 'rubocopfmt)
(require 'ruby-mode)
;; Rake files are ruby, too, as are gemspecs, rackup files, and gemfiles.
(add-to-list 'auto-mode-alist '("\\.rake\\'" . ruby-mode))
(add-to-list 'auto-mode-alist '("Rakefile\\'" . ruby-mode))
@@ -37,41 +58,30 @@
;; We never want to edit Rubinius bytecode
(add-to-list 'completion-ignored-extensions ".rbc")
(define-key 'help-command (kbd "R") 'yari)
;; Set up hs-mode (HideShow) for Ruby
(add-to-list 'hs-special-modes-alist
`(ruby-mode
,(rx (or "def" "class" "module" "do")) ;; Block start
,(rx (or "end")) ;; Block end
,(rx (or "#" "=begin")) ;; Comment start
,(rx (or "def" "class" "module" "do" "if" "case")) ;; Block start
,(rx (or "end")) ;; Block end
,(rx (or "#" "=begin")) ;; Comment start
ruby-forward-sexp nil))
;; Make company-mode play nice
(push 'ruby-mode company-dabbrev-code-modes)
(require 'rspec-mode)
(require 'rubocopfmt)
(require 'ruby-mode)
(require 'ruby-refactor)
(require 'smartparens-ruby)
(eval-after-load 'rspec-mode
'(rspec-install-snippets))
(defun siren-ruby-mode-defaults ()
(siren-prog-mode-defaults)
(setq ruby-use-smie t)
(setq ruby-align-chained-calls t)
(setq ruby-insert-encoding-magic-comment t)
(setq c-tab-always-indent nil)
(setq ruby-refactor-add-parens t)
(setq rspec-primary-source-dirs '("app"))
(setq c-tab-always-indent nil
rspec-primary-source-dirs '("app")
ruby-align-chained-calls t
ruby-insert-encoding-magic-comment t
ruby-refactor-add-parens t
ruby-use-smie t
tab-width 2)
(rubocopfmt-mode)
(ruby-tools-mode +1)
(setq tab-width 2)
(hs-minor-mode 1)
(company-mode +1)
(subword-mode +1)
@@ -90,7 +100,6 @@
(define-key map (kbd "C-'") 'toggle-quotes)))
(setq siren-ruby-mode-hook 'siren-ruby-mode-defaults)
(add-hook 'ruby-mode-hook (lambda ()
(run-hooks 'siren-ruby-mode-hook)))

View File

@@ -6,18 +6,20 @@
;;; Code:
(require 'siren-css)
(siren-require-packages '(sass-mode))
(use-package sass-mode
:mode "\\.sass\\'"
;; turn off annoying auto-compile on save
(setq sass-compile-at-save nil)
:config
(require 'siren-css)
(defun siren-sass-mode-defaults ()
(siren-css-mode-defaults))
;; turn off annoying auto-compile on save
(setq sass-compile-at-save nil)
(setq siren-sass-mode-hook 'siren-sass-mode-defaults)
(defun siren-sass-mode-defaults ()
(siren-css-mode-defaults))
(add-hook 'sass-mode-hook (lambda () (run-hooks 'siren-sass-mode-hook)))
(setq siren-sass-mode-hook 'siren-sass-mode-defaults)
(add-hook 'sass-mode-hook (lambda () (run-hooks 'siren-sass-mode-hook))))
(provide 'siren-sass)
;;; siren-sass.el ends here

View File

@@ -6,18 +6,20 @@
;;; Code:
(require 'siren-css)
(siren-require-packages '(scss-mode))
(use-package scss-mode
:mode "\\.scss\\'"
;; turn off annoying auto-compile on save
(setq scss-compile-at-save nil)
:config
(require 'siren-css)
(defun siren-scss-mode-defaults ()
(siren-css-mode-defaults))
;; turn off annoying auto-compile on save
(setq scss-compile-at-save nil)
(setq siren-scss-mode-hook 'siren-scss-mode-defaults)
(defun siren-scss-mode-defaults ()
(siren-css-mode-defaults))
(add-hook 'scss-mode-hook (lambda () (run-hooks 'siren-scss-mode-hook)))
(setq siren-scss-mode-hook 'siren-scss-mode-defaults)
(add-hook 'scss-mode-hook (lambda () (run-hooks 'siren-scss-mode-hook))))
(provide 'siren-scss)
;;; siren-scss.el ends here

View File

@@ -11,17 +11,17 @@
(defun siren-sh-mode-defaults ()
(siren-prog-mode-defaults)
(setq tab-width 2
sh-basic-offset 2
sh-indentation 2
whitespace-action '(auto-cleanup))
(subword-mode +1)
(setq tab-width 2)
(setq sh-basic-offset 2)
(setq sh-indentation 2)
(highlight-indentation-set-offset 2)
(highlight-indentation-current-column-mode)
(setq whitespace-action (quote (auto-cleanup)))
(define-key sh-mode-map (kbd "RET") 'newline-and-indent))
(setq siren-sh-mode-hook 'siren-sh-mode-defaults)
(add-hook 'sh-mode-hook (lambda ()
(run-hooks 'siren-sh-mode-hook)))

View File

@@ -6,45 +6,45 @@
;;; Code:
(siren-require-packages '(smartparens))
(use-package smartparens
:defer t
:diminish smartparens-mode
;; smart pairing for all
(require 'smartparens-config)
(setq sp-base-key-bindings 'paredit)
(setq sp-autoskip-closing-pair 'always)
(setq sp-hybrid-kill-entire-symbol nil)
(custom-set-faces
'(sp-pair-overlay-face ((t (:inherit nil)))))
:init
(defalias 'rw 'sp-rewrap-sexp)
(show-smartparens-global-mode +1)
(sp-pair "{" nil :post-handlers
'(((lambda (&rest _ignored)
(siren-smart-open-line-above)) "RET")))
:config
;; smart pairing for all
(require 'smartparens-config)
(show-smartparens-global-mode +1)
(diminish 'smartparens-mode)
(setq sp-base-key-bindings 'paredit
sp-autoskip-closing-pair 'always
sp-hybrid-kill-entire-symbol nil)
;; Aliases
(defalias 'rw 'sp-rewrap-sexp)
(custom-set-faces
'(sp-pair-overlay-face ((t (:inherit nil)))))
;; Keybindings
(let ((map smartparens-mode-map))
(define-key map (kbd "C-M-f") 'sp-forward-sexp)
(define-key map (kbd "C-M-b") 'sp-backward-sexp)
(define-key map (kbd "C-M-a") 'sp-beginning-of-sexp)
(define-key map (kbd "C-M-e") 'sp-end-of-sexp)
(define-key map (kbd "C-M-]") 'sp-forward-slurp-sexp)
(define-key map (kbd "C-M-[") 'sp-forward-barf-sexp)
(define-key map (kbd "C-M-.") 'sp-forward-slurp-sexp)
(define-key map (kbd "C-M-,") 'sp-forward-barf-sexp)
(define-key map (kbd "s->") 'sp-forward-slurp-sexp)
(define-key map (kbd "s-<") 'sp-forward-barf-sexp)
(define-key map (kbd "M-|") 'sp-split-sexp)
(define-key map (kbd "M-t") 'sp-backward-up-sexp)
(define-key map (kbd "C-<backspace>") 'sp-backward-kill-sexp)
(define-key map (kbd "C-<delete>") 'sp-kill-sexp))
(sp-pair "{" nil :post-handlers
'(((lambda (&rest _ignored)
(siren-smart-open-line-above)) "RET")))
(custom-set-faces
'(sp-pair-overlay-face ((t (:inherit nil)))))
;; Keybindings
(let ((map smartparens-mode-map))
(define-key map (kbd "C-M-f") 'sp-forward-sexp)
(define-key map (kbd "C-M-b") 'sp-backward-sexp)
(define-key map (kbd "C-M-a") 'sp-beginning-of-sexp)
(define-key map (kbd "C-M-e") 'sp-end-of-sexp)
(define-key map (kbd "C-M-]") 'sp-forward-slurp-sexp)
(define-key map (kbd "C-M-[") 'sp-forward-barf-sexp)
(define-key map (kbd "C-M-.") 'sp-forward-slurp-sexp)
(define-key map (kbd "C-M-,") 'sp-forward-barf-sexp)
(define-key map (kbd "s->") 'sp-forward-slurp-sexp)
(define-key map (kbd "s-<") 'sp-forward-barf-sexp)
(define-key map (kbd "M-|") 'sp-split-sexp)
(define-key map (kbd "M-t") 'sp-backward-up-sexp)
(define-key map (kbd "C-<backspace>") 'sp-backward-kill-sexp)
(define-key map (kbd "C-<delete>") 'sp-kill-sexp)))
(provide 'siren-smartparens)
;;; siren-smartparens.el ends here

View File

@@ -6,19 +6,17 @@
;;; Code:
(siren-require-packages '(smex))
(use-package smex
:bind
("M-x" . smex)
("M-X" . smex-major-mode-commands)
("C-x C-m" . smex)
("C-c C-m" . smex)
("C-c C-c M-x" . execute-extended-command)
;;; smex, remember recently and most frequently used commands
(require 'smex)
(setq smex-save-file (expand-file-name ".smex-items" siren-savefile-dir))
(smex-initialize)
;; Keybindings
(global-set-key (kbd "M-x") 'smex)
(global-set-key (kbd "M-X") 'smex-major-mode-commands)
(global-set-key (kbd "C-x C-m") 'smex)
(global-set-key (kbd "C-c C-m") 'smex)
(global-set-key (kbd "C-c C-c M-x") 'execute-extended-command)
:config
(setq smex-save-file (expand-file-name ".smex-items" siren-savefile-dir))
(smex-initialize))
(provide 'siren-smex)
;;; siren-smex.el ends here

View File

@@ -6,19 +6,18 @@
;;; Code:
(siren-require-packages '(swiper))
(use-package swiper
:bind
("C-s" . swiper)
("C-c C-r" . ivy-resume)
(require 'swiper)
:config
(ivy-mode 1)
(setq ivy-use-virtual-buffers t)
(ivy-mode 1)
(setq ivy-use-virtual-buffers t)
(global-set-key (kbd "C-s") 'swiper)
(global-set-key (kbd "C-c C-r") 'ivy-resume)
(custom-set-faces
'(ivy-current-match ((t (:background "#7e9fc9" :foreground "black"))))
'(swiper-line-face ((t (:background "#313c4d")))))
(custom-set-faces
'(ivy-current-match ((t (:background "#7e9fc9" :foreground "black"))))
'(swiper-line-face ((t (:background "#313c4d"))))))
(provide 'siren-swiper)
;;; siren-swiper.el ends here

View File

@@ -7,13 +7,23 @@
;;; Code:
(siren-require-packages '(move-dup expand-region smart-shift))
(use-package move-dup
:bind
("M-p" . md/move-lines-up)
("M-n" . md/move-lines-down)
("C-x C-d" . md/duplicate-down))
(require 'move-dup)
(require 'expand-region)
(use-package expand-region
:bind
("M-." . er/expand-region)
("M-," . er/contract-region))
(require 'smart-shift)
(global-smart-shift-mode 1)
(use-package smart-shift
:bind
("C-c [" . smart-shift-left)
("C-c ]" . smart-shift-right)
("M-[" . smart-shift-left)
("M-]" . smart-shift-right))
(defmacro allow-line-as-region-for-function (orig-function)
`(defun ,(intern (concat (symbol-name orig-function) "-or-line"))
@@ -47,22 +57,8 @@
(lambda (x) (cons (random) (concat x "\n"))) lines)
(lambda (a b) (< (car a) (car b))))))))
;; Keybindings
(global-set-key (kbd "M-p") 'md/move-lines-up)
(global-set-key (kbd "M-n") 'md/move-lines-down)
;; (global-set-key (kbd "C-x C-d") 'md/duplicate-up)
(global-set-key (kbd "C-x C-d") 'md/duplicate-down)
(global-set-key (kbd "C-c [") 'smart-shift-left)
(global-set-key (kbd "C-c ]") 'smart-shift-right)
(global-set-key (kbd "M-[") 'smart-shift-left)
(global-set-key (kbd "M-]") 'smart-shift-right)
(global-set-key (kbd "C-c /") 'comment-or-uncomment-region-or-line)
(global-set-key (kbd "C-c C-/") 'comment-or-uncomment-region-or-line)
(global-set-key (kbd "M-.") 'er/expand-region)
(global-set-key (kbd "M-,") 'er/contract-region)
(provide 'siren-text-manipulation)
;;; siren-text-manipulation.el ends here

View File

@@ -6,21 +6,22 @@
;;; Code:
(require 'siren-programming)
(use-package thrift
:mode "\\.thrift\\'"
(siren-require-packages '(thrift))
:config
(require 'siren-programming)
(defun siren-thrift-mode-defaults ()
(siren-prog-mode-defaults)
(defun siren-thrift-mode-defaults ()
(siren-prog-mode-defaults)
(setq tab-width 2)
(highlight-indentation-current-column-mode)
(subword-mode +1))
(setq tab-width 2)
(highlight-indentation-current-column-mode)
(subword-mode +1))
(setq siren-thrift-mode-hook 'siren-thrift-mode-defaults)
(add-hook 'thrift-mode-hook (lambda ()
(run-hooks 'siren-thrift-mode-hook)))
(setq siren-thrift-mode-hook 'siren-thrift-mode-defaults)
(add-hook 'thrift-mode-hook (lambda ()
(run-hooks 'siren-thrift-mode-hook))))
(provide 'siren-thrift)
;;; siren-thrift.el ends here

View File

@@ -6,8 +6,6 @@
;;; Code:
(require 'siren-use-package)
(use-package toggle-quotes
:bind (("C-'" . toggle-quotes)))

View File

@@ -12,7 +12,18 @@
("M--" . undo-tree-undo)
("M-_" . undo-tree-redo)
("s-z" . undo-tree-undo)
("s-Z" . undo-tree-redo))
("s-Z" . undo-tree-redo)
:diminish
undo-tree-mode
:init
(global-undo-tree-mode)
:config
;; autosave the undo-tree history
(setq undo-tree-history-directory-alist `((".*" . ,temporary-file-directory))
undo-tree-auto-save-history t))
(provide 'siren-undo-tree)
;;; siren-undo-tree.el ends here

View File

@@ -1,15 +0,0 @@
;;; siren-use-package.el --- jimeh's Emacs Siren: dumb-jump configuration.
;;; Commentary:
;; Basic configuration for use-package.
;;; Code:
(siren-require-packages '(use-package))
(require 'use-package)
(setq use-package-always-ensure t)
(provide 'siren-use-package)
;;; siren-use-package.el ends here

View File

@@ -6,11 +6,10 @@
;;; Code:
(siren-require-packages '(volatile-highlights))
(require 'volatile-highlights)
(volatile-highlights-mode t)
(diminish 'volatile-highlights-mode)
(use-package volatile-highlights-mode
:diminish volatile-highlights-mode
:init
(volatile-highlights-mode t))
(provide 'siren-volatile-highlights)
;;; siren-volatile-highlights.el ends here

View File

@@ -6,8 +6,6 @@
;;; Code:
(require 'siren-use-package)
(use-package web-mode
:mode
"\\.html\\'"

View File

@@ -6,19 +6,22 @@
;;; Code:
(use-package buffer-move
:bind
("M-K" . buf-move-down)
("M-I" . buf-move-up)
("M-J" . buf-move-left)
("M-L" . buf-move-right))
(require 'windmove)
(defun ignore-error-wrapper (fn)
"Funtion return new function that ignore errors.
The function wraps a function with `ignore-errors' macro."
(lexical-let ((fn fn))
(lambda ()
(interactive)
(ignore-errors
(funcall fn)))))
(siren-require-packages '(buffer-move))
(require 'windmove)
(require 'buffer-move)
(ignore-errors (funcall fn)))))
;; Navigate to windows
(global-set-key (kbd "M-k") (ignore-error-wrapper 'windmove-down))
@@ -26,11 +29,5 @@
(global-set-key (kbd "M-j") (ignore-error-wrapper 'windmove-left))
(global-set-key (kbd "M-l") (ignore-error-wrapper 'windmove-right))
;; Swap buffers between windows
(global-set-key (kbd "M-K") 'buf-move-down)
(global-set-key (kbd "M-I") 'buf-move-up)
(global-set-key (kbd "M-J") 'buf-move-left)
(global-set-key (kbd "M-L") 'buf-move-right)
(provide 'siren-window-management)
;;; siren-window-management.el ends here

View File

@@ -6,11 +6,9 @@
;;; Code:
(siren-require-packages '(workgroups2))
(require 'workgroups2)
(setq wg-prefix-key (kbd "C-z"))
(use-package workgroups2
:config
(setq wg-prefix-key (kbd "C-z")))
(provide 'siren-workgroups2)
;;; siren-workgroups2.el ends here

View File

@@ -6,8 +6,6 @@
;;; Code:
(require 'siren-use-package)
(use-package yaml-mode
:mode "\\.yml\\'" "\\.yaml\\'"
:config
@@ -15,11 +13,12 @@
(defun siren-yaml-mode-defaults ()
(siren-prog-mode-defaults)
(subword-mode +1)
(setq tab-width 2)
(setq tab-width 2
whitespace-action '(auto-cleanup))
(highlight-indentation-set-offset 2)
(highlight-indentation-current-column-mode)
(setq whitespace-action (quote (auto-cleanup)))
(subword-mode +1)
(define-key yaml-mode-map (kbd "RET") 'newline-and-indent))
(setq siren-yaml-mode-hook 'siren-yaml-mode-defaults)

View File

@@ -6,12 +6,10 @@
;;; Code:
(siren-require-packages '(yasnippet))
(require 'yasnippet)
(diminish 'yas-minor-mode)
(yas/global-mode t)
(use-package yasnippet
:diminish yas-minor-mode
:init
(yas-global-mode t))
(provide 'siren-yasnippet)
;;; siren-yasnippet.el ends here

View File

@@ -6,12 +6,12 @@
;;; Code:
(siren-require-packages '(zoom-window))
(use-package zoom-window
:bind
("C-x C-<return>" . zoom-window-zoom)
(require 'zoom-window)
(global-set-key (kbd "C-x C-<return>") 'zoom-window-zoom)
(setq zoom-window-mode-line-color "#2a1f1f")
:config
(setq zoom-window-mode-line-color "#2a1f1f"))
(provide 'siren-zoom-window)
;;; siren-zoom-window.el ends here

View File

@@ -81,6 +81,7 @@
(require 'siren-makefile)
(require 'siren-markdown)
(require 'siren-plantuml)
(require 'siren-php)
(require 'siren-ruby)
(require 'siren-sass)
(require 'siren-scss)