[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 5b736e9 024/173: Introduce company-dabbrev-ignore-invisibl
From: |
Dmitry Gutov |
Subject: |
[elpa] master 5b736e9 024/173: Introduce company-dabbrev-ignore-invisible |
Date: |
Thu, 23 Jun 2016 00:28:35 +0000 (UTC) |
branch: master
commit 5b736e9c124d0b8c2e8d63fe9bded2d8ba799cf7
Author: Dmitry Gutov <address@hidden>
Commit: Dmitry Gutov <address@hidden>
Introduce company-dabbrev-ignore-invisible
---
NEWS.md | 1 +
company-dabbrev.el | 21 ++++++++++++++-------
2 files changed, 15 insertions(+), 7 deletions(-)
diff --git a/NEWS.md b/NEWS.md
index 409dca8..755e1fe 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -2,6 +2,7 @@
## Next
+* New user option `company-dabbrev-ignore-invisible`.
* `company-ropemacs` was removed. `ropemacs` supports completion via
`completion-at-point-functions` starting with version 0.8.
* `company-pysmell` was removed.
diff --git a/company-dabbrev.el b/company-dabbrev.el
index 7519caf..7dd874b 100644
--- a/company-dabbrev.el
+++ b/company-dabbrev.el
@@ -74,6 +74,11 @@ This variable affects both `company-dabbrev' and
`company-dabbrev-code'."
:type 'integer
:package-version '(company . "0.8.3"))
+(defcustom company-dabbrev-ignore-invisible nil
+ "Non-nil to skip invisible text."
+ :type 'boolean
+ :package-version '(company . "0.9.0"))
+
(defmacro company-dabrev--time-limit-while (test start limit &rest body)
(declare (indent 3) (debug t))
`(let ((company-time-limit-while-counter 0))
@@ -95,25 +100,27 @@ This variable affects both `company-dabbrev' and
`company-dabbrev-code'."
(defun company-dabbrev--search-buffer (regexp pos symbols start limit
ignore-comments)
(save-excursion
- (let (match)
+ (cl-flet ((maybe-collect-match
+ ()
+ (let ((match (match-string-no-properties 0)))
+ (when (and (>= (length match) company-dabbrev-minimum-length)
+ (not (and company-dabbrev-ignore-invisible
+ (invisible-p (match-beginning 0)))))
+ (push match symbols)))))
(goto-char (if pos (1- pos) (point-min)))
;; search before pos
(company-dabrev--time-limit-while (re-search-backward regexp nil t)
start limit
- (setq match (match-string-no-properties 0))
(if (and ignore-comments (company-in-string-or-comment))
(goto-char (nth 8 (syntax-ppss)))
- (when (>= (length match) company-dabbrev-minimum-length)
- (push match symbols))))
+ (maybe-collect-match)))
(goto-char (or pos (point-min)))
;; search after pos
(company-dabrev--time-limit-while (re-search-forward regexp nil t)
start limit
- (setq match (match-string-no-properties 0))
(if (and ignore-comments (company-in-string-or-comment))
(re-search-forward "\\s>\\|\\s!\\|\\s\"" nil t)
- (when (>= (length match) company-dabbrev-minimum-length)
- (push match symbols))))
+ (maybe-collect-match)))
symbols)))
(defun company-dabbrev--search (regexp &optional limit other-buffer-modes
- [elpa] master 17e6d19 016/173: Remove company-pysmell, (continued)
- [elpa] master 17e6d19 016/173: Remove company-pysmell, Dmitry Gutov, 2016/06/22
- [elpa] master 733d4a9 019/173: Merge pull request #318 from iqbalansari/master, Dmitry Gutov, 2016/06/22
- [elpa] master 7ad049d 031/173: Fix the svg url, Dmitry Gutov, 2016/06/22
- [elpa] master 5296784 038/173: company-template: Add a summary line, Dmitry Gutov, 2016/06/22
- [elpa] master 5fc4a9a 034/173: Update company-clang-objc-templatify in line with the previous change, Dmitry Gutov, 2016/06/22
- [elpa] master abe46da 037/173: company-files: Skip disconnected remote completions for "/xyz", Dmitry Gutov, 2016/06/22
- [elpa] master 1f1925f 005/173: company-backends: Make the version check more conservative, Dmitry Gutov, 2016/06/22
- [elpa] master 9486563 035/173: Accept markers in the data returned by c-a-p-f functions, Dmitry Gutov, 2016/06/22
- [elpa] master c08dbc1 039/173: Don't use `sit-for', Dmitry Gutov, 2016/06/22
- [elpa] master 1dce769 036/173: company-version: Require find-func, Dmitry Gutov, 2016/06/22
- [elpa] master 5b736e9 024/173: Introduce company-dabbrev-ignore-invisible,
Dmitry Gutov <=
- [elpa] master b20726c 026/173: string-prefix-p signals error on nil in Emacs < 25, Dmitry Gutov, 2016/06/22
- [elpa] master 27c913a 040/173: Don't use `require-match t' in normal backends, Dmitry Gutov, 2016/06/22
- [elpa] master 4ba4264 047/173: company--begin-new: Reorder statements, Dmitry Gutov, 2016/06/22
- [elpa] master 9c8364d 049/173: company-keywords: Support scala-mode, Dmitry Gutov, 2016/06/22
- [elpa] master d2ff1dc 046/173: company--begin-new: Call `company-cancel' in the unique case, Dmitry Gutov, 2016/06/22
- [elpa] master a053848 050/173: Sort alphabetically, to appease a test, Dmitry Gutov, 2016/06/22
- [elpa] master 25cf452 060/173: Don't start automatically during macro recording, Dmitry Gutov, 2016/06/22
- [elpa] master 7419d5f 058/173: Update the tests, Dmitry Gutov, 2016/06/22
- [elpa] master 8202638 041/173: Document ignore-case backend command, Dmitry Gutov, 2016/06/22
- [elpa] master d463642 062/173: company-etags-find-table: fix fallback tags file expansion, Dmitry Gutov, 2016/06/22