mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-15 10:30:25 -08:00
Add highlighting Python operators (bug#59629)
* lisp/progmodes/python.el (python-rx): Remove "is" and "not" from operator. (python-font-lock-keywords-maximum-decoration): Add highlighting operators. * test/lisp/progmodes/python-tests.el (python-font-lock-assignment-statement-1) (python-font-lock-assignment-statement-2) (python-font-lock-assignment-statement-3) (python-font-lock-assignment-statement-4) (python-font-lock-assignment-statement-5) (python-font-lock-assignment-statement-6) (python-font-lock-assignment-statement-7) (python-font-lock-assignment-statement-8) (python-font-lock-assignment-statement-9) (python-font-lock-assignment-statement-10) (python-font-lock-assignment-statement-11) (python-font-lock-assignment-statement-12) (python-font-lock-assignment-statement-13) (python-font-lock-assignment-statement-14) (python-font-lock-assignment-statement-15) (python-font-lock-assignment-statement-16) (python-font-lock-assignment-statement-17) (python-font-lock-assignment-statement-18) (python-font-lock-assignment-statement-multiline-1) (python-font-lock-assignment-statement-multiline-2) (python-font-lock-assignment-statement-multiline-3) (python-font-lock-assignment-statement-multiline-4) (python-font-lock-assignment-statement-multiline-5) (python-font-lock-assignment-statement-multiline-6) (python-font-lock-escape-sequence-multiline-string): Modify expectations to include faces for operators. (python-font-lock-operator-1, python-font-lock-operator-2): New tests.
This commit is contained in:
parent
8b3baadf67
commit
5d1a1019c6
2 changed files with 100 additions and 23 deletions
|
|
@ -454,7 +454,7 @@ This variant of `rx' supports common Python named REGEXPS."
|
|||
(close-paren (or "}" "]" ")"))
|
||||
(simple-operator (any ?+ ?- ?/ ?& ?^ ?~ ?| ?* ?< ?> ?= ?%))
|
||||
(not-simple-operator (not (or simple-operator ?\n)))
|
||||
(operator (or "==" ">=" "is" "not"
|
||||
(operator (or "==" ">="
|
||||
"**" "//" "<<" ">>" "<=" "!="
|
||||
"+" "-" "/" "&" "^" "~" "|" "*" "<" ">"
|
||||
"=" "%"))
|
||||
|
|
@ -791,6 +791,7 @@ sign in chained assignment."
|
|||
(? (or ")" "]") (* sp-bsnl))
|
||||
(group assignment-operator)))
|
||||
(1 font-lock-variable-name-face)
|
||||
(2 'font-lock-operator-face)
|
||||
(,(python-rx grouped-assignment-target)
|
||||
(progn
|
||||
(goto-char (match-end 1)) ; go back after the first symbol
|
||||
|
|
@ -806,8 +807,9 @@ sign in chained assignment."
|
|||
(python-rx (or line-start ?\;) (* sp-bsnl)
|
||||
grouped-assignment-target (* sp-bsnl)
|
||||
(? ?: (* sp-bsnl) (+ not-simple-operator) (* sp-bsnl))
|
||||
assignment-operator))
|
||||
(1 font-lock-variable-name-face))
|
||||
(group assignment-operator)))
|
||||
(1 font-lock-variable-name-face)
|
||||
(2 'font-lock-operator-face))
|
||||
;; special cases
|
||||
;; (a) = 5
|
||||
;; [a] = 5,
|
||||
|
|
@ -817,8 +819,11 @@ sign in chained assignment."
|
|||
(or "[" "(") (* sp-nl)
|
||||
grouped-assignment-target (* sp-nl)
|
||||
(or ")" "]") (* sp-bsnl)
|
||||
assignment-operator))
|
||||
(1 font-lock-variable-name-face))
|
||||
(group assignment-operator)))
|
||||
(1 font-lock-variable-name-face)
|
||||
(2 'font-lock-operator-face))
|
||||
;; Operators.
|
||||
(,(python-rx operator) . 'font-lock-operator-face)
|
||||
;; escape sequences within bytes literals
|
||||
;; "\\" "\'" "\a" "\b" "\f" "\n" "\r" "\t" "\v"
|
||||
;; "\ooo" character with octal value ooo
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue