(eval-when-compile (require 'use-package)) ;; auto close bracket, parenthesis insertion (electric-pair-mode 1) (use-package paren :custom (show-paren-delay 0) :config (show-paren-mode 1)) (use-package lisp-mode :bind (("C-c C-e" . eval-buffer) ("C-c C-r" . eval-region))) (use-package eldoc :ensure t :hook (emacs-lisp-mode-hook)) (use-package pants :load-path (lambda () (expand-file-name "github.com/fcuny/pants.el/" fcuny-path-workspace)) :custom (pants-completion-system 'ivy) (pants-source-tree-root (expand-file-name "git.twitter.biz/source" fcuny-path-workspace)) (pants-bury-compilation-buffer t) (pants-extra-args "-q") :bind (("C-c b" . pants-find-build-file) ("C-c r" . pants-run-binary) ("C-c t" . pants-run-test))) (use-package make-mode :ensure t :config (add-hook 'makefile-mode-hook (lambda () (setq-local tab-width 2)))) (use-package company :ensure t :diminish company-mode :config (global-company-mode) (setq company-global-modes '(not term-mode) company-idle-delay 0.3 company-minimum-prefix-length 3 company-selection-wrap-around t company-show-numbers t company-tooltip-align-annotations t company-require-match nil)) (use-package magit :ensure t :mode (("differential-update-comments" . git-commit-mode) ("new-commit" . git-commit-mode)) :bind (("C-x g s" . magit-status) ("C-x g b" . magit-checkout)) :init (progn (setq magit-completing-read-function 'ivy-completing-read)) :config (progn (global-git-commit-mode) ;; I don't care about other VC backend for work (if (fc/check-work-machine-p) (setf vc-handled-backends nil vc-follow-symlinks t)) (use-package git-commit :ensure t) (add-hook 'magit-log-edit-mode-hook #'(lambda () (set-fill-column 72) (flyspell-mode))))) (use-package go-mode :ensure t :after (company flycheck) :preface (defun fcuny/go-mode-setup () (add-hook 'go-mode-hook 'flycheck-mode) (setq-default) (setq tab-width 2)) :config (add-hook 'go-mode-hook #'fcuny/go-mode-setup)) (use-package go-eldoc :after go-mode :ensure t :hook (go-mode . go-eldoc-setup)) (use-package gotest :ensure t) (use-package go-guru :ensure t) (use-package go-imports :ensure t) (use-package golint :ensure t) (use-package go-projectile :ensure t) (use-package company-go :ensure t :after (company go-mode) :custom (company-go-show-annotation t) :config (add-hook 'go-mode-hook 'company-mode) (add-to-list 'company-backends 'company-go)) (use-package python :mode (("\\.py$" . python-mode)) :ensure t :commands python-mode :custom (python-indent-offset 2)) (use-package anaconda-mode :ensure t :after python :hook ((python-mode . anaconda-mode) (python-mode . eldoc-mode)) :custom (anaconda-mode-eldoc-as-single-line t)) (use-package company-anaconda :ensure t :after anaconda-mode :init (add-to-list 'company-backends 'company-anaconda)) (use-package scala-mode :ensure t) (use-package sh-script :mode ("bashrc" . sh-mode) :config (defun set-sh-mode-indent () (setq sh-basic-offset 2 sh-indentation 2)) (add-hook 'sh-mode-hook 'set-sh-mode-indent) (add-hook 'after-save-hook 'executable-make-buffer-file-executable-if-script-p)) (use-package dockerfile-mode :ensure t) (use-package puppet-mode :ensure t :mode ("\\.pp\\'" . puppet-mode) ;:hook (flycheck-mode) :config (if (fc/check-work-machine-p) (setq flycheck-puppet-lint-rc fcuny-path-puppet-linter-svn))) (provide 'fcuny-prog)