]> code.delx.au - gnu-emacs-elpa/blobdiff - packages/company/company-ropemacs.el
Release 0.6.8
[gnu-emacs-elpa] / packages / company / company-ropemacs.el
index 008630cf926cd241a68ede7c582ffc524defa463..17a660aebd7354520a7736609b91ba876fa7c930 100644 (file)
@@ -1,6 +1,6 @@
-;;; company-ropemacs.el --- A company-mode completion back-end for pysmell.el
+;;; company-ropemacs.el --- company-mode completion back-end for ropemacs
 
-;; Copyright (C) 2009-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2009-2011, 2013  Free Software Foundation, Inc.
 
 ;; Author: Nikolaj Schumacher
 
 
 
 ;;; Commentary:
-;; 
+;;
+;; Requires pymacs Emacs package (you can get it from Marmalade),
+;; and on Python side: pymacs, rope, ropemacs and ropemode.
 
 ;;; Code:
 
 (eval-when-compile (require 'cl))
-(require 'pymacs)
-
-(unless (fboundp 'rope-completions)
-  (pymacs-load "ropemacs" "rope-"))
-
-(unless (fboundp 'rope-completions)
-  (error "rope-completions not found, try development version of ropemacs"))
 
 (defun company-ropemacs--grab-symbol ()
   (let ((symbol (company-grab-symbol)))
       (cons (elt location 0) (elt location 1)))))
 
 (defun company-ropemacs (command &optional arg &rest ignored)
-  "`company-mode' completion back-end for ropemacs."
+  "`company-mode' completion back-end for ropemacs."
   (interactive (list 'interactive))
   (case command
+    (init (when (and (derived-mode-p 'python-mode)
+                     (not (fboundp 'rope-completions)))
+            (require 'pymacs)
+            (pymacs-load "ropemacs" "rope-")))
     (interactive (company-begin-backend 'company-ropemacs))
     (prefix (and (derived-mode-p 'python-mode)
                  (not (company-in-string-or-comment))