Skip to content

Help needed: When using space indentation, completion triggers on first entered char #486

@Walheimat

Description

@Walheimat

Describe the bug

When completing in a Java buffer and not using tab-indent-mode, auto completion always triggers immediately.

Maybe there is some workaround for this. For now I'll disable auto-completion for java-mode.

To Reproduce

Use this slightly altered version of lsp-start-plain to also set up company and disable tabs:

(require 'package)

(make-directory "/tmp/lsp-test" t)

(setq debug-on-error t
      no-byte-compile t
      byte-compile-warnings nil
      inhibit-startup-screen t
      package-archives '(("melpa" . "https://melpa.org/packages/")
                         ("gnu" . "https://elpa.gnu.org/packages/"))
      package-user-dir "/tmp/lsp-test"
      custom-file (expand-file-name "custom.el" package-user-dir))

;; (delete-file package-user-dir)

(let* ((pkg-list '(lsp-mode
		   lsp-ui
		   yasnippet
		   lsp-java
		   lsp-treemacs
		   flycheck
		   ;; For this problem.
		   company)))

  (package-initialize)
  (package-refresh-contents)

  (mapc (lambda (pkg)
          (unless (package-installed-p pkg)
            (package-install pkg))
          (require pkg))
        pkg-list)

  (yas-global-mode)

  ;; Don't use tabs
  (setq-default indent-tabs-mode nil)

  (add-hook 'prog-mode-hook 'lsp)
  ;; (add-hook 'kill-emacs-hook `(lambda ()
  ;; (delete-directory ,package-user-dir t)))
  )

Save the file in a directory (I use ~/.emacs.d/lsp/init.el) and then start emacs with emacs --init-directory ~/.emacs.d/lsp.

Find a Java file, go to some line that has some level of indentation, hit return to open a new line, type a single char: it will immediately trigger completion.

Now re-enable indent-tabs-mode, and do the same: it will only trigger completion after three chars (the default for company-minimum-prefix-width).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions