From e8b34a249c78fd932fa191b7e08b475515a06b8a Mon Sep 17 00:00:00 2001 From: Mateus Pinto Rodrigues Date: Sat, 12 Oct 2019 14:58:51 -0300 Subject: [PATCH] start refactoring init to better use 'use-package' --- elisp/custom.el | 6 ++-- elisp/ess-setup.el | 2 +- elisp/extras.el | 72 ++++++++++++++++++++++++++++++++++------ elisp/javascript.el | 6 ++-- elisp/org-brain-setup.el | 7 ++++ elisp/rust-setup.el | 1 - elisp/settings.el | 6 ++-- elisp/typescript.el | 19 +++++++++++ init.el | 2 +- 9 files changed, 99 insertions(+), 22 deletions(-) create mode 100644 elisp/org-brain-setup.el create mode 100644 elisp/typescript.el diff --git a/elisp/custom.el b/elisp/custom.el index d58ff04..ccee95d 100644 --- a/elisp/custom.el +++ b/elisp/custom.el @@ -4,9 +4,9 @@ ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. '(package-selected-packages - (quote - (poly-noweb julia-mode zenburn-theme xref-js2 writeroom-mode slime racket-mode racer polymode paredit org-ref org-bullets org lua-mode json-mode js2-refactor ivy-bibtex haskell-mode geiser ess-smart-underscore counsel company-tern cargo auto-complete))) - '(tramp-syntax (quote default) nil (tramp))) + '(gnu-elpa-keyring-update tide rjsx-mode use-package org-brain poly-noweb julia-mode zenburn-theme xref-js2 slime racket-mode racer polymode paredit org-ref org lua-mode json-mode js2-refactor ivy-bibtex haskell-mode ess-smart-underscore counsel company-tern cargo auto-complete)) + '(send-mail-function 'smtpmail-send-it) + '(tramp-syntax 'default nil (tramp))) (custom-set-faces ;; custom-set-faces was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. diff --git a/elisp/ess-setup.el b/elisp/ess-setup.el index f0d99a2..1d05f0f 100644 --- a/elisp/ess-setup.el +++ b/elisp/ess-setup.el @@ -1,5 +1,5 @@ ;; better behavior inserting _ -(require ‘ess-smart-underscore) +;;(require 'ess-smart-underscore) ;; enable code auto completion (require 'auto-complete-config) diff --git a/elisp/extras.el b/elisp/extras.el index 3f16227..09f0744 100644 --- a/elisp/extras.el +++ b/elisp/extras.el @@ -5,19 +5,69 @@ ;; Always use slant for italic, not underline '(italic ((t (:slant italic)))) -;; load my packages -(require 'geiser) -(require 'ess-site) +;; Load my packages +;; Check if packages are available (I guess) +(eval-when-compile + (require 'use-package)) + +;;R +(use-package ess-site + :ensure ess + :config + (load "~/.emacs.d/elisp/ess-setup.el")) + +;;Javascript +(use-package js2-mode + :ensure t + :config + (add-to-list 'auto-mode-alist '("\\.js\\'" . js2-mode)) + ;better imenu + (add-hook 'js2-mode-hook #'js2-imenu-extras-mode) + (load "~/.emacs.d/elisp/javascript.el")) + +(use-package rjsx-mode + :ensure t) + +;;Typescript +(use-package tide + :ensure t + :config + (load "~/.emacs.d/elisp/typescript.el")) + +(use-package org-brain + :disabled + :ensure t + :init + (setq org-brain-path "~/repos/csphy/drafts") + :config + (load "~/.emacs.d/elisp/org-brain-setup.el")) + +;;Common Lisp +(use-package slime + :disabled + :config + ((load "~/.emacs.d/elisp/slime-setup.el"))) + +;;Rust +(use-package rust-mode + :ensure t + :config + (load "~/.emacs.d/elisp/rust-setup.el")) + +;;Org +(use-package org + :ensure t + :config + (load "~/.emacs.d/elisp/org-setup.el")) + +(use-package ivy + :ensure ivy + :ensure ivy-bibtex + :config + (load "~/.emacs.d/elisp/ivy-setup.el")) -;; load my custom setups -(load "~/.emacs.d/elisp/org-setup.el") -;(load "~/.emacs.d/elisp/slime-setup.el") ;(load "~/.emacs.d/elisp/polymode-setup.el") + (load "~/.emacs.d/elisp/outline-keymap.el") (load "~/.emacs.d/elisp/bibtex-setup.el") -(load "~/.emacs.d/elisp/ivy-setup.el") -;(load "~/.emacs.d/elisp/geiser-setup.el") (load "~/.emacs.d/elisp/keypad.el") -(load "~/.emacs.d/elisp/javascript.el") -;(load "~/.emacs.d/elisp/ess-setup.el") -(load "~/.emacs.d/elisp/rust-setup.el") diff --git a/elisp/javascript.el b/elisp/javascript.el index 5beddd3..45186b4 100644 --- a/elisp/javascript.el +++ b/elisp/javascript.el @@ -1,8 +1,8 @@ -(require 'js2-mode) -(add-to-list 'auto-mode-alist '("\\.js\\'" . js2-mode)) +;(require 'js2-mode) +;(add-to-list 'auto-mode-alist '("\\.js\\'" . js2-mode)) ;; Better imenu -(add-hook 'js2-mode-hook #'js2-imenu-extras-mode) +;(add-hook 'js2-mode-hook #'js2-imenu-extras-mode) (require 'js2-refactor) (require 'xref-js2) diff --git a/elisp/org-brain-setup.el b/elisp/org-brain-setup.el new file mode 100644 index 0000000..462a23c --- /dev/null +++ b/elisp/org-brain-setup.el @@ -0,0 +1,7 @@ +(setq org-id-track-globally t) +(setq org-id-locations-file "~/.emacs.d/.org-id-locations") +(push '("b" "Brain" plain (function org-brain-goto-end) + "* %i%?" :empty-lines 1) + org-capture-templates) +(setq org-brain-visualize-default-choices 'all) +(setq org-brain-title-max-length 12) diff --git a/elisp/rust-setup.el b/elisp/rust-setup.el index 08d0b00..d2defa8 100644 --- a/elisp/rust-setup.el +++ b/elisp/rust-setup.el @@ -7,6 +7,5 @@ ;; Code completion (add-hook 'racer-mode-hook #'company-mode) -(require 'rust-mode) (define-key rust-mode-map (kbd "TAB") #'company-indent-or-complete-common) (setq company-tooltip-align-annotations t) diff --git a/elisp/settings.el b/elisp/settings.el index 94ddd38..5e7d3f5 100644 --- a/elisp/settings.el +++ b/elisp/settings.el @@ -29,8 +29,7 @@ (add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/") - '("gnu" . "http://elpa.gnu.org/packages/")) - (package-initialize)) + '("gnu" . "http://elpa.gnu.org/packages/"))) (put 'erase-buffer 'disabled nil) ;; remove trailing white spaces before saving @@ -96,3 +95,6 @@ ;; Make seamonkey available for use (setq browse-url-browser-function 'browse-url-generic browse-url-generic-program "seamonkey") + +;; Mutt support +(setq auto-mode-alist (append '(("/tmp/neomutt.*" . mail-mode)) auto-mode-alist)) diff --git a/elisp/typescript.el b/elisp/typescript.el new file mode 100644 index 0000000..61da4e2 --- /dev/null +++ b/elisp/typescript.el @@ -0,0 +1,19 @@ +(defun setup-tide-mode () + (interactive) + (tide-setup) + (flycheck-mode +1) + (setq flycheck-check-syntax-automatically '(save mode-enabled)) + (eldoc-mode +1) + (tide-hl-identifier-mode +1) + ;; company is an optional dependency. You have to + ;; install it separately via package-install + ;; `M-x package-install [ret] company` + (company-mode +1)) + +;; aligns annotation to the right hand side +(setq company-tooltip-align-annotations t) + +;; formats the buffer before saving +(add-hook 'before-save-hook 'tide-format-before-save) + +(add-hook 'typescript-mode-hook #'setup-tide-mode) diff --git a/init.el b/init.el index 7fdfebc..654fe68 100644 --- a/init.el +++ b/init.el @@ -1,4 +1,4 @@ -(package-initialize) +;(package-initialize) (add-to-list 'load-path "~/.emacs.d/elisp/")