2015-06-15 09:05:52 +02:00
|
|
|
;;; core-editor.el
|
2015-06-04 18:23:21 -04:00
|
|
|
|
2015-06-06 06:40:33 -04:00
|
|
|
(setq-default
|
|
|
|
;; spaces instead of tabs
|
|
|
|
indent-tabs-mode nil
|
|
|
|
tab-always-indent t
|
|
|
|
tab-width 4
|
2016-03-03 15:04:14 -05:00
|
|
|
|
2015-06-06 06:40:33 -04:00
|
|
|
require-final-newline t
|
|
|
|
delete-trailing-lines nil
|
2015-12-10 16:15:09 -05:00
|
|
|
fill-column 90
|
|
|
|
line-spacing 0
|
|
|
|
word-wrap t
|
2015-11-17 02:08:35 -05:00
|
|
|
truncate-lines t
|
|
|
|
truncate-partial-width-windows 50
|
2015-06-06 06:40:33 -04:00
|
|
|
|
2016-02-26 00:08:41 -05:00
|
|
|
visual-fill-column-center-text nil
|
2016-03-04 18:28:42 -05:00
|
|
|
confirm-nonexistent-file-or-buffer nil
|
2016-02-26 00:08:41 -05:00
|
|
|
|
2015-06-06 06:40:33 -04:00
|
|
|
;; Sane scroll settings
|
2015-06-15 09:05:52 +02:00
|
|
|
scroll-margin 0
|
2015-11-07 00:19:21 -05:00
|
|
|
scroll-conservatively 1001
|
2015-06-06 06:40:33 -04:00
|
|
|
scroll-preserve-screen-position t
|
2016-03-01 02:05:04 -05:00
|
|
|
hscroll-step 1
|
2016-01-30 21:16:10 -05:00
|
|
|
hscroll-margin 1
|
2015-11-10 18:10:32 -05:00
|
|
|
|
2016-03-03 15:04:14 -05:00
|
|
|
shift-select-mode t
|
2015-07-23 01:34:05 +02:00
|
|
|
tabify-regexp "^\t* [ \t]+"
|
2016-03-09 21:39:47 -05:00
|
|
|
whitespace-style '(face tabs tab-mark trailing newline newline-mark indentation lines-tail)
|
|
|
|
whitespace-line-column fill-column
|
2015-06-06 06:40:33 -04:00
|
|
|
whitespace-display-mappings
|
2015-08-06 12:46:29 +02:00
|
|
|
'((tab-mark ?\t [?> ?\t])
|
2015-11-17 02:08:35 -05:00
|
|
|
(newline-mark 10 [36 10])))
|
2015-06-06 06:40:33 -04:00
|
|
|
|
2015-11-27 03:40:10 -05:00
|
|
|
(require 'saveplace)
|
2016-02-01 00:18:36 -05:00
|
|
|
(setq-default
|
2016-03-27 00:49:52 -04:00
|
|
|
save-place-file (concat narf-temp-dir "/saveplace")
|
2016-02-01 00:18:36 -05:00
|
|
|
save-place t)
|
2015-11-30 05:32:35 -05:00
|
|
|
(when (>= emacs-major-version 25)
|
|
|
|
(save-place-mode +1))
|
2015-11-27 03:40:10 -05:00
|
|
|
|
2015-06-06 06:40:33 -04:00
|
|
|
|
2016-03-03 15:04:14 -05:00
|
|
|
;;
|
|
|
|
;; Automatic minor modes
|
|
|
|
;;
|
2015-06-06 06:40:33 -04:00
|
|
|
|
2015-09-30 13:47:57 -04:00
|
|
|
(defvar narf-auto-minor-mode-alist '()
|
|
|
|
"Alist of filename patterns vs corresponding minor mode functions, see
|
|
|
|
`auto-mode-alist'. All elements of this alist are checked, meaning you can
|
|
|
|
enable multiple minor modes for the same regexp.")
|
|
|
|
|
2015-06-06 06:40:33 -04:00
|
|
|
(defun narf|enable-minor-mode-maybe ()
|
2015-06-15 09:05:52 +02:00
|
|
|
"Check file name against `narf-auto-minor-mode-alist'."
|
2015-06-06 06:40:33 -04:00
|
|
|
(when buffer-file-name
|
|
|
|
(let ((name buffer-file-name)
|
|
|
|
(remote-id (file-remote-p buffer-file-name))
|
2015-06-15 09:05:52 +02:00
|
|
|
(alist narf-auto-minor-mode-alist))
|
2015-06-06 06:40:33 -04:00
|
|
|
;; Remove backup-suffixes from file name.
|
|
|
|
(setq name (file-name-sans-versions name))
|
|
|
|
;; Remove remote file name identification.
|
|
|
|
(when (and (stringp remote-id)
|
|
|
|
(string-match-p (regexp-quote remote-id) name))
|
|
|
|
(setq name (substring name (match-end 0))))
|
|
|
|
(while (and alist (caar alist) (cdar alist))
|
|
|
|
(if (string-match (caar alist) name)
|
|
|
|
(funcall (cdar alist) 1))
|
|
|
|
(setq alist (cdr alist))))))
|
|
|
|
|
2015-06-15 09:05:52 +02:00
|
|
|
(add-hook! find-file 'narf|enable-minor-mode-maybe)
|
|
|
|
|
|
|
|
|
2016-03-03 15:04:14 -05:00
|
|
|
;;
|
|
|
|
;; Modes 'n hooks
|
|
|
|
;;
|
2016-01-30 21:16:10 -05:00
|
|
|
|
2015-12-10 16:15:09 -05:00
|
|
|
(associate! emacs-lisp-mode :match "\\(/Cask\\|\\.\\(el\\|gz\\)\\)$")
|
2015-06-15 09:05:52 +02:00
|
|
|
(associate! makefile-gmake-mode :match "/Makefile$")
|
|
|
|
(associate! nxml-mode :match "\\.plist$")
|
2016-01-01 16:19:44 -05:00
|
|
|
(associate! conf-mode :match "/\\.?editorconfig$")
|
2015-06-15 09:05:52 +02:00
|
|
|
|
2015-11-01 16:10:11 -05:00
|
|
|
(add-hook! help-mode 'visual-line-mode)
|
2015-11-23 19:41:08 -05:00
|
|
|
(add-hook! special-mode (setq truncate-lines nil))
|
2015-11-23 21:45:03 -05:00
|
|
|
(add-hook! change-major-mode-hook
|
|
|
|
(when indent-tabs-mode (whitespace-mode +1)))
|
2015-06-15 09:05:52 +02:00
|
|
|
|
2015-11-09 20:49:33 -05:00
|
|
|
(defadvice delete-trailing-whitespace
|
|
|
|
(around delete-trailing-whitespace-ignore-line activate)
|
2015-07-29 12:31:42 +02:00
|
|
|
"Don't delete trailing whitespace on current line, if in insert mode."
|
2015-08-01 14:38:41 +02:00
|
|
|
(let ((spaces (1- (current-column)))
|
2015-11-09 20:49:33 -05:00
|
|
|
(linestr (buffer-substring-no-properties
|
|
|
|
(line-beginning-position)
|
|
|
|
(line-end-position))))
|
2015-07-29 12:31:42 +02:00
|
|
|
ad-do-it
|
2016-03-23 11:52:19 -04:00
|
|
|
(when (and (evil-insert-state-p)
|
|
|
|
(string-match-p "^[\s\t]*$" linestr))
|
2015-08-01 14:38:41 +02:00
|
|
|
(insert linestr))))
|
2015-07-29 12:31:42 +02:00
|
|
|
|
2015-06-15 09:05:52 +02:00
|
|
|
;; If file is oversized...
|
|
|
|
(add-hook! find-file
|
2015-11-27 03:40:10 -05:00
|
|
|
(when (> (buffer-size) 1048576)
|
2015-06-15 09:05:52 +02:00
|
|
|
(setq buffer-read-only t)
|
|
|
|
(buffer-disable-undo)
|
|
|
|
(fundamental-mode)
|
|
|
|
(visual-line-mode)))
|
|
|
|
|
2016-03-25 12:30:50 -04:00
|
|
|
;; Smarter electric-indent
|
2015-11-09 20:49:33 -05:00
|
|
|
(electric-indent-mode -1) ; on by default
|
2016-03-23 11:59:06 -04:00
|
|
|
(defvar narf-electric-indent-words '())
|
|
|
|
(make-variable-buffer-local 'narf-electric-indent-words)
|
|
|
|
(setq electric-indent-chars '(?\n ?\^?))
|
|
|
|
(defvar narf-electric-indent-p nil)
|
|
|
|
(push (lambda (c)
|
|
|
|
(when (eolp)
|
|
|
|
(save-excursion
|
|
|
|
(backward-word)
|
|
|
|
(looking-at-p (concat "\\<" (regexp-opt narf-electric-indent-words))))))
|
|
|
|
electric-indent-functions)
|
|
|
|
|
2016-03-25 12:30:50 -04:00
|
|
|
;;
|
|
|
|
;; (global-whitespace-mode -1) ; Show whitespace
|
2015-12-23 02:40:41 -05:00
|
|
|
(global-auto-revert-mode 1) ; revert buffers for changed files
|
2016-03-25 12:30:50 -04:00
|
|
|
;; Enable syntax highlighting for older emacs
|
|
|
|
(unless (bound-and-true-p global-font-lock-mode)
|
|
|
|
(global-font-lock-mode t))
|
2015-06-15 09:05:52 +02:00
|
|
|
|
|
|
|
;; window config undo/redo
|
2015-07-16 19:44:34 +02:00
|
|
|
(setq winner-dont-bind-my-keys t)
|
2015-06-15 09:05:52 +02:00
|
|
|
(winner-mode 1)
|
2015-11-27 03:40:10 -05:00
|
|
|
(add-hook! after-init
|
|
|
|
(setq winner-boring-buffers narf-ignore-buffers))
|
2015-06-06 06:40:33 -04:00
|
|
|
|
2016-03-03 15:04:14 -05:00
|
|
|
|
|
|
|
;;
|
|
|
|
;; Extra modes
|
|
|
|
;;
|
2016-01-29 07:02:53 -05:00
|
|
|
|
|
|
|
(use-package vimrc-mode :mode ("/\\.?g?vimrc$" "\\.vim$" "/\\.vim/rc/.+$"))
|
|
|
|
;; Data formats
|
|
|
|
(use-package yaml-mode :mode "\\.ya?ml$")
|
|
|
|
(use-package toml-mode :mode "\\.toml$")
|
|
|
|
(use-package json-mode :mode "\\.js\\(on\\|hintrc\\)$")
|
2016-02-26 18:12:19 -05:00
|
|
|
;; Configuration formats
|
2016-02-01 00:18:44 -05:00
|
|
|
(use-package dockerfile-mode :mode "/Dockerfile$"
|
|
|
|
:config
|
2016-02-20 15:30:30 -05:00
|
|
|
(define-docset! dockerfile-mode "docker")
|
2016-02-01 00:18:44 -05:00
|
|
|
(define-builder! dockerfile-mode dockerfile-build-buffer "Dockerfile"))
|
2015-06-06 06:40:33 -04:00
|
|
|
|
2016-03-03 15:04:14 -05:00
|
|
|
|
|
|
|
;;
|
|
|
|
;; Plugins
|
|
|
|
;;
|
2015-06-06 06:40:33 -04:00
|
|
|
|
2015-06-24 15:34:46 +02:00
|
|
|
(use-package avy
|
|
|
|
:commands (avy-goto-char-2 avy-goto-line)
|
|
|
|
:config (setq avy-all-windows nil
|
|
|
|
avy-background t))
|
2015-06-06 06:40:33 -04:00
|
|
|
|
|
|
|
(use-package ace-window
|
|
|
|
:commands ace-window
|
|
|
|
:config (setq aw-keys '(?a ?s ?d ?f ?g ?h ?j ?k ?l)
|
|
|
|
aw-scope 'frame
|
2015-06-24 15:34:46 +02:00
|
|
|
aw-background t))
|
2015-06-06 06:40:33 -04:00
|
|
|
|
2015-12-27 02:50:44 -05:00
|
|
|
(use-package editorconfig
|
2016-01-01 16:19:44 -05:00
|
|
|
:config
|
|
|
|
;; Don't affect lisp indentation (just `tab-width')
|
|
|
|
(setq editorconfig-indentation-alist (delq (assq 'emacs-lisp-mode editorconfig-indentation-alist) editorconfig-indentation-alist))
|
|
|
|
(editorconfig-mode +1))
|
2015-12-27 02:50:44 -05:00
|
|
|
|
2015-07-19 00:43:29 +02:00
|
|
|
(use-package emr
|
|
|
|
:commands (emr-initialize emr-show-refactor-menu emr-declare-command)
|
2015-10-28 03:31:51 -04:00
|
|
|
:config (define-key popup-menu-keymap [escape] 'keyboard-quit))
|
2015-06-06 06:40:33 -04:00
|
|
|
|
|
|
|
(use-package expand-region
|
|
|
|
:commands (er/expand-region er/contract-region er/mark-symbol er/mark-word))
|
|
|
|
|
2015-06-19 16:07:51 +02:00
|
|
|
(use-package goto-last-change
|
|
|
|
:commands goto-last-change)
|
2015-06-06 06:40:33 -04:00
|
|
|
|
2016-02-23 13:07:21 -05:00
|
|
|
(use-package hideshow
|
|
|
|
:commands (hs-minor-mode hs-toggle-hiding hs-already-hidden-p)
|
|
|
|
:config (setq hs-isearch-open t)
|
|
|
|
:init
|
|
|
|
(advice-add 'evil-toggle-fold :before 'narf*load-hs-minor-mode)
|
|
|
|
|
|
|
|
;; Prettify code folding in emacs ;;;;;;
|
|
|
|
(define-fringe-bitmap 'hs-marker [16 48 112 240 112 48 16] nil nil 'center)
|
|
|
|
(defface hs-face '((t (:background "#ff8")))
|
|
|
|
"Face to hightlight the ... area of hidden regions"
|
|
|
|
:group 'hideshow)
|
|
|
|
(defface hs-fringe-face '((t (:foreground "#888")))
|
|
|
|
"Face used to highlight the fringe on folded regions"
|
|
|
|
:group 'hideshow)
|
|
|
|
|
|
|
|
(setq hs-set-up-overlay
|
|
|
|
(lambda (ov)
|
|
|
|
(when (eq 'code (overlay-get ov 'hs))
|
|
|
|
(let* ((marker-string "*fringe-dummy*")
|
|
|
|
(marker-length (length marker-string))
|
|
|
|
(display-string (format " ... " (count-lines (overlay-start ov)
|
|
|
|
(overlay-end ov)))))
|
|
|
|
(put-text-property 0 marker-length 'display
|
|
|
|
(list 'right-fringe 'hs-marker 'hs-fringe-face) marker-string)
|
|
|
|
(put-text-property 0 (length display-string) 'face 'hs-face display-string)
|
|
|
|
(overlay-put ov 'before-string marker-string)
|
|
|
|
(overlay-put ov 'display display-string))))))
|
|
|
|
|
2016-01-29 07:06:52 -05:00
|
|
|
(use-package rotate-text
|
|
|
|
:commands (rotate-text rotate-text-backward)
|
|
|
|
:init
|
|
|
|
(add-hook! (emacs-lisp-mode lisp-mode)
|
|
|
|
(setq rotate-text-local-symbols
|
|
|
|
'(("t" "nil")
|
|
|
|
("let" "let*")
|
|
|
|
("when" "unless")
|
2016-01-30 21:16:10 -05:00
|
|
|
("append" "prepend")
|
2016-02-20 15:32:33 -05:00
|
|
|
("add-hook" "add-hook!" "remove-hook"))))
|
|
|
|
:config
|
|
|
|
(add-to-list 'rotate-text-words '("true" "false")))
|
2015-06-06 06:40:33 -04:00
|
|
|
|
2015-06-15 09:05:52 +02:00
|
|
|
(use-package smart-forward :commands (smart-up smart-down smart-left smart-right))
|
2015-06-06 06:40:33 -04:00
|
|
|
|
2015-06-04 18:23:21 -04:00
|
|
|
(use-package smartparens
|
2015-06-15 09:05:52 +02:00
|
|
|
:functions sp-insert-pair
|
2015-06-04 18:23:21 -04:00
|
|
|
:config
|
2015-10-06 20:27:18 -04:00
|
|
|
(setq sp-autowrap-region nil ; let evil-surround handle this
|
2015-06-15 09:05:52 +02:00
|
|
|
sp-highlight-pair-overlay nil
|
2015-12-23 02:40:41 -05:00
|
|
|
sp-cancel-autoskip-on-backward-movement nil
|
2015-06-15 09:05:52 +02:00
|
|
|
sp-show-pair-delay 0)
|
|
|
|
|
2015-08-02 18:24:57 +02:00
|
|
|
(smartparens-global-mode 1)
|
2015-06-15 09:05:52 +02:00
|
|
|
(require 'smartparens-config)
|
|
|
|
|
2015-12-23 02:40:41 -05:00
|
|
|
;; Smartparens interferes with Replace mode
|
|
|
|
(add-hook 'evil-replace-state-entry-hook 'turn-off-smartparens-mode)
|
2016-03-19 04:26:20 -04:00
|
|
|
(add-hook 'evil-replace-state-exit-hook 'turn-on-smartparens-mode)
|
2015-12-23 02:40:41 -05:00
|
|
|
|
|
|
|
;; Auto-close more conservatively
|
2016-01-18 01:44:15 -05:00
|
|
|
(sp-pair "{" nil :post-handlers '(("||\n[i]" "RET") ("| " " "))
|
2015-08-02 18:24:57 +02:00
|
|
|
:unless '(sp-point-before-word-p sp-point-before-same-p))
|
2016-01-18 01:44:15 -05:00
|
|
|
(sp-pair "(" nil :post-handlers '(("||\n[i]" "RET") ("| " " "))
|
2015-08-02 18:24:57 +02:00
|
|
|
:unless '(sp-point-before-word-p sp-point-before-same-p))
|
2016-01-18 01:44:15 -05:00
|
|
|
(sp-pair "[" nil :post-handlers '(("| " " "))
|
2015-12-23 02:40:41 -05:00
|
|
|
:unless '(sp-point-before-word-p sp-point-before-same-p))
|
2015-07-25 13:50:30 +02:00
|
|
|
|
2016-03-19 04:26:20 -04:00
|
|
|
(defun sp-point-in-string-p (id action context)
|
|
|
|
(when (eq action 'insert)
|
|
|
|
(sp-point-in-string)))
|
2015-12-23 02:40:41 -05:00
|
|
|
|
|
|
|
(defun sp-insert-yasnippet (id action context)
|
|
|
|
(forward-char -1)
|
|
|
|
(if (sp-point-after-bol-p id action context)
|
|
|
|
(yas-expand-from-trigger-key)
|
|
|
|
(forward-char)))
|
|
|
|
|
2016-03-19 04:26:20 -04:00
|
|
|
(sp-local-pair '(sh-mode markdown-mode) "`" "`" :unless '(sp-point-before-word-p sp-point-before-same-p))
|
|
|
|
(sp-local-pair 'markdown-mode "```" "```" :post-handlers '(("||\n[i]" "RET")) :unless '(sp-point-before-word-p sp-point-before-same-p))
|
|
|
|
|
|
|
|
(sp-local-pair '(scss-mode css-mode) "/*" "*/" :post-handlers '(("[d-3]||\n[i]" "RET") ("| " "SPC")))
|
|
|
|
|
2015-12-23 02:40:41 -05:00
|
|
|
(sp-with-modes '(sh-mode)
|
|
|
|
(sp-local-pair "case" "" :when '(("SPC")) :post-handlers '((:add sp-insert-yasnippet)) :actions '(insert))
|
|
|
|
(sp-local-pair "if" "" :when '(("SPC")) :post-handlers '((:add sp-insert-yasnippet)) :actions '(insert))
|
|
|
|
(sp-local-pair "for" "" :when '(("SPC")) :post-handlers '((:add sp-insert-yasnippet)) :actions '(insert))
|
|
|
|
(sp-local-pair "elif" "" :when '(("SPC")) :post-handlers '((:add sp-insert-yasnippet)) :actions '(insert))
|
|
|
|
(sp-local-pair "while" "" :when '(("SPC")) :post-handlers '((:add sp-insert-yasnippet)) :actions '(insert)))
|
|
|
|
|
|
|
|
(sp-with-modes '(c-mode c++-mode objc-mode php-mode java-mode)
|
2016-03-25 13:38:34 -04:00
|
|
|
(sp-local-pair "/*" "*/" :post-handlers '(("||\n[i]" "RET") ("| " "SPC")))
|
2015-12-23 02:40:41 -05:00
|
|
|
|
|
|
|
;; Doxygen blocks
|
|
|
|
(sp-local-pair "/**" "*/" :post-handlers '(("||\n[i]" "RET") ("||\n[i]" "SPC")))
|
|
|
|
(sp-local-pair "/*!" "*/" :post-handlers '(("||\n[i]" "RET") ("[d-1]< | " "SPC"))))
|
|
|
|
|
2016-03-19 04:26:20 -04:00
|
|
|
(defun sp--org-skip-asterisk (ms mb me)
|
|
|
|
(or (and (= (line-beginning-position) mb)
|
|
|
|
(eq 32 (char-after (1+ mb))))
|
|
|
|
(and (= (1+ (line-beginning-position)) me)
|
|
|
|
(eq 32 (char-after me)))))
|
|
|
|
|
2015-11-23 15:21:24 -05:00
|
|
|
(sp-with-modes '(org-mode)
|
2016-03-19 04:26:20 -04:00
|
|
|
(sp-local-pair "*" "*" :unless '(sp-point-after-word-p sp-point-at-bol-p) :skip-match 'sp--org-skip-asterisk)
|
|
|
|
(sp-local-pair "_" "_" :unless '(sp-point-before-word-p sp-point-after-word-p))
|
|
|
|
(sp-local-pair "/" "/" :unless '(sp-point-before-word-p sp-point-after-word-p) :post-handlers '(("[d1]" "SPC")))
|
|
|
|
(sp-local-pair "~" "~" :unless '(sp-point-before-word-p sp-point-after-word-p) :post-handlers '(("[d1]" "SPC")))
|
|
|
|
(sp-local-pair "=" "=" :unless '(sp-point-before-word-p sp-point-after-word-p) :post-handlers '(("[d1]" "SPC")))
|
|
|
|
|
2015-12-23 02:40:41 -05:00
|
|
|
(sp-local-pair "\\[" "\\]" :post-handlers '(("| " "SPC")))
|
|
|
|
(sp-local-pair "\\(" "\\)" :post-handlers '(("| " "SPC")))
|
2016-03-19 04:26:20 -04:00
|
|
|
(sp-local-pair "$$" "$$" :post-handlers '((:add " | ")) :unless '(sp-point-at-bol-p))
|
2015-11-23 15:21:24 -05:00
|
|
|
(sp-local-pair "{" nil))
|
2015-06-15 09:05:52 +02:00
|
|
|
|
2015-12-23 02:40:41 -05:00
|
|
|
;; Markup languages
|
|
|
|
(sp-with-modes '(xml-mode nxml-mode php-mode)
|
|
|
|
(sp-local-pair "<!--" "-->" :post-handlers '(("| " "SPC"))))
|
|
|
|
(sp-with-modes '(web-mode php-mode)
|
|
|
|
(sp-local-pair "<?" "?>" :post-handlers '(("||\n[i]" "RET") ("| " "SPC")))
|
|
|
|
(sp-local-pair "<?php " " ?>" :post-handlers '(("||\n[i]" "RET") ("| " "SPC"))))
|
|
|
|
(sp-with-modes '(web-mode)
|
|
|
|
(sp-local-pair "{{!--" "--}}" :post-handlers '(("||\n[i]" "RET") ("| " "SPC")))
|
|
|
|
(sp-local-pair "<%" "%>" :post-handlers '(("||\n[i]" "RET") ("| " "SPC")))
|
|
|
|
(sp-local-pair "{!!" "!!}" :post-handlers '(("||\n[i]" "RET") ("| " "SPC")))
|
2015-12-27 02:51:05 -05:00
|
|
|
(sp-local-pair "{#" "#}" :post-handlers '(("||\n[i]" "RET") ("| " "SPC")))))
|
2015-06-04 18:23:21 -04:00
|
|
|
|
2015-10-28 03:31:51 -04:00
|
|
|
(use-package help-fns+ ; Improved help commands
|
|
|
|
:commands (describe-buffer describe-command describe-file
|
|
|
|
describe-keymap describe-option describe-option-of-type))
|
|
|
|
|
2016-01-30 02:34:57 -05:00
|
|
|
(use-package re-builder
|
|
|
|
:commands (re-builder reb-mode-buffer-p)
|
|
|
|
:init (add-hook! reb-mode 'narf|reb-cleanup)
|
|
|
|
:config
|
|
|
|
(setq reb-re-syntax 'string)
|
|
|
|
(evil-set-initial-state 'reb-mode 'insert)
|
|
|
|
|
|
|
|
(map! :map rxt-help-mode-map :n [escape] 'kill-buffer-and-window)
|
|
|
|
(map! :map reb-mode-map
|
|
|
|
:n "C-g" 'reb-quit
|
|
|
|
:n [escape] 'reb-quit
|
|
|
|
:n [backtab] 'reb-change-syntax))
|
|
|
|
|
2015-06-04 18:23:21 -04:00
|
|
|
(provide 'core-editor)
|
|
|
|
;;; core-editor.el ends here
|