summaryrefslogtreecommitdiff
path: root/configs/rcs/emacs.d/config/fcuny-editor.el
diff options
context:
space:
mode:
Diffstat (limited to 'configs/rcs/emacs.d/config/fcuny-editor.el')
-rw-r--r--configs/rcs/emacs.d/config/fcuny-editor.el160
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)