Format: application/x-python-code
1 o
2
3 ��h. � @ sF d Z ddlZddlZddlZddlZddlZddlZddlmZ ddlm Z ddl
4 mZ ddlm
5 Z
6 ddlmZ ddlmZ dd lmZ dd
7 lmZ ddlmZ d*d
8 d�Zdd� Ze�d�Zd*dd�Zdd� Zd+d,dd�Zd+dedefdd�Z d-dd�Z!d.dd �Z"d!d"� Z#ej$d#kr�ej%�&d$d%�d&kr�ddl'Z'd'd(� Z(dS d)d(� Z(dS )/z�
9 Paging capabilities for IPython.core
10
11 Notes
12 -----
13
14 For now this uses IPython hooks, so it can't be in IPython.utils. If we can get
15 rid of that dependency, we could move it there.
16 -----
17 � N)�UnsupportedOperation)�Path)�get_ipython)�display)�TryNext)�chop)�system)�get_terminal_size)� py3compat� c C sB t | t�r| }n|rd�| �� |d� �} d| i}t|dd� dS )z1Just display, no paging. screen_lines is ignored.�
18 N�
19 text/plainT)�raw)�
20 isinstance�dict�join�
21 splitlinesr )�strng�start�screen_lines�data� r �Gc:\Users\shubh\Videos\agent\nova\Lib\site-packages\IPython/core/page.py�display_page$ s
22 r c s � fdd�S )zRWrap a pager func to strip the `self` arg
23
24 so it can be called as a hook.
25 c s � |i |��S �Nr )�self�args�kwargs�Z page_funcr r �<lambda>4 s zas_hook.<locals>.<lambda>r r r r r �as_hook/ s r z(\x1b[^m]+m)c C s� t | t�r| �dd�} | �� |d� }t||d �}t|�dkr,ttj� |d �� dS d}|dd� D ]#}tj� |�}t|| � t
26 � sH dS t�|�}t|�dkrW|d }q4t|tj� |d � � dS )z�Very dumb 'pager' in Python, for when nothing else works.
27
28 Only moves forward, same interface as page(), except for pager_cmd and
29 mode.
30 r
31 � N� r �����)
32 r r �getr r �len�print�os�linesepr � page_more�esc_re�findall) r r r Zout_lnZscreensZlast_escape�scrZhunkZesc_listr r r � page_dumb9 s"