mirror of
https://github.com/jimeh/.emacs.d.git
synced 2026-02-19 13:46:41 +00:00
Majorly re-organize modules
- Split large modules into smaller parts (e.g. siren-text-manipulation) - Organize modules into high level groups: - completion - core - editor - languages - linting - misc - navigation - projects - spelling - text-editing - version-control - windows - workspaces
This commit is contained in:
@@ -8,73 +8,86 @@
|
||||
|
||||
(setq siren-modules-dir (expand-file-name "modules" siren-dir))
|
||||
(add-to-list 'load-path siren-modules-dir)
|
||||
(siren-add-subfolders-to-load-path siren-modules-dir)
|
||||
|
||||
;; Modules
|
||||
;; Core
|
||||
(require 'siren-aliases)
|
||||
(require 'siren-global-keybindings)
|
||||
(require 'siren-packages)
|
||||
|
||||
;; Completion
|
||||
(require 'siren-company)
|
||||
|
||||
;; Editor
|
||||
(require 'siren-browse-kill-ring)
|
||||
(require 'siren-evil)
|
||||
(require 'siren-ido)
|
||||
(require 'siren-linum)
|
||||
(require 'siren-linum-relative)
|
||||
(require 'siren-rainbow)
|
||||
(require 'siren-smex)
|
||||
(require 'siren-undo-tree)
|
||||
(require 'siren-which-key)
|
||||
|
||||
;; Linting
|
||||
(require 'siren-flycheck)
|
||||
|
||||
;; Navigation
|
||||
(require 'siren-anzu)
|
||||
(require 'siren-avy)
|
||||
(require 'siren-browse-kill-ring)
|
||||
(require 'siren-company)
|
||||
(require 'siren-diff-hl)
|
||||
(require 'siren-dired)
|
||||
(require 'siren-direx)
|
||||
(require 'siren-dumb-jump)
|
||||
(require 'siren-editorconfig)
|
||||
(require 'siren-evil)
|
||||
(require 'siren-flyspell)
|
||||
(require 'siren-folding)
|
||||
(require 'siren-full-ack)
|
||||
(require 'siren-git-link)
|
||||
(require 'siren-git-timemachine)
|
||||
(require 'siren-github)
|
||||
(require 'siren-global-keybindings)
|
||||
(require 'siren-goto-chg)
|
||||
(require 'siren-goto-symbol)
|
||||
(require 'siren-helm)
|
||||
(require 'siren-helm-ag)
|
||||
(require 'siren-helm-gtags)
|
||||
(require 'siren-helm-open-github)
|
||||
(require 'siren-helm-projectile)
|
||||
(require 'siren-helm-swoop)
|
||||
(require 'siren-ido)
|
||||
(require 'siren-linum)
|
||||
(require 'siren-linum-relative)
|
||||
(require 'siren-magit)
|
||||
(require 'siren-move-beginning-of-line)
|
||||
(require 'siren-multiple-cursors)
|
||||
(require 'siren-org-mode)
|
||||
(require 'siren-packages)
|
||||
(require 'siren-rainbow)
|
||||
(require 'siren-scroll-half-screen)
|
||||
(require 'siren-smartparens)
|
||||
(require 'siren-smex)
|
||||
(require 'siren-string-inflection)
|
||||
(require 'siren-text-manipulation)
|
||||
(require 'siren-toggle-quotes)
|
||||
(require 'siren-undo-tree)
|
||||
(require 'siren-which-key)
|
||||
(require 'siren-window-management)
|
||||
(require 'siren-yasnippet)
|
||||
(require 'siren-zoom-window)
|
||||
;; (require 'siren-auto-complete)
|
||||
;; (require 'siren-edit-server)
|
||||
;; (require 'siren-swiper)
|
||||
;; (require 'siren-volatile-highlights)
|
||||
;; (require 'siren-zone)
|
||||
|
||||
;; Project management
|
||||
(require 'siren-editorconfig)
|
||||
(require 'siren-helm-projectile)
|
||||
(require 'siren-neotree)
|
||||
(require 'siren-projectile)
|
||||
;; (require 'siren-ecb)
|
||||
;; (require 'siren-project-explorer)
|
||||
;; (require 'siren-treemacs)
|
||||
|
||||
;; Spelling
|
||||
(require 'siren-flyspell)
|
||||
|
||||
;; Text editing
|
||||
(require 'siren-expand-region)
|
||||
(require 'siren-goto-chg)
|
||||
(require 'siren-move-dup)
|
||||
(require 'siren-multiple-cursors)
|
||||
(require 'siren-randomize-region)
|
||||
(require 'siren-smart-shift)
|
||||
(require 'siren-smartparens)
|
||||
(require 'siren-sort-symbols)
|
||||
(require 'siren-sort-words)
|
||||
(require 'siren-string-inflection)
|
||||
(require 'siren-toggle-comments)
|
||||
(require 'siren-toggle-quotes)
|
||||
(require 'siren-yasnippet)
|
||||
|
||||
;; Version control
|
||||
(require 'siren-diff-hl)
|
||||
(require 'siren-ediff)
|
||||
(require 'siren-git-timemachine)
|
||||
(require 'siren-github)
|
||||
(require 'siren-magit)
|
||||
|
||||
;; Window management
|
||||
(require 'siren-buffer-move)
|
||||
(require 'siren-windmove)
|
||||
(require 'siren-zoom-window)
|
||||
|
||||
;; Workspace management
|
||||
(require 'siren-escreen)
|
||||
;; (require 'siren-elscreen)
|
||||
;; (require 'siren-eyebrowse)
|
||||
;; (require 'siren-perspective)
|
||||
;; (require 'siren-workgroups2)
|
||||
|
||||
;; Languages
|
||||
(require 'siren-coffee)
|
||||
@@ -93,17 +106,20 @@
|
||||
(require 'siren-lua)
|
||||
(require 'siren-makefile)
|
||||
(require 'siren-markdown)
|
||||
(require 'siren-org-mode)
|
||||
(require 'siren-php)
|
||||
(require 'siren-plantuml)
|
||||
(require 'siren-prog-mode)
|
||||
(require 'siren-ruby)
|
||||
(require 'siren-rust)
|
||||
(require 'siren-sass)
|
||||
(require 'siren-scss)
|
||||
(require 'siren-sh)
|
||||
(require 'siren-slim)
|
||||
(require 'siren-text-mode)
|
||||
(require 'siren-thrift)
|
||||
(require 'siren-web-mode)
|
||||
(require 'siren-yaml)
|
||||
;; (require 'siren-slim)
|
||||
|
||||
(provide 'siren-modules)
|
||||
;;; siren-modules.el ends here
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
;;; Code:
|
||||
|
||||
(use-package fill-column-indicator
|
||||
:hook (prog-mode . fci-mode)
|
||||
:config
|
||||
(setq fci-rule-width 1
|
||||
fci-handle-trucate-lines nil))
|
||||
15
modules/editor/siren-highlight-indent-guides.el
Normal file
15
modules/editor/siren-highlight-indent-guides.el
Normal file
@@ -0,0 +1,15 @@
|
||||
;;; siren-highlight-indent-guides.el --- jimeh's Emacs Siren: highlight-indent-guides-mode configuration.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; Basic configuration for highlight-indent-guides-mode.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(use-package highlight-indent-guides
|
||||
:defer t
|
||||
:commands highlight-indent-guides-mode
|
||||
:diminish highlight-indent-guides-mode)
|
||||
|
||||
(provide 'siren-highlight-indent-guides)
|
||||
;;; siren-highlight-indent-guides.el ends here
|
||||
@@ -11,8 +11,5 @@
|
||||
:diminish (highlight-indentation-mode
|
||||
highlight-indentation-current-column-mode))
|
||||
|
||||
(use-package highlight-indent-guides
|
||||
:defer t)
|
||||
|
||||
(provide 'siren-highlight-indentation)
|
||||
;;; siren-highlight-indentation.el ends here
|
||||
@@ -6,10 +6,13 @@
|
||||
|
||||
;;; Code:
|
||||
|
||||
(use-package linum
|
||||
:ensure nil ;; loaded from emacs built-ins
|
||||
:hook (prog-mode . linum-mode))
|
||||
|
||||
(use-package linum+
|
||||
:ensure nil ;; loaded from vendor
|
||||
:demand
|
||||
|
||||
:after linum
|
||||
:init
|
||||
;; Customize line numbers - In GUI mode the fringe is the spacer between line
|
||||
;; numbers and code, while in console mode we add an extra space for it.
|
||||
@@ -6,11 +6,15 @@
|
||||
|
||||
;;; Code:
|
||||
|
||||
(use-package volatile-highlights-mode
|
||||
(require 'siren-undo-tree)
|
||||
|
||||
(use-package volatile-highlights
|
||||
:demand
|
||||
:diminish volatile-highlights-mode
|
||||
:config
|
||||
(volatile-highlights-mode t))
|
||||
(volatile-highlights-mode t)
|
||||
(vhl/define-extension 'undo-tree 'undo-tree-yank 'undo-tree-move)
|
||||
(vhl/install-extension 'undo-tree))
|
||||
|
||||
(provide 'siren-volatile-highlights)
|
||||
;;; siren-volatile-highlights.el ends here
|
||||
@@ -6,8 +6,6 @@
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'siren-programming)
|
||||
|
||||
(use-package coffee-mode
|
||||
:mode "\\.coffee\\'"
|
||||
:interpreter "coffee"
|
||||
@@ -15,8 +13,6 @@
|
||||
|
||||
:init
|
||||
(defun siren-coffee-mode-setup ()
|
||||
(siren-prog-mode-setup)
|
||||
|
||||
;; remove the "Generated by CoffeeScript" header
|
||||
(add-to-list 'coffee-args-compile "--no-header")
|
||||
|
||||
@@ -6,7 +6,14 @@
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'siren-programming)
|
||||
(require 'siren-fci)
|
||||
(require 'siren-flyspell)
|
||||
(require 'siren-linum)
|
||||
(require 'siren-prog-mode)
|
||||
(require 'siren-flycheck)
|
||||
(require 'siren-highlight-indentation)
|
||||
(require 'siren-highlight-symbol)
|
||||
(require 'siren-smartparens)
|
||||
|
||||
(use-package conf-mode
|
||||
:mode "Procfile\\'" "\\.conf\\'" "\\.cfg\\'"
|
||||
@@ -16,8 +23,15 @@
|
||||
(defun siren-conf-mode-setup ()
|
||||
(siren-prog-mode-setup)
|
||||
(setq tab-width 2)
|
||||
|
||||
(fci-mode)
|
||||
(flycheck-mode)
|
||||
(flyspell-prog-mode)
|
||||
(highlight-indentation-current-column-mode)
|
||||
(highlight-indentation-set-offset 2)
|
||||
(highlight-indentation-current-column-mode)))
|
||||
(highlight-symbol-mode)
|
||||
(linum-mode)
|
||||
(smartparens-mode)))
|
||||
|
||||
(provide 'siren-conf)
|
||||
;;; siren-conf.el ends here
|
||||
@@ -6,7 +6,6 @@
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'siren-programming)
|
||||
(require 'siren-rainbow)
|
||||
|
||||
(use-package css-mode
|
||||
@@ -18,10 +17,10 @@
|
||||
|
||||
:init
|
||||
(defun siren-css-mode-setup ()
|
||||
(siren-prog-mode-setup)
|
||||
(rainbow-mode +1)
|
||||
(setq tab-width 2)
|
||||
(highlight-indentation-current-column-mode)))
|
||||
|
||||
(highlight-indentation-current-column-mode +1)
|
||||
(rainbow-mode +1)))
|
||||
|
||||
(provide 'siren-css)
|
||||
;;; siren-css.el ends here
|
||||
@@ -6,7 +6,14 @@
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'siren-programming)
|
||||
(require 'siren-fci)
|
||||
(require 'siren-flyspell)
|
||||
(require 'siren-linum)
|
||||
(require 'siren-prog-mode)
|
||||
(require 'siren-flycheck)
|
||||
(require 'siren-highlight-indentation)
|
||||
(require 'siren-highlight-symbol)
|
||||
(require 'siren-smartparens)
|
||||
|
||||
(use-package feature-mode
|
||||
:mode "\\.feature\\'"
|
||||
@@ -17,8 +24,15 @@
|
||||
(defun siren-feature-mode-setup ()
|
||||
(siren-prog-mode-setup)
|
||||
(setq tab-width 2)
|
||||
|
||||
(fci-mode)
|
||||
(flycheck-mode)
|
||||
(flyspell-prog-mode)
|
||||
(highlight-indentation-current-column-mode)
|
||||
(highlight-indentation-set-offset 2)
|
||||
(highlight-indentation-current-column-mode)))
|
||||
(highlight-symbol-mode)
|
||||
(linum-mode)
|
||||
(smartparens-mode)))
|
||||
|
||||
(provide 'siren-cucumber)
|
||||
;;; siren-cucumber.el ends here
|
||||
@@ -6,15 +6,12 @@
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'siren-programming)
|
||||
|
||||
(use-package dockerfile-mode
|
||||
:mode "Dockerfile.*\\'"
|
||||
:hook (dockerfile-mode . siren-dockerfile-mode-setup)
|
||||
|
||||
:init
|
||||
(defun siren-dockerfile-mode-setup ()
|
||||
(siren-prog-mode-setup)
|
||||
(subword-mode +1)))
|
||||
|
||||
(provide 'siren-dockerfile)
|
||||
@@ -6,18 +6,12 @@
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'siren-programming)
|
||||
|
||||
(use-package gitconfig-mode
|
||||
:mode "\\.gitconfig" "gitconfig\\'" "\\.git\\\/config"
|
||||
:hook (gitconfig-mode . siren-gitconfig-mode-setup)
|
||||
|
||||
:init
|
||||
(defun siren-gitconfig-mode-setup ()
|
||||
(siren-prog-mode-setup)
|
||||
(setq tab-width 2)
|
||||
(highlight-indentation-current-column-mode)
|
||||
(run-hooks 'siren-prog-mode-hook)))
|
||||
(defun siren-gitconfig-mode-setup ()))
|
||||
|
||||
(provide 'siren-gitconfig)
|
||||
;;; siren-gitconfig.el ends here
|
||||
@@ -6,18 +6,12 @@
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'siren-programming)
|
||||
|
||||
(use-package gitignore-mode
|
||||
:mode "\\.gitignore" "gitignore\\'"
|
||||
:hook (gitignore-mode . siren-gitignore-mode-setup)
|
||||
|
||||
:init
|
||||
(defun siren-gitignore-mode-setup ()
|
||||
(siren-prog-mode-setup)
|
||||
(setq tab-width 2)
|
||||
(highlight-indentation-current-column-mode)
|
||||
(run-hooks 'siren-prog-mode-hook)))
|
||||
(defun siren-gitignore-mode-setup ()))
|
||||
|
||||
(provide 'siren-gitignore)
|
||||
;;; siren-gitignore.el ends here
|
||||
@@ -6,9 +6,10 @@
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'siren-company)
|
||||
(require 'siren-flycheck)
|
||||
(require 'siren-folding)
|
||||
(require 'siren-programming)
|
||||
(require 'siren-projectile)
|
||||
|
||||
(use-package go-mode
|
||||
:mode "\\.go\\'"
|
||||
@@ -23,8 +24,6 @@
|
||||
|
||||
:init
|
||||
(defun siren-go-mode-setup ()
|
||||
(siren-prog-mode-setup)
|
||||
|
||||
;; Prefer goimports to gofmt if installed
|
||||
(let ((goimports (executable-find "goimports")))
|
||||
(when goimports
|
||||
@@ -12,10 +12,9 @@
|
||||
|
||||
:init
|
||||
(defun siren-haml-mode-setup ()
|
||||
(siren-prog-mode-setup)
|
||||
(setq tab-width 2)
|
||||
(highlight-indentation-set-offset 2)
|
||||
(highlight-indentation-current-column-mode)))
|
||||
(highlight-indentation-current-column-mode +1)))
|
||||
|
||||
(provide 'siren-haml)
|
||||
;;; siren-haml.el ends here
|
||||
42
modules/languages/siren-js.el
Normal file
42
modules/languages/siren-js.el
Normal file
@@ -0,0 +1,42 @@
|
||||
;;; siren-js.el --- jimeh's Emacs Siren: js-mode configuration.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; Basic configuration for js-mode.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'siren-prettier-js)
|
||||
(require 'siren-folding)
|
||||
|
||||
(use-package js-mode
|
||||
:ensure nil ;; loaded from emacs built-ins
|
||||
:mode
|
||||
"\\.js\\'"
|
||||
"\\.pac\\'"
|
||||
"node"
|
||||
|
||||
:hook
|
||||
(js-mode . siren-js-mode-setup)
|
||||
|
||||
:init
|
||||
(defun siren-js-mode-setup ()
|
||||
"Default tweaks for `js-mode'."
|
||||
(let ((width 2))
|
||||
(setq js-indent-level width
|
||||
indent-level width
|
||||
tab-width width))
|
||||
|
||||
(prettier-js-mode)
|
||||
(company-mode +1)
|
||||
(subword-mode +1)
|
||||
(hs-minor-mode 1)
|
||||
(highlight-indentation-current-column-mode)
|
||||
(hideshowvis-enable)
|
||||
|
||||
(let ((map js-mode-map))
|
||||
(define-key map (kbd "C-j") 'newline-and-indent)
|
||||
(define-key map (kbd "C-c C-h") 'siren-toggle-hiding))))
|
||||
|
||||
(provide 'siren-js)
|
||||
;;; siren-js.el ends here
|
||||
@@ -8,11 +8,6 @@
|
||||
|
||||
(require 'siren-eslintd-fix)
|
||||
(require 'siren-folding)
|
||||
(require 'siren-programming)
|
||||
|
||||
(use-package omnifmt
|
||||
:ensure nil ;; loaded from vendor
|
||||
)
|
||||
|
||||
(use-package json-mode
|
||||
:mode "\\.json\\'"
|
||||
@@ -22,10 +17,12 @@
|
||||
("C-j" . newline-and-indent)
|
||||
("C-c C-h" . siren-toggle-hiding))
|
||||
|
||||
:hook
|
||||
(json-mode . siren-json-mode-setup)
|
||||
|
||||
:init
|
||||
(defun siren-json-mode-setup ()
|
||||
"Default tweaks for `json-mode'."
|
||||
(siren-prog-mode-setup)
|
||||
|
||||
(let ((width 2))
|
||||
(setq js-indent-level width)
|
||||
@@ -33,18 +30,7 @@
|
||||
(setq tab-width width)
|
||||
(highlight-indentation-set-offset width))
|
||||
|
||||
(setq flycheck-checker 'json-jsonlint)
|
||||
|
||||
(eslintd-fix-mode -1)
|
||||
(omnifmt-mode +1)
|
||||
(company-mode +1)
|
||||
(subword-mode +1)
|
||||
(hs-minor-mode 1)
|
||||
(highlight-indentation-current-column-mode)
|
||||
(hideshowvis-enable))
|
||||
|
||||
:hook
|
||||
(json-mode . siren-json-mode-setup))
|
||||
(setq flycheck-checker 'json-jsonlint)))
|
||||
|
||||
(provide 'siren-json)
|
||||
;;; siren-js.el ends here
|
||||
@@ -15,13 +15,11 @@
|
||||
|
||||
:init
|
||||
(defun siren-rjsx-mode-setup ()
|
||||
(siren-prog-mode-setup)
|
||||
|
||||
(prettier-js-mode)
|
||||
(prettier-js-mode +1)
|
||||
(company-mode +1)
|
||||
(subword-mode +1)
|
||||
(hs-minor-mode 1)
|
||||
(highlight-indentation-current-column-mode)
|
||||
(hs-minor-mode +1)
|
||||
(highlight-indentation-current-column-mode +1)
|
||||
(hideshowvis-enable)))
|
||||
|
||||
(provide 'siren-jsx)
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'siren-programming)
|
||||
(require 'siren-highlight-indent-guides)
|
||||
|
||||
;; Lisp configuration
|
||||
(define-key read-expression-map (kbd "TAB") 'completion-at-point)
|
||||
@@ -6,16 +6,12 @@
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'siren-programming)
|
||||
|
||||
(use-package lua-mode
|
||||
:hook
|
||||
(lua-mode . siren-lua-mode-setup)
|
||||
|
||||
:init
|
||||
(defun siren-lua-mode-setup ()
|
||||
(siren-prog-mode-setup)
|
||||
|
||||
(setq lua-indent-level 2
|
||||
whitespace-action '(auto-cleanup))
|
||||
|
||||
23
modules/languages/siren-makefile.el
Normal file
23
modules/languages/siren-makefile.el
Normal file
@@ -0,0 +1,23 @@
|
||||
;;; siren-makefile.el --- jimeh's Emacs Siren: makefile-mode configuration.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; Basic configuration for makefile-mode.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(use-package make-mode
|
||||
:ensure nil ;; loaded from emacs built-ins
|
||||
:hook
|
||||
(makefile-mode-hook . siren-makefile-mode-setup)
|
||||
|
||||
:init
|
||||
(add-to-list 'siren-indent-sensitive-modes 'makefile-mode)
|
||||
(defun siren-makefile-mode-setup ()
|
||||
(subword-mode +1)
|
||||
(setq tab-width 4)
|
||||
(highlight-indentation-set-offset 4)
|
||||
(highlight-indentation-current-column-mode)))
|
||||
|
||||
(provide 'siren-makefile)
|
||||
;;; siren-makefile.el ends here
|
||||
@@ -6,7 +6,9 @@
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'siren-fci)
|
||||
(require 'siren-flyspell)
|
||||
(require 'siren-linum)
|
||||
(require 'siren-smartparens)
|
||||
|
||||
(use-package markdown-mode
|
||||
@@ -25,14 +27,13 @@
|
||||
|
||||
:init
|
||||
(defun siren-markdown-mode-setup ()
|
||||
(setq whitespace-action nil
|
||||
fill-column 80
|
||||
markdown-asymmetric-header t)
|
||||
(setq markdown-asymmetric-header t
|
||||
whitespace-action nil)
|
||||
|
||||
(fci-mode)
|
||||
(linum-mode t)
|
||||
(flyspell-mode)
|
||||
(auto-fill-mode)
|
||||
(fci-mode)
|
||||
(flyspell-mode)
|
||||
(linum-mode t)
|
||||
(smartparens-mode +1)
|
||||
(subword-mode))
|
||||
|
||||
43
modules/languages/siren-org-mode.el
Normal file
43
modules/languages/siren-org-mode.el
Normal file
@@ -0,0 +1,43 @@
|
||||
;;; siren-org-mode.el --- jimeh's Emacs Siren: org-mode configuration.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; Basic configuration for org-mode.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'siren-fci)
|
||||
(require 'siren-flyspell)
|
||||
(require 'siren-linum)
|
||||
(require 'siren-smartparens)
|
||||
|
||||
(use-package org-mode
|
||||
:ensure nil ;; loaded from emacs built-ins
|
||||
:hook (org-mode-hook . siren-org-mode-setup)
|
||||
|
||||
:init
|
||||
(defun siren-org-mode-setup ()
|
||||
(setq org-export-backends '(ascii html icalendar latex md confluence)
|
||||
fill-column 80
|
||||
whitespace-action '(auto-cleanup))
|
||||
|
||||
(linum-mode t)
|
||||
(flyspell-mode)
|
||||
(fci-mode)
|
||||
(smartparens-mode +1)
|
||||
(visual-line-mode +1)
|
||||
(whitespace-mode +1)
|
||||
(let ((map org-mode-map))
|
||||
(define-key map (kbd "M-[") 'org-promote-subtree)
|
||||
(define-key map (kbd "M-]") 'org-demote-subtree)
|
||||
(define-key map (kbd "M-p") 'org-metaup)
|
||||
(define-key map (kbd "M-n") 'org-metadown)
|
||||
(define-key map (kbd "C-M-n") 'outline-next-visible-heading)
|
||||
(define-key map (kbd "C-M-p") 'outline-previous-visible-heading))))
|
||||
|
||||
(use-package org-mouse
|
||||
:ensure nil ;; loaded from emacs built-ins
|
||||
:after org-mode)
|
||||
|
||||
(provide 'siren-org-mode)
|
||||
;;; siren-org-mode.el ends here
|
||||
@@ -6,7 +6,8 @@
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'siren-programming)
|
||||
(require 'siren-folding)
|
||||
(require 'siren-highlight-indentation)
|
||||
(require 'siren-rainbow)
|
||||
|
||||
(use-package php-mode
|
||||
@@ -17,7 +18,6 @@
|
||||
|
||||
:init
|
||||
(defun siren-php-mode-setup ()
|
||||
(siren-prog-mode-setup)
|
||||
(rainbow-mode +1)
|
||||
(company-mode +1)
|
||||
(subword-mode +1)
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'siren-programming)
|
||||
(require 'siren-highlight-indentation)
|
||||
|
||||
(use-package plantuml-mode
|
||||
:mode "\\.uml\\'"
|
||||
@@ -15,9 +15,9 @@
|
||||
|
||||
:init
|
||||
(defun siren-plantuml-mode-setup ()
|
||||
(siren-prog-mode-setup)
|
||||
(setq tab-width 2
|
||||
plantuml-jar-path "/usr/local/opt/plantuml/libexec/plantuml.jar")
|
||||
|
||||
(highlight-indentation-set-offset 2)
|
||||
(highlight-indentation-current-column-mode)))
|
||||
|
||||
24
modules/languages/siren-prog-mode.el
Normal file
24
modules/languages/siren-prog-mode.el
Normal file
@@ -0,0 +1,24 @@
|
||||
;;; siren-prog-mode.el --- jimeh's Emacs Siren: defaults for programming modes
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; Basic configuration shared across all programming languages.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(use-package prog-mode
|
||||
:ensure nil ;; loaded from emacs built-ins
|
||||
:hook
|
||||
(prog-mode . siren-prog-mode-setup)
|
||||
|
||||
:init
|
||||
(defun siren-prog-mode-setup ()
|
||||
"Default coding hook, useful with any programming language."
|
||||
(setq fill-column 80
|
||||
whitespace-action '(auto-cleanup))
|
||||
|
||||
(visual-line-mode +1)
|
||||
(whitespace-mode +1)))
|
||||
|
||||
(provide 'siren-prog-mode)
|
||||
;;; siren-prog-mode.el ends here
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
(require 'siren-company)
|
||||
(require 'siren-folding)
|
||||
(require 'siren-programming)
|
||||
(require 'siren-highlight-indentation)
|
||||
(require 'siren-smartparens)
|
||||
(require 'siren-toggle-quotes)
|
||||
|
||||
@@ -50,8 +50,6 @@
|
||||
|
||||
:init
|
||||
(defun siren-ruby-mode-setup ()
|
||||
(siren-prog-mode-setup)
|
||||
|
||||
(setq c-tab-always-indent nil
|
||||
ruby-align-chained-calls t
|
||||
ruby-insert-encoding-magic-comment t
|
||||
@@ -99,7 +97,7 @@
|
||||
'(push 'company-robe company-backends))
|
||||
|
||||
:config
|
||||
;; Unbind keys used by siren-text-manipulation module
|
||||
;; Unbind keys used by siren-expand-region module
|
||||
(unbind-key "M-." robe-mode-map)
|
||||
(unbind-key "M-," robe-mode-map))
|
||||
|
||||
@@ -6,9 +6,8 @@
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'siren-flycheck)
|
||||
(require 'siren-folding)
|
||||
(require 'siren-programming)
|
||||
(require 'siren-highlight-indentation)
|
||||
|
||||
(use-package rust-mode
|
||||
:mode "\\.rs\\'"
|
||||
@@ -22,8 +21,6 @@
|
||||
|
||||
:init
|
||||
(defun siren-rust-mode-setup ()
|
||||
(siren-prog-mode-setup)
|
||||
|
||||
(setq rust-format-on-save t)
|
||||
|
||||
(hs-minor-mode 1)
|
||||
@@ -12,12 +12,13 @@
|
||||
:mode "\\.scss\\'"
|
||||
:hook (scss-mode-hook . siren-scss-mode-setup)
|
||||
|
||||
:init
|
||||
(defun siren-scss-mode-setup ()
|
||||
(siren-css-mode-setup))
|
||||
|
||||
:config
|
||||
;; turn off annoying auto-compile on save
|
||||
(setq scss-compile-at-save nil)
|
||||
|
||||
(defun siren-scss-mode-setup ()
|
||||
(siren-css-mode-setup)))
|
||||
(setq scss-compile-at-save nil))
|
||||
|
||||
(provide 'siren-scss)
|
||||
;;; siren-scss.el ends here
|
||||
29
modules/languages/siren-sh.el
Normal file
29
modules/languages/siren-sh.el
Normal file
@@ -0,0 +1,29 @@
|
||||
;;; siren-sh.el --- jimeh's Emacs Siren: sh-mode configuration.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; Basic configuration for sh-mode.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'siren-highlight-indentation)
|
||||
|
||||
(use-package sh-script
|
||||
:ensure nil ;; loaded from emacs built-ins
|
||||
:hook
|
||||
(sh-mode-hook . siren-sh-mode-setup)
|
||||
|
||||
:init
|
||||
(defun siren-sh-mode-setup ()
|
||||
(setq tab-width 2
|
||||
sh-basic-offset 2
|
||||
sh-indentation 2
|
||||
whitespace-action '(auto-cleanup))
|
||||
|
||||
(subword-mode +1)
|
||||
(highlight-indentation-set-offset 2)
|
||||
(highlight-indentation-current-column-mode)
|
||||
(define-key sh-mode-map (kbd "RET") 'newline-and-indent)))
|
||||
|
||||
(provide 'siren-sh)
|
||||
;;; siren-sh.el ends here
|
||||
@@ -6,17 +6,15 @@
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'siren-highlight-indentation)
|
||||
|
||||
(use-package slim-mode
|
||||
:mode "\\.slim\\'"
|
||||
:hook (slim-mode-hook . siren-slim-mode-hook)
|
||||
|
||||
:init
|
||||
(defun siren-slim-mode-setup ()
|
||||
(siren-prog-mode-setup)
|
||||
(highlight-indentation-current-column-mode))
|
||||
|
||||
(setq siren-slim-mode-hook 'siren-slim-mode-defaults)
|
||||
(add-hook 'slim-mode-hook (lambda () (run-hooks 'siren-slim-mode-hook))))
|
||||
(highlight-indentation-current-column-mode)))
|
||||
|
||||
(provide 'siren-slim)
|
||||
;;; siren-slim.el ends here
|
||||
17
modules/languages/siren-text-mode.el
Normal file
17
modules/languages/siren-text-mode.el
Normal file
@@ -0,0 +1,17 @@
|
||||
;;; siren-text-mode.el --- jimeh's Emacs Siren: text-mode configuration.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; Basic configuration for text-mode.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(use-package text-mode
|
||||
:ensure nil ;; loaded from emacs built-ins
|
||||
:hook (text-mode . siren-text-mode-setup)
|
||||
:init
|
||||
(defun siren-text-mode-setup ()
|
||||
(setq fill-column 80)))
|
||||
|
||||
(provide 'siren-text-mode)
|
||||
;;; siren-text-mode.el ends here
|
||||
@@ -6,7 +6,14 @@
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'siren-programming)
|
||||
(require 'siren-fci)
|
||||
(require 'siren-flyspell)
|
||||
(require 'siren-linum)
|
||||
(require 'siren-prog-mode)
|
||||
(require 'siren-flycheck)
|
||||
(require 'siren-highlight-indentation)
|
||||
(require 'siren-highlight-symbol)
|
||||
(require 'siren-smartparens)
|
||||
|
||||
(use-package thrift
|
||||
:mode "\\.thrift\\'"
|
||||
@@ -15,9 +22,16 @@
|
||||
:init
|
||||
(defun siren-thrift-mode-setup ()
|
||||
(siren-prog-mode-setup)
|
||||
|
||||
(setq tab-width 2)
|
||||
|
||||
(fci-mode)
|
||||
(flycheck-mode)
|
||||
(flyspell-prog-mode)
|
||||
(highlight-indentation-current-column-mode)
|
||||
(highlight-indentation-set-offset 2)
|
||||
(highlight-symbol-mode)
|
||||
(linum-mode)
|
||||
(smartparens-mode)
|
||||
(subword-mode +1)))
|
||||
|
||||
(provide 'siren-thrift)
|
||||
@@ -6,7 +6,10 @@
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'siren-programming)
|
||||
(require 'siren-company)
|
||||
(require 'siren-fci)
|
||||
(require 'siren-folding)
|
||||
(require 'siren-highlight-indentation)
|
||||
|
||||
(use-package web-mode
|
||||
:mode
|
||||
@@ -25,7 +28,6 @@
|
||||
"Default tweaks for `web-mode'."
|
||||
(setq tab-width 2)
|
||||
|
||||
(siren-prog-mode-setup)
|
||||
(company-mode +1)
|
||||
(fci-mode -1)
|
||||
(hideshowvis-enable)
|
||||
@@ -6,7 +6,12 @@
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'siren-programming)
|
||||
(require 'siren-fci)
|
||||
(require 'siren-flyspell)
|
||||
(require 'siren-highlight-indentation)
|
||||
(require 'siren-linum)
|
||||
(require 'siren-prog-mode)
|
||||
(require 'siren-smartparens)
|
||||
|
||||
(use-package yaml-mode
|
||||
:mode "\\.yml\\'" "\\.yaml\\'"
|
||||
@@ -22,8 +27,12 @@
|
||||
(setq tab-width 2
|
||||
whitespace-action '(auto-cleanup))
|
||||
|
||||
(highlight-indentation-set-offset 2)
|
||||
(fci-mode)
|
||||
(flyspell-mode)
|
||||
(highlight-indentation-current-column-mode)
|
||||
(highlight-indentation-set-offset 2)
|
||||
(linum-mode t)
|
||||
(smartparens-mode +1)
|
||||
(subword-mode +1)))
|
||||
|
||||
(provide 'siren-yaml)
|
||||
@@ -7,6 +7,7 @@
|
||||
;;; Code:
|
||||
|
||||
(use-package flycheck
|
||||
:hook (prog-mode . flycheck-mode)
|
||||
:config
|
||||
(setq flycheck-completion-system 'ido
|
||||
flycheck-idle-change-delay 1.0
|
||||
@@ -17,7 +17,11 @@
|
||||
(defun siren-dired-mode-setup ()
|
||||
(linum-mode t)
|
||||
(define-key dired-mode-map (kbd "c") 'dired-create-directory)
|
||||
(toggle-diredp-find-file-reuse-dir 1)))
|
||||
(toggle-diredp-find-file-reuse-dir 1))
|
||||
|
||||
:config
|
||||
(unbind-key "M-i" dired-mode-map)
|
||||
(unbind-key "M-l" dired-mode-map))
|
||||
|
||||
(provide 'siren-dired)
|
||||
;;; siren-dired.el ends here
|
||||
@@ -12,6 +12,9 @@
|
||||
("C-c C-p" . highlight-symbol-prev)
|
||||
("C-c C-n" . highlight-symbol-next)
|
||||
|
||||
:hook
|
||||
(prog-mode . highlight-symbol-mode)
|
||||
|
||||
:config
|
||||
(setq highlight-symbol-highlight-single-occurrence 'nil
|
||||
highlight-symbol-idle-delay 0.5))
|
||||
@@ -1,17 +0,0 @@
|
||||
;;; siren-flyspell.el --- jimeh's Emacs Siren: flyspell configuration.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; Basic configuration for flyspell.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'flyspell)
|
||||
(diminish 'flyspell-mode)
|
||||
(setq ispell-program-name "aspell" ; use aspell instead of ispell
|
||||
ispell-extra-args '("--lang=en" "--sug-mode=ultra"))
|
||||
|
||||
(global-set-key (kbd "s-.") 'flyspell-correct-word-before-point)
|
||||
|
||||
(provide 'siren-flyspell)
|
||||
;;; siren-flyspell.el ends here
|
||||
@@ -1,39 +0,0 @@
|
||||
;;; siren-js.el --- jimeh's Emacs Siren: js-mode configuration.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; Basic configuration for js-mode.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'siren-prettier-js)
|
||||
(require 'siren-folding)
|
||||
(require 'siren-programming)
|
||||
|
||||
(add-to-list 'auto-mode-alist '("\\.js\\'" . js-mode))
|
||||
(add-to-list 'auto-mode-alist '("\\.pac\\'" . js-mode))
|
||||
(add-to-list 'interpreter-mode-alist '("node" . js-mode))
|
||||
|
||||
(defun siren-js-mode-setup ()
|
||||
"Default tweaks for `js-mode'."
|
||||
(let ((width 2))
|
||||
(setq js-indent-level width
|
||||
indent-level width
|
||||
tab-width width))
|
||||
|
||||
(siren-prog-mode-setup)
|
||||
(prettier-js-mode)
|
||||
(company-mode +1)
|
||||
(subword-mode +1)
|
||||
(hs-minor-mode 1)
|
||||
(highlight-indentation-current-column-mode)
|
||||
(hideshowvis-enable)
|
||||
|
||||
(let ((map js-mode-map))
|
||||
(define-key map (kbd "C-j") 'newline-and-indent)
|
||||
(define-key map (kbd "C-c C-h") 'siren-toggle-hiding)))
|
||||
|
||||
(add-hook 'js-mode-hook #'siren-js-mode-setup)
|
||||
|
||||
(provide 'siren-js)
|
||||
;;; siren-js.el ends here
|
||||
@@ -1,23 +0,0 @@
|
||||
;;; siren-makefile.el --- jimeh's Emacs Siren: makefile-mode configuration.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; Basic configuration for makefile-mode.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'siren-programming)
|
||||
|
||||
(add-to-list 'siren-indent-sensitive-modes 'makefile-mode)
|
||||
|
||||
(defun siren-makefile-mode-setup ()
|
||||
(siren-prog-mode-setup)
|
||||
(subword-mode)
|
||||
(setq tab-width 4)
|
||||
(highlight-indentation-set-offset 4)
|
||||
(highlight-indentation-current-column-mode))
|
||||
|
||||
(add-hook 'makefile-mode-hook #'siren-makefile-mode-setup)
|
||||
|
||||
(provide 'siren-makefile)
|
||||
;;; siren-makefile.el ends here
|
||||
@@ -1,37 +0,0 @@
|
||||
;;; siren-org-mode.el --- jimeh's Emacs Siren: org-mode configuration.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; Basic configuration for org-mode.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'siren-fci)
|
||||
(require 'siren-flyspell)
|
||||
(require 'siren-smartparens)
|
||||
|
||||
(defun siren-org-mode-setup ()
|
||||
(setq org-export-backends '(ascii html icalendar latex md confluence)
|
||||
fill-column 80
|
||||
whitespace-action '(auto-cleanup))
|
||||
|
||||
(require 'org-mouse)
|
||||
|
||||
(linum-mode t)
|
||||
(flyspell-mode)
|
||||
(fci-mode)
|
||||
(smartparens-mode +1)
|
||||
(visual-line-mode +1)
|
||||
(whitespace-mode +1)
|
||||
(let ((map org-mode-map))
|
||||
(define-key map (kbd "M-[") 'org-promote-subtree)
|
||||
(define-key map (kbd "M-]") 'org-demote-subtree)
|
||||
(define-key map (kbd "M-p") 'org-metaup)
|
||||
(define-key map (kbd "M-n") 'org-metadown)
|
||||
(define-key map (kbd "C-M-n") 'outline-next-visible-heading)
|
||||
(define-key map (kbd "C-M-p") 'outline-previous-visible-heading)))
|
||||
|
||||
(add-hook 'org-mode-hook #'siren-org-mode-setup)
|
||||
|
||||
(provide 'siren-org-mode)
|
||||
;;; siren-org-mode.el ends here
|
||||
@@ -1,14 +0,0 @@
|
||||
;;; siren-phi-search.el --- jimeh's Emacs Siren: phi-search configuration.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; Basic configuration for phi-search.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(use-package phi-search
|
||||
:config
|
||||
(setq phi-search-limit 3000))
|
||||
|
||||
(provide 'siren-phi-search)
|
||||
;;; siren-phi-search.el ends here
|
||||
@@ -1,32 +0,0 @@
|
||||
;;; siren-programming.el --- jimeh's Emacs Siren: defaults for programming modes
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; Basic configuration shared across all programming languages.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'siren-fci)
|
||||
(require 'siren-flycheck)
|
||||
(require 'siren-flyspell)
|
||||
(require 'siren-smartparens)
|
||||
(require 'siren-highlight-indentation)
|
||||
(require 'siren-highlight-symbol)
|
||||
|
||||
(defun siren-prog-mode-setup ()
|
||||
"Default coding hook, useful with any programming language."
|
||||
(setq fill-column 80)
|
||||
(linum-mode t)
|
||||
(flyspell-prog-mode)
|
||||
(flycheck-mode +1)
|
||||
(fci-mode)
|
||||
(smartparens-mode +1)
|
||||
(highlight-symbol-mode)
|
||||
(setq whitespace-action '(auto-cleanup))
|
||||
(visual-line-mode +1)
|
||||
(whitespace-mode +1))
|
||||
|
||||
(add-hook 'prog-mode-hook #'siren-prog-mode-setup)
|
||||
|
||||
(provide 'siren-programming)
|
||||
;;; siren-programming.el ends here
|
||||
@@ -1,27 +0,0 @@
|
||||
;;; siren-sh.el --- jimeh's Emacs Siren: sh-mode configuration.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; Basic configuration for sh-mode.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'siren-programming)
|
||||
|
||||
(defun siren-sh-mode-setup ()
|
||||
(siren-prog-mode-setup)
|
||||
|
||||
(setq tab-width 2
|
||||
sh-basic-offset 2
|
||||
sh-indentation 2
|
||||
whitespace-action '(auto-cleanup))
|
||||
|
||||
(subword-mode +1)
|
||||
(highlight-indentation-set-offset 2)
|
||||
(highlight-indentation-current-column-mode)
|
||||
(define-key sh-mode-map (kbd "RET") 'newline-and-indent))
|
||||
|
||||
(add-hook 'sh-mode-hook #'siren-sh-mode-setup)
|
||||
|
||||
(provide 'siren-sh)
|
||||
;;; siren-sh.el ends here
|
||||
@@ -1,86 +0,0 @@
|
||||
;;; siren-text-manipulation.el --- jimeh's Emacs Siren: text-manipulation.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; Various text manipulation functions and keybindings. Some of them shamelessly
|
||||
;; ripped from textmate.el: https://github.com/defunkt/textmate.el
|
||||
|
||||
;;; Code:
|
||||
|
||||
(use-package move-dup
|
||||
:bind
|
||||
("M-p" . md/move-lines-up)
|
||||
("M-n" . md/move-lines-down)
|
||||
("C-x C-d" . md/duplicate-down))
|
||||
|
||||
(use-package expand-region
|
||||
:bind
|
||||
("M-." . er/expand-region)
|
||||
("M-," . er/contract-region))
|
||||
|
||||
(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"))
|
||||
()
|
||||
,(format "Like `%s', but acts on the current line if mark is not active."
|
||||
orig-function)
|
||||
(interactive)
|
||||
(if mark-active
|
||||
(call-interactively (function ,orig-function))
|
||||
(save-excursion
|
||||
;; define a region (temporarily) -- so any C-u prefixes etc. are preserved.
|
||||
(beginning-of-line)
|
||||
(set-mark (point))
|
||||
(end-of-line)
|
||||
(call-interactively (function ,orig-function))))))
|
||||
|
||||
(unless (fboundp 'comment-or-uncomment-region-or-line)
|
||||
(allow-line-as-region-for-function comment-or-uncomment-region))
|
||||
|
||||
;; from: https://www.emacswiki.org/emacs/RandomizeBuffer
|
||||
(defun randomize-region (beg end)
|
||||
"Randomize lines in region from BEG to END."
|
||||
(interactive "*r")
|
||||
(let ((lines (split-string
|
||||
(delete-and-extract-region beg end) "\n")))
|
||||
(when (string-equal "" (car (last lines 1)))
|
||||
(setq lines (butlast lines 1)))
|
||||
(apply 'insert
|
||||
(mapcar 'cdr
|
||||
(sort (mapcar
|
||||
(lambda (x) (cons (random) (concat x "\n"))) lines)
|
||||
(lambda (a b) (< (car a) (car b))))))))
|
||||
|
||||
;; from: https://www.emacswiki.org/emacs/SortWords
|
||||
(defun sort-words (reverse beg end)
|
||||
"Sort words in region alphabetically, in REVERSE if negative.
|
||||
Prefixed with negative \\[universal-argument], sorts in reverse.
|
||||
|
||||
The variable `sort-fold-case' determines whether alphabetic case
|
||||
affects the sort order.
|
||||
|
||||
See `sort-regexp-fields'."
|
||||
(interactive "*P\nr")
|
||||
(sort-regexp-fields reverse "\\w+" "\\&" beg end))
|
||||
|
||||
(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)
|
||||
|
||||
;; from: https://www.emacswiki.org/emacs/SortWords
|
||||
(defun sort-symbols (reverse beg end)
|
||||
"Sort symbols in region alphabetically, in REVERSE if negative.
|
||||
See `sort-words'."
|
||||
(interactive "*P\nr")
|
||||
(sort-regexp-fields reverse "\\(\\sw\\|\\s_\\)+" "\\&" beg end))
|
||||
|
||||
(defalias 'sw 'sort-words)
|
||||
(defalias 'ss 'sort-symbols)
|
||||
|
||||
(provide 'siren-text-manipulation)
|
||||
;;; siren-text-manipulation.el ends here
|
||||
@@ -1,33 +0,0 @@
|
||||
;;; siren-window-management.el --- jimeh's Emacs Siren: window-management.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; Basic window management stuff.
|
||||
|
||||
;;; 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)))))
|
||||
|
||||
;; Navigate to windows
|
||||
(global-set-key (kbd "M-k") (ignore-error-wrapper 'windmove-down))
|
||||
(global-set-key (kbd "M-i") (ignore-error-wrapper 'windmove-up))
|
||||
(global-set-key (kbd "M-j") (ignore-error-wrapper 'windmove-left))
|
||||
(global-set-key (kbd "M-l") (ignore-error-wrapper 'windmove-right))
|
||||
|
||||
(provide 'siren-window-management)
|
||||
;;; siren-window-management.el ends here
|
||||
28
modules/spelling/siren-flyspell.el
Normal file
28
modules/spelling/siren-flyspell.el
Normal file
@@ -0,0 +1,28 @@
|
||||
;;; siren-flyspell.el --- jimeh's Emacs Siren: flyspell configuration.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; Basic configuration for flyspell.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(use-package flyspell
|
||||
:ensure nil ;; loaded from emacs built-ins
|
||||
:demand
|
||||
:diminish flyspell-mode
|
||||
:bind
|
||||
("s-." . flyspell-correct-word-before-point)
|
||||
|
||||
:hook
|
||||
(prog-mode . flyspell-prog-mode)
|
||||
|
||||
:config
|
||||
;; Ensure flyspell does not override keybindings of siren-goto-chg module.
|
||||
(unbind-key "C-." flyspell-mode-map)
|
||||
(unbind-key "C-," flyspell-mode-map)
|
||||
|
||||
(setq ispell-program-name "aspell" ; use aspell instead of ispell
|
||||
ispell-extra-args '("--lang=en" "--sug-mode=ultra")))
|
||||
|
||||
(provide 'siren-flyspell)
|
||||
;;; siren-flyspell.el ends here
|
||||
15
modules/text-editing/siren-expand-region.el
Normal file
15
modules/text-editing/siren-expand-region.el
Normal file
@@ -0,0 +1,15 @@
|
||||
;;; siren-expand-region.el --- jimeh's Emacs Siren: expand-region
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; Configuration for expand-region
|
||||
|
||||
;;; Code:
|
||||
|
||||
(use-package expand-region
|
||||
:bind
|
||||
("M-." . er/expand-region)
|
||||
("M-," . er/contract-region))
|
||||
|
||||
(provide 'siren-expand-region)
|
||||
;;; siren-expand-region.el ends here
|
||||
@@ -8,12 +8,6 @@
|
||||
|
||||
(use-package goto-chg
|
||||
:bind (("C-." . goto-last-change)
|
||||
("C-," . goto-last-change-reverse)
|
||||
;; Flyspell uses C-. and C-, itself in a such a way that this is the
|
||||
;; only way to make goto-chg bind to those keys while flyspell-mode is
|
||||
;; enabled.
|
||||
:map flyspell-mode-map
|
||||
("C-." . goto-last-change)
|
||||
("C-," . goto-last-change-reverse)))
|
||||
|
||||
(provide 'siren-goto-chg)
|
||||
16
modules/text-editing/siren-move-dup.el
Normal file
16
modules/text-editing/siren-move-dup.el
Normal file
@@ -0,0 +1,16 @@
|
||||
;;; siren-move-dup.el --- jimeh's Emacs Siren: move-dup
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; Configuration for move-dup
|
||||
|
||||
;;; Code:
|
||||
|
||||
(use-package move-dup
|
||||
:bind
|
||||
("M-p" . md/move-lines-up)
|
||||
("M-n" . md/move-lines-down)
|
||||
("C-x C-d" . md/duplicate-down))
|
||||
|
||||
(provide 'siren-move-dup)
|
||||
;;; siren-move-dup.el ends here
|
||||
@@ -6,8 +6,6 @@
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'siren-phi-search)
|
||||
|
||||
(use-package multiple-cursors
|
||||
:bind
|
||||
("C-x C-@" . mc/edit-lines) ;; Terminal
|
||||
@@ -23,5 +21,10 @@
|
||||
(global-unset-key (kbd "M-<down-mouse-1>")) ;; must unset key first
|
||||
(global-set-key (kbd "M-<mouse-1>") 'mc/add-cursor-on-click))
|
||||
|
||||
;; Allows searching forward/back (C-s/C-r) searching with multiple cursors.
|
||||
(use-package phi-search
|
||||
:config
|
||||
(setq phi-search-limit 3000))
|
||||
|
||||
(provide 'siren-multiple-cursors)
|
||||
;;; siren-multiple-cursors.el ends here
|
||||
24
modules/text-editing/siren-randomize-region.el
Normal file
24
modules/text-editing/siren-randomize-region.el
Normal file
@@ -0,0 +1,24 @@
|
||||
;;; siren-randomize-region.el --- jimeh's Emacs Siren: randomize-region
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; Helper command to randomize the order of lines in region. Shamelessly ripped
|
||||
;; from: https://www.emacswiki.org/emacs/RandomizeBuffer
|
||||
|
||||
;;; Code:
|
||||
|
||||
(defun randomize-region (beg end)
|
||||
"Randomize lines in region from BEG to END."
|
||||
(interactive "*r")
|
||||
(let ((lines (split-string
|
||||
(delete-and-extract-region beg end) "\n")))
|
||||
(when (string-equal "" (car (last lines 1)))
|
||||
(setq lines (butlast lines 1)))
|
||||
(apply 'insert
|
||||
(mapcar 'cdr
|
||||
(sort (mapcar
|
||||
(lambda (x) (cons (random) (concat x "\n"))) lines)
|
||||
(lambda (a b) (< (car a) (car b))))))))
|
||||
|
||||
(provide 'siren-randomize-region)
|
||||
;;; siren-randomize-region.el ends here
|
||||
17
modules/text-editing/siren-smart-shift.el
Normal file
17
modules/text-editing/siren-smart-shift.el
Normal file
@@ -0,0 +1,17 @@
|
||||
;;; siren-smart-shift.el --- jimeh's Emacs Siren: smart-shift
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; Configuration for smart-shift
|
||||
|
||||
;;; Code:
|
||||
|
||||
(use-package smart-shift
|
||||
:bind
|
||||
("C-c [" . smart-shift-left)
|
||||
("C-c ]" . smart-shift-right)
|
||||
("M-[" . smart-shift-left)
|
||||
("M-]" . smart-shift-right))
|
||||
|
||||
(provide 'siren-smart-shift)
|
||||
;;; siren-smart-shift.el ends here
|
||||
@@ -27,6 +27,9 @@
|
||||
("C-<backspace>" . sp-backward-kill-sexp)
|
||||
("C-<delete>" . sp-kill-sexp))
|
||||
|
||||
:hook
|
||||
(prog-mode . smartparens-mode)
|
||||
|
||||
:config
|
||||
;; smart pairing for all
|
||||
(require 'smartparens-config)
|
||||
19
modules/text-editing/siren-sort-symbols.el
Normal file
19
modules/text-editing/siren-sort-symbols.el
Normal file
@@ -0,0 +1,19 @@
|
||||
;;; siren-sort-symbols.el --- jimeh's Emacs Siren: sort-symbols.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; Helper command to sort symbols in region. Shamelessly ripped from:
|
||||
;; https://www.emacswiki.org/emacs/SortWords
|
||||
|
||||
;;; Code:
|
||||
|
||||
(defun sort-symbols (reverse beg end)
|
||||
"Sort symbols in region alphabetically, in REVERSE if negative.
|
||||
See `sort-symbols'."
|
||||
(interactive "*P\nr")
|
||||
(sort-regexp-fields reverse "\\(\\sw\\|\\s_\\)+" "\\&" beg end))
|
||||
|
||||
(defalias 'ss 'sort-symbols)
|
||||
|
||||
(provide 'siren-sort-symbols)
|
||||
;;; siren-sort-symbols.el ends here
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user