├── .python-version ├── tools ├── release │ ├── __init__.py │ ├── lib │ │ ├── __init__.py │ │ ├── tests │ │ │ ├── __init__.py │ │ │ ├── samples │ │ │ │ ├── cmakelists.txt │ │ │ │ ├── cmakelists_expected.txt │ │ │ │ ├── ada_version_h.txt │ │ │ │ ├── ada_version_h_expected.txt │ │ │ │ ├── doxygen.txt │ │ │ │ └── doxygen_expected.txt │ │ │ └── test_update_versions.py │ │ ├── release.py │ │ └── versions.py │ ├── requirements.txt │ ├── update_versions.py │ └── create_release.py ├── CMakeLists.txt ├── prepare-doxygen.sh ├── cli │ ├── line_iterator.h │ ├── benchmark_adaparse.sh │ ├── benchmark_write_to_file.sh │ └── CMakeLists.txt ├── run-clangcldocker.sh └── update-wpt.sh ├── .github ├── FUNDING.yml ├── ISSUE_TEMPLATE │ ├── config.yml │ ├── 2-feature-request.yml │ └── 1-bug-report.yml ├── dependabot.yml └── workflows │ ├── dependency-review.yml │ ├── pkg.yml │ ├── documentation.yml │ ├── release-script-tests.yml │ ├── codspeed.yml │ ├── ubuntu-release.yml │ ├── ubuntu-sanitized.yml │ ├── ubuntu-undef.yml │ ├── emscripten.yml │ ├── ubuntu_pedantic.yml │ ├── lint_and_format_check.yml │ ├── cifuzz.yml │ ├── ubuntu-s390x.yml │ ├── macos_install.yml │ ├── alpine.yml │ ├── ubuntu.yml │ ├── visual_studio_clang.yml │ ├── codeql.yml │ ├── ubuntu_install.yml │ ├── wpt-updater.yml │ ├── visual_studio.yml │ ├── ubuntu-riscv64-rvv.yml │ ├── ubuntu-loongarch64.yml │ ├── release_create.yml │ ├── release_prepare.yml │ └── scorecard.yml ├── .clang-format ├── fuzz ├── ada_c.options ├── parse.options ├── url_pattern.options ├── url.dict ├── idna.cc ├── can_parse.cc ├── url_search_params.cc ├── ada_c.c ├── build.sh └── url_pattern.cc ├── cmake ├── ada-config.cmake.in ├── JoinPaths.cmake ├── toolchains-dev │ ├── riscv64-rvv.cmake │ ├── loongarch64.cmake │ └── README.md ├── ada-flags.cmake └── add-cpp-test.cmake ├── .editorconfig ├── tests ├── wpt │ ├── CMakeLists.txt │ ├── urltestdata-javascript-only.json │ ├── percent-encoding.json │ ├── ada_long_urltestdata.json │ ├── IdnaTestV2-removed.json │ ├── urlpattern-compare-test-data.json │ ├── ada_extra_setters_tests.json │ └── verifydnslength_tests.json ├── wasm │ ├── CMakeLists.txt │ ├── test.js.in │ └── wasm.cpp ├── from_file_tests.cpp ├── installation │ └── CMakeLists.txt └── CMakeLists.txt ├── docs ├── doxygen │ ├── footer.html │ └── header.html └── RELEASE.md ├── SECURITY.md ├── include ├── ada │ ├── errors.h │ ├── ada_version.h │ ├── character_sets.h │ ├── encoding_type.h │ ├── url_base-inl.h │ ├── implementation-inl.h │ ├── log.h │ ├── serializers.h │ ├── unicode-inl.h │ ├── checkers-inl.h │ ├── url_pattern_regex.h │ ├── scheme.h │ ├── url_components-inl.h │ ├── parser.h │ ├── url_components.h │ ├── state.h │ ├── implementation.h │ ├── scheme-inl.h │ ├── checkers.h │ └── url_base.h └── ada.h ├── benchmarks ├── competitors │ └── servo-url │ │ ├── Cargo.toml │ │ ├── cbindgen.toml │ │ ├── README.md │ │ ├── servo_url.h │ │ └── lib.rs ├── bbc_bench.cpp ├── benchmark_header.h ├── bench.cpp └── performancecounters │ ├── linux-perf-events.h │ └── event_counter.h ├── ada.pc.in ├── singleheader ├── demo.cpp ├── README.md ├── demo.c ├── CMakeLists.txt └── amalgamate.py ├── src ├── ada.cpp ├── url_components.cpp ├── url_pattern_regex.cpp ├── serializers.cpp ├── implementation.cpp ├── CMakeLists.txt └── checkers.cpp ├── .gitignore ├── .clang-tidy ├── LICENSE-MIT └── pyproject.toml /.python-version: -------------------------------------------------------------------------------- 1 | 3.12 2 | -------------------------------------------------------------------------------- /tools/release/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tools/release/lib/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tools/release/lib/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tools/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_subdirectory(cli) -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: [anonrig, lemire] 2 | -------------------------------------------------------------------------------- /.clang-format: -------------------------------------------------------------------------------- 1 | BasedOnStyle: Google 2 | SortIncludes: Never 3 | -------------------------------------------------------------------------------- /tools/release/requirements.txt: -------------------------------------------------------------------------------- 1 | PyGithub==2.8.1 2 | pytest==9.0.1 3 | -------------------------------------------------------------------------------- /fuzz/ada_c.options: -------------------------------------------------------------------------------- 1 | [libfuzzer] 2 | dict = url.dict 3 | max_len = 1024 4 | -------------------------------------------------------------------------------- /fuzz/parse.options: -------------------------------------------------------------------------------- 1 | [libfuzzer] 2 | dict = url.dict 3 | max_len = 1024 4 | -------------------------------------------------------------------------------- /cmake/ada-config.cmake.in: -------------------------------------------------------------------------------- 1 | include("${CMAKE_CURRENT_LIST_DIR}/ada_targets.cmake") 2 | -------------------------------------------------------------------------------- /fuzz/url_pattern.options: -------------------------------------------------------------------------------- 1 | [libfuzzer] 2 | dict = url.dict 3 | max_len = 100 4 | rss_limit_mb = 16000 5 | timeout = 60 6 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | end_of_line = lf 5 | insert_final_newline = true 6 | indent_size = 2 7 | indent_style = space 8 | -------------------------------------------------------------------------------- /tests/wpt/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | file(GLOB_RECURSE wpt_files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.json) 3 | foreach(wpt_file ${wpt_files}) 4 | configure_file(${wpt_file} ${wpt_file} COPYONLY) 5 | endforeach(wpt_file) 6 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: true 2 | contact_links: 3 | - name: Looking for documentation? 4 | url: https://ada-url.github.io/ada 5 | about: Please navigate to our documentation website. 6 | -------------------------------------------------------------------------------- /docs/doxygen/footer.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 6 |