123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- (ido-mode 1)
- (setq ido-enable-flex-matching t)
- (setq ido-everywhere t)
- (setq ido-use-filename-at-point 'guess)
- (setq ido-create-new-buffer 'always)
- (setq ido-file-extensions-order
- '(".org" ".txt" ".py" ".emacs" ".xml" ".el" ".ini" ".cfg" ".cnf"))
- ; Ignore object files
- (setq ido-ignore-extensions t)
- ;; Maybe we can disable tramp stuff via this?
- ;(setq ido-work-directory-list-ignore-regexps
- ; Always open in the same window
- (setq ido-default-buffer-method 'selected-window)
- ;;;;;;;;;;;;;;
- ;; imenu & ido
- ;;;;;;;;;;;;;;
- ; Thanks emacswiki.org!
- (defun ido-goto-symbol (&optional symbol-list)
- "Refresh imenu and jump to a place in the buffer using Ido."
- (interactive)
- (unless (featurep 'imenu)
- (require 'imenu nil t))
- (cond
- ((not symbol-list)
- (let ((ido-mode ido-mode)
- (ido-enable-flex-matching
- (if (boundp 'ido-enable-flex-matching)
- ido-enable-flex-matching t))
- name-and-pos symbol-names position)
- (unless ido-mode
- (ido-mode 1)
- (setq ido-enable-flex-matching t))
- (while (progn
- (imenu--cleanup)
- (setq imenu--index-alist nil)
- (ido-goto-symbol (imenu--make-index-alist))
- (setq selected-symbol
- (ido-completing-read "Symbol? " symbol-names))
- (string= (car imenu--rescan-item) selected-symbol)))
- (unless (and (boundp 'mark-active) mark-active)
- (push-mark nil t nil))
- (setq position (cdr (assoc selected-symbol name-and-pos)))
- (cond
- ((overlayp position)
- (goto-char (overlay-start position)))
- (t
- (goto-char position)))))
- ((listp symbol-list)
- (dolist (symbol symbol-list)
- (let (name position)
- (cond
- ((and (listp symbol) (imenu--subalist-p symbol))
- (ido-goto-symbol symbol))
- ((listp symbol)
- (setq name (car symbol))
- (setq position (cdr symbol)))
- ((stringp symbol)
- (setq name symbol)
- (setq position
- (get-text-property 1 'org-imenu-marker symbol))))
- (unless (or (null position) (null name)
- (string= (car imenu--rescan-item) name))
- (add-to-list 'symbol-names name)
- (add-to-list 'name-and-pos (cons name position))))))))
- (global-set-key (kbd "\C-ci") 'ido-goto-symbol)
- ;;Aditional
- (setq ido-max-prospects 200)
- (require 'ido-recentf-open)
- (recentf-mode 1)
- (global-set-key (kbd "C-x C-r") 'ido-recentf-open)
- ;; Fix Warning
- (defvar ido-cur-item nil)
- (defvar ido-default-item nil)
- (defvar ido-cur-list nil)
- (defvar predicate nil)
- (defvar inherit-input-method nil)
- ;; Use ido everywhere
- (require 'ido-ubiquitous)
- (ido-ubiquitous-mode 1)
-
- (require 'ido-vertical-mode)
- (ido-vertical-mode)
- ;; Fix ido-ubiquitous for newer packages
- (defmacro ido-ubiquitous-use-new-completing-read (cmd package)
- `(eval-after-load ,package
- '(defadvice ,cmd (around ido-ubiquitous-new activate)
- (let ((ido-ubiquitous-enable-compatibility nil))
- ad-do-it))))
- (ido-ubiquitous-use-new-completing-read webjump 'webjump)
- (ido-ubiquitous-use-new-completing-read yas/expand 'yasnippet)
- (ido-ubiquitous-use-new-completing-read yas/visit-snippet-file 'yasnippet)
|