[Bf-docboard-svn] bf-manual: [9591] branches/blender-3.3-release/blender_docs/tools_rst/rst_check_syntax.py: tools.syntax.kbd: small optimization
Tobias Heinke
noreply at blender.org
Fri Sep 30 14:08:42 CEST 2022
Revision: 9591
https://developer.blender.org/rBM9591
Author: TobiasH
Date: 2022-09-30 14:08:42 +0200 (Fri, 30 Sep 2022)
Log Message:
-----------
tools.syntax.kbd: small optimization
split into lists; or operator to before to prevent zero length matches bugs if the last one is removed
Modified Paths:
--------------
branches/blender-3.3-release/blender_docs/tools_rst/rst_check_syntax.py
Modified: branches/blender-3.3-release/blender_docs/tools_rst/rst_check_syntax.py
===================================================================
--- branches/blender-3.3-release/blender_docs/tools_rst/rst_check_syntax.py 2022-09-30 02:22:20 UTC (rev 9590)
+++ branches/blender-3.3-release/blender_docs/tools_rst/rst_check_syntax.py 2022-09-30 12:08:42 UTC (rev 9591)
@@ -118,17 +118,17 @@
pattern_str = ''.join((
# Keyboard
# Modifier
- r"^(Shift(?:\-|\Z))?(Ctrl(?:\-|\Z))?(Alt(?:\-|\Z))?((?:Cmd|OSKey)(?:\-|\Z))?(Fn(?:\-|\Z))?",
+ r"\A(", r"(?:-|\Z))?(".join(("Shift", "Ctrl", "Alt", r"(?:Cmd|OSKey)", "Fn")), r"(?:-|\Z))?",
# Note, shifted keys such as '!?:<>"' should not be included.
r"((?:",
# Alphanumeric
- r"[A-Z0-9]|",
+ r"[A-Z0-9]",
# Symbols
- r"[=\[\];']|",
+ r"|[=\[\];']",
# Named
- '|'.join((
+ '|', '|'.join((
"Comma", "Period", "Slash", "Backslash",
"Equals", "Minus", "AccentGrave",
# Editing
@@ -136,15 +136,15 @@
# Navigation
"Esc", "PageUp", "PageDown", "Home", "End",
"Up", "Down", "Left", "Right", "Menu",
- )), '|',
+ )),
# Individual modifier
- r"(?:(?:Left|Right)(?:Alt|Ctrl|Shift))|" if mod_as_regular else '',
-
+ r"|(?:(?:Left|Right)(?:Alt|Ctrl|Shift))" if mod_as_regular else '',
# Numpad
- r"(?:Numpad(?:[0-9]|Plus|Minus|Delete|Slash|Period|Asterisk))|",
+ r"|(?:Numpad(?:",
+ '|'.join((r"[0-9]", "Plus", "Minus", "Delete", "Slash", "Period", "Asterisk")), r"))",
# Function
- r"(?:F[1-9]|F1[0-2])",
- r")(?:\-|\Z))",
+ r"|(?:F[1-9]|F1[0-2])",
+ r")(?:-|\Z))",
r"{0,2}" if regular_as_mod else r"?",
# Pointing Devices
@@ -151,24 +151,24 @@
r"(",
# Mouse
# Wheel
- r"(?:Wheel(Up|Down|In|Out)?)|",
+ r"(?:Wheel(Up|Down|In|Out)?)",
# Buttons
- r"(?:(?:L|M|R)MB)|",
+ r"|(?:[LMR]MB)",
# Stylus
- r"(?:Pen|Eraser)|",
+ r"|(?:Pen|Eraser)",
# NDOF
- r"(?:NDOF(?:",
+ r"|(?:NDOF(?:",
'|'.join((
"Menu", "Fit", "Plus", "Minus",
"Left", "Right", "Top", "Bottom", "Front", "Back",
)), r"))",
- r")?$",
+ r")?\Z",
))
warn_role_kbd.valid_kbd = re.compile(pattern_str)
# Directly repeated pressed key e.g. A-A or Left-Left.
- warn_role_kbd.repeat_kbd = re.compile(r"(?:\-|\A)([^ \-]+?)\-\1")
+ warn_role_kbd.repeat_kbd = re.compile(r"(?:-|\A)([^ \-]+?)-\1")
def warn_title(fn, data_src):
More information about the Bf-docboard-svn
mailing list