Make language packages nicer
This commit is contained in:
parent
f1d3e7d6d7
commit
4b10beec8d
12 changed files with 82 additions and 28 deletions
|
|
@ -1,7 +1,11 @@
|
||||||
;;; clang.el --- summary
|
;;; languages/clang.el --- summary
|
||||||
;;; Commentary:
|
;;; Commentary:
|
||||||
;;; Code:
|
;;; Code:
|
||||||
|
|
||||||
|
(require '05projectile "$HOME/.emacs.d/05projectile.el")
|
||||||
|
(require '05ctags "$HOME/.emacs.d/05ctags.el")
|
||||||
|
(require '05prog-mode "$HOME/.emacs.d/05prog-mode.el")
|
||||||
|
|
||||||
(defun activate-clang-mode ()
|
(defun activate-clang-mode ()
|
||||||
"Goodies for editing c files."
|
"Goodies for editing c files."
|
||||||
(set-indent 8)
|
(set-indent 8)
|
||||||
|
|
@ -19,5 +23,5 @@
|
||||||
|
|
||||||
(add-hook 'c-mode 'activate-clang-mode)
|
(add-hook 'c-mode 'activate-clang-mode)
|
||||||
|
|
||||||
(provide 'clang)
|
(provide 'languages/clang)
|
||||||
;;; clang.el ends here
|
;;; clang.el ends here
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,9 @@
|
||||||
;;; clojure -- summary
|
;;; languages/clojure -- summary
|
||||||
;;; Commentary:
|
;;; Commentary:
|
||||||
;;; Code:
|
;;; Code:
|
||||||
|
|
||||||
(require '05prog-mode)
|
(require '05prog-mode "$HOME/.emacs.d/05prog-mode.el")
|
||||||
|
(require '05hydra "$HOME/.emacs.d/05hydra.el")
|
||||||
|
|
||||||
(use-package clojure-mode
|
(use-package clojure-mode
|
||||||
:defer t
|
:defer t
|
||||||
|
|
@ -20,11 +21,22 @@
|
||||||
:defer t
|
:defer t
|
||||||
:ensure t)
|
:ensure t)
|
||||||
|
|
||||||
(use-package paredit
|
;; Hydra
|
||||||
:defer t
|
(defhydra my-clojure/context-hydra (:color teal :hint nil)
|
||||||
:ensure t)
|
"
|
||||||
|
Clojure actions
|
||||||
|
|
||||||
(setq-local indent-tabs-mode nil)
|
^Cider^ ^Actions^
|
||||||
|
^^^^^^^^-----------------------------------------------------------------------
|
||||||
|
_j_: Jack in
|
||||||
|
_f_: Format buffer
|
||||||
|
_l_: Load buffer
|
||||||
|
"
|
||||||
|
("q" nil "cancel" :color blue)
|
||||||
|
|
||||||
|
("j" cider-jack-in)
|
||||||
|
("f" cider-format-buffer)
|
||||||
|
("l" cider-load-buffer))
|
||||||
|
|
||||||
(defun activate-my-clojure-mode ()
|
(defun activate-my-clojure-mode ()
|
||||||
"Goodies for clojure files."
|
"Goodies for clojure files."
|
||||||
|
|
@ -32,6 +44,9 @@
|
||||||
(column-enforce-n 80)
|
(column-enforce-n 80)
|
||||||
(clj-refactor-mode 1)
|
(clj-refactor-mode 1)
|
||||||
(cider-mode 1)
|
(cider-mode 1)
|
||||||
|
(setq-local indent-tabs-mode nil)
|
||||||
|
|
||||||
|
(define-key clojure-mode-map (kbd "C-c l") 'my-clojure/context-hydra/body)
|
||||||
|
|
||||||
;; Do not enable paredit for clojure
|
;; Do not enable paredit for clojure
|
||||||
;; (paredit-mode 1)
|
;; (paredit-mode 1)
|
||||||
|
|
@ -46,5 +61,5 @@
|
||||||
(add-hook 'cider-repl-mode-hook 'my-clj-repl-config)
|
(add-hook 'cider-repl-mode-hook 'my-clj-repl-config)
|
||||||
(add-hook 'cider-mode-hook #'cider-company-enable-fuzzy-completion)
|
(add-hook 'cider-mode-hook #'cider-company-enable-fuzzy-completion)
|
||||||
|
|
||||||
(provide 'clojure)
|
(provide 'languages/clojure)
|
||||||
;;; clojure.el ends here
|
;;; clojure.el ends here
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,9 @@
|
||||||
;;; elisp -- summary
|
;;; languages/elisp -- summary
|
||||||
;;; Commentary:
|
;;; Commentary:
|
||||||
;;; Code:
|
;;; Code:
|
||||||
|
|
||||||
|
(require '05prog-mode "$HOME/.emacs.d/05prog-mode.el")
|
||||||
|
|
||||||
(defun activate-emacs-lisp-mode ()
|
(defun activate-emacs-lisp-mode ()
|
||||||
"Goodies for editing Emacs files."
|
"Goodies for editing Emacs files."
|
||||||
(set-indent 2) ;; Default indentation of 2 characters
|
(set-indent 2) ;; Default indentation of 2 characters
|
||||||
|
|
@ -14,5 +16,5 @@
|
||||||
|
|
||||||
(add-hook 'emacs-lisp-mode-hook 'activate-emacs-lisp-mode)
|
(add-hook 'emacs-lisp-mode-hook 'activate-emacs-lisp-mode)
|
||||||
|
|
||||||
(provide 'elisp)
|
(provide 'languages/elisp)
|
||||||
;;; elisp.el ends here
|
;;; elisp.el ends here
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,26 @@
|
||||||
;;; elixir -- summary
|
;;; languages/elixir -- summary
|
||||||
;;; Commentary:
|
;;; Commentary:
|
||||||
;;; Code:
|
;;; Code:
|
||||||
|
|
||||||
|
(require '05prog-mode "$HOME/.emacs.d/05prog-mode.el")
|
||||||
|
(require '05flycheck "$HOME/.emacs.d/05flycheck.el")
|
||||||
|
(require '05hydra "$HOME/.emacs.d/05hydra.el")
|
||||||
|
|
||||||
(use-package elixir-mode
|
(use-package elixir-mode
|
||||||
:requires (lsp-mode lsp-ui)
|
:requires (lsp-mode lsp-ui)
|
||||||
:ensure t
|
:ensure t)
|
||||||
:config)
|
|
||||||
|
(defhydra my-elixir/context-hydra (:color teal :hint nil)
|
||||||
|
"
|
||||||
|
Elixir actions
|
||||||
|
|
||||||
|
^Elixir^ ^Actions^
|
||||||
|
^^^^^^^^-----------------------------------------------------------------------
|
||||||
|
_f_: Format buffer
|
||||||
|
"
|
||||||
|
("q" nil "cancel" :color blue)
|
||||||
|
|
||||||
|
("f" elixir-format))
|
||||||
|
|
||||||
(defun activate-elixir-mode ()
|
(defun activate-elixir-mode ()
|
||||||
"All things Elixir."
|
"All things Elixir."
|
||||||
|
|
@ -13,6 +28,7 @@
|
||||||
(column-enforce-n 98)
|
(column-enforce-n 98)
|
||||||
(setq-local flycheck-check-syntax-automatically '(save mode-enabled))
|
(setq-local flycheck-check-syntax-automatically '(save mode-enabled))
|
||||||
(define-key elixir-mode-map (kbd "<f17>") 'elixir-format)
|
(define-key elixir-mode-map (kbd "<f17>") 'elixir-format)
|
||||||
|
(define-key elixir-mode-map (kbd "C-c l") 'my-elixir/context-hydra/body)
|
||||||
|
|
||||||
;; Company list override
|
;; Company list override
|
||||||
(add-to-list (make-local-variable 'company-backends)
|
(add-to-list (make-local-variable 'company-backends)
|
||||||
|
|
@ -20,5 +36,5 @@
|
||||||
|
|
||||||
(add-hook 'elixir-mode-hook 'activate-elixir-mode)
|
(add-hook 'elixir-mode-hook 'activate-elixir-mode)
|
||||||
|
|
||||||
(provide 'elixir)
|
(provide 'languages/elixir)
|
||||||
;;; elixir.el ends here
|
;;; elixir.el ends here
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,9 @@
|
||||||
;;; erlang -- summary
|
;;; languages/erlang -- summary
|
||||||
;;; Commentary:
|
;;; Commentary:
|
||||||
;;; Code:
|
;;; Code:
|
||||||
|
|
||||||
(require '08ctags)
|
(require '05ctags "$HOME/.emacs.d/05ctags.el")
|
||||||
|
(require '05prog-mode "$HOME/.emacs.d/05prog-mode.el")
|
||||||
|
|
||||||
(cl-defun erlang/emacs-path (erlang-version)
|
(cl-defun erlang/emacs-path (erlang-version)
|
||||||
(car (split-string
|
(car (split-string
|
||||||
|
|
@ -27,7 +28,7 @@
|
||||||
(cl-defun erlang/available-versions--plist ()
|
(cl-defun erlang/available-versions--plist ()
|
||||||
(mapcar 'erlang/erlang-plist (erlang/installed-erlangs)))
|
(mapcar 'erlang/erlang-plist (erlang/installed-erlangs)))
|
||||||
|
|
||||||
(setq erlang/available-versions (erlang/available-versions--plist))
|
(defvar erlang/available-versions (erlang/available-versions--plist))
|
||||||
|
|
||||||
(cl-defun erlang/currently-in-use ()
|
(cl-defun erlang/currently-in-use ()
|
||||||
(car (split-string (shell-command-to-string "asdf current erlang"))))
|
(car (split-string (shell-command-to-string "asdf current erlang"))))
|
||||||
|
|
@ -53,7 +54,7 @@
|
||||||
"All things for all Erlang, including header files."
|
"All things for all Erlang, including header files."
|
||||||
(when (featurep 'erlang-start) (unload-feature 'erlang-start))
|
(when (featurep 'erlang-start) (unload-feature 'erlang-start))
|
||||||
|
|
||||||
(setq erlang/current-erlang (erlang/current-plist))
|
(defvar erlang/current-erlang (erlang/current-plist))
|
||||||
|
|
||||||
(add-to-list (make-local-variable 'load-path)
|
(add-to-list (make-local-variable 'load-path)
|
||||||
(plist-get erlang/current-erlang :emacs-path))
|
(plist-get erlang/current-erlang :emacs-path))
|
||||||
|
|
@ -110,5 +111,5 @@
|
||||||
;; Automatically update tags on save
|
;; Automatically update tags on save
|
||||||
(ctags/update-this-mode-on-save 'erlang-mode))
|
(ctags/update-this-mode-on-save 'erlang-mode))
|
||||||
|
|
||||||
(provide 'erlang)
|
(provide 'languages/erlang)
|
||||||
;;; erlang.el ends here
|
;;; erlang.el ends here
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,10 @@
|
||||||
;;; Commentary:
|
;;; Commentary:
|
||||||
;;; Code:
|
;;; Code:
|
||||||
|
|
||||||
|
(require '05prog-mode "$HOME/.emacs.d/05prog-mode.el")
|
||||||
|
(require '05flycheck "$HOME/.emacs.d/05flycheck.el")
|
||||||
|
(require '05lsp "$HOME/.emacs.d/05lsp.el")
|
||||||
|
|
||||||
(use-package js2-mode
|
(use-package js2-mode
|
||||||
:requires (web-mode company-web lsp-mode lsp-ui)
|
:requires (web-mode company-web lsp-mode lsp-ui)
|
||||||
:ensure t)
|
:ensure t)
|
||||||
|
|
@ -36,5 +40,5 @@
|
||||||
|
|
||||||
(add-hook 'js2-mode-hook 'activate-js2-mode)
|
(add-hook 'js2-mode-hook 'activate-js2-mode)
|
||||||
|
|
||||||
(provide 'javascript)
|
(provide 'languages/javascript)
|
||||||
;;; javascript.el ends here
|
;;; javascript.el ends here
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@
|
||||||
;;; Commentary:
|
;;; Commentary:
|
||||||
;;; Code:
|
;;; Code:
|
||||||
|
|
||||||
|
(require '05prog-mode "$HOME/.emacs.d/05prog-mode.el")
|
||||||
|
|
||||||
(use-package markdown-mode
|
(use-package markdown-mode
|
||||||
:ensure t
|
:ensure t
|
||||||
:defer t
|
:defer t
|
||||||
|
|
@ -21,5 +23,5 @@
|
||||||
|
|
||||||
(add-hook 'markdown-mode-hook 'activate-markdown-mode)
|
(add-hook 'markdown-mode-hook 'activate-markdown-mode)
|
||||||
|
|
||||||
(provide 'markdown)
|
(provide 'languages/markdown)
|
||||||
;;; markdown.el ends here
|
;;; markdown.el ends here
|
||||||
|
|
|
||||||
|
|
@ -34,5 +34,5 @@
|
||||||
(add-hook 'before-save-hook #'refmt-before-save)))
|
(add-hook 'before-save-hook #'refmt-before-save)))
|
||||||
(add-hook 'reason-mode-hook 'merlin-mode)
|
(add-hook 'reason-mode-hook 'merlin-mode)
|
||||||
|
|
||||||
(provide 'ocaml)
|
(provide 'languages/ocaml)
|
||||||
;;; ocaml.el ends here
|
;;; ocaml.el ends here
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,10 @@
|
||||||
;;; Commentary:
|
;;; Commentary:
|
||||||
;;; Code:
|
;;; Code:
|
||||||
|
|
||||||
|
(require '05prog-mode "$HOME/.emacs.d/05prog-mode.el")
|
||||||
|
(require '05projectile "$HOME/.emacs.d/05projectile.el")
|
||||||
|
(require '05ctags "$HOME/.emacs.d/05ctags.el")
|
||||||
|
|
||||||
(use-package rspec-mode :ensure t :defer t)
|
(use-package rspec-mode :ensure t :defer t)
|
||||||
(use-package ruby-end :ensure t :defer t)
|
(use-package ruby-end :ensure t :defer t)
|
||||||
|
|
||||||
|
|
@ -41,5 +45,5 @@
|
||||||
'(rspec-install-snippets))
|
'(rspec-install-snippets))
|
||||||
(add-hook 'enh-ruby-mode-hook 'activate-ruby-mode)
|
(add-hook 'enh-ruby-mode-hook 'activate-ruby-mode)
|
||||||
|
|
||||||
(provide 'ruby)
|
(provide 'languages/ruby)
|
||||||
;;; ruby.el ends here
|
;;; ruby.el ends here
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,11 @@
|
||||||
;;; Commentary:
|
;;; Commentary:
|
||||||
;;; Code:
|
;;; Code:
|
||||||
|
|
||||||
|
(require '05prog-mode "$HOME/.emacs.d/05prog-mode.el")
|
||||||
|
(require '05flycheck "$HOME/.emacs.d/05flycheck.el")
|
||||||
|
|
||||||
(defun activate-rust-mode ()
|
(defun activate-rust-mode ()
|
||||||
"All things for Rust mode"
|
"All things for Rust mode."
|
||||||
(interactive)
|
(interactive)
|
||||||
(set-indent 4)
|
(set-indent 4)
|
||||||
(column-enforce-n 99)
|
(column-enforce-n 99)
|
||||||
|
|
@ -16,5 +19,5 @@
|
||||||
(add-hook 'rust-mode-hook 'activate-rust-mode)
|
(add-hook 'rust-mode-hook 'activate-rust-mode)
|
||||||
(add-hook 'rust-mode-hook 'flycheck-rust-setup)
|
(add-hook 'rust-mode-hook 'flycheck-rust-setup)
|
||||||
|
|
||||||
(provide 'rust)
|
(provide 'languages/rust)
|
||||||
;;; rust.el ends here
|
;;; rust.el ends here
|
||||||
|
|
|
||||||
|
|
@ -6,5 +6,5 @@
|
||||||
(add-to-list 'auto-mode-alist '("\\zshrc\\'" . sh-mode))
|
(add-to-list 'auto-mode-alist '("\\zshrc\\'" . sh-mode))
|
||||||
(add-to-list 'auto-mode-alist '("\\.zshrc\\'" . sh-mode))
|
(add-to-list 'auto-mode-alist '("\\.zshrc\\'" . sh-mode))
|
||||||
|
|
||||||
(provide 'sh)
|
(provide 'languages/sh)
|
||||||
;;; sh.el ends here
|
;;; sh.el ends here
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,9 @@
|
||||||
;;; Commentary:
|
;;; Commentary:
|
||||||
;;; Code:
|
;;; Code:
|
||||||
|
|
||||||
|
(require '05lsp "$HOME/.emacs.d/05lsp.el")
|
||||||
|
(require '05flycheck "$HOME/.emacs.d/05flycheck.el")
|
||||||
|
|
||||||
(use-package web-mode
|
(use-package web-mode
|
||||||
:requires (lsp-mode flycheck)
|
:requires (lsp-mode flycheck)
|
||||||
:ensure t)
|
:ensure t)
|
||||||
|
|
@ -41,5 +44,5 @@
|
||||||
|
|
||||||
(add-hook 'web-mode-hook 'activate-web-mode)
|
(add-hook 'web-mode-hook 'activate-web-mode)
|
||||||
|
|
||||||
(provide 'web)
|
(provide 'languages/web)
|
||||||
;;; web.el ends here
|
;;; web.el ends here
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue