├── .github └── workflows │ ├── ci.yml │ ├── deploy.yml │ └── smoketest-wasm.yml ├── .gitignore ├── .vscode └── launch.json ├── CHANGELOG.md ├── Cargo.lock ├── Cargo.toml ├── LICENSE ├── README.MD ├── RELEASE.md ├── benches ├── lorem_ipsum.txt ├── moar_links.txt ├── my_benchmark.rs ├── r10s_update_message.txt └── testdata.md ├── docs.md ├── message_parser_wasm ├── .gitignore ├── Cargo.toml ├── LICENSE ├── README.md ├── example.html ├── example.js ├── src │ ├── lib.rs │ ├── manual_typings.ts │ └── utils.rs └── tests │ └── web.rs ├── rust-toolchain ├── scripts └── extract_hashtag_content_ranges.py ├── spec.md ├── src ├── lib.rs ├── main.rs └── parser │ ├── is_emoji.rs │ ├── link_url │ ├── allowed_tlds │ │ ├── country_tlds.rs │ │ └── mod.rs │ ├── ip │ │ ├── ip_literal.rs │ │ ├── ipv4.rs │ │ ├── ipv6.rs │ │ ├── ipvfuture.rs │ │ └── mod.rs │ ├── mod.rs │ ├── parenthesis_counter.rs │ ├── parse_link.rs │ └── punycode_warning.rs │ ├── mod.rs │ ├── parse_from_text │ ├── base_parsers.rs │ ├── desktop_subset.rs │ ├── find_range.rs │ ├── hashtag_content_char_ranges.rs │ ├── markdown_elements.rs │ ├── markdown_elements │ │ └── label_elements.rs │ ├── mod.rs │ └── text_elements.rs │ └── utils.rs └── tests ├── based_on_issue ├── exclamation_mark_at_end_of_link_81.rs ├── fediverse_handle_82.rs └── mod.rs ├── emoji ├── all_desktop_emojis.txt └── mod.rs ├── links.rs ├── test.rs └── text_to_ast ├── desktop_set.rs ├── links.rs ├── markdown.rs ├── mod.rs ├── mod.rs.orig └── text_only.rs /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.github/workflows/deploy.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/.github/workflows/deploy.yml -------------------------------------------------------------------------------- /.github/workflows/smoketest-wasm.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/.github/workflows/smoketest-wasm.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/.gitignore -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/.vscode/launch.json -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/Cargo.lock -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/LICENSE -------------------------------------------------------------------------------- /README.MD: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/README.MD -------------------------------------------------------------------------------- /RELEASE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/RELEASE.md -------------------------------------------------------------------------------- /benches/lorem_ipsum.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/benches/lorem_ipsum.txt -------------------------------------------------------------------------------- /benches/moar_links.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/benches/moar_links.txt -------------------------------------------------------------------------------- /benches/my_benchmark.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/benches/my_benchmark.rs -------------------------------------------------------------------------------- /benches/r10s_update_message.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/benches/r10s_update_message.txt -------------------------------------------------------------------------------- /benches/testdata.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/benches/testdata.md -------------------------------------------------------------------------------- /docs.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/docs.md -------------------------------------------------------------------------------- /message_parser_wasm/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/message_parser_wasm/.gitignore -------------------------------------------------------------------------------- /message_parser_wasm/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/message_parser_wasm/Cargo.toml -------------------------------------------------------------------------------- /message_parser_wasm/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/message_parser_wasm/LICENSE -------------------------------------------------------------------------------- /message_parser_wasm/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/message_parser_wasm/README.md -------------------------------------------------------------------------------- /message_parser_wasm/example.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/message_parser_wasm/example.html -------------------------------------------------------------------------------- /message_parser_wasm/example.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/message_parser_wasm/example.js -------------------------------------------------------------------------------- /message_parser_wasm/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/message_parser_wasm/src/lib.rs -------------------------------------------------------------------------------- /message_parser_wasm/src/manual_typings.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/message_parser_wasm/src/manual_typings.ts -------------------------------------------------------------------------------- /message_parser_wasm/src/utils.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/message_parser_wasm/src/utils.rs -------------------------------------------------------------------------------- /message_parser_wasm/tests/web.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/message_parser_wasm/tests/web.rs -------------------------------------------------------------------------------- /rust-toolchain: -------------------------------------------------------------------------------- 1 | 1.85.0 2 | -------------------------------------------------------------------------------- /scripts/extract_hashtag_content_ranges.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/scripts/extract_hashtag_content_ranges.py -------------------------------------------------------------------------------- /spec.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/spec.md -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/src/lib.rs -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/src/main.rs -------------------------------------------------------------------------------- /src/parser/is_emoji.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/src/parser/is_emoji.rs -------------------------------------------------------------------------------- /src/parser/link_url/allowed_tlds/country_tlds.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/src/parser/link_url/allowed_tlds/country_tlds.rs -------------------------------------------------------------------------------- /src/parser/link_url/allowed_tlds/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/src/parser/link_url/allowed_tlds/mod.rs -------------------------------------------------------------------------------- /src/parser/link_url/ip/ip_literal.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/src/parser/link_url/ip/ip_literal.rs -------------------------------------------------------------------------------- /src/parser/link_url/ip/ipv4.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/src/parser/link_url/ip/ipv4.rs -------------------------------------------------------------------------------- /src/parser/link_url/ip/ipv6.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/src/parser/link_url/ip/ipv6.rs -------------------------------------------------------------------------------- /src/parser/link_url/ip/ipvfuture.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/src/parser/link_url/ip/ipvfuture.rs -------------------------------------------------------------------------------- /src/parser/link_url/ip/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/src/parser/link_url/ip/mod.rs -------------------------------------------------------------------------------- /src/parser/link_url/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/src/parser/link_url/mod.rs -------------------------------------------------------------------------------- /src/parser/link_url/parenthesis_counter.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/src/parser/link_url/parenthesis_counter.rs -------------------------------------------------------------------------------- /src/parser/link_url/parse_link.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/src/parser/link_url/parse_link.rs -------------------------------------------------------------------------------- /src/parser/link_url/punycode_warning.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/src/parser/link_url/punycode_warning.rs -------------------------------------------------------------------------------- /src/parser/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/src/parser/mod.rs -------------------------------------------------------------------------------- /src/parser/parse_from_text/base_parsers.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/src/parser/parse_from_text/base_parsers.rs -------------------------------------------------------------------------------- /src/parser/parse_from_text/desktop_subset.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/src/parser/parse_from_text/desktop_subset.rs -------------------------------------------------------------------------------- /src/parser/parse_from_text/find_range.rs: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/parser/parse_from_text/hashtag_content_char_ranges.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/src/parser/parse_from_text/hashtag_content_char_ranges.rs -------------------------------------------------------------------------------- /src/parser/parse_from_text/markdown_elements.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/src/parser/parse_from_text/markdown_elements.rs -------------------------------------------------------------------------------- /src/parser/parse_from_text/markdown_elements/label_elements.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/src/parser/parse_from_text/markdown_elements/label_elements.rs -------------------------------------------------------------------------------- /src/parser/parse_from_text/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/src/parser/parse_from_text/mod.rs -------------------------------------------------------------------------------- /src/parser/parse_from_text/text_elements.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/src/parser/parse_from_text/text_elements.rs -------------------------------------------------------------------------------- /src/parser/utils.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/src/parser/utils.rs -------------------------------------------------------------------------------- /tests/based_on_issue/exclamation_mark_at_end_of_link_81.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/tests/based_on_issue/exclamation_mark_at_end_of_link_81.rs -------------------------------------------------------------------------------- /tests/based_on_issue/fediverse_handle_82.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/tests/based_on_issue/fediverse_handle_82.rs -------------------------------------------------------------------------------- /tests/based_on_issue/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/tests/based_on_issue/mod.rs -------------------------------------------------------------------------------- /tests/emoji/all_desktop_emojis.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/tests/emoji/all_desktop_emojis.txt -------------------------------------------------------------------------------- /tests/emoji/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/tests/emoji/mod.rs -------------------------------------------------------------------------------- /tests/links.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/tests/links.rs -------------------------------------------------------------------------------- /tests/test.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/tests/test.rs -------------------------------------------------------------------------------- /tests/text_to_ast/desktop_set.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/tests/text_to_ast/desktop_set.rs -------------------------------------------------------------------------------- /tests/text_to_ast/links.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/tests/text_to_ast/links.rs -------------------------------------------------------------------------------- /tests/text_to_ast/markdown.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/tests/text_to_ast/markdown.rs -------------------------------------------------------------------------------- /tests/text_to_ast/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/tests/text_to_ast/mod.rs -------------------------------------------------------------------------------- /tests/text_to_ast/mod.rs.orig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/tests/text_to_ast/mod.rs.orig -------------------------------------------------------------------------------- /tests/text_to_ast/text_only.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deltachat/message-parser/HEAD/tests/text_to_ast/text_only.rs --------------------------------------------------------------------------------