Skip to content

Conversation

@alexgarbarev
Copy link
Contributor

This PR is aimed to solve the issue, described there #2172.

@alexgarbarev alexgarbarev requested review from a team as code owners September 28, 2025 12:29
@google-cla
Copy link

google-cla bot commented Sep 28, 2025

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request addresses an issue with parsing nested lists that are indented using tabs. The fix correctly incorporates the remaining width of a tab character when calculating the indentation for list items, which is crucial for handling nested structures within tab-indented content. The change is logical and directly solves the problem. Additionally, the inclusion of new unit tests for both single and multi-level nested lists indented with tabs is excellent, ensuring the fix is robust and preventing future regressions. The changes look good and improve the markdown parser's correctness.

@davidmorgan
Copy link
Contributor

I think markdown is owned by @srawlins

@bkonyi bkonyi removed request for a team September 29, 2025 13:17
@coveralls
Copy link

coveralls commented Sep 29, 2025

Pull Request Test Coverage Report for Build 18148333430

Details

  • 3 of 3 (100.0%) changed or added relevant lines in 1 file are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage increased (+0.005%) to 96.123%

Totals Coverage Status
Change from base Build 18136242133: 0.005%
Covered Lines: 1562
Relevant Lines: 1625

💛 - Coveralls

@github-actions
Copy link

github-actions bot commented Sep 29, 2025

PR Health

Breaking changes ✔️
Package Change Current Version New Version Needed Version Looking good?
markdown None 7.3.0 7.3.1-wip 7.3.0 ✔️

This check can be disabled by tagging the PR with skip-breaking-check.

Changelog Entry ✔️
Package Changed Files

Changes to files need to be accounted for in their respective changelogs.

This check can be disabled by tagging the PR with skip-changelog-check.

Coverage ✔️
File Coverage
pkgs/markdown/lib/src/block_syntaxes/list_syntax.dart 💚 94 % ⬆️ 0 %

This check for test coverage is informational (issues shown here will not fail the PR).

This check can be disabled by tagging the PR with skip-coverage-check.

API leaks ✔️

The following packages contain symbols visible in the public API, but not exported by the library. Export these symbols or remove them from your publicly visible API.

Package Leaked API symbol Leaking sources

This check can be disabled by tagging the PR with skip-leaking-check.

License Headers ✔️
// Copyright (c) 2025, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
Files
no missing headers

All source files should start with a license header.

Unrelated files missing license headers
Files
pkgs/bazel_worker/benchmark/benchmark.dart
pkgs/bazel_worker/example/client.dart
pkgs/bazel_worker/example/worker.dart
pkgs/benchmark_harness/integration_test/perf_benchmark_test.dart
pkgs/boolean_selector/example/example.dart
pkgs/clock/lib/clock.dart
pkgs/clock/lib/src/clock.dart
pkgs/clock/lib/src/default.dart
pkgs/clock/lib/src/stopwatch.dart
pkgs/clock/lib/src/utils.dart
pkgs/clock/test/clock_test.dart
pkgs/clock/test/default_test.dart
pkgs/clock/test/stopwatch_test.dart
pkgs/clock/test/utils.dart
pkgs/coverage/lib/src/coverage_options.dart
pkgs/html/example/main.dart
pkgs/html/lib/dom.dart
pkgs/html/lib/dom_parsing.dart
pkgs/html/lib/html_escape.dart
pkgs/html/lib/parser.dart
pkgs/html/lib/src/constants.dart
pkgs/html/lib/src/encoding_parser.dart
pkgs/html/lib/src/html_input_stream.dart
pkgs/html/lib/src/list_proxy.dart
pkgs/html/lib/src/query_selector.dart
pkgs/html/lib/src/token.dart
pkgs/html/lib/src/tokenizer.dart
pkgs/html/lib/src/treebuilder.dart
pkgs/html/lib/src/utils.dart
pkgs/html/test/dom_test.dart
pkgs/html/test/parser_feature_test.dart
pkgs/html/test/parser_test.dart
pkgs/html/test/query_selector_test.dart
pkgs/html/test/selectors/level1_baseline_test.dart
pkgs/html/test/selectors/level1_lib.dart
pkgs/html/test/selectors/selectors.dart
pkgs/html/test/support.dart
pkgs/html/test/tokenizer_test.dart
pkgs/html/test/trie_test.dart
pkgs/html/tool/generate_trie.dart
pkgs/pubspec_parse/test/git_uri_test.dart
pkgs/stack_trace/example/example.dart
pkgs/watcher/test/custom_watcher_factory_test.dart
pkgs/yaml_edit/example/example.dart

