From 6e905a33ab356938da749e1d2a0967e9a1b895ca Mon Sep 17 00:00:00 2001 From: David Florness Date: Wed, 6 Dec 2017 18:46:20 -0700 Subject: [PATCH] Setup development tools in setup-dev.el --- init.el | 22 +--------- lisp/setup-dev.el | 102 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 103 insertions(+), 21 deletions(-) create mode 100644 lisp/setup-dev.el diff --git a/init.el b/init.el index e2c07ba..7e4d207 100644 --- a/init.el +++ b/init.el @@ -3,6 +3,7 @@ (require 'setup-packages) (require 'setup-appearance) +(require 'setup-dev) ;;; Winner mode: allows for undoing and redoing of windoow configurations ;;; C-c : undo @@ -56,15 +57,6 @@ :after evil :ensure t) -;;; Company (complete anything) mode -(use-package company - :ensure t - :config - (progn - (add-hook 'after-init-hook 'global-company-mode) - (define-key company-active-map (kbd "M-j") 'company-select-next) - (define-key company-active-map (kbd "M-k") 'company-select-previous))) - ;;; Syntax/error checking for GNU Emacs (use-package flycheck :ensure t @@ -188,18 +180,6 @@ :config (paradox-enable)) -(use-package projectile - :ensure t - :config - (projectile-mode)) - -(use-package helm-projectile - :ensure t - :after projectile - :config - (helm-projectile-on) - (setq projectile-completion-system 'helm) - (setq projectile-indexing-method 'alien)) ;;; mu4e email client diff --git a/lisp/setup-dev.el b/lisp/setup-dev.el new file mode 100644 index 0000000..3129a33 --- /dev/null +++ b/lisp/setup-dev.el @@ -0,0 +1,102 @@ +;;; setup-dev --- Setup packages for easy development + +;;; Commentary: + +;; This sets up packages which aid heavily in development + +;;; Code: + +(require 'evil) + + +;; show unnecessary whitespace that can mess up your diff +(add-hook 'prog-mode-hook + (lambda () (interactive) + (setq show-trailing-whitespace 1))) + + +;; set appearance of a tab that is represented by 4 spaces +(setq-default tab-width 4) + + +(global-set-key (kbd "") (lambda () + (interactive) + (setq-local compilation-read-command nil) + (call-interactively 'compile))) + + +;; setup GDB +(setq + ;; use gdb-many-windows by default + gdb-many-windows t + + ;; Non-nil means display source file contatining the main routine at startup + gdb-show-main t) + + +;;; Company (complete anything) mode +(use-package company + :ensure t + :config + (progn + (add-hook 'after-init-hook 'global-company-mode) + (delete 'company-semantic company-backends) + (define-key company-active-map (kbd "M-j") 'company-select-next) + (define-key company-active-map (kbd "M-k") 'company-select-previous))) + + +(use-package helm-gtags + :ensure t + :commands (helm-gtags-mode) + :init + (progn + (setq helm-gtags-ignore-case t + helm-gtags-auto-update t + helm-gtags-use-input-at-cursor t + helm-gtags-pulse-at-cursor t + helm-gtags-prefix-key (kbd "C-c g") + helm-gtags-suggested-key-mapping t) + (add-hook 'dired-mode-hook 'helm-gtags-mode) + (add-hook 'eshell-mode-hook 'helm-gtags-mode) + (add-hook 'c-mode-hook 'helm-gtags-mode) + (add-hook 'c++-mode-hook 'helm-gtags-mode) + (add-hook 'asm-made-hook 'helm-gtags-mode)) + :config + (progn + (evil-define-key 'normal helm-gtags-mode-map (kbd "C-c g a") + 'helm-gtags-tags-in-this-function) + (evil-define-key 'nomral helm-gtags-mode-map (kbd "C-j") + 'helm-gtags-select) + (evil-define-key 'normal helm-gtags-mode-map (kbd "M-.") + 'helm-gtags-dwim) + (evil-define-key 'normal helm-gtags-mode-map (kbd "M-,") + 'helm-gtags-pop-stack) + (evil-define-key 'normal helm-gtags-mode-map (kbd "C-c <") + 'helm-gtags-previous-history) + (evil-define-key 'normal helm-gtags-mode-map (kbd "C-c >") + 'helm-gtags-next-history))) + + +(use-package projectile + :ensure t + :config + (projectile-mode) + (setq projectile-enable-caching t)) + + +(use-package helm-projectile + :ensure t + :after (projectile helm) + :config + (helm-projectile-on) + (setq projectile-completion-system 'helm) + (setq projectile-indexing-method 'alien)) + + +(use-package zygospore + :ensure t + :bind (("C-x 1" . zygospore-toggle-delete-other-windows))) + + +(provide 'setup-dev) +;;; setup-dev.el ends here -- 2.38.4