Added codesearch, iy-go-to-char, ag filters, binding customizations
* Added hack for working around edebug and C-x rebindings bug
* Turned on global-auto-revert-mode (auto reload files if changed and
no modifications)
* Fix macoy-kill-transient-buffers not killing Compile-Log
* Commented the delight code because diminish hides all those modes
* Added iy-go-to-char and bindings
* Added ag file filters to speed it up when doing code searches
* Swapped macoy-add-edit-newline* function bindings to be more natural
* Dired: Move up a directory with backspace; hide details by default
* Jump to next compilation error with n, back with p (in compilation
window; these were mostly for codesearch results but should be nice
for actual compile error logs too)
;; 5. If you want to use codesearch (fancy ultra fast indexed code searching), install it:
;; https://github.com/google/codesearch
;; ...then set codesearch-csearch-exe and codesearch-cindex-exe to their respective executable locations
;; Search for codesearch in this file to adjust indexing settings
;;
;; TODO (there are more scattered around this file):
;; - TAGS has to be set up per-project; doesn't allow cross-repository finding afaik
;; It does, you just need to set tags-table-list.
;; See https://www.gnu.org/software/emacs/manual/html_node/emacs/Select-Tags-Table.html
;; - Would be nice to have buffers and files merged like Sublime's C-p (but not essential)
;; - Buffer reverting automatically instantly if no changes, otherwise prompt the file has
;; been changed underneath and ask to reload or save over
;; - Tab key behavior confuses me especially in plaintext files
;; - Get back and forward working (back doesn't work too well)
;; - Build system selection via Ido custom list (like Sublime's C-S-b)
;; - Ag filter files (esp. auto-generated files)
;; - Determine what smooth-scrolling actually does (if anything)
;; - Copy line when nothing is marked
;; - Ido jump to file anywhere does more harm than good (especially when creating new files)
@ -70,22 +71,29 @@
;; - Fix windows OpenSSL/TLS support
;; - Fix multiple-cursors slow parenthesis completion (due to pause to show matching?)
;; - Build system management (use (funcall (intern "my-func-name")) to ido select build system?)
;; - Reliable quick mark set and return for jumping to X from Y then going back to Y
;; - Jump copy thing at point then paste back at start
;; e.g. the macro would avy prompt, jump to destination, copy it, then go back and paste it at start mark
;; - Make new line above/below and start typing
;; Is this just a problem with autocomplete not being fast enough?
;; Learn how to do custom mode for jumping back
;; - Expand-region does strange things with the region. Eg. C-s-' after moving cursor, expand region then type over (damn it; it went away after re-evaluating .emacs)
;; - Start using Abbrev more
;; - Create an explicit setup for jump to go back to last location (don't rely on marks; just store position)
;; i.e. Reliable quick mark set and return for jumping to X from Y then going back to Y
;; This would be useful without jumping too. Basically just use register and one key to set/jump to (C- vs C-S)
;; - It seems like iy-goto-char will eventually trip me up in its temporary mode
;; - Seems like it would be cool to have a "copy to references" thing which would take marked and
;; put it in a references.org file or something for deep code reading dives (what about projects?)
;; - Macoy-Codesearch should have something for whole word searches as well as sanitizing regex symbols
;;
;; Criticism improvements:
;; - [DONE] Select word at point
;; - [DONE] Reopen closed file
;; - [DONE-ish] Get find references working
;; - [DONE] Autorevert if no modifications (do tell me in modeline that this happened)
;; Eventually make tags-search and tags-loop-continue async and list results in a buffer
;; - Faster browse symbols (first, figure out where most symbols come from and eliminate; then separate projects?)
;; Separate lists by first letter for x26 speedup? (kindof defeats purpose if not knowing first letter)
;; Copy swiper-all requiring multiple letters? (this doesn't seem to help too much
;; Copy swiper-all requiring multiple letters? (this doesn't seem to help too much)
;; - Faster/better Ag
;; - Autorevert if no modifications (do tell me in modeline that this happened)
;; - Swiper is too damn slow
@ -108,6 +116,11 @@
(add-to-list 'package-archives '("gnu" . (concat proto "://elpa.gnu.org/packages/")))))
(package-initialize)
;; This is a stupid hack around an apparent bug in edebug.
;; If set, don't define C-x anywhere. If C-x is defined then edebug complains about it not being a prefix key
;; You'll need to restart in order for it to work
(setq macoy-edebug-prefix-hack nil)
;; Some settings from http://ergoemacs.org/emacs/emacs_make_modern.html
;; make cursor movement stop in between camelCase words. (don't)
@ -125,6 +138,9 @@
;; remember cursor position, for emacs 25.1 or later
(save-place-mode 1)
;; Make garbage collection happen less often (https://github.com/lewang/flx)
(setq gc-cons-threshold 20000000)
;; stop creating those backup~ files
(setq make-backup-files nil)
@ -137,6 +153,9 @@
;; save/restore opened files
(desktop-save-mode 1)
;; Automatically revert buffers if file changes underneath (unless there are unsaved changes)