This check can be disabled by tagging the PR with skip-license-check.

@srawlins
Copy link
Member

This fix looks great; would you mind adding a changelog entry?

@alexgarbarev
Copy link
Contributor Author

Thanks @srawlins! I've added an entry, but I'm not sure if the versioning is right (that's my first contribution here). Feel free to edit it whatever you like.

@@ -1,3 +1,7 @@
## 7.3.2

* Fix an issue with nested list structure when indented by tabs (#2172)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, could you add this to the 7.3.1-wip section, please? 7.3.1 is not released yet.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done! Thanks for review.

@github-actions
Copy link

github-actions bot commented Oct 1, 2025

Package publishing

Package Version Status Publish tag (post-merge)
package:bazel_worker 1.1.3 already published at pub.dev
package:benchmark_harness 2.4.0-wip WIP (no publish necessary)
package:boolean_selector 2.1.2 already published at pub.dev
package:browser_launcher 1.1.3 already published at pub.dev
package:cli_config 0.2.1-wip WIP (no publish necessary)
package:cli_util 0.5.0-wip WIP (no publish necessary)
package:clock 1.1.3-wip WIP (no publish necessary)
package:code_builder 4.11.0 already published at pub.dev
package:coverage 1.15.0 already published at pub.dev
package:csslib 1.0.2 already published at pub.dev
package:extension_discovery 2.1.0 already published at pub.dev
package:file 7.0.2-wip WIP (no publish necessary)
package:file_testing 3.1.0-wip WIP (no publish necessary)
package:glob 2.1.3 already published at pub.dev
package:graphs 2.3.3-wip WIP (no publish necessary)
package:html 0.15.6 already published at pub.dev
package:io 1.1.0-wip WIP (no publish necessary)
package:json_rpc_2 4.0.0 already published at pub.dev
package:markdown 7.3.1-wip WIP (no publish necessary)
package:mime 2.0.0 already published at pub.dev
package:oauth2 2.0.4-wip WIP (no publish necessary)
package:package_config 2.3.0-wip WIP (no publish necessary)
package:pool 1.5.2 already published at pub.dev
package:process 5.0.5 already published at pub.dev
package:pub_semver 2.2.0 already published at pub.dev
package:pubspec_parse 1.5.0 already published at pub.dev
package:source_map_stack_trace 2.1.3-wip WIP (no publish necessary)
package:source_maps 0.10.14-wip WIP (no publish necessary)
package:source_span 1.10.1 already published at pub.dev
package:sse 4.1.8 already published at pub.dev
package:stack_trace 1.12.1 already published at pub.dev
package:stream_channel 2.1.4 already published at pub.dev
package:stream_transform 2.1.2-wip WIP (no publish necessary)
package:string_scanner 1.4.1 already published at pub.dev
package:term_glyph 1.2.3-wip WIP (no publish necessary)
package:test_reflective_loader 0.4.0 already published at pub.dev
package:timing 1.0.2 already published at pub.dev
package:unified_analytics 8.0.5 already published at pub.dev
package:watcher 1.1.4 ready to publish watcher-v1.1.4
package:yaml 3.1.3 already published at pub.dev
package:yaml_edit 2.2.2 already published at pub.dev

Documentation at https://github.com/dart-lang/ecosystem/wiki/Publishing-automation.

@srawlins srawlins merged commit 08db168 into dart-lang:main Oct 1, 2025
16 checks passed
copybara-service bot pushed a commit to dart-lang/sdk that referenced this pull request Oct 1, 2025
…it_inspection_protocol

Revisions updated by `dart tools/rev_sdk_deps.dart`.

ai (https://github.com/dart-lang/ai/compare/901e2ce..ec5d6aa):
  ec5d6aa  2025-10-01  dependabot[bot]  Bump the github-actions group with 2 updates (dart-lang/ai#288)

http (https://github.com/dart-lang/http/compare/e0dadd1..2c53fa3):
  2c53fa3  2025-10-01  dependabot[bot]  Bump the github-actions group with 3 updates (dart-lang/http#1828)
  1b5103f  2025-10-01  Alex Li  [cronet_http] Upgrade `cronet-embedded` dependency version to support 16 KB page sizes (dart-lang/http#1824)
  f701e93  2025-09-29  Brian Quinlan  Remove obsolete TODO comment (dart-lang/http#1816)

i18n (https://github.com/dart-lang/i18n/compare/09627d2..34d1832):
  34d1832b  2025-10-01  Moritz  Fix casemapping on web (dart-lang/i18n#1013)
  914b0178  2025-10-01  dependabot[bot]  Bump actions/labeler from 5.0.0 to 6.0.1 in the github-actions group (dart-lang/i18n#1014)
  f171926e  2025-09-19  Moritz  Upgrade SDK in package:intl_translation (dart-lang/i18n#983)

shelf (https://github.com/dart-lang/shelf/compare/de91a5b..f30d650):
  f30d650  2025-10-01  dependabot[bot]  Bump the github-actions group with 3 updates (dart-lang/shelf#483)

test (https://github.com/dart-lang/test/compare/b99d556..a16f149):
  a16f1497  2025-10-01  dependabot[bot]  Bump the github-actions group with 5 updates (dart-lang/test#2547)

tools (https://github.com/dart-lang/tools/compare/2ef298e..19f91a0):
  19f91a03  2025-10-01  Morgan :)  Run file watcher symlink tests. (dart-lang/tools#2189)
  7929379b  2025-10-01  Morgan :)  Add test coverage for file watcher and symlinks. (dart-lang/tools#2178)
  d0e3edd1  2025-09-30  Morgan :)  Fix file watcher startup race on MacOS (dart-lang/tools#2176)
  36cefcee  2025-10-01  dependabot[bot]  Bump the github-actions group with 5 updates (dart-lang/tools#2188)
  08db1688  2025-10-01  Aleksey Garbarev  Fixing structure issue of nested lists indented by tabs (`#2172`) (dart-lang/tools#2173)
  16276f53  2025-09-30  Parker Lougheed  [markdown] Simplify deindentation logic for fenced code block lines (dart-lang/tools#2187)

vector_math (https://github.com/google/vector_math.dart/compare/3939545..a7b7e9c):
  a7b7e9c  2025-10-01  dependabot[bot]  Bump the github-actions group with 2 updates (google/vector_math.dart#352)

web (https://github.com/dart-lang/web/compare/0baaea4..816abcc):
  816abcc  2025-10-01  dependabot[bot]  Bump the github-actions group with 2 updates (dart-lang/web#473)

webkit_inspection_protocol (https://github.com/google/webkit_inspection_protocol.dart/compare/effa752..0f76858):
  0f76858  2025-10-01  dependabot[bot]  Bump the github-actions group across 1 directory with 3 updates (google/webkit_inspection_protocol.dart#135)

Change-Id: Id2cf6c1142aece53d531ca46122bb36a0fa2a34b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/452902
Commit-Queue: Devon Carew <devoncarew@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Dhruv-Maradiya pushed a commit to Dhruv-Maradiya/tools that referenced this pull request Oct 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants