/
vemv.init.el
93 lines (79 loc) · 2.86 KB
/
vemv.init.el
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
;;; -*- lexical-binding: t -*-
(setq lexical-binding t)
(and load-file-name
(boundp 'custom-theme-load-path)
(add-to-list 'custom-theme-load-path (file-name-as-directory (file-name-directory load-file-name))))
(require 'vemv.lang)
(require 'vemv.setqs)
(require 'vemv.window-system)
(require 'vemv.open)
(require 'vemv.buffer-querying)
(require 'vemv.clojure-interaction)
(require 'vemv.paredit)
(require 'vemv.edit)
(require 'vemv.search)
(require 'vemv.mode-line)
(require 'vemv.project-interaction)
(require 'vemv.project)
(require 'vemv.workspace)
(require 'vemv.data)
(unless vemv/terminal-emacs?
(require 'vemv.data.bindings))
(require 'vemv-theme)
(setq custom-safe-themes '(default
;; shas of vemv-theme.el as automaticaly computed by emacs:
"92a14c0924ae3efa1c875aeb3f2ff631153e487a442394b4848227c3e1576311"))
(load-theme 'vemv)
(require 'vemv.hooks)
(require 'vemv.keyboard-init)
(unless vemv/terminal-emacs?
(require 'vemv.undo)) ;; Shouldn't be needed, but otherwise I can't redo the first undo for some unknown reason
(require 'vemv.git)
(require 'ido-completing-read+)
(provide 'vemv.init)
(show-paren-mode 1)
(ido-mode 1)
(ido-everywhere 1)
(ido-ubiquitous-mode 1)
(blink-cursor-mode -1)
(tooltip-mode (if vemv/use-eldoc-and-tooltips
1
-1))
(smex-initialize)
(global-subword-mode)
(savehist-mode 1)
(unless vemv/terminal-emacs?
(recentf-mode 1)
(global-set-key [menu-bar File] nil) ;; b/c recentf-mode
(global-company-mode)
(menu-bar-mode)
(yas-global-mode 1))
(global-auto-revert-mode t) ;; refresh buffers on external changes to the underlying files
(global-hl-line-mode t)
(make-variable-buffer-local 'global-hl-line-mode)
(vemv/global-whitespace-mode)
(cua-mode 1) ;; initialized after customizing cua-remap-control-v
(electric-indent-mode -1)
;; Disables mode-line tooltips, making `vemv/echo-clojure-source' more persistent
;; Not in vemv.setqs, something else would reset it later
(unless vemv/use-eldoc-and-tooltips
(setq show-help-function nil))
(defun undo (&rest args)
(interactive)
(require 'undo-tree)
(apply 'undo-tree-undo args))
(assert (eq (length vemv/available-projects)
(length (-uniq vemv/available-projects))))
(unless vemv/terminal-emacs?
(vemv/set-keys-for-scope :global vemv/global-key-bindings)
(vemv/open-files-from-last-session!)
(vemv/initial-layout
(argless
(vemv/next-file-buffer)
(vemv/previous-file-buffer)
;; every 5 seconds. in practice, not so often b/c `vemv/refreshing-caches` (timestamp lock)
;; disabled until PE deemed stable again
(comm delay (argless (run-with-timer 0 5 (argless
(let ((w (selected-window)))
(vemv/refresh-file-caches (argless (vemv/safe-select-window w)))))))
60))))