LINUX.ORG.RU

Emacs, автокомплит

 ,


0

3

Как включить автокомплит в Emacs(Spacemacs), мне нужно всплывающие варианты кода, использую racer-mode и python-mode. И да в гугл меня не направлять, я так и не нашел ничего дельного

★★

Последнее исправление: playX (всего исправлений: 1)

И да в гугл меня не направлять, я так и не нашел ничего дельного

В гугл, лентяй!

t184256 ★★★★★
()
Ответ на: комментарий от t184256

Мне гугл сказал что надо поставить auto-complete из melpa, поставил, запустил M-x auto-complete и ничего не работает, ЧЯДНТ?

playX ★★
() автор топика
Ответ на: комментарий от t184256

Что мне еще остается делать когда даже по Tab автокомплит не заводиться?

playX ★★
() автор топика

Predictive-mode.

Deleted
()

Если у тебя spacemacs, то там company-mode из коробки. Это раз.

Spacemacs не нужен, поэтому надо настраивать «ванильный» имакс. Это два.

Ты не умеешь гуглить. Это три.

Ну и последнее:

(use-package company
  ;; :ensure company-quickhelp
  ;; to prevent void variable company-active-map
  :init (require 'company)              
  :diminish company-mode
  :chords (:map company-active-map ("jk" . company-abort))
  :config
  (setq company-idle-delay            0.1
        company-minimum-prefix-length 1   ;; default is 3
        company-echo-delay            0
        company-show-numbers          t
        company-dabbrev-downcase      nil
        company-dabbrev-ignore-case   nil
        )
  
  (add-hook 'prog-mode-hook 'company-mode)
  )

(use-package company-quickhelp
  ;; :load-path "~/.local/share/emacs/git/company-quickhelp"
  :config
  (setq-default company-quickhelp-delay 0.1
                company-quickhelp-use-propertized-text nil
                )
  (add-hook 'company-mode-hook 'company-quickhelp-mode)
  )

anonymous
()
Ответ на: комментарий от playX

Мне гугл сказал что надо поставить auto-complete из melpa

Нет, сторонние программы не нужны. company-mode уже давно часть Емакса.

Zmicier ★★★★★
()
Ответ на: комментарий от Zmicier

company-mode уже давно часть Емакса

Полагаю, что ты ошибаешься. Емнип, autoc-complete и есть часть имакса, а вот company-mode --- сторонний пакет. Но могу ошибаться.

Кажется, у playX NixOS, так что один хрен надо ставить черезе системный менеджер пакетов.

anonymous
()
Ответ на: комментарий от Zmicier

У меня «xdg base dir совместимый» имакс. Сделан костылях из elisp'а.

Если кратко, то выглядит это так

[~] tree $XDG_CONFIG_HOME/emacs -L 1                                                                                                                                     
/home/ims/.config/emacs                                                                                                                                                  
├── emacs-loader                                                                                                                                                         
├── modules                                                                                                                                                              
├── profiles                                                                                                                                                             
├── README.org                                                                                                                                                           
├── utils.el                                                                                                                                                             
└── xdg.el                                                                                                                                                               

2 directories, 4 files

В profiles лежат т.н. профили (для каждого языка программирования свой профиль, для org-mode — свой и т.д.), в modules сниппеты кода, которые могут использоваться в разных профилях, например: defaults.el или company-mode.

Если интересно, могу написать подробнее.

anonymous
()
Ответ на: комментарий от Zmicier

Возможно не понял твой вопрос, но там лежал модифицированный код company-quickhelp, когда я пытался пофиксить баг с отрисовкой tooltip'а.

anonymous
()
Ответ на: комментарий от playX

запустил M-x auto-complete и ничего не работает, ЧЯДНТ?

Не читаешь инструкцию.

no-such-file ★★★★★
()
Ответ на: комментарий от Zmicier

Бывает полезно, если нашёл какой-то баг в пакете, склонировать его локально, поправить и использовать локальную версию, пока апстрим не примет патч.

theNamelessOne ★★★★★
()
Ответ на: комментарий от anonymous
;;; company.el --- Modular text completion framework  -*- lexical-binding: t -*-

;; Copyright (C) 2009-2017  Free Software Foundation, Inc.

;; Author: Nikolaj Schumacher
;; Maintainer: Dmitry Gutov <dgutov@yandex.ru>
;; URL: http://company-mode.github.io/
;; Version: 0.9.4
;; Keywords: abbrev, convenience, matching
;; Package-Requires: ((emacs "24.3"))

;; This file is part of GNU Emacs.

http://git.sv.gnu.org/cgit/emacs/elpa.git/tree/packages/company/company.el

Кажется, у playX NixOS, так что один хрен надо ставить черезе системный менеджер пакетов.

Да в любом случае через него. Если сам Емакс оттуда же, разумеется.

Zmicier ★★★★★
()
Ответ на: комментарий от anonymous

в modules сниппеты кода, которые могут использоваться в разных профилях, например: defaults.el или company-mode.

В том-то и дело, что он только что (согласно написанному) лежал в другом месте.

могу написать подробнее

Да лучше бы ссылку, если таковая возможна есть.

Zmicier ★★★★★
()
Ответ на: комментарий от anonymous

Возможно не понял твой вопрос...

Нет-нет, все правильно. Меня именно удивило, что это за ~/.local/share/emacs/git: и почему .local, и почему share? Это какая-то программка для управления локальными копиями исходников такой путь избрала?

Что за программка? Может быть, мне ей тоже пора начать пользоваться?

Zmicier ★★★★★
()
Последнее исправление: Zmicier (всего исправлений: 1)
Ответ на: комментарий от Zmicier

Да лучше бы ссылку, если таковая возможна есть.

Я так-то сам писал, так что ссылку давать не на что :D

Можешь тут посмотреть. Я оттуда и начинал. Вот два файла (utils.el и xdg.el), которые делают всю основную работу. И ещё есть лончер, который завязан на dmenu.

В том-то и дело, что он только что (согласно написанному) лежал в другом месте.

Нет-нет, все правильно. Меня именно удивило, что это за ~/.local/share/emacs/git: и почему .local, и почему share?

~/.local/share --- это дефолтное значение $XDG_DATA_HOME. Почему код с патчами лежал в $XDG_DATA_HOME, а не $XDG_CONFIG_HOME? Исторически, а не логически :D В моём представлении, пакеты емакса должны лежать именно там, а не в $XDG_CONFIG_HOME, так как их нет смысла «расшаривать» (то есть пользователи вытаскивают их из мельпы/из системных репозиториев). Но вообще не претендую на идеальную продуманность и соответствие XDG base dir specification, просто такое видение.

anonymous
()
Ответ на: комментарий от anonymous

Я так-то сам писал

Я догадался.

[и не обнародовал], так что ссылку давать не на что

А это уже не самоочевидно. Что ж, не беда.

Zmicier ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.