Remove old configuration files
This commit is contained in:
parent
a5739a4fd5
commit
33741be3e6
24 changed files with 0 additions and 1384 deletions
|
|
@ -1,4 +0,0 @@
|
|||
-R
|
||||
--exclude=*.js
|
||||
--exclude=*.py
|
||||
--exclude=*.elc
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
# My emacs config
|
||||
|
||||
Contains config I use for the following languages/modes:
|
||||
|
||||
* Elixir
|
||||
* Ruby
|
||||
* Rust
|
||||
* HTML and compatibile (ERB)
|
||||
* Markdown
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
git clone git@github.com:maciej-szlosarczyk/emacs.git ~/.emacs.d
|
||||
ln -s ~/.emacs.d/emacs ~/.emacs
|
||||
```
|
||||
|
||||
## Selected packages
|
||||
|
||||
The following packages are included or required:
|
||||
|
||||
* Evil
|
||||
* Magit
|
||||
* Helm
|
||||
* Projectile
|
||||
* Company
|
||||
* Yasnippet
|
||||
* Column Enforce Mode
|
||||
* Ag
|
||||
|
||||
## Compatibility notes
|
||||
|
||||
Tested on MacOS, requires additional packages such as ag (`the_silver_searcher`).
|
||||
|
||||
## TODO
|
||||
|
||||
1. Add and configure multiterm
|
||||
* Add `multi-term-mode-hook` for trailing whitespace.
|
||||
|
|
@ -1,206 +0,0 @@
|
|||
;;; behaviour.el --- how emacs should behave
|
||||
;;; Commentary:
|
||||
;;; Code:
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;; Overall behaviour ;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; (setq debug-on-error t)
|
||||
|
||||
;;; remove menu bar and icons
|
||||
(menu-bar-mode -1)
|
||||
(tool-bar-mode -1)
|
||||
(scroll-bar-mode -1)
|
||||
|
||||
;; Open files in the existing emacs window
|
||||
(setq ns-pop-up-frames nil)
|
||||
|
||||
; Enable diff highlights (useful for git)
|
||||
(require 'diff-hl)
|
||||
|
||||
(global-diff-hl-mode 1)
|
||||
(diff-hl-flydiff-mode 1)
|
||||
(diff-hl-margin-mode 1)
|
||||
(setq diff-hl-side 'right)
|
||||
(add-hook 'magit-post-refresh-hook 'diff-hl-magit-post-refresh)
|
||||
|
||||
; Enable line numbers and show cursors position
|
||||
(global-linum-mode t)
|
||||
(column-number-mode 1)
|
||||
|
||||
;; Enable TODO highlights
|
||||
(hl-todo-mode 1)
|
||||
|
||||
;; Turn off sounds
|
||||
(setq ring-bell-function 'ignore)
|
||||
|
||||
;; Enable y/n answers to questions
|
||||
(fset 'yes-or-no-p 'y-or-n-p)
|
||||
|
||||
;#====================== Backup config #==============================
|
||||
(setq backup-directory-alist
|
||||
`((".*" . "~/.emacs_backups/auto-save-list")))
|
||||
(setq auto-save-file-name-transforms
|
||||
`((".*", "~/.emacs_backups/auto-save-list" t)))
|
||||
|
||||
(setq backup-by-copying t)
|
||||
(setq delete-old-versions t
|
||||
kept-new-versions 6
|
||||
kept-old-versions 2
|
||||
version-control t)
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;; code behaviour ;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
; Add ruler at 80, do not wrap lines (can be overwritten later)
|
||||
(require 'column-enforce-mode)
|
||||
(add-hook 'prog-mode-hook 'column-enforce-mode)
|
||||
|
||||
;; (setq whitespace-space 'underline)
|
||||
(toggle-truncate-lines t)
|
||||
|
||||
;; Show trailing whitespace and remove whitespace on save
|
||||
(require 'whitespace)
|
||||
(add-hook 'prog-mode-hook 'whitespace-mode)
|
||||
(setq whitespace-style '(face trailing empty))
|
||||
|
||||
(add-hook 'before-save-hook 'whitespace-cleanup) ; Cleanup whitespace on save
|
||||
|
||||
;; Tabs are spaces and are general at 2. Guide indent with lines
|
||||
(setq-default indent-tabs-mode nil)
|
||||
|
||||
; Insert newline on save
|
||||
(setq require-final-newline t)
|
||||
|
||||
; Add code snippets as in sublime
|
||||
(yas-global-mode t)
|
||||
|
||||
;; Match parenthasis (left-right)
|
||||
(electric-pair-mode 1)
|
||||
|
||||
; Rainbow parenthesis
|
||||
(require 'rainbow-delimiters)
|
||||
(add-hook 'prog-mode-hook 'rainbow-delimiters-mode)
|
||||
|
||||
; Show hex colors as colors
|
||||
(require 'rainbow-mode)
|
||||
(add-hook 'prog-mode-hook 'rainbow-mode)
|
||||
|
||||
;;; When pasting/writing over a selection, replace it.
|
||||
(delete-selection-mode 1)
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;; Shell stuff ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)
|
||||
|
||||
;; Add pgp binary
|
||||
(add-to-list 'exec-path "/usr/local/bin")
|
||||
|
||||
; Use Shells variables
|
||||
(when (memq window-system '(mac ns))
|
||||
(exec-path-from-shell-initialize)
|
||||
(exec-path-from-shell-copy-env "GOPATH")
|
||||
(exec-path-from-shell-copy-env "GOROOT"))
|
||||
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;; indentation functions ;;;;;;;;;;;;;;;;;;;;;;
|
||||
;;; NB! This does not work reliably, using the functions below
|
||||
(defun set-width (columns)
|
||||
"Set line length to X COLUMNS."
|
||||
(interactive "NNumber of columns to use: ")
|
||||
(setq column-enforce-column columns)
|
||||
(column-enforce-mode -1)
|
||||
(column-enforce-mode 1))
|
||||
|
||||
(defun set-width-99 ()
|
||||
"Set line length to 99 columns."
|
||||
(interactive)
|
||||
(setq column-enforce-column 99)
|
||||
(column-enforce-mode -1)
|
||||
(column-enforce-mode 1))
|
||||
|
||||
(defun set-width-100 ()
|
||||
"Set line length to 100 columns."
|
||||
(interactive)
|
||||
(setq column-enforce-column 100)
|
||||
(column-enforce-mode -1)
|
||||
(column-enforce-mode 1))
|
||||
|
||||
(defun set-width-80 ()
|
||||
"Set line length to 80 columns."
|
||||
(interactive)
|
||||
(setq column-enforce-column 80)
|
||||
(column-enforce-mode -1)
|
||||
(column-enforce-mode 1))
|
||||
|
||||
(defun set-width-79 ()
|
||||
"Set line length to 79 columns."
|
||||
(interactive)
|
||||
(setq column-enforce-column 79)
|
||||
(column-enforce-mode -1)
|
||||
(column-enforce-mode 1))
|
||||
|
||||
(defun set-width-120 ()
|
||||
"Set line length to 120 columns."
|
||||
(interactive)
|
||||
(setq column-enforce-column 120)
|
||||
(column-enforce-mode -1)
|
||||
(column-enforce-mode 1))
|
||||
|
||||
(defun set-indent (step)
|
||||
"Set indentation to X STEPs."
|
||||
(interactive "NNumber of columns for one step: ")
|
||||
(setq tab-width step)
|
||||
(setq tab-stop-list (number-sequence step 200 step)))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;; additional features ;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
; Add completion
|
||||
(require 'company)
|
||||
(setq company-tooltip-limit 30)
|
||||
(setq company-tooltip-minimum-width 40)
|
||||
(setq company-idle-delay .1)
|
||||
(setq company-begin-commands '(self-insert-command))
|
||||
(setq company-selection-wrap-around t)
|
||||
|
||||
;; Set up default backends (overriden for specific languages)
|
||||
(setq company-backends
|
||||
'((company-files ; files & directory
|
||||
company-keywords ; keywords
|
||||
company-capf
|
||||
company-yasnippet
|
||||
)
|
||||
(company-abbrev company-dabbrev)
|
||||
))
|
||||
|
||||
;; Test, I do not know what it does yet.
|
||||
(setq company-tooltip-align-annotations t)
|
||||
|
||||
;; Do not required match to continue typing
|
||||
(setq company-require-match 'never)
|
||||
|
||||
; Use VIM mode
|
||||
(require 'evil)
|
||||
(require 'evil-leader)
|
||||
(global-evil-leader-mode t)
|
||||
(evil-mode t)
|
||||
|
||||
;; Add magit for git
|
||||
(require 'evil-magit)
|
||||
|
||||
;; Additional configuration for flycheck.
|
||||
(require 'flycheck)
|
||||
(setq flycheck-highlighting-mode 'lines)
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;; Projectile ;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
(require 'projectile)
|
||||
(projectile-mode)
|
||||
|
||||
(setq projectile-enable-caching t)
|
||||
(setq projectile-file-exists-local-cache-expire (* 3 60))
|
||||
|
||||
;; Show projectile lists by most recently active
|
||||
(setq projectile-sort-order (quote recently-active))
|
||||
|
||||
(setq projectile-globally-ignored-directories
|
||||
(append '("node_modules" ".svn") projectile-globally-ignored-directories))
|
||||
|
||||
(require 'helm-projectile)
|
||||
|
||||
;;; behaviour.el ends here
|
||||
|
|
@ -1,61 +0,0 @@
|
|||
;; Added by Package.el. This must come before configurations of
|
||||
;; installed packages. Don't delete this line. If you don't want it,
|
||||
;; just comment it out by adding a semicolon to the start of the line.
|
||||
;; You may delete these explanatory comments.
|
||||
(package-initialize)
|
||||
(custom-set-variables
|
||||
;; custom-set-variables was added by Custom.
|
||||
;; 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.
|
||||
'(background-color "#202020")
|
||||
'(background-mode dark)
|
||||
'(column-enforce-column 99)
|
||||
'(cursor-color "#cccccc")
|
||||
'(foreground-color "#cccccc")
|
||||
'(hl-paren-background-colors (quote ("#2492db" "#95a5a6" nil)))
|
||||
'(hl-paren-colors (quote ("#ecf0f1" "#ecf0f1" "#c0392b")))
|
||||
'(package-selected-packages
|
||||
(quote
|
||||
(enh-ruby-mode flymake-go go-flymake flycheck-go company-go go-mode expand-region sql-indent json-mode terraform-mode flycheck-rust company-ghc company-ghci scion hlinum etags-select nvm tide yaml-mode window-purpose web-mode ujelly-theme toml-mode smart-mode-line scala-mode rvm ruby-end rspec-mode robe rainbow-mode rainbow-delimiters racer pyenv-mode noctilux-theme monokai-theme markdown-mode less-css-mode json-reformat jade-mode indent-guide helm-themes helm-projectile helm-ag haskell-mode haml-mode groovy-mode flymake-ruby flymake-cursor flycheck flatui-theme exec-path-from-shell evil-nerd-commenter evil-magit evil-leader elpy dumb-jump dockerfile-mode diff-hl dash-at-point company-tern company-racer company-jedi column-enforce-mode color-theme-approximate base16-theme atom-one-dark-theme alchemist aggressive-indent ag)))
|
||||
'(safe-local-variable-values (quote ((encoding . utf-8))))
|
||||
'(sml/active-background-color "#34495e")
|
||||
'(sml/active-foreground-color "#ecf0f1")
|
||||
'(sml/inactive-background-color "#dfe4ea")
|
||||
'(sml/inactive-foreground-color "#34495e")
|
||||
'(vc-annotate-background "#ecf0f1")
|
||||
'(vc-annotate-color-map
|
||||
(quote
|
||||
((30 . "#e74c3c")
|
||||
(60 . "#c0392b")
|
||||
(90 . "#e67e22")
|
||||
(120 . "#d35400")
|
||||
(150 . "#f1c40f")
|
||||
(180 . "#d98c10")
|
||||
(210 . "#2ecc71")
|
||||
(240 . "#27ae60")
|
||||
(270 . "#1abc9c")
|
||||
(300 . "#16a085")
|
||||
(330 . "#2492db")
|
||||
(360 . "#0a74b9"))))
|
||||
'(vc-annotate-very-old-color "#0a74b9"))
|
||||
'(custom-safe-themes
|
||||
(quote
|
||||
("15348febfa2266c4def59a08ef2846f6032c0797f001d7b9148f30ace0d08bcf" default)))
|
||||
'(package-selected-packages
|
||||
(quote
|
||||
(flatui-theme ##)))
|
||||
'(safe-local-variable-values (quote ((encoding . utf-8))))
|
||||
(custom-set-faces
|
||||
;; custom-set-faces was added by Custom.
|
||||
;; 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.
|
||||
)
|
||||
|
||||
;;; Set performance
|
||||
(setq gc-cons-threshold 8000000)
|
||||
|
||||
; load custom config files
|
||||
(load "~/.emacs.d/init.elc")
|
||||
;;; emacs ends here
|
||||
|
|
@ -1,64 +0,0 @@
|
|||
;;; Functions -- summary
|
||||
;;; Commentary:
|
||||
;;; Code:
|
||||
(defun kill-other-buffers ()
|
||||
"Kill all buffers except for the current one."
|
||||
(interactive)
|
||||
(mapc 'kill-buffer (delq (current-buffer) (buffer-list)))
|
||||
)
|
||||
|
||||
(defun align-to-colon (begin end)
|
||||
"Align region from BEGIN to END according to colon signs."
|
||||
(interactive "r")
|
||||
(align-regexp begin end
|
||||
(rx ":" (group (zero-or-more (syntax whitespace))) ) 1 1))
|
||||
|
||||
|
||||
;;;; Functions to update font size
|
||||
(defun set-font-size (size)
|
||||
"Set font SIZE to X px."
|
||||
(interactive "NNew font size: ")
|
||||
(set-face-attribute 'default nil :font (format "Hasklig %d" size))
|
||||
(set-face-attribute 'mode-line nil :font (format "Hasklig %d" size))
|
||||
(set-face-attribute 'helm-selection nil :font (format "Hasklig %d" size))
|
||||
(set-face-attribute 'helm-header nil :font
|
||||
(format "Hasklig %d"
|
||||
(+ size 2))))
|
||||
|
||||
;;;; Functions related to compilation of files
|
||||
(defun byte-compile-init-dir ()
|
||||
"Byte-compile all your dotfiles."
|
||||
(interactive)
|
||||
(byte-recompile-directory user-emacs-directory 0))
|
||||
|
||||
(defun remove-elc-on-save ()
|
||||
"If you're saving an elisp file, likely the .elc is no longer valid."
|
||||
(add-hook 'after-save-hook
|
||||
(lambda ()
|
||||
(if (file-exists-p (concat buffer-file-name "c"))
|
||||
(delete-file (concat buffer-file-name "c"))))
|
||||
nil
|
||||
t))
|
||||
|
||||
(defun byte-compile-in-windowed-mode ()
|
||||
"Call function passed as CALLEE only if run in window mode."
|
||||
(interactive)
|
||||
(if (display-graphic-p)
|
||||
(progn
|
||||
(byte-compile-init-dir))))
|
||||
|
||||
;; (call-in-windowed-mode 'byte-compile-init-dir)
|
||||
|
||||
(add-hook 'kill-emacs-hook 'byte-compile-in-windowed-mode)
|
||||
(add-hook 'emacs-lisp-mode-hook 'remove-elc-on-save)
|
||||
|
||||
;; Always start in fullscreen
|
||||
(defun toggle-fullscreen ()
|
||||
"Toggle full screen."
|
||||
(interactive)
|
||||
(set-frame-parameter
|
||||
nil 'fullscreen
|
||||
(when (not (frame-parameter nil 'fullscreen)) 'fullboth)))
|
||||
|
||||
(toggle-fullscreen)
|
||||
;;; functions.el ends here
|
||||
|
|
@ -1,73 +0,0 @@
|
|||
;;; keybindings.el -- Summary
|
||||
;;; Commentary:
|
||||
;;; Code:
|
||||
;;;;;;;;; Emacs bindings ;;;;;;;;;;;;;;;;;;;;;
|
||||
(global-set-key (kbd "RET") 'newline)
|
||||
|
||||
;;;;;;;;; Mac binding (fix) ;;;;;;;;;;;;;;;;;;
|
||||
(define-key global-map [home] 'beginning-of-line)
|
||||
(define-key global-map [end] 'end-of-line)
|
||||
(global-set-key (kbd "s-<right>") 'end-of-line)
|
||||
(global-set-key (kbd "s-<left>") 'beginning-of-line)
|
||||
(global-set-key (kbd "s-<up>") 'scroll-down) ; WTF is this reverse, I dunno
|
||||
(global-set-key (kbd "s-<down>") 'scroll-up)
|
||||
(global-set-key (kbd "<f8>") 'purpose-big-screen)
|
||||
(global-set-key (kbd "<f7>") 'purpose-small-screen)
|
||||
|
||||
(require 'evil-leader)
|
||||
;;;;;;;;; EVIL Leader ;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
(evil-leader/set-leader "<SPC>")
|
||||
|
||||
(evil-leader/set-key
|
||||
"w" 'delete-window
|
||||
"," 'previous-buffer
|
||||
"." 'next-buffer
|
||||
"k" 'kill-buffer-and-window
|
||||
"rb" 'revert-buffer) ; Reload current file from disk
|
||||
|
||||
(evil-leader/set-key "hs" 'split-window-below)
|
||||
(evil-leader/set-key "vs" 'split-window-right)
|
||||
|
||||
(evil-leader/set-key
|
||||
"gk" 'windmove-up
|
||||
"gj" 'windmove-down
|
||||
"gl" 'windmove-right
|
||||
"gh" 'windmove-left)
|
||||
|
||||
;; Magit
|
||||
(evil-leader/set-key
|
||||
"gs" 'magit-status
|
||||
"gco" 'magit-checkout
|
||||
"gb" 'magit-blame
|
||||
"gq" 'magit-blame-quit)
|
||||
|
||||
;; width keys
|
||||
(evil-leader/set-key
|
||||
"100" 'set-width-100
|
||||
"80" 'set-width-80)
|
||||
|
||||
(evil-leader/set-key "al" 'align-regexp)
|
||||
(evil-leader/set-key "ir" 'indent-region)
|
||||
(evil-leader/set-key "ac" 'align-to-colon)
|
||||
(evil-leader/set-key "cl" 'evilnc-comment-or-uncomment-lines)
|
||||
|
||||
(evil-leader/set-key "ps" 'helm-projectile-switch-project)
|
||||
(evil-leader/set-key "t" 'helm-projectile-find-file)
|
||||
(evil-leader/set-key "pa" 'helm-projectile-ag)
|
||||
(evil-leader/set-key "pc" 'projectile-invalidate-cache)
|
||||
(evil-leader/set-key "b" 'helm-buffers-list)
|
||||
(evil-leader/set-key "/" 'helm-swoop)
|
||||
|
||||
(evil-leader/set-key "j;" 'dumb-jump-go); Jump to declaration
|
||||
(evil-leader/set-key "jh" 'dumb-jump-back); Jump back from declaration
|
||||
|
||||
;; Dash integration
|
||||
(require 'dash-at-point)
|
||||
(evil-leader/set-key "d" 'dash-at-point)
|
||||
|
||||
(require 'evil)
|
||||
;;; VIM insert mode state
|
||||
(define-key evil-insert-state-map "\C-a" 'company-complete)
|
||||
(define-key evil-insert-state-map "\C-q" 'company-yasnippet)
|
||||
|
||||
;;; key-bindings.el ends here
|
||||
|
|
@ -1,47 +0,0 @@
|
|||
;;; Languages -- summary
|
||||
;;; Commentary:
|
||||
|
||||
;;; Code:
|
||||
;;;; Major languages ;;;;
|
||||
;;; Intial imports
|
||||
(require 'company)
|
||||
|
||||
;; Imports
|
||||
(load "~/.emacs.d/languages/ruby.elc")
|
||||
(load "~/.emacs.d/languages/python.elc")
|
||||
(load "~/.emacs.d/languages/elisp.elc")
|
||||
(load "~/.emacs.d/languages/elixir.elc")
|
||||
(load "~/.emacs.d/languages/rust.elc")
|
||||
(load "~/.emacs.d/languages/web.elc")
|
||||
(load "~/.emacs.d/languages/js.elc")
|
||||
(load "~/.emacs.d/languages/sql.elc")
|
||||
(load "~/.emacs.d/languages/haskell.elc")
|
||||
(load "~/.emacs.d/languages/go.elc")
|
||||
|
||||
;;; Java
|
||||
(defun java-mode-config ()
|
||||
"Setup editor for java."
|
||||
(remove-hook 'ruby-mode-hook 'ruby-mode-config)
|
||||
(remove-hook 'elixir-mode-hook 'elixir-mode-config)
|
||||
(remove-hook 'emacs-lisp-mode-hook 'elisp-mode-config)
|
||||
(remove-hook 'html-mode-hook 'web-mode-config)
|
||||
(remove-hook 'haskell-mode-hook 'haskell-mode-config)
|
||||
(remove-hook 'rust-mode-hook 'rust-mode-config)
|
||||
|
||||
(set-indent 2))
|
||||
|
||||
(add-hook 'rust-mode-hook 'java-mode-config)
|
||||
(add-hook 'java-mode-hook 'flycheck-mode)
|
||||
(add-hook 'java-mode-hook 'set-width-120)
|
||||
;;;; Other things ;;;;;
|
||||
;;; Javascript
|
||||
(setq js-indent-level 2)
|
||||
|
||||
;; Markdown mode
|
||||
(defun markdown-mode-config ()
|
||||
"Setup markdown mode."
|
||||
(set-indent 2))
|
||||
|
||||
(add-hook 'markdown-mode-hook 'markdown-mode-config)
|
||||
(add-hook 'markdown-mode-hook 'set-width-80)
|
||||
;;; languages.el ends here.
|
||||
|
|
@ -1,278 +0,0 @@
|
|||
;;; melpa.el -- summary
|
||||
;;; Commentary:
|
||||
;;; Put all the packages you want to install here.
|
||||
;;; Code:
|
||||
(require 'package)
|
||||
(add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/"))
|
||||
(package-initialize)
|
||||
(if (display-graphic-p) ; Run this only if there's GUI
|
||||
(progn
|
||||
(package-refresh-contents))) ; Refresh only once, on startup
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Behaviour
|
||||
|
||||
(unless (package-installed-p 'helm)
|
||||
(package-install 'helm))
|
||||
|
||||
(unless (package-installed-p 'evil)
|
||||
(package-install 'evil))
|
||||
|
||||
(unless (package-installed-p 'evil-leader)
|
||||
(package-install 'evil-leader))
|
||||
|
||||
(unless (package-installed-p 'evil-nerd-commenter)
|
||||
(package-install 'evil-nerd-commenter))
|
||||
|
||||
;; Rainbow delimiters
|
||||
(unless (package-installed-p 'rainbow-delimiters)
|
||||
(package-install 'rainbow-delimiters))
|
||||
|
||||
;; Smart mode line
|
||||
(unless (package-installed-p 'smart-mode-line)
|
||||
(package-install 'smart-mode-line))
|
||||
|
||||
;; Show hex colors in UI
|
||||
(unless (package-installed-p 'rainbow-mode)
|
||||
(package-install 'rainbow-mode))
|
||||
|
||||
;; Indentation and line length
|
||||
(unless (package-installed-p 'column-enforce-mode)
|
||||
(package-install 'column-enforce-mode))
|
||||
|
||||
(unless (package-installed-p 'aggressive-indent)
|
||||
(package-install 'aggressive-indent))
|
||||
|
||||
;; Window management
|
||||
(unless (package-installed-p 'window-purpose)
|
||||
(package-install 'window-purpose))
|
||||
|
||||
;; Dash integration
|
||||
(unless (package-installed-p 'dash-at-point)
|
||||
(package-install 'dash-at-point))
|
||||
|
||||
;; Project management
|
||||
(unless (package-installed-p 'projectile)
|
||||
(package-install 'projectile))
|
||||
|
||||
(unless (package-installed-p 'ag)
|
||||
(package-install 'ag))
|
||||
|
||||
(unless (package-installed-p 'helm-projectile)
|
||||
(package-install 'helm-projectile))
|
||||
|
||||
(unless (package-installed-p 'helm-ag)
|
||||
(package-install 'helm-ag))
|
||||
|
||||
(unless (package-installed-p 'helm-swoop)
|
||||
(package-install 'helm-swoop))
|
||||
|
||||
(unless (package-installed-p 'dumb-jump)
|
||||
(package-install 'dumb-jump))
|
||||
|
||||
; Run stuff directly from shell
|
||||
(unless (package-installed-p 'exec-path-from-shell)
|
||||
(package-install 'exec-path-from-shell))
|
||||
|
||||
;; Git
|
||||
(unless (package-installed-p 'magit)
|
||||
(package-install 'magit))
|
||||
|
||||
(unless (package-installed-p 'diff-hl)
|
||||
(package-install 'diff-hl))
|
||||
|
||||
(unless (package-installed-p 'evil-magit)
|
||||
(package-install 'evil-magit))
|
||||
|
||||
;; Code quality and helpers
|
||||
(unless (package-installed-p 'flycheck)
|
||||
(package-install 'flycheck))
|
||||
|
||||
(unless (package-installed-p 'hl-todo)
|
||||
(package-install 'hl-todo))
|
||||
|
||||
(unless (package-installed-p 'flymake)
|
||||
(package-install 'flymake))
|
||||
|
||||
(unless (package-installed-p 'flymake-cursor)
|
||||
(package-install 'flymake-cursor))
|
||||
|
||||
(unless (package-installed-p 'projectile)
|
||||
(package-install 'projectile))
|
||||
|
||||
(unless (package-installed-p 'yasnippet)
|
||||
(package-install 'yasnippet))
|
||||
|
||||
(unless (package-installed-p 'yasnippet-snippets)
|
||||
(package-install 'yasnippet-snippets))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Themes
|
||||
(unless (package-installed-p 'color-theme-approximate)
|
||||
(package-install 'color-theme-approximate))
|
||||
|
||||
(unless (package-installed-p 'monokai-theme)
|
||||
(package-install 'monokai-theme))
|
||||
|
||||
(unless (package-installed-p 'noctilux-theme)
|
||||
(package-install 'noctilux-theme))
|
||||
|
||||
(unless (package-installed-p 'ujelly-theme)
|
||||
(package-install 'ujelly-theme))
|
||||
|
||||
(unless (package-installed-p 'flatui-theme)
|
||||
(package-install 'flatui-theme))
|
||||
|
||||
(unless (package-installed-p 'atom-one-dark-theme)
|
||||
(package-install 'atom-one-dark-theme))
|
||||
|
||||
(unless (package-installed-p 'helm-themes)
|
||||
(package-install 'helm-themes))
|
||||
|
||||
(unless (package-installed-p 'base16-theme)
|
||||
(package-install 'base16-theme))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Languages and frameworks
|
||||
|
||||
;; Elixir
|
||||
(unless (package-installed-p 'elixir-mode)
|
||||
(package-install 'elixir-mode))
|
||||
|
||||
(unless (package-installed-p 'alchemist)
|
||||
(package-install 'alchemist))
|
||||
|
||||
; Ruby
|
||||
(unless (package-installed-p 'rvm)
|
||||
(package-install 'rvm))
|
||||
|
||||
(unless (package-installed-p 'ruby-end)
|
||||
(package-install 'ruby-end))
|
||||
|
||||
(unless (package-installed-p 'haml-mode)
|
||||
(package-install 'haml-mode))
|
||||
|
||||
(unless (package-installed-p 'yaml-mode)
|
||||
(package-install 'yaml-mode))
|
||||
|
||||
(unless (package-installed-p 'jade-mode)
|
||||
(package-install 'jade-mode))
|
||||
|
||||
(unless (package-installed-p 'less-css-mode)
|
||||
(package-install 'less-css-mode))
|
||||
|
||||
(unless (package-installed-p 'robe)
|
||||
(package-install 'robe))
|
||||
|
||||
(unless (package-installed-p 'rspec-mode)
|
||||
(package-install 'rspec-mode))
|
||||
|
||||
(unless (package-installed-p 'minitest)
|
||||
(package-install 'minitest))
|
||||
|
||||
(unless (package-installed-p 'flymake-ruby)
|
||||
(package-install 'flymake-ruby))
|
||||
|
||||
(unless (package-installed-p 'ruby-hash-syntax)
|
||||
(package-install 'ruby-hash-syntax))
|
||||
|
||||
(unless (package-installed-p 'ruby-refactor)
|
||||
(package-install 'ruby-refactor))
|
||||
|
||||
; Web mode for editing erb
|
||||
(unless (package-installed-p 'web-mode)
|
||||
(package-install 'web-mode))
|
||||
|
||||
; JSON prettifier
|
||||
(unless (package-installed-p 'json-reformat)
|
||||
(package-install 'json-reformat))
|
||||
|
||||
; Markdown helper
|
||||
(unless (package-installed-p 'markdown-mode)
|
||||
(package-install 'markdown-mode))
|
||||
|
||||
;; Docker
|
||||
(unless (package-installed-p 'dockerfile-mode)
|
||||
(package-install 'dockerfile-mode))
|
||||
|
||||
;; Jenkinsfile
|
||||
(unless (package-installed-p 'groovy-mode)
|
||||
(package-install 'groovy-mode))
|
||||
|
||||
;; Ansible
|
||||
(unless (package-installed-p 'ansible)
|
||||
(package-install 'ansible))
|
||||
|
||||
;; Emacs refactor mode
|
||||
(unless (package-installed-p 'emr)
|
||||
(package-install 'emr))
|
||||
|
||||
;; Apache
|
||||
(unless (package-installed-p 'apache-mode)
|
||||
(package-install 'apache-mode))
|
||||
|
||||
;; Haskell
|
||||
(unless (package-installed-p 'haskell-mode)
|
||||
(package-install 'haskell-mode))
|
||||
|
||||
(unless (package-installed-p 'company-ghc)
|
||||
(package-install 'company-ghc))
|
||||
|
||||
;; Scala
|
||||
(unless (package-installed-p 'scala-mode)
|
||||
(package-install 'scala-mode))
|
||||
|
||||
;; Rust
|
||||
(unless (package-installed-p 'rust-mode)
|
||||
(package-install 'rust-mode))
|
||||
|
||||
(unless (package-installed-p 'racer)
|
||||
(package-install 'racer))
|
||||
|
||||
(unless (package-installed-p 'company-racer)
|
||||
(package-install 'company-racer))
|
||||
|
||||
(unless (package-installed-p 'toml-mode)
|
||||
(package-install 'toml-mode))
|
||||
|
||||
(unless (package-installed-p 'flycheck-rust)
|
||||
(package-install 'flycheck-rust))
|
||||
|
||||
;; Python
|
||||
(unless (package-installed-p 'elpy)
|
||||
(package-install 'elpy))
|
||||
|
||||
(unless (package-installed-p 'company-jedi)
|
||||
(package-install 'company-jedi))
|
||||
|
||||
(unless (package-installed-p 'pyenv-mode)
|
||||
(package-install 'pyenv-mode))
|
||||
|
||||
;; Go
|
||||
(unless (package-installed-p 'go-mode)
|
||||
(package-install 'go-mode))
|
||||
|
||||
(unless (package-installed-p 'company-go)
|
||||
(package-install 'company-go))
|
||||
|
||||
(unless (package-installed-p 'flymake-go)
|
||||
(package-install 'flymake-go))
|
||||
|
||||
;; SQL
|
||||
(unless (package-installed-p 'sql-indent)
|
||||
(package-install 'sql-indent))
|
||||
|
||||
;; Javascript
|
||||
(unless (package-installed-p 'company-tern)
|
||||
(package-install 'company-tern))
|
||||
|
||||
(unless (package-installed-p 'tide)
|
||||
(package-install 'tide))
|
||||
|
||||
(unless (package-installed-p 'nvm)
|
||||
(package-install 'nvm))
|
||||
|
||||
(unless (package-installed-p 'vue-mode)
|
||||
(package-install 'vue-mode))
|
||||
|
||||
;;; packages.el ends here
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
;;; spelling.el -- summary
|
||||
;;; Commentary:
|
||||
|
||||
;;; Code:
|
||||
|
||||
;; Disable meta on right alt (useful for Polish characters)
|
||||
(setq ns-right-alternate-modifier nil)
|
||||
|
||||
(require 'ispell)
|
||||
;; Highlight misspelled words
|
||||
(setq ispell-program-name "aspell")
|
||||
(setq ispell-extra-args
|
||||
'("--run-together" "--run-together-limit=5" "--run-together-min=2"))
|
||||
(add-hook 'prog-mode-hook 'flyspell-mode)
|
||||
|
||||
(provide 'spelling)
|
||||
|
||||
;;; spelling.el ends here
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
;;; splash.el -- Splash screen
|
||||
;;; Commentary:
|
||||
;;; Code:
|
||||
;; ================================== remove splash screen =====================
|
||||
|
||||
;; (setq inhibit-splash-screen t)
|
||||
|
||||
;; (setq initial-scratch-message
|
||||
;; (concat ";;; Welcome to Emacs." "\n"
|
||||
;; "Was there a problem?"))
|
||||
|
||||
(provide 'splash)
|
||||
;;; splash.el ends here
|
||||
|
|
@ -1,75 +0,0 @@
|
|||
;;; themes.el -- Summary
|
||||
|
||||
;;; Commentary:
|
||||
;;; Code:
|
||||
|
||||
;; Use smart-mode-line
|
||||
(require 'smart-mode-line)
|
||||
(setq sml/no-confirm-load-theme t)
|
||||
(sml/setup)
|
||||
(sml/apply-theme 'respectful)
|
||||
|
||||
;; Display time on mode line
|
||||
(setq display-time-format "%H:%M")
|
||||
(display-time-mode t)
|
||||
()
|
||||
(load-theme 'flatui t t)
|
||||
(load "~/.emacs.d/config/base16-not-harmonic-theme.el")
|
||||
(load-theme 'base16-not-harmonic t t)
|
||||
(load-theme 'base16-solarized-light t t)
|
||||
(load-theme 'base16-mexico-light t t)
|
||||
(load-theme 'base16-unikitty-light t t)
|
||||
(load-theme 'base16-summerfruit-light t t)
|
||||
(load-theme 'base16-material-darker t t)
|
||||
(load-theme 'atom-one-dark t t)
|
||||
(load-theme 'base16-atelier-forest-light t t)
|
||||
|
||||
(defun base16-harmonic-custom ()
|
||||
"Additional configuration for Base 16 theme."
|
||||
(set-face-attribute 'linum nil :font "Hasklig 15"
|
||||
:slant 'normal
|
||||
:background "#2c3a47")
|
||||
|
||||
(set-face-attribute 'font-lock-comment-delimiter-face nil
|
||||
:foreground "#aabcce")
|
||||
(set-face-attribute 'mode-line nil :font "Hasklig 15")
|
||||
(set-face-attribute 'fringe nil :background "#2c3a47"
|
||||
:slant 'normal))
|
||||
|
||||
(defun base16-summerfruit-light-custom ()
|
||||
"Additional configuration for Base16 theme."
|
||||
(set-face-attribute 'mode-line nil :font "Hasklig 15")
|
||||
(set-face-attribute 'linum nil :font "Hasklig 15"
|
||||
:slant 'normal))
|
||||
|
||||
(defun base16-material-darker-custom ()
|
||||
"Additional configuration for Base16 theme."
|
||||
(set-face-attribute 'mode-line nil :font "Hasklig 15")
|
||||
(set-face-attribute 'linum nil :font "Hasklig 15"
|
||||
:slant 'normal))
|
||||
|
||||
(require 'helm-themes)
|
||||
(if (display-graphic-p)
|
||||
(progn
|
||||
(enable-theme 'base16-mexico-light)
|
||||
(base16-summerfruit-light-custom))
|
||||
(progn
|
||||
(color-theme-approximate-on)
|
||||
(enable-theme 'flatui)))
|
||||
|
||||
;; Set font face
|
||||
(set-face-attribute 'default nil :font "Hasklig 15")
|
||||
(set-face-attribute 'helm-selection nil :font "Hasklig 15")
|
||||
(set-face-attribute 'helm-header nil :font "Hasklig 17")
|
||||
|
||||
;; Remove ugly black line
|
||||
(set-face-attribute 'vertical-border nil :foreground
|
||||
(face-attribute 'fringe :background))
|
||||
|
||||
;; Set fringe colors to default, so it does not bother you.
|
||||
(set-face-attribute 'fringe nil
|
||||
:foreground (face-foreground 'default)
|
||||
:background (face-background 'default))
|
||||
|
||||
(provide 'themes)
|
||||
;;; themes.el ends here
|
||||
|
|
@ -1,81 +0,0 @@
|
|||
;;; windows.el -- summary
|
||||
;;; Commentary:
|
||||
;;; Windows management things, mostly with purpose
|
||||
;;; Code:
|
||||
(require 'window-purpose)
|
||||
(purpose-mode t)
|
||||
|
||||
;; Set everything to use code window
|
||||
(add-to-list 'purpose-user-mode-purposes '(fundamental-mode . code))
|
||||
|
||||
;; Test
|
||||
(add-to-list 'purpose-user-regexp-purposes
|
||||
'("_spec\\.rb\\(<.*>\\)?$" . test)) ;; Rspec
|
||||
(add-to-list 'purpose-user-regexp-purposes
|
||||
'("_test\\.rb\\(<.*>\\)?$" . test)) ;; Minitest
|
||||
(add-to-list 'purpose-user-regexp-purposes
|
||||
'("_preview\\.rb\\(<.*>\\)?$" . test)) ;; Mailer Previews
|
||||
(add-to-list 'purpose-user-regexp-purposes
|
||||
'("_test\\.exs\\(<.*>\\)?$" . test)) ;; ExUnit
|
||||
(add-to-list 'purpose-user-regexp-purposes
|
||||
'("test_.*\\.py\\(<.*>\\)?$" . test)) ;; Pytest
|
||||
(add-to-list 'purpose-user-regexp-purposes
|
||||
'("tests.rs\\(<.*>\\)?$" . test)) ;; Rust tests
|
||||
(add-to-list 'purpose-user-regexp-purposes
|
||||
'("_test.go\\(<.*>\\)?$" . test)) ;; Go tests
|
||||
|
||||
(add-to-list 'purpose-user-mode-purposes '(shell-mode . test))
|
||||
(add-to-list 'purpose-user-mode-purposes '(magit-diff-mode . test))
|
||||
|
||||
;; Enumerate through all stuff.
|
||||
;; Git things
|
||||
(add-to-list 'purpose-user-regexp-purposes
|
||||
'("COMMIT_EDITMSG\\(<.*>\\)?$" . code))
|
||||
(add-to-list 'purpose-user-regexp-purposes
|
||||
'("git-rebase-todo\\(<.*>\\)?$" . code))
|
||||
(add-to-list 'purpose-user-mode-purposes '(diff-mode . code))
|
||||
|
||||
;; Programming files
|
||||
(add-to-list 'purpose-user-mode-purposes '(ruby-mode . code))
|
||||
(add-to-list 'purpose-user-mode-purposes '(elixir-mode . code))
|
||||
(add-to-list 'purpose-user-mode-purposes '(rust-mode . code))
|
||||
(add-to-list 'purpose-user-mode-purposes '(haskell-mode . code))
|
||||
(add-to-list 'purpose-user-mode-purposes '(haskell-cabal-mode . code))
|
||||
(add-to-list 'purpose-user-mode-purposes '(web-mode . code))
|
||||
(add-to-list 'purpose-user-mode-purposes '(java-mode . code))
|
||||
(add-to-list 'purpose-user-mode-purposes '(python-mode . code))
|
||||
(add-to-list 'purpose-user-mode-purposes '(js-mode . code))
|
||||
(add-to-list 'purpose-user-mode-purposes '(emacs-lisp-mode . code))
|
||||
(add-to-list 'purpose-user-mode-purposes '(sql-mode . code))
|
||||
(add-to-list 'purpose-user-mode-purposes '(go-mode . code))
|
||||
|
||||
;; Other files that fall into 'code'
|
||||
(add-to-list 'purpose-user-mode-purposes '(xml-mode . code))
|
||||
(add-to-list 'purpose-user-mode-purposes '(markdown-mode . code))
|
||||
(add-to-list 'purpose-user-mode-purposes '(terraform-mode . code))
|
||||
(add-to-list 'purpose-user-mode-purposes '(yaml-mode . code))
|
||||
(add-to-list 'purpose-user-mode-purposes '(dockerfile-mode . code))
|
||||
|
||||
;; Tools
|
||||
(add-to-list 'purpose-user-mode-purposes '(dired-mode . tools))
|
||||
(add-to-list 'purpose-user-mode-purposes '(magit-mode . tools))
|
||||
(add-to-list 'purpose-user-mode-purposes '(help-mode . tools))
|
||||
(add-to-list 'purpose-user-mode-purposes '(helm-mode . tools))
|
||||
(add-to-list 'purpose-user-mode-purposes '(compilation-mode . tools))
|
||||
(add-to-list 'purpose-user-mode-purposes '(etags-select-mode . tools))
|
||||
(add-to-list 'purpose-user-mode-purposes '(reb-mode . tools)) ;; Regexp builder
|
||||
|
||||
(setq purpose-use-default-configuration nil)
|
||||
(purpose-compile-user-configuration)
|
||||
|
||||
;; Functions for changing layout
|
||||
(defun purpose-big-screen ()
|
||||
"Load coding_with_magit."
|
||||
(interactive)
|
||||
(purpose-load-window-layout "coding_with_magit"))
|
||||
|
||||
(defun purpose-small-screen ()
|
||||
"Load small_screen."
|
||||
(interactive)
|
||||
(purpose-load-window-layout "small_screen"))
|
||||
;;; windows.el ends here
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
bundle install
|
||||
exit
|
||||
37
old/init.el
37
old/init.el
|
|
@ -1,37 +0,0 @@
|
|||
;;; init.el --- Summary
|
||||
;;; Commentary:
|
||||
;;; Code:
|
||||
|
||||
;; Added by Package.el. This must come before configurations of
|
||||
;; installed packages. Don't delete this line. If you don't want it,
|
||||
;; just comment it out by adding a semicolon to the start of the line.
|
||||
;; You may delete these explanatory comments.
|
||||
(package-initialize)
|
||||
|
||||
(load "~/.emacs.d/config/packages.elc")
|
||||
(load "~/.emacs.d/config/functions.elc")
|
||||
(load "~/.emacs.d/config/behaviour.elc")
|
||||
(load "~/.emacs.d/config/splash.elc")
|
||||
(load "~/.emacs.d/config/themes.elc")
|
||||
(load "~/.emacs.d/config/key-bindings.elc")
|
||||
(load "~/.emacs.d/config/spelling.elc")
|
||||
(load "~/.emacs.d/config/languages.elc")
|
||||
(load "~/.emacs.d/config/windows.elc")
|
||||
|
||||
(provide 'init)
|
||||
;;; init.el ends here
|
||||
(custom-set-variables
|
||||
;; custom-set-variables was added by Custom.
|
||||
;; 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.
|
||||
'(package-selected-packages
|
||||
(quote
|
||||
(flymake-go go-flymake flycheck-go company-go go-mode expand-region sql-indent json-mode terraform-mode flycheck-rust company-ghc company-ghci scion hlinum etags-select nvm tide yaml-mode window-purpose web-mode ujelly-theme toml-mode smart-mode-line scala-mode rvm ruby-end rspec-mode robe rainbow-mode rainbow-delimiters racer pyenv-mode noctilux-theme monokai-theme markdown-mode less-css-mode json-reformat jade-mode indent-guide helm-themes helm-projectile helm-ag haskell-mode haml-mode groovy-mode flymake-ruby flymake-cursor flycheck flatui-theme exec-path-from-shell evil-nerd-commenter evil-magit evil-leader elpy dumb-jump dockerfile-mode diff-hl dash-at-point company-tern company-racer company-jedi column-enforce-mode color-theme-approximate base16-theme atom-one-dark-theme alchemist aggressive-indent ag)))
|
||||
'(safe-local-variable-values (quote ((encoding . utf-8)))))
|
||||
(custom-set-faces
|
||||
;; custom-set-faces was added by Custom.
|
||||
;; 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.
|
||||
)
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
;;; Elisp -- summary
|
||||
;;; Commentary:
|
||||
|
||||
;;; Code:
|
||||
|
||||
;;========== Editor config =========================
|
||||
(defun editor-config-elisp ()
|
||||
"Editor configuration for Elisp."
|
||||
(set-indent 2)
|
||||
(set-width-80))
|
||||
|
||||
;;========== Code completion =======================
|
||||
(defun completion-config-elisp ()
|
||||
"Code completion and inspection for Elisp."
|
||||
(company-mode 1)
|
||||
(flycheck-mode 1)
|
||||
(set (make-local-variable 'company-backends)
|
||||
'((company-yasnippet company-capf company-dabbrev-code company-files))))
|
||||
|
||||
;;========== Hooks =================================
|
||||
(add-hook 'emacs-lisp-mode-hook 'editor-config-elisp)
|
||||
(add-hook 'emacs-lisp-mode-hook 'completion-config-elisp)
|
||||
;;; elisp.el ends here.
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
;;; Elixir -- summary
|
||||
;;; Commentary:
|
||||
|
||||
;;; Code:
|
||||
;;========== Editor config =========================
|
||||
(defun editor-config-elixir ()
|
||||
"Editor configuration for Elixir."
|
||||
(set-indent 2)
|
||||
(set-width-80)
|
||||
(ruby-end-mode 1))
|
||||
|
||||
;;========== Code completion =======================
|
||||
(defun completion-config-elixir ()
|
||||
"Code completion and inspection for Elixir."
|
||||
(alchemist-mode 1)
|
||||
(company-mode 1)
|
||||
(set (make-local-variable 'company-backends)
|
||||
'((alchemist-company company-yasnippet company-files))))
|
||||
|
||||
;;========== Hooks =================================
|
||||
(add-hook 'elixir-mode-hook 'editor-config-elixir)
|
||||
(add-hook 'elixir-mode-hook 'completion-config-elixir)
|
||||
|
||||
(provide 'elixir)
|
||||
;;; elixir.el ends here
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
;;; Go -- summary
|
||||
;;; Commentary:
|
||||
|
||||
;; Code:
|
||||
|
||||
;;========== Editor config =========================
|
||||
(defun editor-config-go ()
|
||||
"Editor configuration for Go."
|
||||
(set-indent 4)
|
||||
(set-width-99))
|
||||
|
||||
;;========== Code completion =======================
|
||||
(defun completion-config-go ()
|
||||
"Code completion and inspection for Go."
|
||||
(company-mode 1)
|
||||
(flycheck-mode 1)
|
||||
(flymake-mode 1)
|
||||
(set (make-local-variable 'company-backends)
|
||||
'((company-go company-capf company-dabbrev-code company-yasnippet
|
||||
company-files))))
|
||||
|
||||
;;========== Hooks =================================
|
||||
(add-hook 'go-mode-hook 'editor-config-go)
|
||||
(add-hook 'go-mode-hook 'completion-config-go)
|
||||
|
||||
(provide 'go)
|
||||
;;; go.el ends here
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
;;; Haskell -- summary
|
||||
;;; Commentary:
|
||||
|
||||
;;; Code:
|
||||
;;========== Editor config =========================
|
||||
(defun editor-config-haskell ()
|
||||
"Editor configuration for Haskell."
|
||||
(set-indent 4)
|
||||
(set-width-80))
|
||||
|
||||
;;========== Code completion =======================
|
||||
(defun completion-config-haskell ()
|
||||
"Code completion and inspection for Javascript."
|
||||
(company-mode 1)
|
||||
(flycheck-mode 1)
|
||||
(flymake-mode 1)
|
||||
(set (make-local-variable 'company-backends)
|
||||
'((company-ghc company-capf company-etags company-dabbrev-code
|
||||
company-yasnippet company-files))))
|
||||
|
||||
:;========== Scion mode ============================
|
||||
;; (defun scion-config-haskell ()
|
||||
;; "Configuration for scion mode."
|
||||
;; (scion-mode 1))
|
||||
|
||||
;;========== Hooks =================================
|
||||
(add-hook 'haskell-mode-hook 'editor-config-haskell)
|
||||
(add-hook 'haskell-mode-hook 'completion-config-haskell)
|
||||
;; (add-hook 'haskell-mode-hook 'scion-config-haskell)
|
||||
|
||||
(provide 'haskell)
|
||||
;;; haskell.el ends here
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
;;; Js -- summary
|
||||
;;; Commentary:
|
||||
|
||||
;;; Code:
|
||||
|
||||
;;========== Editor config =========================
|
||||
(defun editor-config-js ()
|
||||
"Editor configuration for Javascript."
|
||||
(set-indent 2)
|
||||
(set-width-80))
|
||||
|
||||
;;========== Code completion =======================
|
||||
(defun completion-config-js ()
|
||||
"Code completion and inspection for Javascript."
|
||||
(company-mode 1)
|
||||
(flycheck-mode 1)
|
||||
(flymake-mode)
|
||||
(set (make-local-variable 'company-backends)
|
||||
'((company-tern company-capf company-etags company-dabbrev-code
|
||||
company-yasnippet company-files))))
|
||||
|
||||
;;========== Tide mode ============================
|
||||
;; TODO: Figure out how to use tide with Emacs and NVM.
|
||||
(defun tide-config-js ()
|
||||
"Configure tide mode."
|
||||
(interactive)
|
||||
(tide-setup)
|
||||
(eldoc-mode))
|
||||
|
||||
;;========== Hooks =================================
|
||||
(add-hook 'js-mode-hook 'editor-config-js)
|
||||
(add-hook 'js-mode-hook 'completion-config-js)
|
||||
|
||||
(provide 'js)
|
||||
;;; js.el ends here
|
||||
|
|
@ -1,51 +0,0 @@
|
|||
;;; Ruby -- summary
|
||||
;;; Commentary:
|
||||
|
||||
;;; Code:
|
||||
(require 'elpy)
|
||||
(require 'pyenv-mode)
|
||||
(require 'company-jedi)
|
||||
|
||||
;;========== Editor config =========================
|
||||
(defun editor-config-python ()
|
||||
"Setup editor for Python."
|
||||
(set-indent 4)
|
||||
(set-width-79)
|
||||
(setq python-indent-guess-indent-offset 4)
|
||||
(setq python-indent-offset 4))
|
||||
|
||||
;;========== Helper for pyenv ======================
|
||||
(defun ssbb-pyenv-hook ()
|
||||
"Automatically activates pyenv version if .python-version file exists."
|
||||
(f-traverse-upwards
|
||||
(lambda (path)
|
||||
(let ((pyenv-version-path (f-expand ".python-version" path)))
|
||||
(if (f-exists? pyenv-version-path)
|
||||
(pyenv-mode-set (s-trim (f-read-text pyenv-version-path 'utf-8))))))))
|
||||
|
||||
(add-hook 'find-file-hook 'ssbb-pyenv-hook)
|
||||
|
||||
;;========== Code completion =======================
|
||||
(defun completion-config-python ()
|
||||
"Code completion and inspection for Python."
|
||||
(elpy-mode 1)
|
||||
(pyenv-mode 1)
|
||||
(company-mode 1)
|
||||
|
||||
(flycheck-mode 1)
|
||||
(flymake-mode 1)
|
||||
|
||||
(setq elpy-rpc-backend "jedi")
|
||||
(jedi:setup)
|
||||
(setq jedi:complete-on-dot t)
|
||||
(setq jedi:complete-reply t)
|
||||
|
||||
(set (make-local-variable 'company-backends)
|
||||
'((company-jedi elpy-company-backend company-capf company-dabbrev-code
|
||||
company-yasnippet company-files))))
|
||||
|
||||
(add-hook 'python-mode-hook 'editor-config-python)
|
||||
(add-hook 'python-mode-hook 'completion-config-python)
|
||||
|
||||
(provide 'python)
|
||||
;;; python.el ends here
|
||||
|
|
@ -1,76 +0,0 @@
|
|||
;;; Ruby -- summary
|
||||
;;; Commentary:
|
||||
|
||||
;;; Code:
|
||||
(require 'company)
|
||||
(require 'ruby-mode)
|
||||
(require 'robe)
|
||||
(require 'rspec-mode)
|
||||
|
||||
;;========== Editor config =========================
|
||||
(defun editor-ruby-mode-config ()
|
||||
"Setup editor for Ruby."
|
||||
|
||||
;; Indentation and line length
|
||||
(if (string-match-p "internetee" (buffer-file-name))
|
||||
(set-width-100)
|
||||
(set-width-80))
|
||||
|
||||
;; Set default indentation
|
||||
(set-indent 2)
|
||||
|
||||
;; Do not align 'begin' and 'while' ;;
|
||||
(setq ruby-align-to-stmt-keywords '(if begin case elseif rescue))
|
||||
|
||||
;; Do not indent inside the parenthasis
|
||||
;; (setq ruby-deep-indent-paren nil)
|
||||
|
||||
;; Automatically insert second pair of <%
|
||||
(define-key web-mode-map "<%" 'electric-pair)
|
||||
|
||||
;; Use enhanced ruby mode
|
||||
(enh-ruby-mode 1)
|
||||
|
||||
;; Do not insert encoding comments
|
||||
(setq ruby-insert-encoding-magic-comment nil))
|
||||
|
||||
;;========== Rspec config =========================
|
||||
(defun rspec-ruby-mode-config ()
|
||||
"Use rspec-mode."
|
||||
(rspec-mode t)
|
||||
(eval-after-load 'rspec-mode '(rspec-install-snippets)))
|
||||
|
||||
;;========== Minitest config ======================
|
||||
(defun minitest-ruby-mode-config ()
|
||||
"Use minitest-mode."
|
||||
(minitest-mode t)
|
||||
(eval-after-load 'minitest-mode '(minitest-install-snippets)))
|
||||
|
||||
;;========== Robe config ==========================
|
||||
(defun robe-ruby-mode-config ()
|
||||
"Use robe."
|
||||
;; Activate modes
|
||||
(robe-mode 1)
|
||||
(company-mode 1)
|
||||
(rspec-mode 1)
|
||||
(flymake-mode 1)
|
||||
(flymake-ruby-load)
|
||||
|
||||
;; Activate RVM
|
||||
(rvm-activate-corresponding-ruby)
|
||||
|
||||
;; Initalize completion
|
||||
(set (make-local-variable 'company-backends)
|
||||
'((company-yasnippet company-robe company-etags company-dabbrev-code company-files))))
|
||||
|
||||
;;========== Hooks ================================
|
||||
(add-hook 'ruby-mode-hook 'editor-ruby-mode-config)
|
||||
(add-hook 'ruby-mode-hook 'robe-ruby-mode-config)
|
||||
(add-hook 'ruby-mode-hook 'rspec-ruby-mode-config)
|
||||
(add-hook 'ruby-mode-hook 'minitest-ruby-mode-config)
|
||||
|
||||
;; Use longer lines for HAML
|
||||
(add-hook 'haml-mode-hook 'set-width-100)
|
||||
|
||||
(provide 'ruby)
|
||||
;;; ruby.el ends here
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
;;; Rust -- summary
|
||||
;;; Commentary:
|
||||
|
||||
;;; Code:
|
||||
|
||||
;;========== Editor config =========================
|
||||
(defun editor-config-rust ()
|
||||
"Editor configuration for Rust."
|
||||
(set-indent 4)
|
||||
(set-width-99))
|
||||
|
||||
;;========== Code completion =======================
|
||||
(defun completion-config-rust ()
|
||||
"Code completion and inspection for Rust."
|
||||
(racer-mode 1)
|
||||
(company-mode 1)
|
||||
(flycheck-mode 1)
|
||||
(flymake-mode 1)
|
||||
(flycheck-rust-setup)
|
||||
(set (make-local-variable 'company-backends)
|
||||
'((company-racer company-capf company-dabbrev-code company-yasnippet
|
||||
company-files))))
|
||||
|
||||
;;========== Hooks =================================
|
||||
(add-hook 'rust-mode-hook 'editor-config-rust)
|
||||
(add-hook 'rust-mode-hook 'completion-config-rust)
|
||||
|
||||
(provide 'rust)
|
||||
;;; rust.el ends here
|
||||
|
|
@ -1,47 +0,0 @@
|
|||
;;; SQL -- summary
|
||||
;;; Commentary:
|
||||
|
||||
;;; Code:
|
||||
|
||||
;;========== Editor config =========================
|
||||
(defun editor-config-sql ()
|
||||
"Setup editor for SQL."
|
||||
(set-indent 4)
|
||||
(set-width-120))
|
||||
|
||||
;;========== Company config =========================
|
||||
(defun completion-config-sql ()
|
||||
(company-mode 1)
|
||||
(flycheck-mode 1)
|
||||
|
||||
(set (make-local-variable 'company-backends)
|
||||
'(company-yasnippet company-etags company-dabbrev-code company-capf
|
||||
company-files)))
|
||||
|
||||
;;========== Hooks =========================
|
||||
(add-hook 'sql-mode-hook 'editor-config-sql)
|
||||
(add-hook 'sql-mode-hook 'completion-config-sql)
|
||||
|
||||
(require 'sql-indent)
|
||||
|
||||
;;========== Functions =====================
|
||||
(defun sql-indent-string ()
|
||||
"Indents the string under the cursor as SQL."
|
||||
(interactive)
|
||||
(save-excursion
|
||||
(er/mark-inside-quotes)
|
||||
(let* ((text (buffer-substring-no-properties (region-beginning) (region-end)))
|
||||
(pos (region-beginning))
|
||||
(column (progn (goto-char pos) (current-column)))
|
||||
(formatted-text (with-temp-buffer
|
||||
(insert text)
|
||||
(delete-trailing-whitespace)
|
||||
(sql-indent-buffer)
|
||||
(replace-string "\n" (concat "\n" (make-string column (string-to-char " "))) nil (point-min) (point-max))
|
||||
(buffer-string))))
|
||||
(delete-region (region-beginning) (region-end))
|
||||
(goto-char pos)
|
||||
(insert formatted-text))))
|
||||
|
||||
|
||||
;;; sql.el ends here.
|
||||
|
|
@ -1,42 +0,0 @@
|
|||
;;; Web -- summary
|
||||
;;; Commentary:
|
||||
|
||||
;;; Code:
|
||||
(require 'web-mode)
|
||||
;;========== Editor config =========================
|
||||
(defun editor-config-web ()
|
||||
"Editor configuration for Web."
|
||||
(set-width-120)
|
||||
|
||||
(if (string-match-p "internetee" (buffer-file-name))
|
||||
((lambda
|
||||
((set-indent 4)
|
||||
(setq web-mode-markup-indent-offset 4)
|
||||
(setq web-mode-code-indent-offset 4)
|
||||
(setq css-indent-offset 4)))
|
||||
((set-indent 2)
|
||||
(setq web-mode-markup-indent-offset 2)
|
||||
(setq web-mode-code-indent-offset 2)
|
||||
(setq css-indent-offset 2)))
|
||||
|
||||
(define-key web-mode-map "<%" 'electric-pair)))
|
||||
|
||||
;;========== Code completion =======================
|
||||
(defun completion-config-web ()
|
||||
"Code completion and inspection for Web."
|
||||
(company-mode 1)
|
||||
(flycheck-mode 1)
|
||||
(flymake-mode)
|
||||
(set (make-local-variable 'company-backends)
|
||||
'((company-capf company-dabbrev-code company-yasnippet
|
||||
company-files))))
|
||||
|
||||
;;========== Hooks =================================
|
||||
;; Use web-mode for erb
|
||||
(add-to-list 'auto-mode-alist '("\\.erb\\'" . web-mode))
|
||||
|
||||
(add-hook 'web-mode-hook 'editor-config-web)
|
||||
(add-hook 'web-mode-hook 'completion-config-web)
|
||||
|
||||
(provide 'web)
|
||||
;;; web.el ends here
|
||||
Loading…
Add table
Add a link
Reference in a new issue