]> code.delx.au - gnu-emacs-elpa/blobdiff - company-yasnippet.el
Merge pull request #531 from juergenhoetzel/master
[gnu-emacs-elpa] / company-yasnippet.el
index 37970b069a5c9fc7b6dfc71b6f68d0ec66355b41..e5fded4d19e27811402d754c79a2b76afea984a9 100644 (file)
@@ -67,6 +67,8 @@
   ;; matches, so the longest prefix with any matches should be the most useful.
   (cl-loop with tables = (yas--get-snippet-tables)
            for key-prefix in (company-yasnippet--key-prefixes)
+           ;; Only consider keys at least as long as the symbol at point.
+           when (>= (length key-prefix) (length prefix))
            thereis (company-yasnippet--completions-for-prefix prefix
                                                               key-prefix
                                                               tables)))
@@ -84,7 +86,7 @@
               (maphash
                (lambda (name template)
                  (push
-                  (propertize (company-yasnippet--adjust-key key prefix key-prefix)
+                  (propertize key
                               'yas-annotation name
                               'yas-template template
                               'yas-prefix-offset (- (length key-prefix)
        res))
    tables))
 
-(defun company-yasnippet--adjust-key (key prefix key-prefix)
-  (let ((pl (length prefix))
-        (kpl (length key-prefix)))
-    (cond
-     ((= pl kpl)
-      key)
-     ((> pl kpl)
-      (concat (substring prefix 0 (- pl kpl)) key))
-     (t
-      (substring key (- kpl pl))))))
-
 ;;;###autoload
 (defun company-yasnippet (command &optional arg &rest ignore)
   "`company-mode' backend for `yasnippet'.
@@ -143,6 +134,7 @@ shadow backends that come after it.  Recommended usages:
       (unless company-tooltip-align-annotations " -> ")
       (get-text-property 0 'yas-annotation arg)))
     (candidates (company-yasnippet--candidates arg))
+    (no-cache t)
     (post-completion
      (let ((template (get-text-property 0 'yas-template arg))
            (prefix-offset (get-text-property 0 'yas-prefix-offset arg)))