From 4ed29b591ca9128b5e2c21ad335120927bd51366 Mon Sep 17 00:00:00 2001 From: Nikolaj Schumacher Date: Tue, 10 Mar 2009 23:09:26 +0100 Subject: [PATCH] Added required prefix length. --- company.el | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/company.el b/company.el index 4c58785..49ffe43 100644 --- a/company.el +++ b/company.el @@ -52,6 +52,11 @@ :group 'company :type '(repeat (function :tag "function" nil))) +(defcustom company-minimum-prefix-length 3 + "*" + :group 'company + :type '(integer :tag "prefix length")) + ;;; mode ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defvar company-mode-map @@ -134,18 +139,24 @@ (let ((offset (- company-selection display-limit -1))) (max offset 0))) +(defsubst company-should-complete (prefix) + (>= (length prefix) company-minimum-prefix-length)) + (defun company-begin () + (when company-candidates + (company-cancel)) (let ((completion-ignore-case nil) ;; TODO: make this optional prefix) (dolist (backend company-backends) (when (setq prefix (funcall backend 'prefix)) - (setq company-backend backend - company-prefix prefix - company-candidates - (funcall company-backend 'candidates prefix) - company-common (try-completion prefix company-candidates) - company-selection 0 - company-point (point)) + (when (company-should-complete prefix) + (setq company-backend backend + company-prefix prefix + company-candidates + (funcall company-backend 'candidates prefix) + company-common (try-completion prefix company-candidates) + company-selection 0 + company-point (point))) (return prefix))) (unless (and company-candidates (not (eq t company-common))) -- 2.39.2