Improve highlighting of Julia operators

This commit is contained in:
Ronan Arraes Jardim Chagas 2020-08-18 21:00:33 -03:00
parent b2120e21eb
commit 739ca0fd42

View file

@ -12,20 +12,30 @@
mode mode
`((,(let ((OR "\\|")) `((,(let ((OR "\\|"))
(concat "\\(" ; stolen `matlab.el' operators first (concat "\\(" ; stolen `matlab.el' operators first
"[<>!]=?" OR "[<>]=?" OR
"\\.[/*^']" OR "\\.[/*^']" OR
"===" OR
"==" OR "==" OR
"=>" OR "=>" OR
"\\<xor\\>" OR "\\<xor\\>" OR
"[-+*\\/^&|$]=?" OR ; this has to come before next (updating operators) "[-+*\\/^&|$]=?" OR ; this has to come before next (updating operators)
"[-!^&|*+\\/~:]" OR "[-^&|*+\\/~]" OR
;; `:` defines a symbol in Julia and must not be highlighted
;; as an operator. The only operators that start with `:` are
;; `:<` and `::`.
"[:<]:" OR
;; Julia variables and names can have `!`. Thus, `!` must be
;; highlighted as a single operator only in some
;; circumstances. However, full support can only be
;; implemented by a full parser. Thus, here, we will handle
;; only the simple cases.
"[[:space:]]!=?=?" OR "^!=?=?" OR
;; The other math operators that starts with `!`.
;; more extra julia operators follow ;; more extra julia operators follow
"[%$]" OR "[%$]" OR
;; bitwise operators ;; bitwise operators
">>>" OR ">>" OR "<<" OR ">>>" OR ">>" OR "<<" OR
">>>=" OR ">>" OR "<<" OR ">>>=" OR ">>" OR "<<" OR
;; comparison
"[<>!]=?" OR
"\\)")) "\\)"))
1 font-lock-type-face))))) 1 font-lock-type-face)))))