2 Commits 994129f633 ... 8939d51d33

Author SHA1 Message Date
  Emilia L.K. Blåsten 8939d51d33 Use and fix company-mode to work with latex and cdlatex 2 months ago
  Emilia L.K. Blåsten 32f1eba5e3 Don't use olivetti for gnus, and stop auto-filling in latex 2 months ago
1 changed files with 55 additions and 6 deletions
  1. 55 6
      emacs

+ 55 - 6
emacs

@@ -132,7 +132,10 @@
   (setq visual-line-fringe-indicators '(left-curly-arrow right-curly-arrow))
   (setq gnus-treat-fill-long-lines nil)
   :hook
-  ((latex-mode LaTeX-mode gnus-article-mode message-mode) . olivetti-mode))
+  ((latex-mode LaTeX-mode) . olivetti-mode)
+  ((latex-mode LaTeX-mode)
+   .
+   (lambda () (auto-fill-mode -1))))
 (use-package adaptive-wrap
   :ensure t
   :hook
@@ -242,10 +245,7 @@
 (use-package company ; Company (complete anything) mode
   :ensure t
   :hook
-  (emacs-lisp-mode . company-mode)
-  ((latex-mode LaTeX-mode) . (lambda ()
-                               (set (make-local-variable 'company-backends)
-                                    '((company-dabbrev)))))
+  ((emacs-lisp-mode latex-mode LaTeX-mode) . company-mode)
   :custom
   (company-tooltip-align-annotations 1)
   (company-minimum-prefix-length 1)
@@ -256,7 +256,56 @@
   :config
   (company-tng-mode)
   (define-key company-active-map [up] nil)
-  (define-key company-active-map [down] nil))
+  (define-key company-active-map [down] nil)
+  (define-key company-active-map [tab] nil)
+  (define-key company-active-map (kbd "TAB") nil)
+  (define-key company-active-map (kbd "<C-tab>") 'company-complete-common-or-cycle)
+  (define-key company-active-map (kbd "C-<iso-lefttab>") 'company-cycle-backward)
+  (define-key company-tng-map [tab] nil)
+  (define-key company-tng-map (kbd "TAB") nil)
+  (define-key company-tng-map [backtab] nil)
+  (define-key company-tng-map (kbd "S-TAB") nil)
+  (define-key company-tng-map (kbd "<C-tab>") 'company-select-next)
+  (define-key company-tng-map [C-backtab] 'company-select-previous)
+  (define-key company-tng-map (kbd "C-<iso-lefttab>") 'company-select-previous))
+
+(use-package company-reftex
+  :ensure t
+  :after (reftex company)
+  :hook
+  ((latex-mode LaTeX-mode) . (lambda ()
+                               (set (make-local-variable 'company-backends)
+                                    '((company-reftex-labels company-reftex-citations company-dabbrev)))))
+  :custom
+  (company-reftex-labels-regexp
+   (rx "\\"
+       ;; List taken from `reftex-ref-style-alist'
+       (or "autoref"
+           "autopageref"
+           "Cpageref"
+           "cpageref"
+           "Cref"
+           "cref"
+           "eqref"
+           "Fref"
+           "fref"
+           "pageref"
+           "Ref"
+           "ref"
+           "vpageref"
+           "Vref"
+           "vref"
+           ;; own stuff:
+           "ilo")
+       "{"
+       (group (* (not (any "}"))))
+       (regexp "\\="))
+   "Regular expression to use when lookng for the label prefix.
+Group number 1 should be the prefix itself."
+   :type 'string
+   :group 'company-reftex)
+  )
+
 (use-package slime ; SLIME (Common LISP)
   :ensure t
   :custom