add completion and spell, syntax and version checking, deft and treemacs and bibliography settings
This commit is contained in:
97
settings/spell-settings.el
Normal file
97
settings/spell-settings.el
Normal file
@@ -0,0 +1,97 @@
|
||||
;;; spell-settings.el --- Spell settings -*- lexical-binding: t -*-
|
||||
|
||||
;;; Commentary:
|
||||
;; https://melpa.org/#/langtool
|
||||
;; https://github.com/mhayashi1120/Emacs-langtool
|
||||
|
||||
;; Requirements:
|
||||
;; Linux package: languagetool
|
||||
;; Emacs package: langtool.el
|
||||
|
||||
;;; Code:
|
||||
(use-package langtool
|
||||
:commands (langtool-check langtool-check-buffer)
|
||||
:init
|
||||
;; classpath where LanguageTool's jars reside
|
||||
(setq langtool-java-classpath
|
||||
"/usr/share/languagetool:/usr/share/java/languagetool/*")
|
||||
;; LanguageTool launcher (not working with )
|
||||
;;(setq langtool-bin "/usr/bin/languagetool")
|
||||
:config
|
||||
;;(setq langtool-default-language "en-US")
|
||||
(setq langtool-mother-tongue "de")
|
||||
;;(setq langtool-java-user-arguments '("-Dfile.encoding=UTF-8"))
|
||||
;;(setq langtool-user-arguments ...)
|
||||
|
||||
;; Show LanguageTool report automatically by popup
|
||||
;;(defun langtool-autoshow-detail-popup (overlays)
|
||||
;; (when (require 'popup nil t)
|
||||
;; ;; Do not interrupt current popup
|
||||
;; (unless (or popup-instances
|
||||
;; ;; suppress popup after type `C-g` .
|
||||
;; (memq last-command '(keyboard-quit)))
|
||||
;; (let ((msg (langtool-details-error-message overlays)))
|
||||
;; (popup-tip msg)))))
|
||||
;;(setq langtool-autoshow-message-function
|
||||
;; 'langtool-autoshow-detail-popup)
|
||||
|
||||
;;https://github.com/redguardtoo/Emacs-langtool
|
||||
(eval-after-load 'org-mode
|
||||
'(progn
|
||||
(setq langtool-generic-check-predicate
|
||||
'(lambda (start end)
|
||||
;; set up for `org-mode'
|
||||
(let* ((begin-regexp "^[ \t]*#\\+begin_\\(src\\|html\\|latex\\|example\\|quote\\)")
|
||||
(end-regexp "^[ \t]*#\\+end_\\(src\\|html\\|latex\\|example\\|quote\\)")
|
||||
(case-fold-search t)
|
||||
(ignored-font-faces '(org-verbatim
|
||||
org-block-begin-line
|
||||
org-meta-line
|
||||
org-tag
|
||||
org-link
|
||||
org-level-1
|
||||
org-document-info))
|
||||
(rlt t)
|
||||
ff
|
||||
th
|
||||
b e)
|
||||
(save-excursion
|
||||
(goto-char start)
|
||||
|
||||
;; get current font face
|
||||
(setq ff (get-text-property start 'face))
|
||||
(if (listp ff) (setq ff (car ff)))
|
||||
|
||||
;; ignore certain errors by set rlt to nil
|
||||
(cond
|
||||
((memq ff ignored-font-faces)
|
||||
;; check current font face
|
||||
(setq rlt nil))
|
||||
((string-match "^ *- $" (buffer-substring (line-beginning-position) (+ start 2)))
|
||||
;; dash character of " - list item 1"
|
||||
(setq rlt nil))
|
||||
((and (setq th (thing-at-point 'evil-WORD))
|
||||
(or (string-match "^=[^=]*=[,.]?$" th)
|
||||
(string-match "^\\[\\[" th)))
|
||||
;; embedded cde like =w3m= or org-link [[http://google.com][google]] or [[www.google.com]]
|
||||
;; langtool could finish checking before major mode prepare font face for all texts
|
||||
(setq rlt nil))
|
||||
(t
|
||||
;; inside source block?
|
||||
(setq b (re-search-backward begin-regexp nil t))
|
||||
(if b (setq e (re-search-forward end-regexp nil t)))
|
||||
(if (and b e (< start e)) (setq rlt nil)))))
|
||||
;; (if rlt (message "start=%s end=%s ff=%s" start end ff))
|
||||
rlt)))))
|
||||
|
||||
(eval-after-load 'prog-mode
|
||||
'(progn
|
||||
(unless (featurep 'flyspell) (require 'flyspell))
|
||||
(setq langtool-generic-check-predicate
|
||||
'(lambda (start end)
|
||||
(let* ((f (get-text-property start 'face)))
|
||||
(memq f flyspell-prog-text-faces))))))
|
||||
)
|
||||
|
||||
(provide 'spell-settings)
|
||||
;;; spell-settings.el ends here
|
||||
Reference in New Issue
Block a user