X-Git-Url: https://code.delx.au/gnu-emacs-elpa/blobdiff_plain/d16fb86d8e4c96a591e4ef8e64db59045f766609..6517ec8921438deae6547ab5eb38e004935d5618:/packages/company/company-ropemacs.el diff --git a/packages/company/company-ropemacs.el b/packages/company/company-ropemacs.el index 008630cf9..4fc381329 100644 --- a/packages/company/company-ropemacs.el +++ b/packages/company/company-ropemacs.el @@ -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-2014 Free Software Foundation, Inc. ;; Author: Nikolaj Schumacher @@ -21,18 +21,11 @@ ;;; Commentary: -;; +;; ;;; 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")) +(require 'cl-lib) (defun company-ropemacs--grab-symbol () (let ((symbol (company-grab-symbol))) @@ -50,9 +43,7 @@ "Return buffer with docstring of CANDIDATE if it is available." (let ((doc (company-with-candidate-inserted candidate (rope-get-doc)))) (when doc - (with-current-buffer (company-doc-buffer) - (insert doc) - (current-buffer))))) + (company-doc-buffer doc)))) (defun company-ropemacs-location (candidate) "Return location of CANDIDATE in cons form (FILE . LINE) if it is available." @@ -62,11 +53,14 @@ (cons (elt location 0) (elt location 1))))) (defun company-ropemacs (command &optional arg &rest ignored) - "A `company-mode' completion back-end for ropemacs." + "`company-mode' completion back-end for ropemacs. + +Depends on third-party code: Pymacs (both Python and Emacs packages), +rope, ropemacs and ropemode. Requires `ropemacs-mode' to be on." (interactive (list 'interactive)) - (case command + (cl-case command (interactive (company-begin-backend 'company-ropemacs)) - (prefix (and (derived-mode-p 'python-mode) + (prefix (and (bound-and-true-p ropemacs-mode) (not (company-in-string-or-comment)) (company-ropemacs--grab-symbol))) (candidates (mapcar (lambda (element) (concat arg element))