Merge pull request #8 from jimeh/emacs-27

This commit is contained in:
2020-05-04 21:15:23 +01:00
committed by GitHub
140 changed files with 1634 additions and 16520 deletions

6
.gitignore vendored
View File

@@ -1,5 +1,11 @@
straight/*
!straight/versions/
!straight/versions/*
*.elc
.DS_Store
.cache/*
.extension/*
.lsp-session*
.mc-lists.el
ac-comphist.dat

View File

@@ -31,13 +31,6 @@ endef
# Defined vendored dependencies.
#
$(eval $(call vendored,vendor/dired+.el,https://www.emacswiki.org/emacs/download/dired%2b.el))
$(eval $(call vendored,vendor/escreen.el,https://github.com/renard/escreen-el/raw/master/escreen.el))
$(eval $(call vendored,vendor/hideshowvis.el,https://www.emacswiki.org/emacs/download/hideshowvis.el))
$(eval $(call vendored,vendor/linum+.el,http://www.emacswiki.org/emacs/download/linum%2b.el))
$(eval $(call vendored,vendor/ruby-guard.el,https://github.com/zhangkaiyulw/ruby-guard/raw/master/ruby-guard.el))
$(eval $(call vendored,vendor/tomorrow-night-paradise-theme.el,https://github.com/jimeh/tomorrow-night-paradise-theme.el/raw/master/tomorrow-night-paradise-theme.el))
#
# Main targets.

View File

@@ -1,38 +0,0 @@
# jimeh's .emacs.d (a.k.a. Emacs Siren)
This is my personal Emacs config, currently nicknamed Emacs Siren, and heavily
inspired by [Emacs Prelude](https://github.com/bbatsov/prelude).
However, this is not some form of an Emacs starter kit, it's simply my personal
config with any quirks, oddities, bugs, and man-eating errors I live with on a
daily basis.
## Requirements
- Emacs 26.1 or later.
## Installation
1. Clone the repo to `~/.emacs.d`:
git clone git://github.com/jimeh/.emacs.d.git ~/.emacs.d
2. Launch Emacs and wait a few minutes while it installs all packages.
3. Enjoy ^\_^
## Why not use Emacs Prelude?
Prelude is nice and all, but I don't need everything it does. I need a config
that does what I need without having to potentially counter and/or work against
some config framework. Hence I prefer rolling my own.
The way Prelude structures it's files and code however is very great, and
something I took to heart when I started working on a rewrite of my config, and
hence Emacs Siren was born.
## Why call my config Emacs Siren?
I had been playing a lot of The Witcher 3: Wild Hunt, and decided to pick a name
based on a enemy type from the game. "Siren" was short and kinda cool sounding.
![Siren](http://i.imgur.com/7PtsVDG.jpg)

42
README.org Normal file
View File

@@ -0,0 +1,42 @@
#+OPTIONS: toc:nil
* jimeh's .emacs.d (a.k.a. Emacs Siren)
This is my personal Emacs config, currently nicknamed Emacs Siren, and heavily
inspired by [[https://github.com/bbatsov/prelude][Emacs Prelude]].
However, this is not some form of an Emacs starter kit, it's simply my
personal config with any quirks, oddities, bugs, and man-eating errors I live
with on a daily basis.
** Requirements
- Emacs 26.1 or later.
** Installation
1. Clone the repo to =~/.emacs.d=:
#+BEGIN_SRC
git clone git://github.com/jimeh/.emacs.d.git ~/.emacs.d
#+END_SRC
2. Launch Emacs and wait a few minutes while it installs all packages.
3. Enjoy ^_^
** Why not use Emacs Prelude?
Prelude is nice and all, but I don't need everything it does. I need a config
that does what I need without having to potentially counter and/or work
against some config framework. Hence I prefer rolling my own.
The way Prelude structures it's files and code however is very great, and
something I took to heart when I started working on a rewrite of my config,
and hence Emacs Siren was born.
** Why call my config Emacs Siren?
I had been playing a lot of The Witcher 3: Wild Hunt, and decided to pick a
name based on a enemy type from the game. "Siren" was short and kinda cool
sounding.
#+CAPTIONg: Siren
[[http://i.imgur.com/7PtsVDG.jpg]]

View File

@@ -55,9 +55,12 @@
`((".*" . ,(expand-file-name "backup" siren-cache-dir))))
;; Auto-save files
(setq auto-save-interval 20
auto-save-file-name-transforms
`((".*" ,(expand-file-name "autosave" siren-cache-dir) t)))
(let ((auto-save-dir (expand-file-name "autosave/" siren-cache-dir)))
(unless (file-exists-p auto-save-dir)
(make-directory auto-save-dir))
(setq auto-save-interval 20
auto-save-file-name-transforms
`((".*" ,auto-save-dir t))))
;; smart tab behavior - indent or complete
(setq tab-always-indent 'complete)
@@ -66,7 +69,8 @@
(global-auto-revert-mode t)
;; diminish keeps the modeline tidy
(require 'diminish)
(use-package diminish)
(diminish 'visual-line-mode)
;; Enable mouse support when running in a console
@@ -184,9 +188,5 @@ indent yanked text (with prefix arg don't indent)."
(require 're-builder)
(setq reb-re-syntax 'string)
;; diminish various modes
;; (diminish 'hs-minor-mode)
;; (diminish 'subword-mode)
(provide 'siren-core-editor)
;;; siren-core-editor.el ends here

View File

@@ -7,9 +7,25 @@
;;; Code:
(require 'exec-path-from-shell)
(when (memq window-system '(mac ns x))
(exec-path-from-shell-initialize))
(use-package exec-path-from-shell
:custom
(exec-path-from-shell-variables '("PATH"
"MANPATH"
"TMPDIR"
"GOPATH"
"KUBECONFIG"))
(exec-path-from-shell-arguments '("-l"))
(exec-path-from-shell-check-startup-files nil)
(exec-path-from-shell-debug nil)
:config
(when (memq window-system '(mac ns x))
(exec-path-from-shell-initialize)))
;; Set temporary-file-directory to match TMPDIR environment variable
(let ((tmpdir (getenv "TMPDIR")))
(when (and tmpdir (not (string-blank-p tmpdir)))
(setq temporary-file-directory tmpdir)))
(provide 'siren-core-env)
;;; siren-core-env.el ends here

View File

@@ -34,18 +34,16 @@
(require 'siren-core-custom)
(require 'siren-core-funcs)
;; Ensure vendor directory load-paths are configured
(require 'siren-core-vendor)
;; Continue core stuff
(require 'siren-core-packages)
(require 'siren-core-performance)
(require 'siren-core-env)
(require 'siren-core-ui)
(require 'siren-core-editor)
;; OSX specific
;; macOS specific
(when (eq system-type 'darwin)
(require 'siren-core-osx))
(require 'siren-core-macos))
;; Linux specific
(when (eq system-type 'gnu/linux)
@@ -58,8 +56,5 @@
;; The modules
(require 'siren-core-modules)
;; The theme
(require 'siren-core-theme)
(provide 'siren-core-init)
;;; siren-core-init.el ends here

View File

@@ -8,7 +8,7 @@
;; Set default font
(if window-system
(set-face-attribute 'default nil :family "Monaco" :height 80))
(set-face-attribute 'default nil :family "Menlo for Powerline" :height 90))
;; Keybindinds
(global-set-key (kbd "s-<return>") 'siren-linux-toggle-fullscreen)

35
core/siren-core-macos.el Normal file
View File

@@ -0,0 +1,35 @@
;;; siren-core-macos.el --- jimeh's Emacs Siren: macOS specific settings.
;;; Commentary:
;; macOS specific settings and tweaks for Siren.
;;; Code:
;; Enable transparent titlebar
(use-package ns-auto-titlebar
:config
(ns-auto-titlebar-mode))
;; Set default font
(if window-system
(set-face-attribute 'default nil :family "Monaco" :height 120))
;; macOS Fullscreen (requires Emacs 24.4 or later)
(global-set-key (kbd "s-<return>") 'toggle-frame-fullscreen)
;; modifier keys
;; (setq mac-command-modifier 'super)
;; (setq mac-option-modifier 'meta)
;; (setq ns-alternate-modifier 'meta)
;; (setq ns-command-modifier 'super)
(setq ns-function-modifier 'hyper)
;; Don't use macOS' Native fullscreen mode.
(setq ns-use-native-fullscreen nil)
;; Set initial frame to fullscreen when Emacs starts.
(add-to-list 'initial-frame-alist '(fullscreen . maximized))
(provide 'siren-core-macos)
;;; siren-core-macos.el ends here

View File

@@ -14,6 +14,9 @@
(require 'siren-global-keybindings)
(require 'siren-packages)
;; Theme
(require 'siren-doom-themes)
;; Completion
(require 'siren-company)
@@ -21,14 +24,20 @@
(require 'siren-dash-at-point)
;; Editor
(require 'siren-amx)
(require 'siren-highlight-symbol)
(require 'siren-browse-kill-ring)
(require 'siren-helm-command)
(require 'siren-display-fill-column)
(require 'siren-display-indentation)
(require 'siren-display-line-numbers)
(require 'siren-folding)
(require 'siren-ido)
(require 'siren-linum)
(require 'siren-minions)
(require 'siren-mwim)
(require 'siren-rainbow)
(require 'siren-smex)
(require 'siren-undo-tree)
(require 'siren-undohist)
(require 'siren-which-key)
;; Help
(require 'siren-helpful)
@@ -37,33 +46,29 @@
(require 'siren-flycheck)
;; Misc.
(require 'siren-paradox)
(require 'siren-grip)
(require 'siren-restart-emacs)
(require 'siren-zone)
;; Navigation
(require 'siren-anzu)
(require 'siren-avy)
(require 'siren-centaur-tabs)
(require 'siren-dired)
(require 'siren-direx)
(require 'siren-dumb-jump)
(require 'siren-folding)
(require 'siren-git-link)
(require 'siren-helm)
(require 'siren-helm-ag)
(require 'siren-helm-files)
(require 'siren-helm-imenu)
(require 'siren-helm-open-github)
(require 'siren-helm-swoop)
(require 'siren-move-beginning-of-line)
(require 'siren-scroll-half-screen)
;; (require 'siren-goto-symbol)
;; Project management
(require 'siren-editorconfig)
(require 'siren-helm-projectile)
(require 'siren-neotree)
(require 'siren-projectile)
(require 'siren-treemacs)
;; Language Servers
(require 'siren-lsp)
@@ -100,8 +105,6 @@
(require 'siren-git-timemachine)
(require 'siren-github)
(require 'siren-magit)
(require 'siren-magit-todos)
;; (require 'siren-magithub)
;; Window management
(require 'siren-buffer-move)
@@ -114,15 +117,26 @@
;; Org-mode
(require 'siren-htmlize)
(require 'siren-ob-mermaid)
(require 'siren-org-mode)
(require 'siren-org-mouse)
(require 'siren-ox-gfm)
(require 'siren-ox-jira)
(require 'siren-ox-pandoc)
;; Tools
(require 'siren-docker)
(require 'siren-helm-make)
(require 'siren-kubernetes)
;; Writing
(require 'siren-writeroom)
;; XWidgets
(require 'siren-xwidget-plus)
;; Languages
(require 'siren-prog-mode)
(require 'siren-applescript)
(require 'siren-coffee)
(require 'siren-conf)
(require 'siren-css)
@@ -139,12 +153,14 @@
(require 'siren-js)
(require 'siren-json)
(require 'siren-jsx)
(require 'siren-lisp)
(require 'siren-lua)
(require 'siren-makefile)
(require 'siren-markdown)
(require 'siren-mermaid)
(require 'siren-nginx)
(require 'siren-php)
(require 'siren-plantuml)
(require 'siren-prog-mode)
(require 'siren-ruby)
(require 'siren-rust)
(require 'siren-sass)
@@ -154,8 +170,10 @@
(require 'siren-sql)
(require 'siren-text-mode)
(require 'siren-thrift)
(require 'siren-toml)
(require 'siren-typescript)
(require 'siren-web-mode)
(require 'siren-xml)
(require 'siren-yaml)
(provide 'siren-core-modules)

View File

@@ -1,27 +0,0 @@
;;; siren-core-osx.el --- jimeh's Emacs Siren: OS X specific settings.
;;; Commentary:
;; OS X specific settings and tweaks for Siren.
;;; Code:
;; Set default font
(if window-system
(set-face-attribute 'default nil :family "Monaco" :height 120))
;; Mac OS X Fullscreen (requires Emacs 24.4 or later)
(global-set-key (kbd "s-<return>") 'toggle-frame-fullscreen)
;; modifier keys
;; (setq mac-command-modifier 'super)
;; (setq mac-option-modifier 'meta)
;; (setq ns-alternate-modifier 'meta)
;; (setq ns-command-modifier 'super)
(setq ns-function-modifier 'hyper)
;; Don't use OSX Native fullscreen mode
(setq ns-use-native-fullscreen nil)
(provide 'siren-core-osx)
;;; siren-core-osx.el ends here

View File

@@ -6,69 +6,36 @@
;;; Code:
(require 'cl)
(require 'package)
;; Initialize straight.el
(setq straight-cache-autoloads t
straight-check-for-modifications '(check-on-save find-when-checking)
straight-repository-branch "develop"
straight-use-package-by-default t
use-package-always-ensure nil)
;; Work-around bug in Emacs 26.2 preventing GNU ELPA to work over HTTPS.
(setq gnutls-algorithm-priority "NORMAL:-VERS-TLS1.3")
(defvar bootstrap-version)
(let ((bootstrap-file
(expand-file-name "straight/repos/straight.el/bootstrap.el"
user-emacs-directory))
(bootstrap-version 5))
(unless (file-exists-p bootstrap-file)
(with-current-buffer
(url-retrieve-synchronously
"https://raw.githubusercontent.com/raxod502/straight.el/develop/install.el"
'silent 'inhibit-cookies)
(goto-char (point-max))
(eval-print-last-sexp)))
(load bootstrap-file nil 'nomessage))
(setq package-archives
'(("gnu" . "https://elpa.gnu.org/packages/")
("melpa-stable" . "https://stable.melpa.org/packages/")
("melpa" . "https://melpa.org/packages/"))
package-archive-priorities
'(("melpa" . 10)
("gnu" . 5)
("melpa-stable" . 0)))
;; https://github.com/raxod502/straight.el/issues/49#issuecomment-395979478
(defun straight-x-clean-unused-repos ()
(interactive)
(dolist (repo (straight--directory-files (straight--repos-dir)))
(unless (or (straight--checkhash repo straight--repo-cache)
(not (y-or-n-p (format "Delete repository %S?" repo))))
(delete-directory (straight--repos-dir repo) 'recursive 'trash))))
;; set package-user-dir to be relative to config path
(setq package-user-dir (expand-file-name "elpa" siren-dir))
(package-initialize)
(defvar siren-packages
'(dash
diminish
exec-path-from-shell
smart-mode-line
use-package)
"A list of default packages to ensure are installed at launch.")
;;
;; Package helpers (borrowed from Emacs Prelude)
;;
(defun siren-packages-installed-p ()
"Check if all packages in `siren-packages' are installed."
(every #'package-installed-p siren-packages))
(defun siren-require-package (package)
"Install PACKAGE unless already installed."
(unless (memq package siren-packages)
(add-to-list 'siren-packages package))
(unless (package-installed-p package)
(package-install package)))
(defun siren-require-packages (packages)
"Ensure PACKAGES are installed.
Missing packages are installed automatically."
(mapc #'siren-require-package packages))
(defun siren-install-packages ()
"Install all packages listed in `siren-packages'."
(unless (siren-packages-installed-p)
;; check for new packages (package versions)
(message "%s" "Emacs is now refreshing its package database...")
(package-refresh-contents)
(message "%s" " done.")
;; install the missing packages
(siren-require-packages siren-packages)))
;; Install Melpa packages
(siren-install-packages)
;; Ensure use-package is loaded and configured
(require 'use-package)
(setq use-package-always-ensure t)
(straight-use-package 'use-package)
(provide 'siren-core-packages)
;;; siren-core-packages.el ends here

View File

@@ -0,0 +1,20 @@
;;; siren-core-performance.el --- jimeh's Emacs Siren: Performance tweaks
;;; Commentary:
;; Performance tweaks.
;;; Code:
;; Setup and use gcmh-mode for improved garbage collection.
(use-package gcmh
:hook
(emacs-startup . (lambda() (gcmh-mode +1)))
(focus-out-hook . gcmh-idle-garbage-collect)
:custom
(gcmh-idle-delay 10)
(gcmh-high-cons-threshold 16777216))
(provide 'siren-core-performance)
;;; siren-core-performance.el ends here

View File

@@ -1,17 +0,0 @@
;;; siren-core-theme.el --- jimeh's Emacs Siren: Theme loading.
;;; Commentary:
;; Load the theme!
;;; Code:
(setq siren-themes-dir (expand-file-name "themes" siren-dir))
(siren-recursive-add-to-load-path siren-themes-dir)
(if window-system
(require 'siren-theme-doom-vibrant)
(require 'siren-theme-tomorrow-night-paradise))
(provide 'siren-core-theme)
;;; siren-core-theme.el ends here

View File

@@ -27,7 +27,7 @@
;; scroll-conservatively 100000
;; scroll-preserve-screen-position 1)
;; (setq redisplay-dont-pause t)
(setq mouse-wheel-scroll-amount '(1 ((shift) . 10))) ;; one line at a time
(setq mouse-wheel-scroll-amount '(1 ((shift) . 1))) ;; one line at a time
(setq mouse-wheel-follow-mouse 't) ;; scroll window under mouse
(setq scroll-margin 4)
(setq scroll-step 1)
@@ -48,11 +48,5 @@
(abbreviate-file-name (buffer-file-name))
"%b"))))
(require 'smart-mode-line)
(setq sml/no-confirm-load-theme t)
;; delegate theming to the currently active theme
(setq sml/theme nil)
(add-hook 'after-init-hook #'sml/setup)
(provide 'siren-core-ui)
;;; siren-core-ui.el ends here

View File

@@ -1,13 +0,0 @@
;;; siren-core-vendor.el --- jimeh's Emacs Siren: Setup vendor load-paths
;;; Commentary:
;; Setup vendor directory load paths.
;;; Code:
(setq siren-vendor-dir (expand-file-name "vendor" siren-dir))
(siren-recursive-add-to-load-path siren-vendor-dir)
(provide 'siren-core-vendor)
;;; siren-core-vendor.el ends here

View File

@@ -3,10 +3,7 @@
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(ecb-options-version "2.50")
'(package-selected-packages
(quote
(zoom-window yasnippet-snippets yari yaml-mode writeroom-mode which-key web-mode use-package typescript-mode toggle-quotes tide thrift string-inflection string-edit sqlformat smex smartparens smart-mode-line slim-mode seeing-is-believing scss-mode sass-mode rust-playground ruby-tools ruby-refactor ruby-compilation rubocopfmt rubocop rspec-mode robe rjsx-mode restart-emacs resize-window realgud-byebug rbenv rainbow-mode racer prettier-js plantuml-mode php-mode phi-search ox-jira ox-gfm neotree nav multiple-cursors move-dup magit-todos magit-gh-pulls lua-mode lsp-ui lsp-mode linum-relative json-mode inf-ruby imenu-anywhere ido-vertical-mode ido-completing-read+ htmlize hlinum highlight-symbol highlight-indentation highlight-indent-guides helpful helm-swoop helm-projectile helm-open-github helm-lsp helm-gtags helm-describe-modes helm-descbinds helm-ag groovy-mode go-projectile go-playground go-dlv gitignore-mode github-browse-file gitconfig-mode git-timemachine git-link full-ack flycheck-rust flycheck-gometalinter flutter fill-column-indicator feature-mode expand-region exec-path-from-shell evil eslintd-fix editorconfig dumb-jump doom-themes dockerfile-mode direx diminish diff-hl dash-at-point dart-mode company-lsp company-go coffee-mode cargo buffer-move browse-kill-ring anzu ace-window))))
'(ecb-options-version "2.50"))
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.

27
early-init.el Normal file
View File

@@ -0,0 +1,27 @@
;;; early-init.el --- jimeh's Emacs Siren: early init file.
;;; Commentary:
;; The file before the file that starts it all.
;;; Code:
;; Defer garbage collection further back in the startup process
(setq gc-cons-threshold most-positive-fixnum)
;; Disable Emacs 27's automatic package.el initialization before the init.el
;; file is loaded. I use straight.el instead of package.el.
(setq package-enable-at-startup nil)
;; Prevent the glimpse of un-styled Emacs by disabling these UI elements early.
(setq tool-bar-mode nil
menu-bar-mode nil)
(when (fboundp 'set-scroll-bar-mode)
(set-scroll-bar-mode nil))
;; Resizing the Emacs frame can be a terribly expensive part of changing the
;; font. By inhibiting this, we easily halve startup times with fonts that are
;; larger than the system default.
(setq frame-inhibit-implied-resize t)
;;; early-init.el ends here

View File

@@ -6,8 +6,6 @@
;;; Code:
;; (require 'siren-fci)
(use-package company
:hook
(company-completion-started . siren-company--turn-off-fci)
@@ -26,7 +24,7 @@
(company-begin-commands '(self-insert-command))
(company-dabbrev-downcase nil)
(company-echo-delay 0)
(company-idle-delay 0.3)
(company-idle-delay 0.15)
(company-minimum-prefix-length 2)
(company-tooltip-limit 20)
;; invert the navigation direction if the the completion popup-isearch-match

View File

@@ -0,0 +1,17 @@
;;; siren-prescient.el --- jimeh's Emacs Siren: prescient configuration.
;;; Commentary:
;; Basic configuration for prescient.
;;; Code:
(use-package prescient
:defer t
:custom
(prescient-filter-method '(literal regexp initialism fuzzy))
(prescient-save-file (expand-file-name "prescient-save.el" siren-cache-dir)))
(provide 'siren-prescient)
;;; siren-prescient.el ends here

View File

@@ -0,0 +1,27 @@
;;; siren-amx.el --- jimeh's Emacs Siren: amx configuration.
;;; Commentary:
;; Replace M-x with the more powerful amx.
;;; Code:
(require 'siren-ido)
(use-package amx
:bind
("M-x" . amx)
("C-x C-m" . amx)
:custom
(amx-backend 'ido)
(amx-histroy-lenth 15)
(amx-prompt-string "M-x ")
(amx-save-file (expand-file-name "amx-items" siren-cache-dir))
(amx-show-key-bindings t)
:config
(amx-mode +1))
(provide 'siren-amx)
;;; siren-amx.el ends here

View File

@@ -0,0 +1,31 @@
;;; siren-auto-highlight-symbol.el --- jimeh's Emacs Siren: auto-highlight-symbol configuration.
;;; Commentary:
;; Basic configuration for auto-highlight-symbol.
;;; Code:
(require 'siren-doom-themes)
(use-package auto-highlight-symbol
:diminish auto-highlight-symbol-mode
:bind
(:map auto-highlight-symbol-mode-map
("C-c C-p" . ahs-backward)
("C-c C-n" . ahs-forward)
("C-c C-r" . ahs-edit-mode))
:hook
(prog-mode . auto-highlight-symbol-mode)
:custom
(ahs-default-range 'ahs-range-whole-buffer)
(ahs-idle-interval 1.0)
(auto-highlight-symbol-mode-map (make-sparse-keymap))
;; TODO: Fix exclusions, they don't seem to work.
(ahs-exclude '((ruby-mode . "\_<\(end\|def\|class\|module\)\_>"))))
(provide 'siren-auto-highlight-symbol)
;;; siren-auto-highlight-symbol.el ends here

View File

@@ -0,0 +1,35 @@
;;; siren-display-fill-column.el --- jimeh's Emacs Siren: fill-column configuration.
;;; Commentary:
;; Basic configuration for fill-column.
;;; Code:
;; Emacs 27.x and later: Use native display-fill-column-indicator
(when (not (version< emacs-version "27.0"))
(use-package display-fill-column-indicator
:straight (:type built-in)
:hook
(prog-mode . display-fill-column-indicator-mode)
:custom
(display-fill-column-indicator-character ?\u2502))
(defun siren-display-fill-column (&optional arg)
"Activate or deactivate visual fill column.
Optional ARG is passed directly to mode toggle function."
(display-fill-column-indicator-mode arg)))
;; Emacs 26.x: Use fill-column-indicator package
(when (version< emacs-version "27.0")
(require 'siren-fci)
(defun siren-display-fill-column (&optional arg)
"Activate or deactivate visual fill column.
Optional ARG is passed directly to mode toggle function."
(fci-mode (or arg t))))
(provide 'siren-display-fill-column)
;;; siren-display-fill-column.el ends here

View File

@@ -0,0 +1,17 @@
;;; siren-display-indentation.el --- jimeh's Emacs Siren: indent guides setup
;;; Commentary:
;; Setup for rendering indent guides.
;;; Code:
(require 'siren-highlight-indent-guides)
(defun siren-display-indentation (&optional arg)
"Activate or deactivate indentation guides.
Optional ARG is passed directly to mode toggle function."
(highlight-indent-guides-mode (or arg t)))
(provide 'siren-display-indentation)
;;; siren-display-indentation.el ends here

View File

@@ -0,0 +1,37 @@
;;; siren-display-line-numbers.el --- jimeh's Emacs Siren: display-line-numbers configuration.
;;; Commentary:
;; Basic configuration for display-line-numbers.
;;; Code:
(use-package display-line-numbers
:straight (:type built-in)
:hook
(prog-mode . display-line-numbers-mode))
(defun siren-display-line-numbers (&optional arg)
"Activate or deactivate line numbers.
Optional ARG is passed directly to mode toggle function."
(display-line-numbers-mode (or arg t)))
;; Fix issue were the left fringe's is cut off by one pixel on the left side.
;; from: https://github.com/dgutov/diff-hl/issues/94#issuecomment-334168416
(use-package frame
:straight (:type built-in)
:defer t
:config
(progn
(setq window-divider-default-places 'right-only) ;Default 'right-only
;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27830#20
;; Workaround on emacs 26+ to prevent fringe truncation. You need to use
;; either scroll bars or window dividers to prevent that.
;; I dislike the default face of `window-divider', so I customize that in my
;; `smyx-theme`.
(setq window-divider-default-right-width 1) ;Default 6
(window-divider-mode 1)))
(provide 'siren-display-line-numbers)
;;; siren-display-line-numbers.el ends here

View File

@@ -6,10 +6,8 @@
;;; Code:
(use-package doom-modeline
:ensure t
:hook (after-init . doom-modeline-mode)
:hook (emacs-startup . doom-modeline-mode)
:custom
(doom-modeline-bar-width 3)
@@ -20,8 +18,9 @@
(doom-modeline-checker-simple-format t)
(doom-modeline-enable-word-count t)
(doom-modeline-height 25)
(doom-modeline-persp-name nil)
(doom-modeline-minor-modes t)
(doom-modeline-vcs-max-length 24))
(provide 'siren-doom-modeline)
;;; siren-doom-mode-line.el ends here
;;; siren-doom-modeline.el ends here

View File

@@ -8,7 +8,7 @@
(use-package edit-server
:if window-system
:hook (after-init . edit-server-start)
:hook (emacs-startup . edit-server-start)
:custom
(edit-server-default-major-mode 'markdown-mode)

View File

@@ -0,0 +1,47 @@
;;; siren-folding.el --- jimeh's Emacs Siren: folding configuration.
;;; Commentary:
;; Basic configuration for folding code.
;;; Code:
(use-package hideshow
:straight (:type built-in)
:bind
("C-=" . siren-folding-toggle-selective-display)
("C-c C-h" . siren-folding-toggle)
:init
(defun siren-folding (&optional arg)
"Activate or deactivate code folding.
Optional ARG is passed directly to mode toggle function."
(hs-minor-mode (or arg t))
(if window-system (hideshowvis-minor-mode (or arg t))))
(defun siren-folding-toggle (column)
"Toggle hiding/showing blocks via hs-mode.
Borrowed from: http://www.emacswiki.org/emacs/HideShow"
(interactive "P")
(if hs-minor-mode
(if (condition-case nil
(hs-toggle-hiding)
(error t))
(hs-show-all))
(siren-folding-toggle-selective-display column)))
(defun siren-folding-toggle-selective-display (column)
"Helper function for `siren-folding-toggle'."
(interactive "P")
(set-selective-display
(or column
(unless selective-display
(1+ (current-column)))))))
(use-package hideshowvis
:defer t)
(provide 'siren-folding)
;;; siren-folding.el ends here

View File

@@ -1,23 +0,0 @@
;;; siren-helm-command.el --- jimeh's Emacs Siren: helm-command.
;;; Commentary:
;; Configure helm-command.
;;; Code:
(require 'siren-helm)
(use-package helm-command
:ensure helm
:defer t
:bind
("M-x" . helm-M-x)
:custom
(helm-M-x-always-save-history t)
(helm-M-x-fuzzy-match t))
(provide 'siren-helm-command)
;;; siren-helm-command.el ends here

View File

@@ -9,7 +9,16 @@
(use-package highlight-indent-guides
:defer t
:commands highlight-indent-guides-mode
:diminish highlight-indent-guides-mode)
:diminish highlight-indent-guides-mode
:custom
(highlight-indent-guides-auto-even-face-perc 3)
(highlight-indent-guides-auto-odd-face-perc 2.5)
(highlight-indent-guides-auto-top-even-face-perc 12)
(highlight-indent-guides-auto-top-odd-face-perc 10)
(highlight-indent-guides-character ?\u2502)
(highlight-indent-guides-method 'column)
(highlight-indent-guides-responsive 'top))
(provide 'siren-highlight-indent-guides)
;;; siren-highlight-indent-guides.el ends here

View File

@@ -7,7 +7,7 @@
;;; Code:
(use-package ido
:ensure nil ;; loaded from emacs built-ins
:straight (:type built-in)
:custom
(ido-auto-merge-work-directories-length -1)
@@ -18,10 +18,10 @@
(ido-enable-prefix nil)
(ido-max-prospects 10)
(ido-save-directory-list-file (expand-file-name "ido.hist" siren-cache-dir))
(ido-use-faces nil)
(ido-use-faces t)
(ido-use-filename-at-point nil)
:init
:config
(ido-mode 1))
(use-package ido-completing-read+

View File

@@ -0,0 +1,27 @@
;;; siren-ivy.el --- jimeh's Emacs Siren: ivy configuration.
;;; Commentary:
;; Basic configuration for ivy.
;;; Code:
(require 'siren-prescient)
(use-package ivy
:defer t
:custom
(ivy-use-virtual-buffers nil)
(ivy-count-format "%d ")
(ivy-re-builders-alist '((amx-completing-read-ivy . ivy--regex-fuzzy)
(t . ivy--regex-plus))))
(use-package ivy-prescient
:after (ivy)
:config
(ivy-prescient-mode +1))
(provide 'siren-ivy)
;;; siren-ivy.el ends here

View File

@@ -1,12 +0,0 @@
;;; siren-linum-relative.el --- jimeh's Emacs Siren: linum-relative configuration.
;;; Commentary:
;; Basic configuration for linum-relative.
;;; Code:
(use-package linum-relative)
(provide 'siren-linum-relative)
;;; siren-linum-relative.el ends here

View File

@@ -1,28 +0,0 @@
;;; siren-linum.el --- jimeh's Emacs Siren: linum configuration.
;;; Commentary:
;; Basic configuration for linum.
;;; Code:
(use-package linum
:ensure nil ;; loaded from emacs built-ins
:hook
(prog-mode . linum-mode))
(use-package linum+
:ensure nil ;; loaded from vendor
:after linum
:custom
;; 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.
(linum+-dynamic-format (if window-system " %%%dd" " %%%dd "))
:config
(setq linum-format 'dynamic))
(provide 'siren-linum)
;;; siren-linum.el ends here

View File

@@ -0,0 +1,15 @@
;;; siren-mwim.el --- jimeh's Emacs Siren: mwim configuration.
;;; Commentary:
;; Basic configuration for mwim.
;;; Code:
(use-package mwim
:bind
("C-a" . mwim-beginning)
("C-e" . mwim-end))
(provide 'siren-mwim)
;;; siren-mwim.el ends here

View File

@@ -0,0 +1,26 @@
;;; siren-selectrum.el --- jimeh's Emacs Siren: selectrum configuration.
;;; Commentary:
;; Basic configuration for selectrum.
;;; Code:
(require 'siren-prescient)
(use-package selectrum
:straight (:host github :repo "raxod502/selectrum")
:config
(selectrum-mode +1))
(use-package selectrum-prescient
:straight (:host github :repo "raxod502/prescient.el"
:files ("selectrum-prescient.el"))
:after (selectrum)
:config
(selectrum-prescient-mode +1))
(provide 'siren-selectrum)
;;; siren-selectrum.el ends here

View File

@@ -1,4 +1,4 @@
;;; siren-smex.el --- jimeh's Emacs Siren: smex.
;;; siren-smex.el --- jimeh's Emacs Siren: smex configuration.
;;; Commentary:

View File

@@ -7,25 +7,29 @@
;;; Code:
(use-package undo-tree
:demand
:hook
(emacs-startup . global-undo-tree-mode)
:bind
("C-x u" . undo-tree-visualize)
("M--" . undo-tree-undo)
("M-_" . undo-tree-redo)
("s-z" . undo-tree-undo)
("s-Z" . undo-tree-redo)
(:map undo-tree-map
("C-x u" . undo-tree-visualize)
("M--" . undo-tree-undo)
("M-_" . undo-tree-redo)
("s-z" . undo-tree-undo)
("s-Z" . undo-tree-redo))
:diminish
undo-tree-mode
:custom
;; autosave the undo-tree history
(undo-tree-history-directory-alist
`((".*" . ,(expand-file-name "undo-tree-history" siren-cache-dir))))
(undo-tree-auto-save-history t)
(undo-tree-auto-save-history nil) ;; use undohist package instead
:config
(global-undo-tree-mode))
;; Unbind keys that I don't use.
(unbind-key "C-/" undo-tree-map)
(unbind-key "C-?" undo-tree-map))
(provide 'siren-undo-tree)
;;; siren-undo-tree.el ends here

View File

@@ -0,0 +1,19 @@
;;; siren-undohist.el --- jimeh's Emacs Siren: undohist configuration.
;;; Commentary:
;; Basic configuration for undohist.
;;; Code:
(use-package undohist
:demand
:custom
(undohist-directory (expand-file-name "undohist" siren-cache-dir))
(undohist-ignored-files '("COMMIT_EDITMSG"))
:config
(undohist-initialize))
(provide 'siren-undohist)
;;; siren-undohist.el ends here

View File

@@ -7,8 +7,7 @@
;;; Code:
(use-package which-key
:config
(which-key-mode))
:defer t)
(provide 'siren-which-key)
;;; siren-which-key.el ends here

View File

@@ -0,0 +1,28 @@
;;; siren-applescript.el --- jimeh's Emacs Siren: applescript-mode configuration.
;;; Commentary:
;; Basic configuration for applescript-mode.
;;; Code:
(require 'siren-prog-mode)
(use-package applescript-mode
:mode
"\\.applescript\\'"
"\\.scpt\\'"
:hook (applescript-mode . siren-applescript-mode-setup)
:init
(defun siren-applescript-mode-setup ()
(run-hooks 'prog-mode-hook)
(setq tab-width 4)
(company-mode +1)
(highlight-symbol-mode -1)
(subword-mode +1)))
(provide 'siren-applescript)
;;; siren-applescript.el ends here

View File

@@ -28,7 +28,6 @@
(coffee-cos-mode t))
(setq tab-width 2)
(highlight-indentation-current-column-mode)
(subword-mode +1)))
(provide 'siren-coffee)

View File

@@ -6,32 +6,23 @@
;;; Code:
(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\\'"
:straight (:type built-in)
:mode
"/Procfile\\'"
"/\\.env\\'"
"/\\.env\\.[^/]+\\'"
"\\.cfg\\'"
"\\.conf\\'"
:hook (conf-mode . siren-conf-mode-setup)
:init
(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-symbol-mode)
(linum-mode)
(smartparens-mode)))
(run-hooks 'prog-mode-hook)
(setq tab-width 2)))
(provide 'siren-conf)
;;; siren-conf.el ends here

View File

@@ -6,6 +6,9 @@
;;; Code:
(require 'siren-company)
(require 'siren-lsp)
(require 'siren-prettier-js)
(require 'siren-rainbow)
(use-package css-mode
@@ -22,8 +25,8 @@
(setq tab-width 2)
(company-mode +1)
(prettier-js-mode)
(lsp)
(highlight-indentation-current-column-mode +1)
(rainbow-mode +1)))
(provide 'siren-css)

View File

@@ -6,14 +6,7 @@
;;; Code:
(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\\'"
@@ -22,17 +15,8 @@
:init
(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-symbol-mode)
(linum-mode)
(smartparens-mode)))
(run-hooks 'prog-mode-hook)
(setq tab-width 2)))
(provide 'siren-cucumber)
;;; siren-cucumber.el ends here

View File

@@ -6,10 +6,13 @@
;;; Code:
(require 'siren-company)
(require 'siren-folding)
(require 'siren-lsp)
(require 'siren-projectile)
(use-package dart-mode
:mode "\\.dart"
:mode "\\.dart\\'"
:interpreter "dart"
:hook
@@ -20,17 +23,20 @@
(dart-enable-analysis-server t)
:init
(defun siren-dart-mode-setup ()
(company-mode +1)
(lsp)
(highlight-symbol-mode -1)
(hs-minor-mode 1)
(hideshowvis-enable)
(subword-mode +1))
(with-eval-after-load "projectile"
(add-to-list 'projectile-project-root-files-bottom-up "pubspec.yaml")
(add-to-list 'projectile-project-root-files-bottom-up "BUILD")))
(add-to-list 'projectile-project-root-files-bottom-up "BUILD"))
(defun siren-dart-mode-setup ()
(when (fboundp 'highlight-symbol-mode)
(highlight-symbol-mode -1))
(when (fboundp 'auto-highlight-symbol-mode)
(auto-highlight-symbol-mode -1))
(company-mode +1)
(lsp)
(siren-folding)
(subword-mode +1)))
(provide 'siren-dart)
;;; siren-dart.el ends here

View File

@@ -7,7 +7,10 @@
;;; Code:
(use-package dockerfile-mode
:mode "Dockerfile.*\\'"
:mode
"/Dockerfile\\'"
"/Dockerfile\\.[^/]+\\'"
:hook (dockerfile-mode . siren-dockerfile-mode-setup)
:init

View File

@@ -26,7 +26,6 @@
(defun siren-emacs-lisp-mode-setup ()
"Sensible defaults for `emacs-lisp-mode'."
(highlight-indent-guides-mode)
;; (run-hooks 'siren-lisp-coding-hook)
;; (eldoc-mode +1)
;; (siren-recompile-elc-on-save)

View File

@@ -7,7 +7,7 @@
;;; Code:
(use-package gitconfig-mode
:mode "\\.gitconfig" "gitconfig\\'" "\\.git\\\/config"
:mode "\\.gitconfig\\'" "gitconfig\\'" "\\.git/config\\'"
:hook (gitconfig-mode . siren-gitconfig-mode-setup)
:init

View File

@@ -7,6 +7,7 @@
;;; Code:
(require 'siren-company)
(require 'siren-display-indentation)
(require 'siren-flycheck)
(require 'siren-folding)
(require 'siren-lsp)
@@ -24,31 +25,34 @@
(go-mode . siren-go-mode-setup)
:init
(add-to-list 'projectile-globally-ignored-directories "Godeps")
(add-to-list 'projectile-globally-ignored-directories "vendor/github.com")
(add-to-list 'projectile-globally-ignored-directories "vendor/gopkg.in")
(with-eval-after-load "projectile"
(add-to-list 'projectile-globally-ignored-directories "Godeps")
(add-to-list 'projectile-globally-ignored-directories "vendor/github.com")
(add-to-list 'projectile-globally-ignored-directories "vendor/gopkg.in"))
(defun siren-go-mode-setup ()
;; Prefer goimports to gofmt if installed
(let ((goimports (executable-find "goimports")))
(when goimports
(setq gofmt-command goimports)))
(setq-local tab-width 4
company-echo-delay 0.5
company-minimum-prefix-length 1
whitespace-style (delete 'indentation whitespace-style))
(setq tab-width 4)
(whitespace-toggle-options '(tabs))
(add-hook 'before-save-hook #'lsp-format-buffer t t)
(add-hook 'before-save-hook #'lsp-organize-imports t t)
(when (fboundp 'highlight-symbol-mode)
(highlight-symbol-mode -1))
(when (fboundp 'auto-highlight-symbol-mode)
(auto-highlight-symbol-mode -1))
(siren-display-indentation -1)
(company-mode +1)
(lsp)
(highlight-symbol-mode -1)
(hs-minor-mode 1)
(hideshowvis-enable)
(lsp-deferred)
(siren-folding)
(subword-mode +1))
:config
(message "loading go-mode")
(add-hook 'before-save-hook #'gofmt-before-save)
(when (memq window-system '(mac ns))
(exec-path-from-shell-copy-env "GOPATH"))
@@ -58,10 +62,11 @@
(add-to-list 'completion-ignored-extensions ".test"))
(use-package go-dlv
:commands dlv dlv-current-func)
:defer t)
(use-package gotest
:after go-mode
:defer t
:after (go-mode)
:bind (:map go-mode-map
("C-c , a" . go-test-current-project)
("C-c , v" . go-test-current-file)
@@ -74,21 +79,27 @@
:custom
(go-test-verbose t))
(use-package go-gen-test
:defer t
:after (go-mode)
:bind (:map go-mode-map
("C-c , g" . go-gen-test-dwim)
("C-c , G" . go-gen-test-exported)))
(use-package go-projectile
:after go-mode
:defer t
:after (go-mode)
:hook (go-mode . siren-go-projectile-setup)
:init
(defun siren-go-projectile-setup ()
;; prevent go-projectile from screwing up GOPATH
(setq go-projectile-switch-gopath 'never)))
:custom
;; prevent go-projectile from screwing up GOPATH
(go-projectile-switch-gopath 'never)
(use-package flycheck-golangci-lint
:hook
(go-mode . flycheck-golangci-lint-setup))
:init
(defun siren-go-projectile-setup ()))
(use-package go-playground
:commands go-playground)
:defer t)
(provide 'siren-golang)
;;; siren-golang.el ends here

View File

@@ -7,6 +7,7 @@
;;; Code:
(use-package groovy-mode
:mode "\\.groovy\\'"
:hook
(groovy-mode . siren-groovy-mode-setup)
@@ -16,7 +17,6 @@
groovy-indent-offset 4
tab-width 4)
(highlight-indentation-current-column-mode)
(subword-mode +1)))
(provide 'siren-groovy)

View File

@@ -12,9 +12,7 @@
:init
(defun siren-haml-mode-setup ()
(setq tab-width 2)
(highlight-indentation-set-offset 2)
(highlight-indentation-current-column-mode +1)))
(setq tab-width 2)))
(provide 'siren-haml)
;;; siren-haml.el ends here

View File

@@ -6,15 +6,21 @@
;;; Code:
(require 'siren-prettier-js)
(require 'siren-company)
(require 'siren-folding)
(require 'siren-lsp)
(require 'siren-prettier-js)
(use-package js-mode
:ensure nil ;; loaded from emacs built-ins
:straight (:type built-in)
:mode
"\\.js\\'"
"\\.pac\\'"
:bind (:map js-mode-map
("C-j" . newline-and-indent)
("C-c C-h" . siren-toggle-hiding))
:hook
(js-mode . siren-js-mode-setup)
@@ -27,16 +33,10 @@
tab-width width))
(prettier-js-mode)
(company-mode +1)
(company-mode)
(lsp)
(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))))
(subword-mode)
(siren-folding)))
(provide 'siren-js)
;;; siren-js.el ends here

View File

@@ -6,16 +6,16 @@
;;; Code:
(require 'siren-eslintd-fix)
(require 'siren-flycheck)
(require 'siren-folding)
(require 'siren-js)
(use-package json-mode
:mode "\\.json\\'"
:requires (flycheck highlight-indentation hideshowvis)
:bind (:map json-mode-map
("C-j" . newline-and-indent)
("C-c C-h" . siren-toggle-hiding))
("C-c C-h" . siren-folding-toggle))
:hook
(json-mode . siren-json-mode-setup)
@@ -25,10 +25,9 @@
"Default tweaks for `json-mode'."
(let ((width 2))
(setq js-indent-level width)
(setq json-reformat:indent-width width)
(setq tab-width width)
(highlight-indentation-set-offset width))
(setq js-indent-level width
json-reformat:indent-width width
tab-width width))
(setq flycheck-checker 'json-jsonlint)))

View File

@@ -6,6 +6,7 @@
;;; Code:
(require 'siren-folding)
(require 'siren-prettier-js)
(use-package rjsx-mode
@@ -18,9 +19,7 @@
(prettier-js-mode +1)
(company-mode +1)
(subword-mode +1)
(hs-minor-mode +1)
(highlight-indentation-current-column-mode +1)
(hideshowvis-enable)))
(siren-folding)))
(provide 'siren-jsx)
;;; siren-jsx.el ends here

View File

@@ -6,8 +6,6 @@
;;; Code:
(require 'siren-highlight-indent-guides)
;; Lisp configuration
(define-key read-expression-map (kbd "TAB") 'completion-at-point)
@@ -22,7 +20,6 @@
;; interactive modes don't need whitespace checks
(defun siren-interactive-lisp-coding-hook ()
(highlight-indent-guides-mode)
(whitespace-mode -1))
(provide 'siren-lisp)

View File

@@ -15,7 +15,6 @@
(setq lua-indent-level 2
whitespace-action '(auto-cleanup))
(highlight-indentation-current-column-mode)
(subword-mode +1)))
(provide 'siren-lua)

View File

@@ -7,7 +7,7 @@
;;; Code:
(use-package make-mode
:ensure nil ;; loaded from emacs built-ins
:straight (:type built-in)
:hook
(makefile-mode . siren-makefile-mode-setup)
@@ -16,9 +16,7 @@
(defun siren-makefile-mode-setup ()
(subword-mode +1)
(setq tab-width 4)
(highlight-indentation-set-offset 4)
(highlight-indentation-current-column-mode)))
(setq tab-width 4)))
(provide 'siren-makefile)
;;; siren-makefile.el ends here

View File

@@ -6,9 +6,9 @@
;;; Code:
(require 'siren-fci)
(require 'siren-display-fill-column)
(require 'siren-display-line-numbers)
(require 'siren-flyspell)
(require 'siren-linum)
(require 'siren-move-dup)
(require 'siren-prettier-js)
(require 'siren-smartparens)
@@ -31,24 +31,24 @@
:hook
(markdown-mode . siren-markdown-mode-setup)
:custom
(markdown-command "pandoc -f gfm -t html5")
:custom-face
(markdown-code-face ((t nil)))
:init
(defun siren-markdown-mode-setup ()
(setq markdown-asymmetric-header t
whitespace-action nil)
(siren-display-fill-column)
(siren-display-line-numbers)
(auto-fill-mode)
(prettier-js-mode)
(fci-mode)
(flyspell-mode)
(linum-mode t)
(smartparens-mode +1)
(subword-mode))
:custom-face
(markdown-code-face ((t nil)))
:custom
(markdown-command "redcarpet"))
(subword-mode)))
(provide 'siren-markdown)
;;; siren-markdown.el ends here

View File

@@ -0,0 +1,22 @@
;;; siren-mermaid.el --- jimeh's Emacs Siren: mermaid-mode configuration.
;;; Commentary:
;; Basic configuration for mermaid-mode.
;;; Code:
(require 'siren-prog-mode)
(use-package mermaid-mode
:mode "\\.mermaid\\'" "\\.mmd\\'"
:hook
(mermaid-mode . siren-mermaid-mode-setup)
:init
(defun siren-mermaid-mode-setup ()
(run-hooks 'prog-mode-hook)))
(provide 'siren-mermaid)
;;; siren-mermaid.el ends here

View File

@@ -0,0 +1,26 @@
;;; siren-nginx.el --- jimeh's Emacs Siren: nginx-mode configuration.
;;; Commentary:
;; Basic configuration for nginx-mode.
;;; Code:
(use-package nginx-mode
:hook
(nginx-mode . siren-nginx-mode-setup)
:custom
(nginx-indent-level 4)
(nginx-indent-tabs-mode nil)
:init
(defun siren-nginx-mode-setup ()
(setq tab-width 4)))
(use-package company-nginx
:hook
(nginx-mode . company-nginx-keywords))
(provide 'siren-nginx)
;;; siren-nginx.el ends here

View File

@@ -6,8 +6,9 @@
;;; Code:
(require 'siren-company)
(require 'siren-folding)
(require 'siren-highlight-indentation)
(require 'siren-prettier-js)
(require 'siren-rainbow)
(use-package php-mode
@@ -18,12 +19,11 @@
:init
(defun siren-php-mode-setup ()
(prettier-js-mode)
(rainbow-mode +1)
(company-mode +1)
(subword-mode +1)
(highlight-indentation-current-column-mode)
(hs-minor-mode 1)
(hideshowvis-enable)))
(siren-folding)))
(provide 'siren-php)
;;; siren-php.el ends here

View File

@@ -6,20 +6,17 @@
;;; Code:
(require 'siren-highlight-indentation)
(use-package plantuml-mode
:mode "\\.uml\\'"
:hook
(plantuml-mode . siren-plantuml-mode-setup)
:custom
(plantuml-default-exec-mode 'executable)
:init
(defun siren-plantuml-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)))
(setq tab-width 2)))
(provide 'siren-plantuml)
;;; siren-plantuml.el ends here

View File

@@ -6,8 +6,10 @@
;;; Code:
(require 'siren-display-indentation)
(use-package prog-mode
:ensure nil ;; loaded from emacs built-ins
:straight (:type built-in)
:hook
(prog-mode . siren-prog-mode-setup)
@@ -17,6 +19,7 @@
(setq fill-column 80
whitespace-action '(auto-cleanup))
(siren-display-indentation 1)
(visual-line-mode t)
(whitespace-mode t)))

View File

@@ -8,17 +8,15 @@
(require 'siren-company)
(require 'siren-folding)
(require 'siren-highlight-indentation)
(require 'siren-lsp)
(require 'siren-projectile)
(require 'siren-realgud)
(require 'siren-smartparens)
(require 'siren-toggle-quotes)
(add-to-list 'projectile-globally-ignored-directories "vendor/bundle")
(add-to-list 'projectile-globally-ignored-directories "vendor/ruby")
(use-package ruby-mode
:ensure nil ;; loaded from emacs built-ins
:straight (:type built-in)
:interpreter "ruby"
:mode
"Appraisals\\'"
@@ -61,9 +59,8 @@
tab-width 2)
(company-mode +1)
(hs-minor-mode 1)
(hideshowvis-enable)
(highlight-indentation-current-column-mode)
(siren-folding)
(lsp)
(subword-mode +1))
:config
@@ -90,17 +87,14 @@
(company-mode -1))
:config
(unbind-key "C-c C-r" inf-ruby-minor-mode-map))
(unbind-key "C-c C-r" inf-ruby-minor-mode-map)
(unbind-key "C-c C-s" inf-ruby-minor-mode-map))
(use-package rbenv
:defer t
:config
(global-rbenv-mode))
(use-package realgud-byebug
:commands realgud:byebug
:after realgud)
(use-package robe
:defer t
:bind (:map robe-mode-map
@@ -109,8 +103,8 @@
:hook (ruby-mode . robe-mode)
:init
(eval-after-load 'company
'(push 'company-robe company-backends))
(with-eval-after-load 'company
(push 'company-robe company-backends))
:config
;; Unbind keys used by siren-expand-region module.
@@ -126,7 +120,7 @@
(rspec-primary-source-dirs '("app"))
(rspec-spec-command "env COVERAGE=0 rspec")
(rspec-use-opts-file-when-available nil)
(rspec-use-spring-when-possible t)
(rspec-use-spring-when-possible nil)
:init
(defun siren-rspec-mode-setup ())
@@ -146,7 +140,7 @@
("C-c . D" . rubocop-autocorrect-directory)))
(use-package rubocopfmt
:commands (rubocopfmt rubocopfmt-mode)
:defer t
:bind (:map ruby-mode-map
("C-c C-f" . rubocopfmt))
:hook
@@ -158,10 +152,6 @@
(use-package ruby-compilation
:defer t)
(use-package ruby-guard
:ensure nil ;; loaded from vendor
:commands ruby-guard)
(use-package ruby-refactor
:defer t
:hook

View File

@@ -6,8 +6,8 @@
;;; Code:
(require 'siren-company)
(require 'siren-folding)
(require 'siren-highlight-indentation)
(require 'siren-lsp)
(use-package rust-mode
@@ -25,10 +25,8 @@
(setq rust-format-on-save t)
(company-mode +1)
(lsp-mode)
(hs-minor-mode 1)
(hideshowvis-enable)
(highlight-indentation-current-column-mode)
(lsp)
(siren-folding)
(subword-mode +1)))
(use-package cargo

View File

@@ -6,14 +6,19 @@
;;; Code:
(require 'siren-highlight-indentation)
(use-package sh-script
:ensure nil ;; loaded from emacs built-ins
:straight (:type built-in)
:mode
"\\.tmux"
"\\.tmuxsh"
"\\.tmuxtheme"
"\\.tmux\\'"
"\\.tmuxsh\\'"
"\\.tmuxtheme\\'"
"zshenv\\'"
"zshrc\\'"
:bind
(:map sh-mode-map
("RET" . newline-and-indent))
:hook
(sh-mode . siren-sh-mode-setup)
@@ -24,10 +29,7 @@
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)))
(subword-mode +1)))
(provide 'siren-sh)
;;; siren-sh.el ends here

View File

@@ -6,15 +6,12 @@
;;; Code:
(require 'siren-highlight-indentation)
(use-package slim-mode
:mode "\\.slim\\'"
:hook (slim-mode . siren-slim-mode-hook)
:init
(defun siren-slim-mode-setup ()
(highlight-indentation-current-column-mode)))
(defun siren-slim-mode-setup ()))
(provide 'siren-slim)
;;; siren-slim.el ends here

View File

@@ -9,7 +9,7 @@
(require 'siren-rainbow)
(use-package sql-mode
:ensure nil ;; loaded from emacs built-ins
:straight (:type built-in)
:mode "\\.sql\\'"
:hook (sql-mode . siren-sql-mode-setup)
@@ -17,8 +17,7 @@
(defun siren-sql-mode-setup ()
(setq tab-width 2)
(company-mode +1)
(highlight-indentation-current-column-mode +1)))
(company-mode +1)))
(use-package sqlformat
:hook

View File

@@ -7,7 +7,8 @@
;;; Code:
(use-package text-mode
:ensure nil ;; loaded from emacs built-ins
:straight (:type built-in)
:defer t
:hook (text-mode . siren-text-mode-setup)
:init
(defun siren-text-mode-setup ()

View File

@@ -6,14 +6,7 @@
;;; Code:
(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\\'"
@@ -21,17 +14,9 @@
:init
(defun siren-thrift-mode-setup ()
(siren-prog-mode-setup)
(run-hooks 'prog-mode-hook)
(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)

View File

@@ -0,0 +1,24 @@
;;; siren-toml.el --- jimeh's Emacs Siren: toml-mode configuration.
;;; Commentary:
;; Basic configuration for toml-mode.
;;; Code:
(require 'siren-prettier-js)
(require 'siren-prog-mode)
(use-package conf-toml-mode
:straight (:type built-in)
:mode "\\.toml\\'"
:hook (conf-toml-mode . siren-toml-mode-setup)
:init
(defun siren-toml-mode-setup ()
(run-hooks 'prog-mode-hook)
(setq tab-width 2)
(prettier-js-mode)))
(provide 'siren-toml)
;;; siren-toml.el ends here

View File

@@ -7,18 +7,23 @@
;;; Code:
(require 'siren-company)
(require 'siren-folding)
(require 'siren-flycheck)
(require 'siren-highlight-indentation)
(require 'siren-folding)
(require 'siren-lsp)
(require 'siren-prettier-js)
(require 'siren-web-mode)
(use-package typescript-mode
:defer t
:mode "\\.ts\\'"
:hook
(typescript-mode . siren-typescript-mode-setup)
:init
:bind (:map typescript-mode-map
("C-j" . newline-and-indent)
("C-c C-h" . siren-folding-toggle))
:init
(defun siren-typescript-mode-setup ()
(let ((width 2))
(setq typescript-indent-level width
@@ -28,13 +33,7 @@
(company-mode +1)
(lsp)
(subword-mode +1)
(hs-minor-mode 1)
(highlight-indentation-current-column-mode)
(hideshowvis-enable)
(let ((map typescript-mode-map))
(define-key map (kbd "C-j") 'newline-and-indent)
(define-key map (kbd "C-c C-h") 'siren-toggle-hiding))))
(siren-folding)))
(use-package tide
:hook
@@ -43,9 +42,8 @@
:init
(add-to-list 'auto-mode-alist '("\\.tsx\\'" . web-mode))
(eval-after-load 'flycheck
'(progn
(flycheck-add-mode 'typescript-tslint 'web-mode)))
(with-eval-after-load 'flycheck
(flycheck-add-mode 'typescript-tslint 'web-mode))
(defun siren-tide-web-mode-setup ()
(when (string-equal "tsx" (file-name-extension buffer-file-name))
@@ -62,11 +60,7 @@
(flycheck-mode +1)
(eldoc-mode +1)
(tide-hl-identifier-mode +1)
(company-mode +1))
:config
;; (add-hook 'before-save-hook #'tide-format-before-save)
)
(company-mode +1)))
(provide 'siren-typescript)
;;; siren-typescript.el ends here

View File

@@ -7,9 +7,8 @@
;;; Code:
(require 'siren-company)
(require 'siren-fci)
(require 'siren-display-fill-column)
(require 'siren-folding)
(require 'siren-highlight-indentation)
(use-package web-mode
:mode
@@ -19,7 +18,7 @@
:bind (:map web-mode-map
("C-j" . newline-and-indent)
("C-c C-h" . siren-toggle-hiding))
("C-c C-h" . siren-folding-toggle))
:hook
(web-mode . siren-web-mode-setup)
@@ -36,12 +35,11 @@
"Default tweaks for `web-mode'."
(setq tab-width 2)
(when (version< emacs-version "27.0")
(siren-display-fill-column -1))
(company-mode +1)
(fci-mode -1)
(hideshowvis-enable)
(hs-minor-mode +1)
(highlight-indentation-current-column-mode)
(highlight-indentation-set-offset 2)
(siren-folding)
(subword-mode +1)))
(use-package web-beautify

View File

@@ -0,0 +1,28 @@
;;; siren-xml.el --- jimeh's Emacs Siren: XML editing configuration.
;;; Commentary:
;; Basic configuration for XML editing.
;;; Code:
(require 'siren-prettier-js)
(require 'siren-prog-mode)
(use-package nxml-mode
:straight (:type built-in)
:defer t
:hook (nxml-mode . siren-xml-setup)
:custom
(nxml-attribute-indent 2)
(nxml-child-indent 2)
:init
(defun siren-xml-setup ()
(run-hooks 'prog-mode-hook)
(setq tab-width 2)
(prettier-js-mode)))
(provide 'siren-xml)
;;; siren-xml.el ends here

View File

@@ -6,12 +6,8 @@
;;; Code:
(require 'siren-fci)
(require 'siren-flyspell)
(require 'siren-highlight-indentation)
(require 'siren-linum)
(require 'siren-prettier-js)
(require 'siren-prog-mode)
(require 'siren-smartparens)
(use-package yaml-mode
:mode "\\.yml\\'" "\\.yaml\\'"
@@ -23,16 +19,9 @@
:init
(defun siren-yaml-mode-setup ()
(siren-prog-mode-setup)
(setq tab-width 2
whitespace-action '(auto-cleanup))
(fci-mode)
(flyspell-mode)
(highlight-indentation-current-column-mode)
(highlight-indentation-set-offset 2)
(linum-mode t)
(smartparens-mode +1)
(run-hooks 'prog-mode-hook)
(setq tab-width 2)
(prettier-js-mode)
(subword-mode +1)))
(use-package yaml-imenu

View File

@@ -1,13 +0,0 @@
;;; siren-eslintd-fix.el --- jimeh's Emacs Siren: eslintd-fix configuration.
;;; Commentary:
;; Basic configuration for eslintd-fix.
;;; Code:
(use-package eslintd-fix
:defer t)
(provide 'siren-eslintd-fix)
;;; siren-eslintd-fix.el ends here

View File

@@ -7,6 +7,7 @@
;;; Code:
(use-package prettier-js
:defer t
:hook (prettier-js-mode . siren-prettier-js-mode-setup)
:init

View File

@@ -10,7 +10,7 @@
(require 'siren-lsp)
(use-package company-lsp
:commands company-lsp)
:defer t)
(provide 'siren-company-lsp)
;;; siren-company-lsp.el ends here

View File

@@ -10,9 +10,6 @@
(require 'siren-lsp)
(use-package helm-lsp
:commands
helm-lsp-workspace-symbol
helm-lsp-global-workspace-symbol
:bind
("C-c C-'" . helm-lsp-workspace-symbol))

View File

@@ -9,8 +9,7 @@
(require 'siren-lsp)
(use-package lsp-ui
:commands lsp-ui-mode
:defer t
:bind (:map lsp-ui-mode-map
("C-c C-d" . lsp-ui-doc-show)
("M-?" . lsp-ui-peek-find-references)

View File

@@ -7,8 +7,7 @@
;;; Code:
(use-package lsp-mode
:commands lsp
:defer t
:bind (:map lsp-mode-map
("C-c C-." . lsp-rename))

View File

@@ -0,0 +1,14 @@
;;; siren-grip.el --- jimeh's Emacs Siren: grip-mode configuration.
;;; Commentary:
;; Basic configuration for grip-mode.
;;; Code:
(use-package grip-mode
:bind (:map markdown-mode-command-map
("g" . grip-mode)))
(provide 'siren-grip)
;;; siren-grip.el ends here

View File

@@ -0,0 +1,17 @@
;;; siren-refine.el --- jimeh's Emacs Siren: refine configuration.
;;; Commentary:
;; Basic configuration for refine.
;;; Code:
(use-package refine
:commands refine
:bind
(:map refine-mode-map
("M-n" . refine-move-forward)
("M-p" . refine-move-backward)))
(provide 'siren-refine)
;;; siren-refine.el ends here

View File

@@ -6,10 +6,9 @@
;;; Code:
(require 'siren-linum)
(use-package zone
:ensure nil ;; loaded from emacs built-ins
:straight (:type built-in)
:init
(defun zone-choose (pgm)
"Choose a PGM to run for `zone'."
@@ -21,5 +20,7 @@
(let ((zone-programs (list (intern pgm))))
(zone))))
(use-package zone-nyan)
(provide 'siren-zone)
;;; siren-zone.el ends here

View File

@@ -0,0 +1,33 @@
;;; siren-centaur-tabs.el --- jimeh's Emacs Siren: centaur-tabs configuration.
;;; Commentary:
;; Basic configuration for centaur-tabs.
;;; Code:
(use-package centaur-tabs
:commands centaur-tabs-mode
:bind
("s-[" . centaur-tabs-backward-tab)
("s-]" . centaur-tabs-forward-tab)
("s-<" . centaur-tabs-backward-group)
("s->" . centaur-tabs-forward-group)
:custom
(centaur-tabs-height 32)
(centaur-tabs-modified-marker "") ;; Unicode Bullet (0x2022)
(centaur-tabs-set-bar 'left)
(centaur-tabs-set-icons t)
(centaur-tabs-set-modified-marker t)
(centaur-tabs-show-navigation-buttons nil)
(centaur-tabs-style "bar")
:config
(centaur-tabs-mode t)
(centaur-tabs-headline-match)
(centaur-tabs-group-by-projectile-project))
(provide 'siren-centaur-tabs)
;;; siren-centaur-tabs.el ends here

View File

@@ -6,11 +6,25 @@
;;; Code:
(require 'siren-linum)
(use-package dired
:straight (:type built-in)
:config
(when (string-match-p "^gnu" (symbol-name system-type))
(setq dired-use-ls-dired t
dired-listing-switches "-aBhl"))
(when (string= system-type "darwin")
(let ((gls (executable-find "gls")))
(when gls
(setq dired-use-ls-dired t
insert-directory-program gls
dired-listing-switches "-aBhl")))))
(use-package dired-x
:straight (:type built-in))
(use-package dired+
:ensure nil ;; loaded from vendor
:demand
:bind (:map dired-mode-map
("c" . dired-create-directory)
("C-l" . diredp-up-directory-reuse-dir-buffer))
@@ -20,7 +34,6 @@
:init
(defun siren-dired-mode-setup ()
(linum-mode t)
(toggle-diredp-find-file-reuse-dir 1))
:config

View File

@@ -6,6 +6,8 @@
;;; Code:
(require 'siren-ido)
(use-package dumb-jump
:bind
("C-c C-j" . dumb-jump-go)
@@ -18,7 +20,7 @@
("M-g z" . dumb-jump-go-prefer-external-other-window)
:custom
(dumb-jump-selector 'ivy))
(dumb-jump-selector 'ido))
(provide 'siren-dumb-jump)
;;; siren-dumb-jump.el ends here

View File

@@ -1,38 +0,0 @@
;;; siren-folding.el --- jimeh's Emacs Siren: folding configuration.
;;; Commentary:
;; Basic configuration for folding code.
;;; Code:
(use-package hideshowvis
:ensure nil ;; loaded from vendor
)
(defun siren-toggle-hiding (column)
"Toggle hiding/showing blocks via hs-mode.
Borrowed from: http://www.emacswiki.org/emacs/HideShow"
(interactive "P")
(if hs-minor-mode
(if (condition-case nil
(hs-toggle-hiding)
(error t))
(hs-show-all))
(siren-toggle-selective-display column)))
(defun siren-toggle-selective-display (column)
"Helper function for `siren-toggle-hiding'."
(interactive "P")
(set-selective-display
(or column
(unless selective-display
(1+ (current-column))))))
;; Keybindings
(global-set-key (kbd "C-=") 'siren-toggle-selective-display)
(global-set-key (kbd "C-c C-h") 'siren-toggle-hiding)
(provide 'siren-folding)
;;; siren-folding.el ends here

View File

@@ -25,6 +25,7 @@
"elpa"
"node_modules"
"sorbet"
"straight"
"vendor/assets")))
(provide 'siren-helm-ag)

View File

@@ -1,24 +0,0 @@
;;; siren-helm-files.el --- jimeh's Emacs Siren: helm-files configuration.
;;; Commentary:
;; Basic configuration for helm-files.
;;; Code:
(require 'siren-helm)
(use-package helm-files
:ensure helm
:defer t
:bind
("C-x C-f" . helm-find-files)
("C-c f f" . helm-for-files)
("C-c f r" . helm-recentf)
:custom
(helm-ff-file-name-history-use-recentf t)
(helm-ff-search-library-in-sexp t))
(provide 'siren-helm-files)
;;; siren-helm-files.el ends here

View File

@@ -1,25 +0,0 @@
;;; siren-helm-imenu.el --- jimeh's Emacs Siren: helm-imenu configuration.
;;; Commentary:
;; Basic configuration for helm-imenu.
;;; Code:
(require 'imenu)
(require 'siren-helm)
(use-package imenu-anywhere
:config
(set-default 'imenu-auto-rescan t)
(set-default 'imenu-max-item-length 160)
(set-default 'imenu-max-items 400))
(use-package helm-imenu
:ensure helm
:bind
("C-t" . helm-imenu)
("C-c t" . helm-imenu-anywhere))
(provide 'siren-helm-imenu)
;;; siren-helm-imenu.el ends here

View File

@@ -6,24 +6,51 @@
;;; Code:
(require 'imenu)
(use-package imenu-anywhere
:config
(set-default 'imenu-auto-rescan t)
(set-default 'imenu-max-item-length 160)
(set-default 'imenu-max-items 400))
(use-package helm
:defer t
:hook ((helm-minibuffer-set-up . siren-helm--hide-minibuffer-maybe)
(helm-after-initialize . siren-helm--toggle-source-header-line)
(helm-minibuffer-set-up . siren-helm--popwin-help-mode-off)
(helm-cleanup . siren-helm--popwin-help-mode-on)
(helm-cleanup . siren-helm--show-neotree-maybe))
:hook
(helm-minibuffer-set-up . siren-helm--hide-minibuffer-maybe)
(helm-after-initialize . siren-helm--toggle-source-header-line)
(helm-minibuffer-set-up . siren-helm--popwin-help-mode-off)
(helm-cleanup . siren-helm--popwin-help-mode-on)
(helm-cleanup . siren-helm--show-neotree-maybe)
(helm-cleanup . siren-helm--show-treemacs-maybe)
:bind
("C-t" . helm-imenu)
("C-c t" . helm-imenu-anywhere)
("C-x C-f" . helm-find-files)
("C-c f f" . helm-for-files)
("C-c f r" . helm-recentf)
("C-c C-m" . helm-M-x)
(:map helm-command-map
("M" . helm-man-woman))
:custom
(helm-autoresize-max-height 30)
(helm-autoresize-min-height 30)
(helm-autoresize-mode t)
(helm-M-x-always-save-history t)
(helm-M-x-fuzzy-match t)
(helm-always-two-windows t)
(helm-autoresize-max-height 48)
(helm-autoresize-min-height 10)
(helm-autoresize-mode nil)
(helm-buffer-max-length 64)
(helm-case-fold-search 'smart)
(helm-command-prefix-key "C-c h")
(helm-display-header-line t)
(helm-echo-input-in-header-line t)
(helm-ff-file-name-history-use-recentf t)
(helm-ff-search-library-in-sexp t)
(helm-file-name-case-fold-search 'smart)
(helm-split-window-default-side 'below)
(siren-helm--did-hide-neotree nil)
(siren-helm--did-hide-treemacs nil)
:init
;; From: https://www.reddit.com/r/emacs/comments/3asbyn/new_and_very_useful_helm_feature_enter_search/
@@ -68,14 +95,33 @@
(setq siren-helm--did-hide-neotree nil)
(run-with-timer 0.01 nil #'neotree-show)))
(defun siren-helm--hide-treemacs (&rest plist)
(when (fboundp 'treemacs-get-local-window)
(let ((win (treemacs-get-local-window)))
(when win
(setq siren-helm--did-hide-treemacs t)
(delete-window win)))))
(defun siren-helm--show-treemacs-maybe ()
(when siren-helm--did-hide-treemacs
(setq siren-helm--did-hide-treemacs nil)
(run-with-timer 0.01 nil #'siren-helm--show-treemacs)))
(defun siren-helm--show-treemacs ()
(when (fboundp 'treemacs-select-window)
(let ((win (selected-window)))
(treemacs-select-window)
(select-window win))))
:config
(advice-add 'helm :before 'siren-helm--hide-neotree))
(require 'helm-config)
(use-package helm-config
:ensure helm
(require 'helm-command)
(require 'helm-files)
(require 'helm-imenu)
:custom
(helm-command-prefix-key "C-c h"))
(advice-add 'helm :before 'siren-helm--hide-neotree)
(advice-add 'helm :before 'siren-helm--hide-treemacs))
(use-package helm-descbinds
:defer t)

View File

@@ -6,7 +6,8 @@
;;; Code:
(use-package htmlize)
(use-package htmlize
:defer t)
(provide 'siren-htmlize)
;;; siren-htmlize.el ends here

View File

@@ -0,0 +1,22 @@
;;; siren-ob-mermaid.el --- jimeh's Emacs Siren: ob-mermaid configuration.
;;; Commentary:
;; Basic configuration for ob-mermaid.
;;; Code:
(require 'siren-org-mode)
(use-package ob-mermaid
:defer t
:hook
(org-mode . siren-ob-mermaid-setup)
:init
(defun siren-ob-mermaid-setup ()
(require 'ob-mermaid)))
(provide 'siren-ob-mermaid)
;;; siren-ob-mermaid.el ends here

View File

@@ -6,16 +6,16 @@
;;; Code:
(require 'siren-fci)
(require 'siren-display-fill-column)
(require 'siren-display-indentation)
(require 'siren-display-line-numbers)
(require 'siren-flyspell)
(require 'siren-linum)
(require 'siren-smartparens)
(use-package org-mode
:ensure nil ;; loaded from emacs built-ins
(use-package org
:bind (:map org-mode-map
("C-j" . newline-and-indent)
("RET" . newline-and-indent)
("C-j" . org-return-indent)
("RET" . org-return-indent)
("M-{" . org-promote-subtree)
("M-}" . org-demote-subtree)
("M-P" . org-metaup)
@@ -25,9 +25,18 @@
:hook (org-mode . siren-org-mode-setup)
:custom
(org-export-backends '(ascii html icalendar latex md confluence))
(org-blank-before-new-entry '((heading . auto) (plain-list-item . nil)))
(org-catch-invisible-edits 'show)
(org-ctrl-k-protect-subtree t)
(org-export-backends '(ascii html icalendar latex md))
(org-export-with-section-numbers nil)
(org-export-with-sub-superscripts '{})
(org-return-follows-link t)
(org-special-ctrl-a/e t)
(org-special-ctrl-k t)
(org-directory (if (file-directory-p "~/Dropbox/org")
"~/Dropbox/org" "~/org"))
:init
(defun siren-org-mode-setup ()
@@ -35,15 +44,21 @@
whitespace-action '(auto-cleanup))
(setcar (nthcdr 4 org-emphasis-regexp-components) 20)
(org-set-emph-re 'org-emphasis-regexp-components org-emphasis-regexp-components)
(org-set-emph-re 'org-emphasis-regexp-components
org-emphasis-regexp-components)
(linum-mode t)
(siren-display-fill-column)
(siren-display-indentation)
(siren-display-line-numbers)
(flyspell-mode)
(fci-mode)
(highlight-indentation-current-column-mode)
(smartparens-mode +1)
(visual-line-mode +1)
(whitespace-mode +1)))
(whitespace-mode +1))
:config
(require 'org-mouse)
(setq org-id-locations-file
(expand-file-name ".org-id-locations" org-directory)))
(provide 'siren-org-mode)
;;; siren-org-mode.el ends here

View File

@@ -1,14 +0,0 @@
;;; siren-org-mouse.el --- jimeh's Emacs Siren: org-mouse configuration.
;;; Commentary:
;; Basic configuration for org-mouse.
;;; Code:
(use-package org-mouse
:ensure nil ;; loaded from emacs built-ins
)
(provide 'siren-org-mouse)
;;; siren-org-mouse.el ends here

View File

@@ -0,0 +1,27 @@
;;; siren-ox-pandoc.el --- jimeh's Emacs Siren: ox-pandoc configuration.
;;; Commentary:
;; Basic configuration for ox-pandoc.
;;; Code:
(require 'siren-org-mode)
(use-package ox-pandoc
:defer t
:hook
(org-mode . siren-ox-pandoc-setup)
:custom
(org-pandoc-options-for-gfm '((columns . "80")))
(org-pandoc-options-for-markdown '((columns . "80")))
(org-pandoc-options-for-org '((columns . "80")))
:init
(defun siren-ox-pandoc-setup ()
(require 'ox-pandoc)))
(provide 'siren-ox-pandoc)
;;; siren-ox-pandoc.el ends here

View File

@@ -24,7 +24,7 @@
(setq dired-sidebar-use-term-integration t))
(use-package all-the-icons-dired
:requires dired-sidebar
:after dired-sidebar
:commands (all-the-icons-dired-mode))
(provide 'siren-dired-sidebar)

Some files were not shown because too many files have changed in this diff Show More