[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 4a6eea9 089/173: Use company-dabbrev-char-regexp more cons
From: |
Dmitry Gutov |
Subject: |
[elpa] master 4a6eea9 089/173: Use company-dabbrev-char-regexp more consistently (#433) |
Date: |
Thu, 23 Jun 2016 00:28:40 +0000 (UTC) |
branch: master
commit 4a6eea94edb138a3ea73e7a50553b69dedc5c3ad
Author: Dmitry Gutov <address@hidden>
Commit: Dmitry Gutov <address@hidden>
Use company-dabbrev-char-regexp more consistently (#433)
* company-dabbrev--make-regexp: Wrap in parens.
* company-dabbrev--prefix: New function, using it.
---
company-dabbrev.el | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
diff --git a/company-dabbrev.el b/company-dabbrev.el
index ab53251..34acffe 100644
--- a/company-dabbrev.el
+++ b/company-dabbrev.el
@@ -93,9 +93,9 @@ This variable affects both `company-dabbrev' and
`company-dabbrev-code'."
(defun company-dabbrev--make-regexp (prefix)
(concat "\\<" (if (equal prefix "")
- company-dabbrev-char-regexp
- (regexp-quote prefix))
- "\\(" company-dabbrev-char-regexp "\\)*\\>"))
+ (concat "\\(?:" company-dabbrev-char-regexp "\\)")
+ (regexp-quote prefix))
+ "\\(?:" company-dabbrev-char-regexp "\\)*\\>"))
(defun company-dabbrev--search-buffer (regexp pos symbols start limit
ignore-comments)
@@ -143,13 +143,21 @@ This variable affects both `company-dabbrev' and
`company-dabbrev-code'."
(cl-return))))
symbols))
+(defun company-dabbrev--prefix ()
+ ;; Not in the middle of a word.
+ (unless (looking-at company-dabbrev-char-regexp)
+ ;; Emacs can't do greedy backward-search.
+ (company-grab-line (format "\\(?:^\\| \\)[^ ]*?\\(\\(?:%s\\)*\\)"
+ company-dabbrev-char-regexp)
+ 1)))
+
;;;###autoload
(defun company-dabbrev (command &optional arg &rest ignored)
"dabbrev-like `company-mode' completion backend."
(interactive (list 'interactive))
(cl-case command
(interactive (company-begin-backend 'company-dabbrev))
- (prefix (company-grab-word))
+ (prefix (company-dabbrev--prefix))
(candidates
(let* ((case-fold-search company-dabbrev-ignore-case)
(words (company-dabbrev--search (company-dabbrev--make-regexp arg)
- [elpa] master f45b11e 033/173: Don't replace the default argument values with `argN` anymore, (continued)
- [elpa] master f45b11e 033/173: Don't replace the default argument values with `argN` anymore, Dmitry Gutov, 2016/06/22
- [elpa] master 35f4178 043/173: Allow including window-start in the doc-buffer return value, Dmitry Gutov, 2016/06/22
- [elpa] master b0a946d 052/173: company-clang--start-process: Only erase buffer when there's no existing process, Dmitry Gutov, 2016/06/22
- [elpa] master 5e29e41 003/173: company-files--grab-existing-name: Check if the file is remote, Dmitry Gutov, 2016/06/22
- [elpa] master 7579ced 055/173: Fix a bug reference, Dmitry Gutov, 2016/06/22
- [elpa] master 05987e6 056/173: Fix #362 (arbitrary jumping of point), Dmitry Gutov, 2016/06/22
- [elpa] master 679846a 065/173: Makefile: allow package and elpa targets to run without git, Dmitry Gutov, 2016/06/22
- [elpa] master 33f7bbc 077/173: Fix some compilation warnings, Dmitry Gutov, 2016/06/22
- [elpa] master d39b956 059/173: Introduce company-indent-or-complete-common, Dmitry Gutov, 2016/06/22
- [elpa] master 478f124 087/173: company-dabbrev-code-modes: Improve Customize labels, Dmitry Gutov, 2016/06/22
- [elpa] master 4a6eea9 089/173: Use company-dabbrev-char-regexp more consistently (#433),
Dmitry Gutov <=
- [elpa] master a3858be 086/173: Ignore trigger key prefixes that are shorter than symbol-at-point, Dmitry Gutov, 2016/06/22
- [elpa] master 3726fe2 093/173: [ci skip] Use the "generic" language, Dmitry Gutov, 2016/06/22
- [elpa] master 946c798 095/173: Handle empty list of candidates, Dmitry Gutov, 2016/06/22
- [elpa] master c656b25 079/173: Merge pull request #418 from PythonNut/master, Dmitry Gutov, 2016/06/22
- [elpa] master 931e758 101/173: Fix the workaround, Dmitry Gutov, 2016/06/22
- [elpa] master 049b0e6 048/173: company--begin-new: Check the value of c, Dmitry Gutov, 2016/06/22
- [elpa] master 250ca1c 088/173: Add company-etags-everywhere, Dmitry Gutov, 2016/06/22
- [elpa] master 21da29b 082/173: Update copyright, Dmitry Gutov, 2016/06/22
- [elpa] master cec8779 075/173: Introduce company-search-regexp-function, Dmitry Gutov, 2016/06/22
- [elpa] master 6165cb2 083/173: Don't "adjust key" (#422), Dmitry Gutov, 2016/06/22