[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 779de03 117/173: Merge pull request #457 from cpitclaudel/
From: |
Dmitry Gutov |
Subject: |
[elpa] master 779de03 117/173: Merge pull request #457 from cpitclaudel/wip-simplify-electric |
Date: |
Thu, 23 Jun 2016 00:28:43 +0000 (UTC) |
branch: master
commit 779de03e226b161a00c3428ffdadd89ecbc422d0
Merge: 7a05d1c 9fb6072
Author: Dmitry Gutov <address@hidden>
Commit: Dmitry Gutov <address@hidden>
Merge pull request #457 from cpitclaudel/wip-simplify-electric
Reimplement -electric-do using a pre-command-hook
---
company.el | 33 ++++++++++++++++++---------------
1 file changed, 18 insertions(+), 15 deletions(-)
diff --git a/company.el b/company.el
index af45141..9c44f4b 100644
--- a/company.el
+++ b/company.el
@@ -1570,6 +1570,7 @@ from the rest of the backends in the group, if any, will
be left at the end."
(and (symbolp command) (get command 'company-keep)))
(defun company-pre-command ()
+ (company--electric-restore-window-configuration)
(unless (company-keep this-command)
(condition-case-unless-debug err
(when company-candidates
@@ -2120,28 +2121,30 @@ character, stripping the modifiers. That character
must be a digit."
(insert string)))
(current-buffer)))
+(defvar company--electric-saved-window-configuration nil)
+
(defvar company--electric-commands
'(scroll-other-window scroll-other-window-down mwheel-scroll)
"List of Commands that won't break out of electric commands.")
+(defun company--electric-restore-window-configuration ()
+ "Restore window configuration (after electric commands)."
+ (when (and company--electric-saved-window-configuration
+ (not (memq this-command company--electric-commands)))
+ (set-window-configuration company--electric-saved-window-configuration)
+ (setq company--electric-saved-window-configuration nil)))
+
(defmacro company--electric-do (&rest body)
(declare (indent 0) (debug t))
`(when (company-manual-begin)
- (save-window-excursion
- (let ((height (window-height))
- (row (company--row))
- cmd)
- ,@body
- (and (< (window-height) height)
- (< (- (window-height) row 2) company-tooltip-limit)
- (recenter (- (window-height) row 2)))
- (while (memq (setq cmd (key-binding (read-key-sequence-vector nil)))
- company--electric-commands)
- (condition-case err
- (call-interactively cmd)
- ((beginning-of-buffer end-of-buffer)
- (message (error-message-string err)))))
- (company--unread-last-input)))))
+ (cl-assert (null company--electric-saved-window-configuration))
+ (setq company--electric-saved-window-configuration
(current-window-configuration))
+ (let ((height (window-height))
+ (row (company--row)))
+ ,@body
+ (and (< (window-height) height)
+ (< (- (window-height) row 2) company-tooltip-limit)
+ (recenter (- (window-height) row 2))))))
(defun company--unread-last-input ()
(when last-input-event
- [elpa] master a619a93 132/173: Merge pull request #465 from vspinu/files-optim, (continued)
- [elpa] master a619a93 132/173: Merge pull request #465 from vspinu/files-optim, Dmitry Gutov, 2016/06/22
- [elpa] master e357eb6 164/173: Remove the [return] binding (#530), Dmitry Gutov, 2016/06/22
- [elpa] master b8f8777 161/173: New transformer: company-sort-prefer-same-case-prefix, Dmitry Gutov, 2016/06/22
- [elpa] master 8cc284e 162/173: Merge pull request #531 from juergenhoetzel/master, Dmitry Gutov, 2016/06/22
- [elpa] master 387b4d1 106/173: Fix "obsolete function" warning, Dmitry Gutov, 2016/06/22
- [elpa] master 0a6bfa9 108/173: company-capf: Add :company-prefix-length property function, Dmitry Gutov, 2016/06/22
- [elpa] master 1f5389b 146/173: Merge pull request #483 from stardiviner/add-julia-keywords, Dmitry Gutov, 2016/06/22
- [elpa] master 6c8763a 151/173: Fixed lighter for grouped backends, Dmitry Gutov, 2016/06/22
- [elpa] master 7d0db9e 135/173: Move company-files closer to the front of company-backends, Dmitry Gutov, 2016/06/22
- [elpa] master b001e91 099/173: Fix a test (after adding `should`), Dmitry Gutov, 2016/06/22
- [elpa] master 779de03 117/173: Merge pull request #457 from cpitclaudel/wip-simplify-electric,
Dmitry Gutov <=
- [elpa] master faa8f84 120/173: Add company-semantic-insert-arguments, Dmitry Gutov, 2016/06/22
- [elpa] master c357d5a 144/173: company-grab-line: Make it work in ERC prompt, Dmitry Gutov, 2016/06/22
- [elpa] master a53911c 130/173: Separate sort of candidates and children in company-files, Dmitry Gutov, 2016/06/22
- [elpa] master 99ce60b 125/173: Add company-search-flex-regexp, Dmitry Gutov, 2016/06/22
- [elpa] master ada2ede 128/173: Merge pull request #461 from rlph/patch-1, Dmitry Gutov, 2016/06/22
- [elpa] master c38d382 147/173: Fixed typo, Dmitry Gutov, 2016/06/22
- [elpa] master 1275cdd 141/173: Bump copyright, Dmitry Gutov, 2016/06/22
- [elpa] master 4f0d7a1 131/173: Kill trailing / on directories completion, Dmitry Gutov, 2016/06/22
- [elpa] master 1de23f8 148/173: Merge pull request #486 from akirakyle/patch-1, Dmitry Gutov, 2016/06/22
- [elpa] master c12216b 140/173: re-sort, Dmitry Gutov, 2016/06/22