diff options
Diffstat (limited to 'configs/rcs/emacs.d/config/fcuny-editor.el')
| -rw-r--r-- | configs/rcs/emacs.d/config/fcuny-editor.el | 160 |
1 files changed, 160 insertions, 0 deletions
diff --git a/configs/rcs/emacs.d/config/fcuny-editor.el b/configs/rcs/emacs.d/config/fcuny-editor.el new file mode 100644 index 0000000..5af1ac8 --- /dev/null +++ b/configs/rcs/emacs.d/config/fcuny-editor.el @@ -0,0 +1,160 @@ +(eval-when-compile + (require 'use-package)) + +(use-package bookmark + :custom + (bookmark-default-file fcuny-bookmarks-dir) + (bookmark-save-flag 1)) + +(use-package autorevert + :config + (global-auto-revert-mode t)) + +(use-package midnight + :config + (midnight-mode t)) + +(use-package autorevert + :config + (setq global-auto-revert-non-file-buffers t) + (setq auto-revert-verbose nil) + (global-auto-revert-mode t)) + +(use-package recentf + :config + (setq recentf-save-file (expand-file-name "var/recentf" user-emacs-directory))) + +(use-package server + :if window-system + :init + (add-hook 'after-init-hook 'server-start)) + +(use-package hl-line + :config + (global-hl-line-mode t)) + +(use-package tramp + :custom + (tramp-default-method "ssh") + (tramp-persistency-file-name (expand-file-name "var/tramp" user-emacs-directory))) + +(use-package whitespace + :custom + (whitespace-style '(face trailing)) + (show-trailing-whitespace t) + :hook (whitespace-mode)) + +(use-package counsel + :ensure t + :bind + (("M-x" . counsel-M-x) + ("C-s" . counsel-grep-or-swiper) + ("C-x C-f" . counsel-find-file) + ("C-x C-r" . counsel-recentf) + ("C-c f" . counsel-git) + ("C-c s" . counsel-git-grep) + ("C-c /" . counsel-ag)) + :custom + (counsel-find-file-at-point t) + :config + (use-package swiper :ensure t) + (use-package counsel-projectile :ensure t)) + +(use-package ivy + :ensure t + :diminish (ivy-mode . "") + :bind ("C-c m" . ivy-switch-project) + :config + (ivy-mode 1) + (setq ivy-use-virtual-buffers t + ivy-height 10 + ivy-count-format "(%d/%d) " + ivy-initial-inputs-alist nil + ivy-use-ignore-default 'always + ivy-ignore-buffers '("company-statistics-cache.el" "company-statistics-autoload.el") + ivy-re-builders-alist '((swiper . ivy--regex-ignore-order) + (t . ivy--regex-fuzzy) + (t . ivy--regex-ignore-order))) + + (defun ivy-switch-project () + (interactive) + (ivy-read + "Switch to project: " + (if (projectile-project-p) + (cons (abbreviate-file-name (projectile-project-root)) + (projectile-relevant-known-projects)) + projectile-known-projects) + :action #'projectile-switch-project-by-name)) + + (ivy-set-actions + 'ivy-switch-project + '(("d" dired "Open Dired in project's directory") + ("v" counsel-projectile "Open project root in vc-dir or magit") + ("c" projectile-compile-project "Compile project") + ("r" projectile-remove-known-project "Remove project(s)")))) + +(use-package projectile + :ensure t + :diminish projectile-mode + :bind-keymap ("C-c p" . projectile-command-map) + + :init + (add-hook 'after-init-hook #'projectile-mode) + + :config + (setq projectile-switch-project-action 'projectile-dired + projectile-enable-caching t + projectile-completion-system 'ivy + projectile-known-projects-file (expand-file-name "var/projectile-bookmarks.eld" user-emacs-directory) + projectile-cache-file (expand-file-name "var/projectile.cache" user-emacs-directory) + projectile-globally-ignored-directories (append fcuny-projects-ignored-dirs + projectile-globally-ignored-directories) + projectile-globally-ignored-files (append + projectile-globally-ignored-files))) + +(use-package ag + :ensure t + :bind (:map ag-mode-map + ("p" . compilation-previous-error) + ("n" . compilation-next-error) + ("N" . compilation-next-file) + ("P" . compilation-previous-file)) + :custom + (ag-highlight-search t) + (ag-reuse-buffers t) + (ag-reuse-window t)) + +(use-package dired + :defer t + :bind ("C-x C-d" . dired) + :init + (setq-default dired-dwim-target t) + (setq dired-recursive-deletes 'always) + (setq dired-recursive-copies 'always) + + (let ((gls (executable-find "/opt/twitter/bin/gls"))) + (when gls (setq insert-directory-program gls)))) + +(use-package ibuffer + :ensure t + :bind ("C-x C-b" . ibuffer)) + +(use-package flycheck + :ensure t + :config + (progn + (add-hook 'prog-mode-hook 'flycheck-mode) + (setq flycheck-highlighting-mode 'lines) + (setq flycheck-check-syntax-automatically '(mode-enabled save)) + (setq flycheck-checkers (delq 'emacs-lisp-checkdoc flycheck-checkers)) + (if (fc/check-work-machine-p) + (flycheck-define-checker fc/twitter-source-check + "A syntax checker for python source code in Source, using `check.pex'" + :command ("check.pex" source) + :error-patterns ((error line-start (id (1+ nonl)) ":ERROR" (1+ nonl) ":" line (message) line-end) + (warning line-start (id (1+ nonl)) ":WARNING" (1+ nonl) ":" line (message) line-end)) + :predicate fc/check-source-p + :modes (python-mode)) + (add-to-list 'flycheck-checkers 'fc/twitter-source-check)))) + +(provide 'fcuny-editor) |
