emacs-lsp / lsp-mode

Emacs client/library for the Language Server Protocol
https://emacs-lsp.github.io/lsp-mode
GNU General Public License v3.0
4.72k stars 860 forks source link

Invalid delete range sent to company-mode exit-function #4482

Open KaranAhlawat opened 6 days ago

KaranAhlawat commented 6 days ago

Thank you for the bug report

Bug description

The company-capf :exit-function is called with arguments for delete-range that are out of range (or have no buffer, somehow).

Steps to reproduce

  1. Install lsp-metals and company-mode
  2. Open a scala project/scala file
  3. Try to select a completion
  4. The exit function throws, when it should complete and properly substitute/expand

Expected behavior

No error is thrown in the error function

Which Language Server did you use?

lsp-metals

OS

Linux

Error callstack

Debugger entered--Lisp error: (error "Marker does not point anywhere")
  delete-region(270 #<marker (moves after insertion) in no buffer>)
  apply(delete-region (270 #<marker (moves after insertion) in no buffer>))
  lsp-completion--exit-fn(#("div: HtmlTag[IO, HtmlDivElement[IO]]" 0 1 (face completions-common-part completion-score 80 lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div") 1 3 (face completions-common-part lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div") 3 4 (face completions-first-difference lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div") 4 36 (lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div")) finished #f(compiled-function () #<bytecode -0x15d2ae101afd4ea9>))
  apply(lsp-completion--exit-fn (#("div: HtmlTag[IO, HtmlDivElement[IO]]" 0 1 (face completions-common-part completion-score 80 lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data ...)) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div") 1 3 (face completions-common-part lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data ...)) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div") 3 4 (face completions-first-difference lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data ...)) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div") 4 36 (lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data ...)) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div")) finished #f(compiled-function () #<bytecode -0x15d2ae101afd4ea9>)))
  #f(compiled-function (&rest args-before) #<bytecode -0x8c560472431e66e>)(#("div: HtmlTag[IO, HtmlDivElement[IO]]" 0 1 (face completions-common-part completion-score 80 lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div") 1 3 (face completions-common-part lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div") 3 4 (face completions-first-difference lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div") 4 36 (lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div")) finished)
  company--capf-post-completion(#("div: HtmlTag[IO, HtmlDivElement[IO]]" 0 1 (face completions-common-part completion-score 80 lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div") 1 3 (face completions-common-part lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div") 3 4 (face completions-first-difference lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div") 4 36 (lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div")))
  company-capf(post-completion #("div: HtmlTag[IO, HtmlDivElement[IO]]" 0 1 (face completions-common-part completion-score 80 lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div") 1 3 (face completions-common-part lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div") 3 4 (face completions-first-difference lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div") 4 36 (lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div")))
  apply(company-capf (post-completion #("div: HtmlTag[IO, HtmlDivElement[IO]]" 0 1 (face completions-common-part completion-score 80 lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data ...)) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div") 1 3 (face completions-common-part lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data ...)) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div") 3 4 (face completions-first-difference lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data ...)) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div") 4 36 (lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data ...)) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div"))))
  company-call-backend-raw(post-completion #("div: HtmlTag[IO, HtmlDivElement[IO]]" 0 1 (face completions-common-part completion-score 80 lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div") 1 3 (face completions-common-part lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div") 3 4 (face completions-first-difference lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div") 4 36 (lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div")))
  company--force-sync(company-call-backend-raw (post-completion #("div: HtmlTag[IO, HtmlDivElement[IO]]" 0 1 (face completions-common-part completion-score 80 lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data ...)) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div") 1 3 (face completions-common-part lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data ...)) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div") 3 4 (face completions-first-difference lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data ...)) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div") 4 36 (lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data ...)) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div"))) company-capf)
  #<subr company-call-backend>(post-completion #("div: HtmlTag[IO, HtmlDivElement[IO]]" 0 1 (face completions-common-part completion-score 80 lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div") 1 3 (face completions-common-part lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div") 3 4 (face completions-first-difference lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div") 4 36 (lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div")))
  apply(#<subr company-call-backend> (post-completion #("div: HtmlTag[IO, HtmlDivElement[IO]]" 0 1 (face completions-common-part completion-score 80 lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data ...)) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div") 1 3 (face completions-common-part lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data ...)) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div") 3 4 (face completions-first-difference lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data ...)) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div") 4 36 (lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data ...)) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div"))))
  company-call-backend(post-completion #("div: HtmlTag[IO, HtmlDivElement[IO]]" 0 1 (face completions-common-part completion-score 80 lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div") 1 3 (face completions-common-part lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div") 3 4 (face completions-first-difference lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div") 4 36 (lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div")))
  company-cancel(#("div: HtmlTag[IO, HtmlDivElement[IO]]" 0 1 (face completions-common-part completion-score 80 lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div") 1 3 (face completions-common-part lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div") 3 4 (face completions-first-difference lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div") 4 36 (lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div")))
  company-finish(#("div: HtmlTag[IO, HtmlDivElement[IO]]" 0 1 (face completions-common-part completion-score 80 lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div") 1 3 (face completions-common-part lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div") 3 4 (face completions-first-difference lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div") 4 36 (lsp-completion-item (:additionalTextEdits [] :data (:kind 3 :symbol "calico/html/HtmlTags#div." :target "file:/home/karan/Secondary/dev/ictdb/ui/?id=ui") :detail "HtmlTag[IO, HtmlDivElement[IO]]" :filterText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :insertTextFormat 2 :kind 5 :label "div: HtmlTag[IO, HtmlDivElement[IO]]" :sortText "00000" :tags [] :textEdit (:newText #("div" 0 3 (match-data (0 3 0 1 1 2 2 3))) :range (:end (:character 11 :line 10) :start (:character 8 :line 10))) :_emacsStartPoint 270) lsp-sort-text "00000" lsp-completion-start-point 270 lsp-completion-markers (270 #<marker (moves after insertion) in no buffer>) lsp-completion-prefix "div")))
  company-complete-selection()
  funcall-interactively(company-complete-selection)
  command-execute(company-complete-selection)


### Anything else?

I can't reproduce it with `lsp-plain-start`, but I also can't figure out anything in my personal configuration that is actually non-standard.