mirror of
https://github.com/kovidgoyal/kitty.git
synced 2026-10-21 20:52:19 +00:00
Make the regex for sgr stripping tighter
This commit is contained in:
parent
56a5738018
commit
6bfb6da0ad
3 changed files with 9 additions and 7 deletions
|
|
@ -20,8 +20,8 @@ from kitty.fast_data_types import get_options, set_clipboard_string
|
|||
from kitty.key_encoding import KeyEvent
|
||||
from kitty.typing import BossType, KittyCommonOpts
|
||||
from kitty.utils import (
|
||||
ScreenSize, ansi_sanitizer_pat, resolve_custom_file, screen_size_function,
|
||||
set_primary_selection
|
||||
ScreenSize, kitty_ansi_sanitizer_pat, resolve_custom_file,
|
||||
screen_size_function, set_primary_selection
|
||||
)
|
||||
|
||||
from ..tui.handler import Handler, result_handler
|
||||
|
|
@ -475,7 +475,7 @@ def process_escape_codes(text: str) -> Tuple[str, Tuple[Mark, ...]]:
|
|||
|
||||
return ''
|
||||
|
||||
text = ansi_sanitizer_pat().sub(process_hyperlink, text)
|
||||
text = kitty_ansi_sanitizer_pat().sub(process_hyperlink, text)
|
||||
if active_hyperlink_url is not None:
|
||||
add_hyperlink(len(text))
|
||||
return text, tuple(hyperlinks)
|
||||
|
|
|
|||
|
|
@ -62,8 +62,10 @@ def sgr_sanitizer_pat(for_splitting: bool = False) -> 're.Pattern[str]':
|
|||
|
||||
|
||||
@run_once
|
||||
def ansi_sanitizer_pat() -> 're.Pattern[str]':
|
||||
return re.compile(r'\x1b(?:\[.*?m|\].*?\x1b\\)')
|
||||
def kitty_ansi_sanitizer_pat() -> 're.Pattern[str]':
|
||||
# removes ANSI sequences generated by kitty's ANSI output routines. Not
|
||||
# suitable for stripping general ANSI sequences
|
||||
return re.compile(r'\x1b(?:\[[0-9;:]*?m|\].*?\x1b\\)')
|
||||
|
||||
|
||||
def platform_window_id(os_window_id: int) -> Optional[int]:
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ from .terminfo import get_capabilities
|
|||
from .types import MouseEvent, WindowGeometry, ac
|
||||
from .typing import BossType, ChildType, EdgeLiteral, TabType, TypedDict
|
||||
from .utils import (
|
||||
ansi_sanitizer_pat, get_primary_selection, load_shaders, log_error,
|
||||
get_primary_selection, kitty_ansi_sanitizer_pat, load_shaders, log_error,
|
||||
open_cmd, open_url, parse_color_set, resolve_custom_file, sanitize_title,
|
||||
set_primary_selection
|
||||
)
|
||||
|
|
@ -284,7 +284,7 @@ def setup_colors(screen: Screen, opts: Options) -> None:
|
|||
|
||||
|
||||
def text_sanitizer(as_ansi: bool, add_wrap_markers: bool) -> Callable[[str], str]:
|
||||
pat = ansi_sanitizer_pat()
|
||||
pat = kitty_ansi_sanitizer_pat()
|
||||
ansi, wrap_markers = not as_ansi, not add_wrap_markers
|
||||
|
||||
def remove_wrap_markers(line: str) -> str:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue