;;; evil-company.el --- Bindings for `company-mode'. -*- lexical-binding: t -*- ;; Copyright (C) 2017 James Nguyen ;; Author: James Nguyen ;; Maintainer: James Nguyen ;; Pierre Neidhardt ;; URL: https://github.com/jojojames/evil-collection ;; Version: 0.0.1 ;; Package-Requires: ((emacs "25.1")) ;; Keywords: evil, company ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;;; Bindings for `company-mode'. ;;; Code: (require 'company) (require 'evil) (defun evil-company-setup () (define-key company-active-map (kbd "C-j") #'company-select-next-or-abort) (define-key company-active-map (kbd "C-k") #'company-select-previous-or-abort) (define-key company-active-map (kbd "M-j") #'company-select-next) (define-key company-active-map (kbd "M-k") #'company-select-previous) (when evil-want-C-u-scroll (define-key company-active-map (kbd "C-u") #'company-previous-page)) (when evil-want-C-d-scroll (define-key company-active-map (kbd "C-d") #'company-next-page)) (define-key company-search-map (kbd "C-j") #'company-select-next-or-abort) (define-key company-search-map (kbd "C-k") #'company-select-previous-or-abort) (define-key company-search-map (kbd "M-j") #'company-select-next) (define-key company-search-map (kbd "M-k") #'company-select-previous) ;; Sets up YCMD like behavior. (company-tng-configure-default)) (provide 'evil-company) ;;; evil-company.el ends here