mirror of
https://github.com/jimeh/.emacs.d.git
synced 2026-02-19 13:46:41 +00:00
Merge pull request #8 from jimeh/emacs-27
This commit is contained in:
6
.gitignore
vendored
6
.gitignore
vendored
@@ -1,5 +1,11 @@
|
||||
straight/*
|
||||
!straight/versions/
|
||||
!straight/versions/*
|
||||
|
||||
*.elc
|
||||
.DS_Store
|
||||
.cache/*
|
||||
.extension/*
|
||||
.lsp-session*
|
||||
.mc-lists.el
|
||||
ac-comphist.dat
|
||||
|
||||
7
Makefile
7
Makefile
@@ -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.
|
||||
|
||||
38
README.md
38
README.md
@@ -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.
|
||||
|
||||

|
||||
42
README.org
Normal file
42
README.org
Normal 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]]
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
35
core/siren-core-macos.el
Normal 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
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
20
core/siren-core-performance.el
Normal file
20
core/siren-core-performance.el
Normal 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
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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
27
early-init.el
Normal 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
|
||||
@@ -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
|
||||
|
||||
17
modules/completion/siren-prescient.el
Normal file
17
modules/completion/siren-prescient.el
Normal 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
|
||||
27
modules/editor/siren-amx.el
Normal file
27
modules/editor/siren-amx.el
Normal 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
|
||||
31
modules/editor/siren-auto-highlight-symbol.el
Normal file
31
modules/editor/siren-auto-highlight-symbol.el
Normal 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
|
||||
35
modules/editor/siren-display-fill-column.el
Normal file
35
modules/editor/siren-display-fill-column.el
Normal 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
|
||||
17
modules/editor/siren-display-indentation.el
Normal file
17
modules/editor/siren-display-indentation.el
Normal 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
|
||||
37
modules/editor/siren-display-line-numbers.el
Normal file
37
modules/editor/siren-display-line-numbers.el
Normal 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
|
||||
@@ -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
|
||||
@@ -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)
|
||||
|
||||
47
modules/editor/siren-folding.el
Normal file
47
modules/editor/siren-folding.el
Normal 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
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
@@ -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+
|
||||
|
||||
27
modules/editor/siren-ivy.el
Normal file
27
modules/editor/siren-ivy.el
Normal 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
|
||||
@@ -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
|
||||
@@ -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
|
||||
15
modules/editor/siren-mwim.el
Normal file
15
modules/editor/siren-mwim.el
Normal 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
|
||||
26
modules/editor/siren-selectrum.el
Normal file
26
modules/editor/siren-selectrum.el
Normal 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
|
||||
@@ -1,4 +1,4 @@
|
||||
;;; siren-smex.el --- jimeh's Emacs Siren: smex.
|
||||
;;; siren-smex.el --- jimeh's Emacs Siren: smex configuration.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
19
modules/editor/siren-undohist.el
Normal file
19
modules/editor/siren-undohist.el
Normal 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
|
||||
@@ -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
|
||||
|
||||
28
modules/languages/siren-applescript.el
Normal file
28
modules/languages/siren-applescript.el
Normal 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
|
||||
@@ -28,7 +28,6 @@
|
||||
(coffee-cos-mode t))
|
||||
|
||||
(setq tab-width 2)
|
||||
(highlight-indentation-current-column-mode)
|
||||
(subword-mode +1)))
|
||||
|
||||
(provide 'siren-coffee)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -7,7 +7,10 @@
|
||||
;;; Code:
|
||||
|
||||
(use-package dockerfile-mode
|
||||
:mode "Dockerfile.*\\'"
|
||||
:mode
|
||||
"/Dockerfile\\'"
|
||||
"/Dockerfile\\.[^/]+\\'"
|
||||
|
||||
:hook (dockerfile-mode . siren-dockerfile-mode-setup)
|
||||
|
||||
:init
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)))
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
(setq lua-indent-level 2
|
||||
whitespace-action '(auto-cleanup))
|
||||
|
||||
(highlight-indentation-current-column-mode)
|
||||
(subword-mode +1)))
|
||||
|
||||
(provide 'siren-lua)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
22
modules/languages/siren-mermaid.el
Normal file
22
modules/languages/siren-mermaid.el
Normal 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
|
||||
26
modules/languages/siren-nginx.el
Normal file
26
modules/languages/siren-nginx.el
Normal 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
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)))
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 ()
|
||||
|
||||
@@ -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)
|
||||
|
||||
24
modules/languages/siren-toml.el
Normal file
24
modules/languages/siren-toml.el
Normal 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
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
28
modules/languages/siren-xml.el
Normal file
28
modules/languages/siren-xml.el
Normal 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
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -7,6 +7,7 @@
|
||||
;;; Code:
|
||||
|
||||
(use-package prettier-js
|
||||
:defer t
|
||||
:hook (prettier-js-mode . siren-prettier-js-mode-setup)
|
||||
|
||||
:init
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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))
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -7,8 +7,7 @@
|
||||
;;; Code:
|
||||
|
||||
(use-package lsp-mode
|
||||
:commands lsp
|
||||
|
||||
:defer t
|
||||
:bind (:map lsp-mode-map
|
||||
("C-c C-." . lsp-rename))
|
||||
|
||||
|
||||
14
modules/misc/siren-grip.el
Normal file
14
modules/misc/siren-grip.el
Normal 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
|
||||
17
modules/misc/siren-refine.el
Normal file
17
modules/misc/siren-refine.el
Normal 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
|
||||
@@ -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
|
||||
|
||||
33
modules/navigation/siren-centaur-tabs.el
Normal file
33
modules/navigation/siren-centaur-tabs.el
Normal 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
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -25,6 +25,7 @@
|
||||
"elpa"
|
||||
"node_modules"
|
||||
"sorbet"
|
||||
"straight"
|
||||
"vendor/assets")))
|
||||
|
||||
(provide 'siren-helm-ag)
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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)
|
||||
|
||||
@@ -6,7 +6,8 @@
|
||||
|
||||
;;; Code:
|
||||
|
||||
(use-package htmlize)
|
||||
(use-package htmlize
|
||||
:defer t)
|
||||
|
||||
(provide 'siren-htmlize)
|
||||
;;; siren-htmlize.el ends here
|
||||
|
||||
22
modules/org-mode/siren-ob-mermaid.el
Normal file
22
modules/org-mode/siren-ob-mermaid.el
Normal 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
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
27
modules/org-mode/siren-ox-pandoc.el
Normal file
27
modules/org-mode/siren-ox-pandoc.el
Normal 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
|
||||
@@ -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
Reference in New Issue
Block a user