comparison .elisp/pycomplete.el @ 19:b5d75594b356

Add support for the ipython-mode stuff and remove vestigial pymacs code.
author Augie Fackler <durin42@gmail.com>
date Mon, 08 Dec 2008 10:58:06 -0600
parents
children 014e745b2d04
comparison
equal deleted inserted replaced
18:30467b2328cb 19:b5d75594b356
1 ;;; Complete symbols at point using Pymacs.
2
3 ;;; See pycomplete.py for the Python side of things and a short description
4 ;;; of what to expect.
5
6 (require 'pymacs)
7 (require 'python-mode)
8
9 (pymacs-load "pycomplete")
10
11 (defun py-complete ()
12 (interactive)
13 (let ((pymacs-forget-mutability t))
14 (insert (pycomplete-pycomplete (py-symbol-near-point)
15 (py-find-global-imports)))))
16
17 (defun py-find-global-imports ()
18 (save-excursion
19 (let (first-class-or-def imports)
20 (goto-char (point-min))
21 (setq first-class-or-def
22 (re-search-forward "^ *\\(def\\|class\\) " nil t))
23 (goto-char (point-min))
24 (setq imports nil)
25 (while (re-search-forward
26 "^\\(import \\|from \\([A-Za-z_][A-Za-z_0-9]*\\) import \\).*"
27 nil t)
28 (setq imports (append imports
29 (list (buffer-substring
30 (match-beginning 0)
31 (match-end 0))))))
32 imports)))
33
34 (define-key py-mode-map "\M-\C-i" 'py-complete)
35
36 (provide 'pycomplete)