Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

side by side display is broken if line is very long. #699

Open
fukatani opened this issue Mar 14, 2020 · 3 comments
Open

side by side display is broken if line is very long. #699

fukatani opened this issue Mar 14, 2020 · 3 comments
Labels

Comments

@fukatani
Copy link
Contributor

test

@fukatani
Copy link
Contributor Author

しかし、どうすればいいの。

@kmyk
Copy link
Member

kmyk commented Mar 14, 2020

自明な解決策としてふたつ (1.), (2.) があり、実用的にはそれらを併せたもの (3.) が適切でしょう。

ただし、これは「ユーザにとって壊れていることが明らか」なのであまり優先度は高くないです。

1. 行を折り畳む

fold コマンドを知っていますか? あれと同じことをやります。
でも雑にやると今度は縦に長すぎでよくなさそう。

1|4 4 6 16                                  |4 4 6 16
2|1 1 1 1                                   |1 1 1 1
3|10                                        |10
4|1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 |1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
   1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1|1 1 1 1 1 2 3 4 5 6 7 8 9 9 9 9 9 9 9 9 9
   1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1|1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
   1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1|1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
   1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1|1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2
   1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1|1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1
   1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1|1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
   1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1|1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1
   1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1|1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
   1 1 1 1 1 1 1 1 1                        |1 1 1 1 1 1 1 1 1
5|1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 |1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
  1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 |1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
   1 1 1 1 1 1 1 1 1                        | 1 1 1 1 1 1 1 1 1

2. 必要な位置のみを表示する

現状は出力を要素が行であるような1次元的な列と見なしてその連続部分列を表示していますが、出力を要素が文字であるような2次元的な表と見なしてその矩形領域を表示する感じです。
ターミナルの横幅がかなり長くないとかなり見にくそう。

1|4 4 6 16                                  |4 4 6 16
2|1 1 1 1                                   |1 1 1 1
3|10                                        |10
4|... (80 chars) ... 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ... (400 chars chars with 4 mismatches) ...|... (80 chars) ... 1 1 1 1 1 2 3 4 5 6 7 8 9 9 9 9 9 9 9 9 9 ... (400 chars chars with 4 mismatches) ...
5|1 1 1 1 1 1 1 1 1 1 1 1... (120 chars) ...|1 1 1 1 1 1 1 1 1 1 1 1 1 1 ... (120 chars) ...

3. (1.), (2.) を両方やる

これがたぶん最もいい感じです。

1|4 4 6 16                                  |4 4 6 16
2|1 1 1 1                                   |1 1 1 1
3|10                                        |10
4|... (80 chars) ...                        |... (80 chars) ...
   1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1|1 1 1 1 1 2 3 4 5 6 7 8 9 9 9 9 9 9 9 9 9
  ... (400 chars with 4 mismatches) ...     |... (400 chars chars with 4 mismatches) ...
5|1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 |1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
  ... (100 chars) ...                       |... (100 chars) ...

@fukatani
Copy link
Contributor Author

たしかに(3)がいいですね。
それよりやるやる詐欺になっている #688 に取り掛からねば。

@fukatani fukatani added the bug label Mar 15, 2020
@koba-e964 koba-e964 changed the title side by side display is bloken if line is very long. side by side display is broken if line is very long. Aug 12, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants