syl20bnr / spacemacs

A community-driven Emacs distribution - The best editor is neither Emacs nor Vim, it's Emacs *and* Vim!
http://spacemacs.org
GNU General Public License v3.0
23.58k stars 4.9k forks source link

company-dabbrev should be removed from org-mode company-backends variable #11743

Open betaprior opened 5 years ago

betaprior commented 5 years ago

Out-of-the-box behavior of the autocompletion layer in org files includes expanding words using company-dabbrev. The resulting experience, particularly in large org files, is that a completion pops up for nearly every word the user types. Even worse, the completion is also triggered for numbers. You see users asking again and again and again how to turn this off.

Ideally, this behavior needs to be changed (probably by removing company-dabbrev from list of org-mode company-backends), and at the very least documented with suggestions on how to perform the fix by hand.

hyiltiz commented 3 years ago

This is not stale. Please re-open. I can reproduce this in an up-to-date develop branch, and is very annoying (I was digging up solutions for this and ended up here).

dhawangayash commented 3 years ago

I found this tip useful. I don't know if this was done to resolve this issue, but it solves the problem.

Essentially disabling auto-complete in org and git layers.

https://www.spacemacs.org/doc/DOCUMENTATION.html#disabling-layer-services-in-other-layers

(defun dotspacemacs/layers ()
  ;; List of configuration layers to load.
  (setq-default dotspacemacs-configuration-layers
    '(org git
      (auto-completion :disabled-for org git))))
hyiltiz commented 1 year ago

Can we close this as there is a workaround (though not a real solution)?

lebensterben commented 1 year ago

This should be removed. I will keep it open.

real-or-random commented 11 months ago

I simply have this in my dotspacemacs/user-config:

(setq spacemacs-default-company-backends (delq 'company-dabbrev spacemacs-default-company-backends))

This removes company-dabbrev everywhere (except if a layer adds it explicitly). Now that I think about it, perhaps disabling it everywhere (and not just in org-mode) is the more sensible default?! If people don't want it in org-mode, they probably generally don't want it in text-mode, and since it is currently at the end of spacemacs-default-company-backends, it only appears in these modes anyway (in prog-modes, other backends will kick in).

edit: Ah, it is often active in code comments in prog-modes ... But I don't think a different reasoning applies there, and it could be disabled there as well.

Do you think it's reasonable to remove it entirely from spacemacs-default-company-backends? Maybe with a hint in the docs that the user can append it if desired.