summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAram Drevekenin <aram@poor.dev>2021-05-26 18:05:43 +0200
committerGitHub <noreply@github.com>2021-05-26 18:05:43 +0200
commit44d67de187640b0064716050f082be2f330d8df5 (patch)
tree7ffebf7aa616a4ae05a579fd601bad62b8915ace /src
parentf55805d653d86e4ac5c1386a980d929b09cb18e5 (diff)
fix(compatibility): support wide characters (#535)
* fix(compatibility): support wide characters * style(fmt): rustfmt * style(fmt): make clippy happy
Diffstat (limited to 'src')
-rwxr-xr-xsrc/tests/fixtures/bash_delete_wide_characters3
-rw-r--r--src/tests/fixtures/delete_wide_character_under_cursor1
-rw-r--r--src/tests/fixtures/delete_wide_characters_before_cursor1
-rw-r--r--src/tests/fixtures/delete_wide_characters_before_cursor_when_cursor_is_on_wide_character1
-rwxr-xr-xsrc/tests/fixtures/fish_wide_characters_override_clock2
-rw-r--r--src/tests/fixtures/replace_wide_character_under_cursor1
-rwxr-xr-xsrc/tests/fixtures/wide_characters2
-rw-r--r--src/tests/fixtures/wide_characters_full31
-rw-r--r--src/tests/fixtures/wide_characters_line_end30
-rw-r--r--src/tests/fixtures/wide_characters_line_middle30
-rwxr-xr-xsrc/tests/fixtures/wide_characters_line_wrap3
11 files changed, 105 insertions, 0 deletions
diff --git a/src/tests/fixtures/bash_delete_wide_characters b/src/tests/fixtures/bash_delete_wide_characters
new file mode 100755
index 000000000..193761916
--- /dev/null
+++ b/src/tests/fixtures/bash_delete_wide_characters
@@ -0,0 +1,3 @@
+⏎(B ⏎ Welcome to fish, the friendly interactive shell
+[?2004h]0;fish /home/aram/code/zellij(B⋊>(B ~/c/zellij(B on wide-char(B ⨯ 15:35:20(B   b15:35:20(B  b(B15:35:20(B  ash(B15:35:20(B  ash(B15:35:20(B  sh(B15:35:20(B  h(B15:35:20(B  bash(B15:35:20(B  15:35:20(B  
+(B[?2004l]0;bash /home/aram/code/zellij(B [?2004h[aram@green zellij]$ HHHHHHH \ No newline at end of file
diff --git a/src/tests/fixtures/delete_wide_character_under_cursor b/src/tests/fixtures/delete_wide_character_under_cursor
new file mode 100644
index 000000000..13f3e84dc
--- /dev/null
+++ b/src/tests/fixtures/delete_wide_character_under_cursor
@@ -0,0 +1 @@
+12H4
diff --git a/src/tests/fixtures/delete_wide_characters_before_cursor b/src/tests/fixtures/delete_wide_characters_before_cursor
new file mode 100644
index 000000000..dfdad4b94
--- /dev/null
+++ b/src/tests/fixtures/delete_wide_characters_before_cursor
@@ -0,0 +1 @@
+Hi there HiHi \ No newline at end of file
diff --git a/src/tests/fixtures/delete_wide_characters_before_cursor_when_cursor_is_on_wide_character b/src/tests/fixtures/delete_wide_characters_before_cursor_when_cursor_is_on_wide_character
new file mode 100644
index 000000000..4d0c1ffed
--- /dev/null
+++ b/src/tests/fixtures/delete_wide_characters_before_cursor_when_cursor_is_on_wide_character
@@ -0,0 +1 @@
+Hi there HiHi \ No newline at end of file
diff --git a/src/tests/fixtures/fish_wide_characters_override_clock b/src/tests/fixtures/fish_wide_characters_override_clock
new file mode 100755
index 000000000..bad6143a4
--- /dev/null
+++ b/src/tests/fixtures/fish_wide_characters_override_clock
@@ -0,0 +1,2 @@
+⏎(B ⏎ Welcome to fish, the friendly interactive shell
+[?2004h]0;fish /home/aram/code/zellij(B⋊>(B ~/c/zellij(B on main(B ⨯ 15:53:10(B   H15:53:10(B  H(B15:53:10(B  H(B15:53:10(B  H(B15:53:10(B  H(B15:53:10(B  H(B15:53:10(B  H(B15:53:10(B  H(B15:53:10(B  H(B15:53:10(B  H(B15:53:10(B  H(B15:53:10(B  H(B15:53:10(B  H(B15:53:10(B  H(B15:53:10(B  H(B15:53:10(B  H(B15:53:10(B  H(B15:53:10(B  H(B15:53:10(B  H(B15:53:10(B  H(B15:53:10(B  H(B15:53:10(B  H(B15:53:10(B  H(B15:53:10(B  H(B15:53:10(B  H(B15:53:10(B  H(B15:53:10(B  H(B15:53:10(B  H(B15:53:10(B  H(B15:53:10(B  H(B15:53:10(B  H(B15:53:10(B  H(B15:53:10(B  H(B15:53:10(B  H(B15:53:10(B  H(B15:53:10(B  H(B15:53:10(B  H(B15:53:10(B  H(B \ No newline at end of file
diff --git a/src/tests/fixtures/replace_wide_character_under_cursor b/src/tests/fixtures/replace_wide_character_under_cursor
new file mode 100644
index 000000000..1759e0848
--- /dev/null
+++ b/src/tests/fixtures/replace_wide_character_under_cursor
@@ -0,0 +1 @@
+12H4
diff --git a/src/tests/fixtures/wide_characters b/src/tests/fixtures/wide_characters
new file mode 100755
index 000000000..ece8e61b6
--- /dev/null
+++ b/src/tests/fixtures/wide_characters
@@ -0,0 +1,2 @@
+⏎(B ⏎ Welcome to fish, the friendly interactive shell
+[?2004h]0;fish /home/aram/code/zellij(B⋊>(B ~/c/zellij(B on main(B ⨯ 15:19:10(B   H15:19:10(B  H(B15:19:10(B  H(B15:19:10(B  H(B15:19:10(B  H(B15:19:10(B  H(B15:19:10(B  H(B15:19:10(B  H(B15:19:10(B   \ No newline at end of file
diff --git a/src/tests/fixtures/wide_characters_full b/src/tests/fixtures/wide_characters_full
new file mode 100644
index 000000000..a83b5eb24
--- /dev/null
+++ b/src/tests/fixtures/wide_characters_full
@@ -0,0 +1,31 @@
+ HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+ eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+ llllllllllllllllllllllllllllllllllllllllllllll
+ llllllllllllllllllllllllllllllllllllllllllllll
+ oooooooooooooooooooooooooooooooooooooooooooooo
+ HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+ eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+ llllllllllllllllllllllllllllllllllllllllllllll
+ llllllllllllllllllllllllllllllllllllllllllllll
+ oooooooooooooooooooooooooooooooooooooooooooooo
+ HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+ eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+ llllllllllllllllllllllllllllllllllllllllllllll
+ llllllllllllllllllllllllllllllllllllllllllllll
+ oooooooooooooooooooooooooooooooooooooooooooooo
+ HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+ eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+ llllllllllllllllllllllllllllllllllllllllllllll
+ llllllllllllllllllllllllllllllllllllllllllllll
+ oooooooooooooooooooooooooooooooooooooooooooooo
+ HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+ eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+ llllllllllllllllllllllllllllllllllllllllllllll
+ llllllllllllllllllllllllllllllllllllllllllllll
+ oooooooooooooooooooooooooooooooooooooooooooooo
+ HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+ eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+ llllllllllllllllllllllllllllllllllllllllllllll
+ llllllllllllllllllllllllllllllllllllllllllllll
+ oooooooooooooooooooooooooooooooooooooooooooooo
+
diff --git a/src/tests/fixtures/wide_characters_line_end b/src/tests/fixtures/wide_characters_line_end
new file mode 100644
index 000000000..a0c771453
--- /dev/null
+++ b/src/tests/fixtures/wide_characters_line_end
@@ -0,0 +1,30 @@
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaH
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaae
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaao
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaH
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaae
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaao
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaH
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaae
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaao
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaH
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaae
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaao
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaH
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaae
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaao
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaH
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaae
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaao
diff --git a/src/tests/fixtures/wide_characters_line_middle b/src/tests/fixtures/wide_characters_line_middle
new file mode 100644
index 000000000..85629ebe6
--- /dev/null
+++ b/src/tests/fixtures/wide_characters_line_middle
@@ -0,0 +1,30 @@
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaaa
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaa
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalaaaa
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalaaaa
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoaaaa
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaaa
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaa
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalaaaa
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalaaaa
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoaaaa
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaaa
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaa
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalaaaa
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalaaaa
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoaaaa
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaaa
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaa
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalaaaa
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalaaaa
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoaaaa
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaaa
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaa
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalaaaa
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalaaaa
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoaaaa
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaaa
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaa
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalaaaa
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalaaaa
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoaaaa
diff --git a/src/tests/fixtures/wide_characters_line_wrap b/src/tests/fixtures/wide_characters_line_wrap
new file mode 100755
index 000000000..2888600b8
--- /dev/null
+++ b/src/tests/fixtures/wide_characters_line_wrap
@@ -0,0 +1,3 @@
+⏎(B ⏎ Welcome to fish, the friendly interactive shell
+[?2004h]0;fish /home/aram/code/zellij(B⋊>(B ~/c/zellij(B on main(B ⨯ 15:50:11(B   b15:50:11(B  b(B15:50:11(B  ash(B15:50:11(B  ash(B15:50:11(B  sh(B15:50:11(B  h(B15:50:11(B  bash(B15:50:11(B  15:50:11(B  
+(B[?2004l]0;bash /home/aram/code/zellij(B [?2004h[aram@green zellij]$ HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH HHHHH \ No newline at end of file