Yee Cheng Chin
653366fb23
Fix mvim:// protocol double-encoding behavior handling properly
...
Change mvim:// protocol behavior back to previous state to double-encode
the file path, since we are encapsulating a file:// protocol (which has
encoded path) within another URL as a query, which itself should be
encoded. This means a file path "/tmp/file name.txt" should be properly
encoded as mvim://open?url=file:///tmp/file%2520name.txt, as the space
is encoded twice (first to %20, then to %2520).
Previously we tried to fix the protocol handler to only do a single
encoding (see #1021 and #1043 ) but it's really an incorrect usage of
URL. The reason for that fix was that tools like iTerm2 was passing in
single-encoded URLs. As such, also add a compatibility feature here
where we will optimiscally try to re-encode characters that we detect to
be erroneously encoded. For example, if we see
mvim://open?url=file:///tmp/file%20name.txt, MacVim will intelligently
realize that the space needs to be encoded again. The only character
where that won't work is the "%" character because of the ambiguity
involved, so a file path "/tmp/file%.txt" will only work with this:
mvim://open?url=file:///tmp/file%2525.txt
Close #1020 (also see the issue for discussions).
2020-07-05 23:30:44 -07:00
..
2019-12-12 14:18:35 +01:00
2020-06-19 14:17:00 +09:00
2020-06-08 11:40:49 +09:00
2020-06-07 21:07:18 +02:00
2020-05-01 16:07:38 +02:00
2019-12-12 14:18:35 +01:00
2020-01-21 22:33:58 +01:00
2020-04-20 19:52:53 +02:00
2019-12-12 14:18:35 +01:00
2019-12-12 14:18:35 +01:00
2019-05-26 21:33:31 +02:00
2020-01-21 22:13:42 +01:00
2020-06-07 21:07:18 +02:00
2020-06-23 15:36:47 +09:00
2020-01-27 22:47:09 +01:00
2018-07-21 05:56:22 +02:00
2020-05-31 14:25:22 +02:00
2020-05-31 14:25:22 +02:00
2018-07-07 23:21:31 +02:00
2019-12-12 14:18:35 +01:00
2020-01-14 19:29:13 +01:00
2019-12-12 14:18:35 +01:00
2019-12-12 14:18:35 +01:00
2019-12-12 14:18:35 +01:00
2019-12-12 14:18:35 +01:00
2020-07-05 23:30:44 -07:00
2020-04-10 22:10:56 +02:00
2020-06-08 11:40:49 +09:00
2020-03-29 05:09:53 -07:00
2019-12-12 14:18:35 +01:00
2019-12-12 14:18:35 +01:00
2020-05-27 17:48:42 +09:00
2020-03-01 19:06:45 +01:00
2019-12-12 14:18:35 +01:00
2019-12-12 14:18:35 +01:00
2020-05-26 21:20:45 +02:00
2020-04-14 20:15:49 +02:00
2019-12-12 14:18:35 +01:00
2020-04-14 20:15:49 +02:00
2020-04-14 20:15:49 +02:00
2020-04-14 20:15:49 +02:00
2019-12-12 14:18:35 +01:00
2020-04-14 20:15:49 +02:00
2020-05-31 17:49:30 +02:00
2020-06-08 11:40:49 +09:00
2020-05-01 16:07:38 +02:00
2020-06-07 21:07:18 +02:00
2020-06-19 14:17:00 +09:00
2020-05-26 21:20:45 +02:00
2020-05-01 16:07:38 +02:00
2019-12-12 14:18:35 +01:00
2020-01-02 21:34:42 +01:00
2020-06-21 22:12:03 +02:00
2019-12-12 14:18:35 +01:00
2020-04-20 19:52:53 +02:00
2020-06-19 14:17:00 +09:00
2019-12-12 14:18:35 +01:00
2019-12-12 14:18:35 +01:00
2020-06-07 22:23:19 +02:00
2020-01-21 22:33:58 +01:00
2020-05-26 21:20:45 +02:00
2020-01-14 08:52:44 -08:00
2019-12-12 14:18:35 +01:00
2019-12-12 14:18:35 +01:00
2019-12-12 14:18:35 +01:00
2019-12-12 14:18:35 +01:00
2019-12-12 14:18:35 +01:00
2019-12-12 14:18:35 +01:00
2020-06-14 17:29:55 +02:00
2020-05-01 16:07:38 +02:00
2019-12-26 14:35:26 +01:00
2020-01-14 19:29:13 +01:00
2019-12-12 14:18:35 +01:00
2020-01-14 19:29:13 +01:00
2020-01-14 19:29:13 +01:00
2019-12-12 14:18:35 +01:00
2019-12-12 14:18:35 +01:00
2020-01-14 19:29:13 +01:00
2020-01-14 19:29:13 +01:00
2020-01-14 19:29:13 +01:00
2020-05-26 21:20:45 +02:00
2020-01-14 19:29:13 +01:00
2020-06-11 19:35:52 +02:00
2020-06-19 14:17:00 +09:00
2019-12-12 14:18:35 +01:00
2020-05-12 22:49:12 +02:00
2020-01-14 08:52:44 -08:00
2020-06-17 21:47:23 +02:00
2019-12-12 14:18:35 +01:00
2019-12-12 14:18:35 +01:00
2019-12-12 14:18:35 +01:00
2019-12-12 14:18:35 +01:00
2020-06-14 17:29:55 +02:00
2019-12-12 14:18:35 +01:00
2020-03-15 00:15:24 -07:00
2020-06-19 14:17:00 +09:00
2020-02-15 21:41:42 +01:00
2020-06-23 15:36:47 +09:00
2020-04-20 19:52:53 +02:00
2020-05-31 16:42:30 +02:00
2020-06-07 21:07:18 +02:00
2020-06-21 22:12:03 +02:00
2020-05-01 16:07:38 +02:00
2019-12-12 14:18:35 +01:00
2020-06-21 22:12:03 +02:00
2020-01-09 21:46:04 +01:00
2019-12-12 14:18:35 +01:00
2019-12-17 21:27:18 +01:00
2020-01-25 13:27:42 +01:00
2020-03-01 19:06:45 +01:00
2019-12-12 14:18:35 +01:00
2019-12-26 14:35:26 +01:00
2019-12-12 14:18:35 +01:00
2020-03-27 20:42:43 +01:00
2020-05-01 16:07:38 +02:00
2019-12-12 14:18:35 +01:00
2020-05-01 16:07:38 +02:00
2020-06-21 22:12:03 +02:00
2019-12-12 14:18:35 +01:00
2019-12-12 14:18:35 +01:00
2019-12-12 14:18:35 +01:00
2020-04-10 22:10:56 +02:00
2019-12-26 14:35:26 +01:00
2019-12-26 14:35:26 +01:00
2019-12-12 14:18:35 +01:00
2019-12-12 14:18:35 +01:00
2019-12-26 14:35:26 +01:00
2019-12-12 14:18:35 +01:00
2019-12-12 14:18:35 +01:00
2019-12-12 14:18:35 +01:00
2019-12-12 14:18:35 +01:00
2019-12-12 14:18:35 +01:00
2019-12-12 14:18:35 +01:00
2020-06-14 17:29:55 +02:00
2019-12-12 14:18:35 +01:00
2019-12-12 14:18:35 +01:00
2020-01-14 19:29:13 +01:00
2020-06-14 17:29:55 +02:00
2020-06-21 22:12:03 +02:00
2020-06-14 17:29:55 +02:00
2020-06-21 22:12:03 +02:00
2020-06-19 14:17:00 +09:00
2019-12-12 14:18:35 +01:00
2019-12-12 14:18:35 +01:00
2019-12-12 14:18:35 +01:00
2020-01-14 08:52:44 -08:00
2020-06-14 17:29:55 +02:00
2020-06-07 22:23:19 +02:00
2020-06-22 23:02:51 +02:00
2018-12-09 20:43:55 +01:00
2018-12-09 20:43:55 +01:00
2020-01-27 22:47:09 +01:00
2018-07-21 05:56:22 +02:00
2020-05-31 14:25:22 +02:00
2020-05-31 14:25:22 +02:00
2019-08-17 20:09:31 +02:00
2019-08-31 16:20:32 +02:00
2018-07-15 20:20:18 +02:00
2018-07-15 20:20:18 +02:00
2020-01-27 22:47:09 +01:00
2018-07-21 05:56:22 +02:00
2020-05-31 14:25:22 +02:00
2020-05-31 14:25:22 +02:00
2018-07-15 20:20:18 +02:00
2018-07-15 20:20:18 +02:00
2020-01-27 22:47:09 +01:00
2018-07-21 05:56:22 +02:00
2020-05-31 14:25:22 +02:00
2020-05-31 14:25:22 +02:00
2019-12-12 14:18:35 +01:00
2020-06-14 17:29:55 +02:00
2019-12-12 14:18:35 +01:00
2018-11-04 14:45:49 +01:00
2018-11-04 14:45:49 +01:00
2020-01-27 22:47:09 +01:00
2018-11-04 14:45:49 +01:00
2018-07-21 05:56:22 +02:00