-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy path+ide.el
134 lines (120 loc) · 5.59 KB
/
+ide.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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
;;
;; IDEE
;;
;;
;; IDEE optional packages
;;
(use-package idee
:defer t
:straight (idee :host github :repo "iocanel/idee" :files ("idee.el"
"idee-utils.el"
"idee-vars.el"
"idee-actions.el"
"idee-comments.el"
"idee-headers.el"
"idee-navigation.el"
"idee-views.el"
"idee-treemacs.el"
"idee-projects.el"
"idee-templates.el"
"idee-eshell.el"
"idee-vterm.el"
"idee-visitors.el"
"idee-arch.el"
"idee-yml.el"
"idee-hydra.el"))
:custom
(idee/display-buffer-setup-enabled t)
(idee/popper-enabled t)
:commands (idee/init
idee/open
idee/vcs
idee/terminal-view
idee/side-by-side-view
idee/new-project
idee/treemacs-hydra/body
idee/treemacs-switch-to-project-workspace
idee/treemacs-create-and-switch-to-workspace
idee/focus-mode)
:config
(use-package polymode :ensure t)
;; This is currently broken so let's comment it out
;; (advice-add 'idee/treemacs-open-project-workspace :after (lambda (w) (ic/org-github-issues--show-open-workspace-issues w)))
:bind (("C-c i" . 'idee/hydra/body)
("C-c p" . 'idee/project-hydra/body)
("C-c f" . 'idee/file-hydra/body)
("C-c t" . 'idee/treemacs-hydra/body)
("M-m" . 'idee/focus-mode)
(:map evil-normal-state-map
("SPC m" . idee/maven-hydra/body)
("SPC t" . idee/treemacs-hydra/body))))
(use-package idee-counsel :straight (idee-counsel :host github :repo "iocanel/idee" :files ("idee-counsel.el"))
:defer t
:commands (idee/shell-show-errors)
:bind (("M-e" . 'idee/shell-show-errors)))
(use-package idee-lsp :straight (idee-lsp :host github :repo "iocanel/idee" :files ("idee-lsp.el"))
:after idee
:commands (idee/lsp-init)
:config
(idee/lsp-init))
(use-package idee-java :straight (idee-java :host github :repo "iocanel/idee" :files ("idee-java.el" "idee-java-utils.el" "idee-lsp-java.el" "idee-jshell.el" "idee-maven.el" "idee-spring.el" "idee-quarkus.el"))
:commands (idee/java-init idee/maven-hydra/body)
:bind (:map evil-normal-state-map
("SPC m" . idee/maven-hydra/body))
:config
;; Maven configuration
(define-derived-mode maven-pom-mode nxml-mode "maven-pom-mode" "Major mode for editting Maven pom files")
(add-to-list 'auto-mode-alist '("pom\\.xml\\'" . maven-pom-mode))
(add-to-list 'idee/module-root-markers "pom.xml")
;; Populate maven known group ids
(idee/maven-add-known-group-ids '("io.dekorate"
"io.fabric8"
"io.quarkus"
"io.sundr"
"org.springframework"
"org.junit")))
(use-package idee-dap :straight (idee-dap :host github :repo "iocanel/idee" :files ("idee-dap.el")) :after idee-java)
(use-package idee-javascript :straight (idee-javascript :host github :repo "iocanel/idee" :files ("idee-javascript.el"))
:defer t
:commands (idee/javascript-init))
(use-package idee-rust :straight (idee-rust :host github :repo "iocanel/idee" :files ("idee-rust.el"))
:defer t
:commands (idee/rust-init))
(use-package idee-kubernetes :straight (idee-kubernetes :host github :repo "iocanel/idee" :files ("idee-kubernetes.el"))
:defer t
:commands (idee/kubernetes-create-dwim
idee/kubernetes-create-from-buffer
idee/kubernetes-create-from-region
idee/kubernetes-delete-dwim
idee/kubernetes-delete-from-buffer
idee/kubernetes-delete-from-region
idee/kubernetes-replace-dwim
idee/kubernetes-replace-from-buffer
idee/kubernetes-replace-from-region)
:bind (:map yaml-mode-map
("C-c k c" . 'idee/kubernetes-create-dwim)
("C-c k d" . 'idee/kubernetes-delete-dwim)
("C-c u d" . 'idee/kubernetes-update-dwim)))
(use-package idee-docker :straight (idee-docker :host github :repo "iocanel/idee" :files ("idee-docker.el"))
:defer t
:commands (idee/docker-build idee/docker-kill idee/docker-run-dockerfile idee/docker-push-dockerfile)
:bind (:map dockerfile-mode-map
("C-c d b" . 'idee/docker-build)
("C-c d k" . 'idee/docker-kill)
("C-c d r" . 'idee/docker-run-dockerfile)
("C-c d p" . 'idee/docker-push-dockerfile)))
;;
;; Web
;;
;;;###autoload
(defun ic/open-in-browser()
(interactive)
(let ((filename (buffer-file-name)))
(browse-url (concat "file://" filename))))
;;
;; Bootstrap
;;
(run-with-idle-timer 0 nil 'idee/init)
(run-with-idle-timer 0 nil 'idee/java-init)
(run-with-idle-timer 0 nil 'idee/javascript-init)
(run-with-idle-timer 0 nil 'idee/rust-init)