summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FILES.byname1356
-rw-r--r--FILES.byname.gzbin2529631 -> 2529920 bytes
-rw-r--r--FILES.last07days747
-rw-r--r--biblio/ctan-bibdata/ctan.bib28
-rw-r--r--biblio/ctan-bibdata/ctan.pdfbin3667139 -> 3666676 bytes
-rw-r--r--macros/latex/contrib/annotate-equations/annotate-equations.pdfbin151252 -> 151073 bytes
-rw-r--r--macros/latex/contrib/annotate-equations/annotate-equations.sty7
-rw-r--r--macros/latex/contrib/annotate-equations/annotate-equations.tex6
-rw-r--r--macros/latex/contrib/srdp-mathematik/README.md2
-rw-r--r--macros/latex/contrib/srdp-mathematik/srdp-mathematik.pdfbin181160 -> 181023 bytes
-rw-r--r--macros/latex/contrib/srdp-mathematik/srdp-mathematik.sty3
-rw-r--r--macros/latex/contrib/srdp-mathematik/srdp-mathematik.tex2
-rw-r--r--macros/luatex/latex/sympycalc/README.md7
-rw-r--r--macros/luatex/latex/sympycalc/doc/SympyCalc-doc.pdfbin0 -> 130436 bytes
-rw-r--r--macros/luatex/latex/sympycalc/doc/SympyCalc-doc.tex817
-rw-r--r--macros/luatex/latex/sympycalc/tex/SympyCalc.sty358
-rw-r--r--support/texlab/CHANGELOG.md9
-rw-r--r--support/texlab/Cargo.lock41
-rw-r--r--support/texlab/crates/base-db/Cargo.toml1
-rw-r--r--support/texlab/crates/base-db/src/data.rs891
-rw-r--r--support/texlab/crates/base-db/src/document.rs13
-rw-r--r--support/texlab/crates/base-db/src/graph.rs17
-rw-r--r--support/texlab/crates/base-db/src/lib.rs5
-rw-r--r--support/texlab/crates/base-db/src/semantics.rs10
-rw-r--r--support/texlab/crates/base-db/src/semantics/tex.rs18
-rw-r--r--support/texlab/crates/base-db/src/util.rs9
-rw-r--r--support/texlab/crates/base-db/src/util/label.rs (renamed from support/texlab/crates/texlab/src/util/label.rs)46
-rw-r--r--support/texlab/crates/base-db/src/util/line_index.rs (renamed from support/texlab/crates/base-db/src/line_index.rs)0
-rw-r--r--support/texlab/crates/base-db/src/util/regex_filter.rs (renamed from support/texlab/crates/texlab/src/util/regex_filter.rs)6
-rw-r--r--support/texlab/crates/base-feature/src/lib.rs4
-rw-r--r--support/texlab/crates/base-feature/src/normalize_uri.rs56
-rw-r--r--support/texlab/crates/commands/Cargo.toml1
-rw-r--r--support/texlab/crates/commands/src/build.rs3
-rw-r--r--support/texlab/crates/commands/src/fwd_search.rs3
-rw-r--r--support/texlab/crates/commands/src/lib.rs1
-rw-r--r--support/texlab/crates/commands/src/placeholders.rs (renamed from support/texlab/crates/base-feature/src/placeholders.rs)0
-rw-r--r--support/texlab/crates/parser/src/config.rs18
-rw-r--r--support/texlab/crates/parser/src/latex.rs40
-rw-r--r--support/texlab/crates/parser/src/latex/lexer.rs1
-rw-r--r--support/texlab/crates/parser/src/latex/lexer/commands.rs1
-rw-r--r--support/texlab/crates/parser/src/latex/lexer/types.rs6
-rw-r--r--support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_828.txt.snap22
-rw-r--r--support/texlab/crates/parser/src/test_data/latex/issue_828.txt1
-rw-r--r--support/texlab/crates/symbols/Cargo.toml24
-rw-r--r--support/texlab/crates/symbols/src/document.rs51
-rw-r--r--support/texlab/crates/symbols/src/document/bib.rs64
-rw-r--r--support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__allowed_patterns.snap31
-rw-r--r--support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__enumerate.snap62
-rw-r--r--support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__equation.snap40
-rw-r--r--support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__float.snap40
-rw-r--r--support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__ignored_patterns.snap19
-rw-r--r--support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__section.snap41
-rw-r--r--support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__theorem.snap53
-rw-r--r--support/texlab/crates/symbols/src/document/tests.rs250
-rw-r--r--support/texlab/crates/symbols/src/document/tex.rs257
-rw-r--r--support/texlab/crates/symbols/src/lib.rs9
-rw-r--r--support/texlab/crates/symbols/src/types.rs89
-rw-r--r--support/texlab/crates/symbols/src/workspace.rs47
-rw-r--r--support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_bibtex.snap36
-rw-r--r--support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_type_figure.snap24
-rw-r--r--support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_type_item.snap60
-rw-r--r--support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_type_math.snap42
-rw-r--r--support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_type_section.snap78
-rw-r--r--support/texlab/crates/symbols/src/workspace/sort.rs (renamed from support/texlab/crates/texlab/src/features/symbol/project_order.rs)52
-rw-r--r--support/texlab/crates/symbols/src/workspace/tests.rs99
-rw-r--r--support/texlab/crates/syntax/src/latex/cst.rs2
-rw-r--r--support/texlab/crates/test-utils/Cargo.toml (renamed from support/texlab/crates/base-feature/Cargo.toml)7
-rw-r--r--support/texlab/crates/test-utils/src/fixture.rs103
-rw-r--r--support/texlab/crates/test-utils/src/lib.rs1
-rw-r--r--support/texlab/crates/texlab/Cargo.toml4
-rw-r--r--support/texlab/crates/texlab/data/lang_data.json1058
-rw-r--r--support/texlab/crates/texlab/src/features.rs2
-rw-r--r--support/texlab/crates/texlab/src/features/completion/builder.rs34
-rw-r--r--support/texlab/crates/texlab/src/features/completion/color.rs94
-rw-r--r--support/texlab/crates/texlab/src/features/completion/component_environment.rs2
-rw-r--r--support/texlab/crates/texlab/src/features/completion/entry_type.rs4
-rw-r--r--support/texlab/crates/texlab/src/features/completion/field.rs4
-rw-r--r--support/texlab/crates/texlab/src/features/completion/label.rs22
-rw-r--r--support/texlab/crates/texlab/src/features/completion/theorem.rs2
-rw-r--r--support/texlab/crates/texlab/src/features/completion/tikz_library.rs122
-rw-r--r--support/texlab/crates/texlab/src/features/completion/user_command.rs9
-rw-r--r--support/texlab/crates/texlab/src/features/completion/user_environment.rs6
-rw-r--r--support/texlab/crates/texlab/src/features/definition/label.rs6
-rw-r--r--support/texlab/crates/texlab/src/features/formatting/bibtex_internal.rs2
-rw-r--r--support/texlab/crates/texlab/src/features/hover/entry_type.rs7
-rw-r--r--support/texlab/crates/texlab/src/features/hover/field.rs7
-rw-r--r--support/texlab/crates/texlab/src/features/hover/label.rs6
-rw-r--r--support/texlab/crates/texlab/src/features/inlay_hint/label.rs20
-rw-r--r--support/texlab/crates/texlab/src/features/symbol.rs129
-rw-r--r--support/texlab/crates/texlab/src/features/symbol/bibtex.rs82
-rw-r--r--support/texlab/crates/texlab/src/features/symbol/latex.rs431
-rw-r--r--support/texlab/crates/texlab/src/features/symbol/types.rs133
-rw-r--r--support/texlab/crates/texlab/src/features/symbols.rs107
-rw-r--r--support/texlab/crates/texlab/src/server.rs37
-rw-r--r--support/texlab/crates/texlab/src/util.rs59
-rw-r--r--support/texlab/crates/texlab/src/util/cursor.rs6
-rw-r--r--support/texlab/crates/texlab/src/util/diagnostics.rs6
-rw-r--r--support/texlab/crates/texlab/src/util/lang_data.rs68
-rw-r--r--support/texlab/crates/texlab/src/util/line_index_ext.rs2
-rw-r--r--support/texlab/crates/texlab/src/util/lsp_enums.rs3
-rw-r--r--support/texlab/crates/texlab/tests/lsp/fixture.rs18
-rw-r--r--support/texlab/crates/texlab/tests/lsp/text_document/completion.rs12
-rw-r--r--support/texlab/crates/texlab/tests/lsp/text_document/document_symbol.rs454
-rw-r--r--support/texlab/crates/texlab/tests/lsp/text_document/formatting.rs2
-rw-r--r--support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__issue_883.snap11
-rw-r--r--support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__enumerate_flat.snap96
-rw-r--r--support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__enumerate_nested.snap140
-rw-r--r--support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__equation_flat.snap60
-rw-r--r--support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__equation_nested.snap86
-rw-r--r--support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__float_flat.snap60
-rw-r--r--support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__float_nested.snap86
-rw-r--r--support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__ignored_patterns.snap24
-rw-r--r--support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__section_flat.snap60
-rw-r--r--support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__section_nested.snap87
-rw-r--r--support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__smoke.snap103
-rw-r--r--support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__theorem_flat.snap78
-rw-r--r--support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__theorem_nested.snap113
-rw-r--r--support/texlab/crates/texlab/tests/lsp/workspace/snapshots/lsp__workspace__symbol__filter_bibtex.snap42
-rw-r--r--support/texlab/crates/texlab/tests/lsp/workspace/snapshots/lsp__workspace__symbol__filter_type_figure.snap24
-rw-r--r--support/texlab/crates/texlab/tests/lsp/workspace/snapshots/lsp__workspace__symbol__filter_type_item.snap60
-rw-r--r--support/texlab/crates/texlab/tests/lsp/workspace/snapshots/lsp__workspace__symbol__filter_type_math.snap42
-rw-r--r--support/texlab/crates/texlab/tests/lsp/workspace/snapshots/lsp__workspace__symbol__filter_type_section.snap78
-rw-r--r--support/texlab/crates/texlab/tests/lsp/workspace/snapshots/lsp__workspace__symbol__smoke.snap78
-rw-r--r--support/texlab/crates/texlab/tests/lsp/workspace/symbol.rs126
-rw-r--r--support/texlab/texlab.14
-rw-r--r--support/texlab/texlab.pdfbin26543 -> 26483 bytes
-rw-r--r--systems/win32/miktex/setup/deb/dists/bullseye/InRelease34
-rw-r--r--systems/win32/miktex/setup/deb/dists/bullseye/Release20
-rw-r--r--systems/win32/miktex/setup/deb/dists/bullseye/Release.gpg14
-rw-r--r--systems/win32/miktex/setup/deb/dists/bullseye/universe/binary-amd64/Packages21
-rw-r--r--systems/win32/miktex/setup/deb/dists/bullseye/universe/binary-amd64/Packages.bz2bin1608 -> 1877 bytes
-rw-r--r--systems/win32/miktex/setup/deb/dists/bullseye/universe/binary-amd64/Packages.gzbin1262 -> 1378 bytes
-rw-r--r--systems/win32/miktex/setup/deb/dists/focal/InRelease34
-rw-r--r--systems/win32/miktex/setup/deb/dists/focal/Release20
-rw-r--r--systems/win32/miktex/setup/deb/dists/focal/Release.gpg14
-rw-r--r--systems/win32/miktex/setup/deb/dists/focal/universe/binary-amd64/Packages22
-rw-r--r--systems/win32/miktex/setup/deb/dists/focal/universe/binary-amd64/Packages.bz2bin3047 -> 3282 bytes
-rw-r--r--systems/win32/miktex/setup/deb/dists/focal/universe/binary-amd64/Packages.gzbin2709 -> 2824 bytes
-rw-r--r--systems/win32/miktex/setup/deb/dists/jammy/InRelease34
-rw-r--r--systems/win32/miktex/setup/deb/dists/jammy/Release20
-rw-r--r--systems/win32/miktex/setup/deb/dists/jammy/Release.gpg14
-rw-r--r--systems/win32/miktex/setup/deb/dists/jammy/universe/binary-amd64/Packages21
-rw-r--r--systems/win32/miktex/setup/deb/dists/jammy/universe/binary-amd64/Packages.bz2bin1867 -> 1973 bytes
-rw-r--r--systems/win32/miktex/setup/deb/dists/jammy/universe/binary-amd64/Packages.gzbin1384 -> 1499 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/fedora/35/repodata/11b4513fd63c23a0ee172473b4e09ce13cd1d5c8981fb2e6ac1d4a8c4869d34f-primary.xml.gzbin3538 -> 0 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/fedora/35/repodata/13e8b8fdf9a10c0a96919cb65ed1b5f4ef2716fc17842cf983557d6655dd1ddf-other.xml.gzbin0 -> 650 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/fedora/35/repodata/540edea06ba8efb87631ad1fec4fa3d5cb253d6f47db59182530506a772224d5-other.sqlite.bz2bin0 -> 1382 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/fedora/35/repodata/5cd4f64240d2b915ee33e3adc7cdb68ef826b0ec8341f29afb2611936248d99c-filelists.sqlite.bz2bin39859 -> 0 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/fedora/35/repodata/6b30530ad5dde494bffca85b7c21e622ab273a343fe952f3bff04128f7d37875-filelists.sqlite.bz2bin0 -> 44470 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/fedora/35/repodata/758919a9fb067c55b8387b0a84d4ff37b2a3006ab54d87a15eb4ca52a222fc9c-primary.sqlite.bz2bin0 -> 34153 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/fedora/35/repodata/7a5607eedca1edc31e94af29a00ebac31d28bf417b0b55eacc3a12bb8077838a-other.xml.gzbin601 -> 0 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/fedora/35/repodata/bb2de283fd59675e422f67210428099ab5cdc4e637238f3ab7da8e78ebf87962-primary.xml.gzbin0 -> 3755 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/fedora/35/repodata/dbf95f7558533dff24020b9d14fc216b2872467819489dabd1c1175fee4470c6-filelists.xml.gz (renamed from systems/win32/miktex/setup/rpm/fedora/35/repodata/311935f4f2955b7ae33d22ac3f3d8e5c588fe5007f0c0fbd281859f5dd884e00-filelists.xml.gz)bin29638 -> 30645 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/fedora/35/repodata/dc183dd4b8f0e638515b104fd2a80b0c7c8f42e897e5a6c683fada49efc0f326-primary.sqlite.bz2bin30200 -> 0 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/fedora/35/repodata/df47d3864eedc017d24ed20a221d8788a7282af4c1ec3fee439f283f2af8d316-other.sqlite.bz2bin1282 -> 0 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/fedora/35/repodata/repomd.xml72
-rw-r--r--systems/win32/miktex/setup/rpm/fedora/35/repodata/repomd.xml.asc16
-rw-r--r--systems/win32/miktex/setup/rpm/fedora/36/repodata/10bc961ea8715a716e4ebad30b2eeb683640f33c1e392927405ffe6b0852856d-primary.sqlite.bz2bin21823 -> 0 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/fedora/36/repodata/13336fbf633f4e10794430628cc9707f93af626e52359aa9d80ddadece64c9da-primary.xml.gzbin3058 -> 0 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/fedora/36/repodata/1658bd180f4cb09a9920664a0fdd3534b7fbf8fab1f4bd86e0ba1df4e3318e76-other.sqlite.bz2bin1111 -> 0 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/fedora/36/repodata/49f2800e2b2426186a57ab5d8cf39d4d332eb735c23dfa3e642e700ab72d92dd-filelists.xml.gzbin17614 -> 0 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/fedora/36/repodata/4afdb650ab52361f0b6df660339390263026d1d3ea621d1a1d4c966221ec91b2-other.sqlite.bz2bin0 -> 1195 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/fedora/36/repodata/5e7659a859483de996c76f0d8884d09e901a000e5f624e3e3aa21109b0914d54-filelists.sqlite.bz2bin0 -> 32251 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/fedora/36/repodata/aedac3c2e523f0dad68b6a9db06cb477698017c0957cdcf4dcd6dfeef833eb66-other.xml.gzbin509 -> 0 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/fedora/36/repodata/b989520bd75b806148361e89d48b63556c7f74eb070e3f4ed759800b67419cb2-filelists.xml.gzbin0 -> 18643 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/fedora/36/repodata/d8f453f31b478b7db42cc98527fcc9cdf66964347b6f97059c4addffc54d9b91-other.xml.gzbin0 -> 557 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/fedora/36/repodata/e4cc168bd311cb0ae06d7e3c9cc2b97186446d3bdf7411d7ae03a43f588d1f03-primary.xml.gzbin0 -> 3285 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/fedora/36/repodata/f2ee192a4baa66631434f22f88c270172d877d441819391941ecaee292dbecc1-primary.sqlite.bz2bin0 -> 26076 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/fedora/36/repodata/f5f59ac9428e894d589bc69caa7eebfcc09529345db76b0c792f50953d681c21-filelists.sqlite.bz2bin27536 -> 0 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/fedora/36/repodata/repomd.xml72
-rw-r--r--systems/win32/miktex/setup/rpm/fedora/36/repodata/repomd.xml.asc16
-rw-r--r--systems/win32/miktex/setup/rpm/fedora/37/repodata/024a9a38b8dfafedbe5cdbd8ceff72a0643d105ce0959a04bebef981230dfa8d-filelists.xml.gzbin15814 -> 0 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/fedora/37/repodata/076b6225333f4b5b39219cdcfe176c86436a5df909e1d76981d0ed44aebbcef5-other.xml.gzbin456 -> 0 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/fedora/37/repodata/358b3cca6370ffa2956e5559dca06a4be3ec2dce3bb84946590a1e60e71184d0-primary.xml.gzbin0 -> 3044 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/fedora/37/repodata/6d63025f2e738b866fa633138b5f4db27f9994db6ce736e54fd3aeb88ee2c456-primary.sqlite.bz2bin0 -> 21752 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/fedora/37/repodata/7f86d1036320ef58f44df6018dcd4407147a11a4a04c964fe191a105d2375e67-primary.xml.gzbin2808 -> 0 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/fedora/37/repodata/8fd7940768cb81f896206f57a16245aace5f71a581beac509b35632fe3c56fdd-filelists.sqlite.bz2bin22118 -> 0 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/fedora/37/repodata/98435dda014ed76ca356de7fe7f353db442d7a125b92f634539b1717798f8ac2-primary.sqlite.bz2bin17511 -> 0 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/fedora/37/repodata/9d2b687617379b61dc1ce9cd1f2ddcc46368b07ca8be0d7bde7f911c2c6d91b2-other.sqlite.bz2bin0 -> 1110 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/fedora/37/repodata/b447d60ba53efb618c948122b7c9f4813f475ab3dde2a314664bfe09197a525f-other.xml.gzbin0 -> 504 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/fedora/37/repodata/bd72d5e59b46e1c80b1442ec0618d9fe1ab3021379c3a39351f97bb5d895fcaf-filelists.xml.gzbin0 -> 16846 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/fedora/37/repodata/c22d3c9c0dd8997d392d38e55d40659d6310d8ec4dc7bc55176ae7571c39b506-other.sqlite.bz2bin1012 -> 0 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/fedora/37/repodata/e815a622e789a39444ff63aedc6701b7c954a994e75b27bc02f1a2cbca68c526-filelists.sqlite.bz2bin0 -> 26738 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/fedora/37/repodata/repomd.xml72
-rw-r--r--systems/win32/miktex/setup/rpm/fedora/37/repodata/repomd.xml.asc16
-rw-r--r--systems/win32/miktex/setup/rpm/opensuse/15/repodata/0dde4d25f81e9a66d49f901e43ad3e7a47ed8289c99c68cbdfdc97ba141a9325-filelists.xml.gzbin5354 -> 0 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/opensuse/15/repodata/406282d7aa5704f8c5c983b94bdedd408ab0ed2da86f70620d79fcceafc4661a-filelists.sqlite.bz2bin0 -> 13253 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/opensuse/15/repodata/5da9c702e314e0cac095003df5254322d1eec3ded0f145fbc6483cdc7defe9c5-other.xml.gzbin1242 -> 0 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/opensuse/15/repodata/7aa4640f0438851b554c5f3ed28d7532cfe82444ed38f71b189bee8d67560382-primary.sqlite.bz2bin0 -> 77325 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/opensuse/15/repodata/7ec03944fa9b8d2b1690005cbeb453783ae2ad37724da26991724e2d77296b25-other.sqlite.bz2bin2402 -> 0 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/opensuse/15/repodata/7f2e1a9132c7dc3dcddf8d4654939a913faceb4ac9477a903bd43c9fb9292ba1-primary.sqlite.bz2bin73782 -> 0 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/opensuse/15/repodata/82da23c7becef35edae2c1d2af9dec00117fac98bc3c1b642476e11b02341fee-other.xml.gzbin0 -> 1289 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/opensuse/15/repodata/9db1dc1b96e5b7698b42a8c24b7b0109884dd00d3d7993a596d59b0436a1f056-filelists.sqlite.bz2bin12964 -> 0 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/opensuse/15/repodata/9e15cc16418a2deea995073941a48de80a37c987368a765ece2036e77808422d-filelists.xml.gzbin0 -> 5494 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/opensuse/15/repodata/aa0a506bfa79d8a665785f3e61faf5abac0c1609e4291a7cfc89fa5222d7b9d5-other.sqlite.bz2bin0 -> 2517 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/opensuse/15/repodata/e6a7f41ebfbc8e2d18b1e7c06cc145f0319f8a5fcd65bf8a8339ff58ff997c7b-primary.xml.gzbin0 -> 6958 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/opensuse/15/repodata/f1227ef18fbd0e2ead7dd7b7b74b640ea3eeb324f0788c2a8b373037dcfae80c-primary.xml.gzbin6756 -> 0 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/opensuse/15/repodata/repomd.xml72
-rw-r--r--systems/win32/miktex/setup/rpm/opensuse/15/repodata/repomd.xml.asc16
-rw-r--r--systems/win32/miktex/source/CHANGELOG.md7
-rw-r--r--timestamp2
201 files changed, 6336 insertions, 4848 deletions
diff --git a/FILES.byname b/FILES.byname
index a99603fb12..9a7771df63 100644
--- a/FILES.byname
+++ b/FILES.byname
@@ -2056,12 +2056,12 @@
2023/04/13 | 1675 | biblio/citation-style-language/README.md
2023/04/13 | 11957 | biblio/citation-style-language/vancouver.csl
2023/04/13 | 4516625 | biblio/citation-style-language.zip
-2023/05/05 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2023/05/06 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
2022/10/08 | 127 | biblio/ctan-bibdata/biblatex-ctan/ctan.cbx
-2023/05/05 | 2780800 | biblio/ctan-bibdata/ctan.bib
-2023/05/05 | 3666520 | biblio/ctan-bibdata/ctan.pdf
+2023/05/06 | 2780809 | biblio/ctan-bibdata/ctan.bib
+2023/05/06 | 3667139 | biblio/ctan-bibdata/ctan.pdf
2023/01/16 | 1489 | biblio/ctan-bibdata/README
-2023/05/05 | 4064177 | biblio/ctan-bibdata.zip
+2023/05/06 | 4064570 | biblio/ctan-bibdata.zip
2023/02/23 | 3126 | biblio/pbibtex/pbibtex-base/cpp.awk
2023/02/23 | 1009 | biblio/pbibtex/pbibtex-base/generate.sh
2023/02/23 | 22362 | biblio/pbibtex/pbibtex-base/jabbrv.bst
@@ -5417,7 +5417,7 @@
1990/10/02 | 5440 | dviware/vutex/vaxvms.hlp
1990/10/02 | 812 | dviware/vutex/vaxvms.ins
1990/10/02 | 127576 | dviware/vutex/vutex.web
-2023/05/05 | 57682 | FILES.last07days
+2023/05/06 | 82057 | FILES.last07days
2021/07/24 | 1139410 | fonts/aboensis/Aboensis.glyphs
2021/07/24 | 18907382 | fonts/aboensis/aboensis.pdf
2021/07/24 | 137860 | fonts/aboensis/Aboensis-Regular.otf
@@ -202066,7 +202066,7 @@
2013/04/01 | 14776 | macros/context/contrib/context-visualcounter/tex/context/third/visualcounter/t-visualcounter.mkvi
2018/03/05 | 11 | macros/context/contrib/context-visualcounter/VERSION
2018/03/22 | 276789 | macros/context/contrib/context-visualcounter.zip
-2023/04/27 | 114269325 | macros/context/latest/cont-tmf.zip
+2023/05/05 | 114657691 | macros/context/latest/cont-tmf.zip
2016/04/21 | 32846 | macros/cstex/base/cmexb.tar.gz
2016/06/26 | 1728262 | macros/cstex/base/csfonts-t1.tar.gz
2007/03/01 | 187106 | macros/cstex/base/csfonts.tar.gz
@@ -211915,12 +211915,12 @@
2020/07/29 | 2377 | macros/latex/contrib/annee-scolaire/MANIFEST.md
2020/07/29 | 986 | macros/latex/contrib/annee-scolaire/README.md
2020/07/29 | 1372816 | macros/latex/contrib/annee-scolaire.zip
-2023/05/05 | 151252 | macros/latex/contrib/annotate-equations/annotate-equations.pdf
-2023/05/05 | 7721 | macros/latex/contrib/annotate-equations/annotate-equations.sty
-2023/05/05 | 13873 | macros/latex/contrib/annotate-equations/annotate-equations.tex
+2023/05/06 | 151073 | macros/latex/contrib/annotate-equations/annotate-equations.pdf
+2023/05/06 | 7931 | macros/latex/contrib/annotate-equations/annotate-equations.sty
+2023/05/06 | 13792 | macros/latex/contrib/annotate-equations/annotate-equations.tex
2022/03/29 | 1090 | macros/latex/contrib/annotate-equations/LICENSE
2022/11/22 | 3236 | macros/latex/contrib/annotate-equations/README.md
-2023/05/05 | 155530 | macros/latex/contrib/annotate-equations.zip
+2023/05/06 | 155399 | macros/latex/contrib/annotate-equations.zip
2018/08/23 | 66355 | macros/latex/contrib/annot_pro/annot_pro.dtx
2018/04/26 | 2148 | macros/latex/contrib/annot_pro/annot_pro.ins
2018/08/25 | 635808 | macros/latex/contrib/annot_pro/doc/annotpro_man.pdf
@@ -237167,12 +237167,12 @@
2004/11/06 | 1611 | macros/latex/contrib/srcltx/srcltx.ins
2006/12/06 | 130115 | macros/latex/contrib/srcltx/srcltx.pdf
2006/12/07 | 120683 | macros/latex/contrib/srcltx.zip
-2023/05/01 | 986 | macros/latex/contrib/srdp-mathematik/README.md
-2023/05/01 | 181160 | macros/latex/contrib/srdp-mathematik/srdp-mathematik.pdf
-2023/05/01 | 81016 | macros/latex/contrib/srdp-mathematik/srdp-mathematik.sty
-2023/05/01 | 48704 | macros/latex/contrib/srdp-mathematik/srdp-mathematik.tex
-2021/12/25 | 112313 | macros/latex/contrib/srdp-mathematik/srdp-tables.sty
-2023/05/01 | 192273 | macros/latex/contrib/srdp-mathematik.zip
+2023/05/06 | 986 | macros/latex/contrib/srdp-mathematik/README.md
+2023/05/06 | 181023 | macros/latex/contrib/srdp-mathematik/srdp-mathematik.pdf
+2023/05/06 | 81033 | macros/latex/contrib/srdp-mathematik/srdp-mathematik.sty
+2023/05/06 | 48704 | macros/latex/contrib/srdp-mathematik/srdp-mathematik.tex
+2021/11/09 | 112313 | macros/latex/contrib/srdp-mathematik/srdp-tables.sty
+2023/05/06 | 192148 | macros/latex/contrib/srdp-mathematik.zip
2013/09/06 | 64496 | macros/latex/contrib/sseq/sseq.dtx
2009/04/10 | 112 | macros/latex/contrib/sseq/sseq.ins
2013/09/06 | 215050 | macros/latex/contrib/sseq/sseq.pdf
@@ -245368,6 +245368,11 @@
2020/09/08 | 1389 | macros/luatex/latex/stricttex/stricttex.sty
2020/09/08 | 4505 | macros/luatex/latex/stricttex/stricttex.tex
2020/09/08 | 59039 | macros/luatex/latex/stricttex.zip
+2023/05/06 | 130436 | macros/luatex/latex/sympycalc/doc/SympyCalc-doc.pdf
+2023/05/06 | 29590 | macros/luatex/latex/sympycalc/doc/SympyCalc-doc.tex
+2023/05/06 | 465 | macros/luatex/latex/sympycalc/README.md
+2023/05/06 | 8619 | macros/luatex/latex/sympycalc/tex/SympyCalc.sty
+2023/05/06 | 132182 | macros/luatex/latex/sympycalc.zip
2021/10/08 | 1126 | macros/luatex/latex/truthtable/README.md
2021/10/08 | 352 | macros/luatex/latex/truthtable/res/exampletableoutput.tex
2021/10/08 | 358 | macros/luatex/latex/truthtable/res/exampletable.tex
@@ -285277,556 +285282,563 @@
1994/01/18 | 7272 | support/tex-it/texitrc.unx
1994/01/18 | 25068 | support/tex-it/texit.tex
2006/03/12 | 50172 | support/tex-it.zip
-2023/04/16 | 50199 | support/texlab/Cargo.lock
-2023/04/16 | 332 | support/texlab/Cargo.toml
-2023/04/16 | 27974 | support/texlab/CHANGELOG.md
-2023/04/16 | 181 | support/texlab/CONTRIBUTING.md
-2023/04/16 | 463 | support/texlab/crates/base-db/Cargo.toml
-2023/04/16 | 3734 | support/texlab/crates/base-db/src/config.rs
-2023/04/16 | 1955 | support/texlab/crates/base-db/src/diagnostics/bib.rs
-2023/04/16 | 2201 | support/texlab/crates/base-db/src/diagnostics/log.rs
-2023/04/16 | 430 | support/texlab/crates/base-db/src/diagnostics.rs
-2023/04/16 | 3546 | support/texlab/crates/base-db/src/diagnostics/tex.rs
-2023/04/16 | 4787 | support/texlab/crates/base-db/src/document.rs
-2023/04/16 | 5020 | support/texlab/crates/base-db/src/graph.rs
-2023/04/16 | 182 | support/texlab/crates/base-db/src/lib.rs
-2023/04/16 | 6484 | support/texlab/crates/base-db/src/line_index.rs
-2023/04/16 | 1170 | support/texlab/crates/base-db/src/semantics/auxiliary.rs
-2023/04/16 | 364 | support/texlab/crates/base-db/src/semantics.rs
-2023/04/16 | 9563 | support/texlab/crates/base-db/src/semantics/tex.rs
-2023/04/16 | 8868 | support/texlab/crates/base-db/src/workspace.rs
-2023/04/16 | 229 | support/texlab/crates/base-feature/Cargo.toml
-2023/04/16 | 101 | support/texlab/crates/base-feature/src/lib.rs
-2023/04/16 | 1391 | support/texlab/crates/base-feature/src/normalize_uri.rs
-2023/04/16 | 1584 | support/texlab/crates/base-feature/src/placeholders.rs
-2023/04/16 | 538 | support/texlab/crates/citeproc/Cargo.toml
-2023/04/16 | 22210 | support/texlab/crates/citeproc/src/driver.rs
-2023/04/16 | 4724 | support/texlab/crates/citeproc/src/entry.rs
-2023/04/16 | 2074 | support/texlab/crates/citeproc/src/field/author.rs
-2023/04/16 | 2665 | support/texlab/crates/citeproc/src/field/date.rs
-2023/04/16 | 1626 | support/texlab/crates/citeproc/src/field/number.rs
-2023/04/16 | 60 | support/texlab/crates/citeproc/src/field.rs
-2023/04/16 | 8955 | support/texlab/crates/citeproc/src/field/text.rs
-2023/04/16 | 890 | support/texlab/crates/citeproc/src/lib.rs
-2023/04/16 | 1760 | support/texlab/crates/citeproc/src/output.rs
-2023/04/16 | 1052 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__article_aksin_2006.snap
-2023/04/16 | 788 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__article_betram_1996.snap
-2023/04/16 | 1317 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__article_blom_2021.snap
-2023/04/16 | 1050 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__article_jain_1999.snap
-2023/04/16 | 1301 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__article_kastenholz_2006.snap
-2023/04/16 | 976 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__article_rivest_1978.snap
-2023/04/16 | 572 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__book_aho_2006.snap
-2023/04/16 | 1398 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__book_averroes_1998.snap
-2023/04/16 | 1210 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__book_knuth_1984.snap
-2023/04/16 | 707 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__collection_matuz_1990.snap
-2023/04/16 | 1163 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__inproceedings_combi_2004.snap
-2023/04/16 | 1038 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__inproceedings_erwin_2007.snap
-2023/04/16 | 1415 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__mvbook_nietzsche_1988.snap
-2023/04/16 | 954 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__patent_almendro_1998.snap
-2023/04/16 | 11868 | support/texlab/crates/citeproc/src/tests.rs
-2023/04/16 | 471 | support/texlab/crates/commands/Cargo.toml
-2023/04/16 | 2798 | support/texlab/crates/commands/src/build.rs
-2023/04/16 | 987 | support/texlab/crates/commands/src/change_env.rs
-2023/04/16 | 1550 | support/texlab/crates/commands/src/clean.rs
-2023/04/16 | 1590 | support/texlab/crates/commands/src/dep_graph.rs
-2023/04/16 | 3045 | support/texlab/crates/commands/src/fwd_search.rs
-2023/04/16 | 322 | support/texlab/crates/commands/src/lib.rs
-2023/04/16 | 227 | support/texlab/crates/distro/Cargo.toml
-2023/04/16 | 1812 | support/texlab/crates/distro/src/file_name_db.rs
-2023/04/16 | 710 | support/texlab/crates/distro/src/kpsewhich.rs
-2023/04/16 | 1124 | support/texlab/crates/distro/src/language.rs
-2023/04/16 | 1997 | support/texlab/crates/distro/src/lib.rs
-2023/04/16 | 2467 | support/texlab/crates/distro/src/miktex.rs
-2023/04/16 | 820 | support/texlab/crates/distro/src/texlive.rs
-2023/04/16 | 407 | support/texlab/crates/parser/Cargo.toml
-2023/04/16 | 11420 | support/texlab/crates/parser/src/bibtex.rs
-2023/04/16 | 5684 | support/texlab/crates/parser/src/build_log.rs
-2023/04/16 | 2978 | support/texlab/crates/parser/src/config.rs
-2023/04/16 | 5284 | support/texlab/crates/parser/src/latex/lexer/commands.rs
-2023/04/16 | 1995 | support/texlab/crates/parser/src/latex/lexer.rs
-2023/04/16 | 2552 | support/texlab/crates/parser/src/latex/lexer/types.rs
-2023/04/16 | 32747 | support/texlab/crates/parser/src/latex.rs
-2023/04/16 | 148 | support/texlab/crates/parser/src/lib.rs
-2023/04/16 | 234 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@comment.txt.snap
-2023/04/16 | 761 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@issue_809.txt.snap
-2023/04/16 | 373 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@preamble.txt.snap
-2023/04/16 | 3667 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__aho_2006.txt.snap
-2023/04/16 | 7531 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__aksin_2006.txt.snap
-2023/04/16 | 7322 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__almendro_1998.txt.snap
-2023/04/16 | 10380 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__averroes_1998.txt.snap
-2023/04/16 | 5864 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__betram_1996.txt.snap
-2023/04/16 | 6644 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__blom_2021.txt.snap
-2023/04/16 | 7157 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__combi_2004.txt.snap
-2023/04/16 | 6836 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__erwin_2007.txt.snap
-2023/04/16 | 7528 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__jain_1999.txt.snap
-2023/04/16 | 8868 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__kastenholz_2006.txt.snap
-2023/04/16 | 9479 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__knuth_1984.txt.snap
-2023/04/16 | 5060 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__matuz_1990.txt.snap
-2023/04/16 | 11015 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__nietzsche_1998.txt.snap
-2023/04/16 | 6472 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__rivest_1978.txt.snap
-2023/04/16 | 716 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@001.txt.snap
-2023/04/16 | 448 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@002.txt.snap
-2023/04/16 | 673 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@003.txt.snap
-2023/04/16 | 975 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@004.txt.snap
-2023/04/16 | 953 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@005.txt.snap
-2023/04/16 | 1672 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@006.txt.snap
-2023/04/16 | 464 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@007.txt.snap
-2023/04/16 | 746 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@block_comments.txt.snap
-2023/04/16 | 626 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@caption__caption_default_error.txt.snap
-2023/04/16 | 647 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@caption__caption_default.txt.snap
-2023/04/16 | 772 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@caption__caption_figure.txt.snap
-2023/04/16 | 499 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@caption__caption_minimal_error.txt.snap
-2023/04/16 | 520 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@caption__caption_minimal.txt.snap
-2023/04/16 | 295 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_empty.txt.snap
-2023/04/16 | 321 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_missing_brace.txt.snap
-2023/04/16 | 453 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_multiple_keys.txt.snap
-2023/04/16 | 608 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_prenote_postnote.txt.snap
-2023/04/16 | 472 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_prenote.txt.snap
-2023/04/16 | 404 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_redundant_comma.txt.snap
-2023/04/16 | 344 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_simple.txt.snap
-2023/04/16 | 342 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_star.txt.snap
-2023/04/16 | 734 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_definition_simple.txt.snap
-2023/04/16 | 356 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_reference_simple.txt.snap
-2023/04/16 | 849 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_set_definition_error1.txt.snap
-2023/04/16 | 588 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_set_definition_error2.txt.snap
-2023/04/16 | 457 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_set_definition_error3.txt.snap
-2023/04/16 | 248 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_set_definition_error4.txt.snap
-2023/04/16 | 980 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_set_definition_simple.txt.snap
-2023/04/16 | 504 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__command_definition_no_argc.txt.snap
-2023/04/16 | 356 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__command_definition_no_impl_error.txt.snap
-2023/04/16 | 377 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__command_definition_no_impl.txt.snap
-2023/04/16 | 760 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__command_definition_optional.txt.snap
-2023/04/16 | 645 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__command_definition_simple.txt.snap
-2023/04/16 | 1177 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__command_definition_with_begin.txt.snap
-2023/04/16 | 376 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__math_operator_no_impl.txt.snap
-2023/04/16 | 502 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__math_operator_simple.txt.snap
-2023/04/16 | 1074 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@environment__environment_asymptote.txt.snap
-2023/04/16 | 911 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@environment__environment_definition_optional_arg.txt.snap
-2023/04/16 | 1103 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@environment__environment_definition.txt.snap
-2023/04/16 | 1191 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@environment__environment_nested_missing_braces.txt.snap
-2023/04/16 | 1121 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@environment__environment_nested.txt.snap
-2023/04/16 | 742 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@environment__environment_simple.txt.snap
-2023/04/16 | 814 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@equation_missing_begin.txt.snap
-2023/04/16 | 379 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@equation.txt.snap
-2023/04/16 | 460 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@generic_command_args.txt.snap
-2023/04/16 | 216 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@generic_command_empty.txt.snap
-2023/04/16 | 215 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@generic_command_escape.txt.snap
-2023/04/16 | 1464 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__acronym_declaration.txt.snap
-2023/04/16 | 1359 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__acronym_definition_options.txt.snap
-2023/04/16 | 758 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__acronym_definition_simple.txt.snap
-2023/04/16 | 760 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__acronym_package.txt.snap
-2023/04/16 | 815 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__acronym_reference_options.txt.snap
-2023/04/16 | 372 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__acronym_reference_simple.txt.snap
-2023/04/16 | 965 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__glossary_entry_definition_simple.txt.snap
-2023/04/16 | 911 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__glossary_entry_reference_options.txt.snap
-2023/04/16 | 365 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__glossary_entry_reference_simple.txt.snap
-2023/04/16 | 624 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@graphics_path_command.txt.snap
-2023/04/16 | 552 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@graphics_path_options.txt.snap
-2023/04/16 | 447 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@graphics_path.txt.snap
-2023/04/16 | 312 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@group__curly_group_missing_end.txt.snap
-2023/04/16 | 332 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@group__curly_group_simple.txt.snap
-2023/04/16 | 821 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@group__equation_missing_end.txt.snap
-2023/04/16 | 384 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@group__escaped_brackets.txt.snap
-2023/04/16 | 242 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@group__unmatched_braces.txt.snap
-2023/04/16 | 244 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@group__unmatched_brackets.txt.snap
-2023/04/16 | 330 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@group__unmatched_brackets_with_group.txt.snap
-2023/04/16 | 242 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@hello_world.txt.snap
-2023/04/16 | 861 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__biblatex_include_options.txt.snap
-2023/04/16 | 386 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__biblatex_include_simple.txt.snap
-2023/04/16 | 376 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__bibtex_include_simple.txt.snap
-2023/04/16 | 323 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__class_include_empty.txt.snap
-2023/04/16 | 1066 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__class_include_options.txt.snap
-2023/04/16 | 375 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__class_include_simple.txt.snap
-2023/04/16 | 900 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__graphics_include_command.txt.snap
-2023/04/16 | 762 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__graphics_include_complicated_options.txt.snap
-2023/04/16 | 717 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__graphics_include_options.txt.snap
-2023/04/16 | 387 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__graphics_include_simple.txt.snap
-2023/04/16 | 316 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__import_incomplete.txt.snap
-2023/04/16 | 470 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__import_simple.txt.snap
-2023/04/16 | 703 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__inkscape_include_options.txt.snap
-2023/04/16 | 373 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__inkscape_include_simple.txt.snap
-2023/04/16 | 429 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__latex_include_equality_sign.txt.snap
-2023/04/16 | 363 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__latex_include_simple.txt.snap
-2023/04/16 | 477 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__latex_input_path_brackets.txt.snap
-2023/04/16 | 324 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__package_include_empty.txt.snap
-2023/04/16 | 483 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__package_include_multiple.txt.snap
-2023/04/16 | 1067 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__package_include_options.txt.snap
-2023/04/16 | 376 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__package_include_simple.txt.snap
-2023/04/16 | 382 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__pgf_library_import_simple.txt.snap
-2023/04/16 | 702 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__svg_include_options.txt.snap
-2023/04/16 | 372 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__svg_include_simple.txt.snap
-2023/04/16 | 384 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__tikz_library_import_simple.txt.snap
-2023/04/16 | 385 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__verbatim_include_simple.txt.snap
-2023/04/16 | 649 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@inline_double_dollar.txt.snap
-2023/04/16 | 631 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@inline.txt.snap
-2023/04/16 | 4300 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_745.txt.snap
-2023/04/16 | 347 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_789.txt.snap
-2023/04/16 | 1791 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_853.txt.snap
-2023/04/16 | 904 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_857.txt.snap
-2023/04/16 | 745 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_874.txt.snap
-2023/04/16 | 452 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_definition_line_break.txt.snap
-2023/04/16 | 356 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_definition_simple.txt.snap
-2023/04/16 | 563 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_number.txt.snap
-2023/04/16 | 361 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_equation.txt.snap
-2023/04/16 | 825 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_incomplete.txt.snap
-2023/04/16 | 456 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_multiple.txt.snap
-2023/04/16 | 479 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_range_error.txt.snap
-2023/04/16 | 380 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_range_incomplete.txt.snap
-2023/04/16 | 507 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_range_simple.txt.snap
-2023/04/16 | 349 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_simple.txt.snap
-2023/04/16 | 187 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@parameter_error.txt.snap
-2023/04/16 | 182 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@parameter.txt.snap
-2023/04/16 | 1260 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@structure__structure_enum_item.txt.snap
-2023/04/16 | 565 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@structure__structure_invalid_nesting.txt.snap
-2023/04/16 | 1745 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@structure__structure_nested.txt.snap
-2023/04/16 | 706 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@structure__structure_siblings.txt.snap
-2023/04/16 | 771 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_full.txt.snap
-2023/04/16 | 526 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_name_with_counter.txt.snap
-2023/04/16 | 669 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_name_with_description_and_counter.txt.snap
-2023/04/16 | 526 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_name_with_description.txt.snap
-2023/04/16 | 387 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_only_name.txt.snap
-2023/04/16 | 82 | support/texlab/crates/parser/src/test_data/bibtex/comment.txt
-2023/04/16 | 50 | support/texlab/crates/parser/src/test_data/bibtex/issue_809.txt
-2023/04/16 | 25 | support/texlab/crates/parser/src/test_data/bibtex/preamble.txt
-2023/04/16 | 314 | support/texlab/crates/parser/src/test_data/bibtex/samples/aho_2006.txt
-2023/04/16 | 679 | support/texlab/crates/parser/src/test_data/bibtex/samples/aksin_2006.txt
-2023/04/16 | 706 | support/texlab/crates/parser/src/test_data/bibtex/samples/almendro_1998.txt
-2023/04/16 | 1008 | support/texlab/crates/parser/src/test_data/bibtex/samples/averroes_1998.txt
-2023/04/16 | 556 | support/texlab/crates/parser/src/test_data/bibtex/samples/betram_1996.txt
-2023/04/16 | 860 | support/texlab/crates/parser/src/test_data/bibtex/samples/blom_2021.txt
-2023/04/16 | 674 | support/texlab/crates/parser/src/test_data/bibtex/samples/combi_2004.txt
-2023/04/16 | 615 | support/texlab/crates/parser/src/test_data/bibtex/samples/erwin_2007.txt
-2023/04/16 | 674 | support/texlab/crates/parser/src/test_data/bibtex/samples/jain_1999.txt
-2023/04/16 | 898 | support/texlab/crates/parser/src/test_data/bibtex/samples/kastenholz_2006.txt
-2023/04/16 | 993 | support/texlab/crates/parser/src/test_data/bibtex/samples/knuth_1984.txt
-2023/04/16 | 517 | support/texlab/crates/parser/src/test_data/bibtex/samples/matuz_1990.txt
-2023/04/16 | 1112 | support/texlab/crates/parser/src/test_data/bibtex/samples/nietzsche_1998.txt
-2023/04/16 | 557 | support/texlab/crates/parser/src/test_data/bibtex/samples/rivest_1978.txt
-2023/04/16 | 3194 | support/texlab/crates/parser/src/test_data/build_log/001.txt
-2023/04/16 | 2455 | support/texlab/crates/parser/src/test_data/build_log/002.txt
-2023/04/16 | 2515 | support/texlab/crates/parser/src/test_data/build_log/003.txt
-2023/04/16 | 3057 | support/texlab/crates/parser/src/test_data/build_log/004.txt
-2023/04/16 | 13353 | support/texlab/crates/parser/src/test_data/build_log/005.txt
-2023/04/16 | 4130 | support/texlab/crates/parser/src/test_data/build_log/006.txt
-2023/04/16 | 7762 | support/texlab/crates/parser/src/test_data/build_log/007.txt
-2023/04/16 | 48 | support/texlab/crates/parser/src/test_data/latex/block_comments.txt
-2023/04/16 | 26 | support/texlab/crates/parser/src/test_data/latex/caption/caption_default_error.txt
-2023/04/16 | 27 | support/texlab/crates/parser/src/test_data/latex/caption/caption_default.txt
-2023/04/16 | 39 | support/texlab/crates/parser/src/test_data/latex/caption/caption_figure.txt
-2023/04/16 | 21 | support/texlab/crates/parser/src/test_data/latex/caption/caption_minimal_error.txt
-2023/04/16 | 22 | support/texlab/crates/parser/src/test_data/latex/caption/caption_minimal.txt
-2023/04/16 | 7 | support/texlab/crates/parser/src/test_data/latex/citation/citation_empty.txt
-2023/04/16 | 9 | support/texlab/crates/parser/src/test_data/latex/citation/citation_missing_brace.txt
-2023/04/16 | 15 | support/texlab/crates/parser/src/test_data/latex/citation/citation_multiple_keys.txt
-2023/04/16 | 20 | support/texlab/crates/parser/src/test_data/latex/citation/citation_prenote_postnote.txt
-2023/04/16 | 15 | support/texlab/crates/parser/src/test_data/latex/citation/citation_prenote.txt
-2023/04/16 | 12 | support/texlab/crates/parser/src/test_data/latex/citation/citation_redundant_comma.txt
-2023/04/16 | 10 | support/texlab/crates/parser/src/test_data/latex/citation/citation_simple.txt
-2023/04/16 | 10 | support/texlab/crates/parser/src/test_data/latex/citation/citation_star.txt
-2023/04/16 | 33 | support/texlab/crates/parser/src/test_data/latex/color/color_definition_simple.txt
-2023/04/16 | 13 | support/texlab/crates/parser/src/test_data/latex/color/color_reference_simple.txt
-2023/04/16 | 39 | support/texlab/crates/parser/src/test_data/latex/color/color_set_definition_error1.txt
-2023/04/16 | 30 | support/texlab/crates/parser/src/test_data/latex/color/color_set_definition_error2.txt
-2023/04/16 | 25 | support/texlab/crates/parser/src/test_data/latex/color/color_set_definition_error3.txt
-2023/04/16 | 15 | support/texlab/crates/parser/src/test_data/latex/color/color_set_definition_error4.txt
-2023/04/16 | 44 | support/texlab/crates/parser/src/test_data/latex/color/color_set_definition_simple.txt
-2023/04/16 | 22 | support/texlab/crates/parser/src/test_data/latex/command_definition/command_definition_no_argc.txt
-2023/04/16 | 16 | support/texlab/crates/parser/src/test_data/latex/command_definition/command_definition_no_impl_error.txt
-2023/04/16 | 17 | support/texlab/crates/parser/src/test_data/latex/command_definition/command_definition_no_impl.txt
-2023/04/16 | 29 | support/texlab/crates/parser/src/test_data/latex/command_definition/command_definition_optional.txt
-2023/04/16 | 23 | support/texlab/crates/parser/src/test_data/latex/command_definition/command_definition_simple.txt
-2023/04/16 | 80 | support/texlab/crates/parser/src/test_data/latex/command_definition/command_definition_with_begin.txt
-2023/04/16 | 26 | support/texlab/crates/parser/src/test_data/latex/command_definition/math_operator_no_impl.txt
-2023/04/16 | 31 | support/texlab/crates/parser/src/test_data/latex/command_definition/math_operator_simple.txt
-2023/04/16 | 50 | support/texlab/crates/parser/src/test_data/latex/environment/environment_asymptote.txt
-2023/04/16 | 44 | support/texlab/crates/parser/src/test_data/latex/environment/environment_definition_optional_arg.txt
-2023/04/16 | 47 | support/texlab/crates/parser/src/test_data/latex/environment/environment_definition.txt
-2023/04/16 | 52 | support/texlab/crates/parser/src/test_data/latex/environment/environment_nested_missing_braces.txt
-2023/04/16 | 43 | support/texlab/crates/parser/src/test_data/latex/environment/environment_nested.txt
-2023/04/16 | 33 | support/texlab/crates/parser/src/test_data/latex/environment/environment_simple.txt
-2023/04/16 | 28 | support/texlab/crates/parser/src/test_data/latex/equation_missing_begin.txt
-2023/04/16 | 13 | support/texlab/crates/parser/src/test_data/latex/equation.txt
-2023/04/16 | 14 | support/texlab/crates/parser/src/test_data/latex/generic_command_args.txt
-2023/04/16 | 4 | support/texlab/crates/parser/src/test_data/latex/generic_command_empty.txt
-2023/04/16 | 2 | support/texlab/crates/parser/src/test_data/latex/generic_command_escape.txt
-2023/04/16 | 64 | support/texlab/crates/parser/src/test_data/latex/glossary/acronym_declaration.txt
-2023/04/16 | 76 | support/texlab/crates/parser/src/test_data/latex/glossary/acronym_definition_options.txt
-2023/04/16 | 44 | support/texlab/crates/parser/src/test_data/latex/glossary/acronym_definition_simple.txt
-2023/04/16 | 35 | support/texlab/crates/parser/src/test_data/latex/glossary/acronym_package.txt
-2023/04/16 | 32 | support/texlab/crates/parser/src/test_data/latex/glossary/acronym_reference_options.txt
-2023/04/16 | 19 | support/texlab/crates/parser/src/test_data/latex/glossary/acronym_reference_simple.txt
-2023/04/16 | 39 | support/texlab/crates/parser/src/test_data/latex/glossary/glossary_entry_definition_simple.txt
-2023/04/16 | 25 | support/texlab/crates/parser/src/test_data/latex/glossary/glossary_entry_reference_options.txt
-2023/04/16 | 9 | support/texlab/crates/parser/src/test_data/latex/glossary/glossary_entry_reference_simple.txt
-2023/04/16 | 32 | support/texlab/crates/parser/src/test_data/latex/graphics_path_command.txt
-2023/04/16 | 33 | support/texlab/crates/parser/src/test_data/latex/graphics_path_options.txt
-2023/04/16 | 28 | support/texlab/crates/parser/src/test_data/latex/graphics_path.txt
-2023/04/16 | 12 | support/texlab/crates/parser/src/test_data/latex/group/curly_group_missing_end.txt
-2023/04/16 | 13 | support/texlab/crates/parser/src/test_data/latex/group/curly_group_simple.txt
-2023/04/16 | 28 | support/texlab/crates/parser/src/test_data/latex/group/equation_missing_end.txt
-2023/04/16 | 6 | support/texlab/crates/parser/src/test_data/latex/group/escaped_brackets.txt
-2023/04/16 | 2 | support/texlab/crates/parser/src/test_data/latex/group/unmatched_braces.txt
-2023/04/16 | 2 | support/texlab/crates/parser/src/test_data/latex/group/unmatched_brackets.txt
-2023/04/16 | 4 | support/texlab/crates/parser/src/test_data/latex/group/unmatched_brackets_with_group.txt
-2023/04/16 | 12 | support/texlab/crates/parser/src/test_data/latex/hello_world.txt
-2023/04/16 | 42 | support/texlab/crates/parser/src/test_data/latex/include/biblatex_include_options.txt
-2023/04/16 | 28 | support/texlab/crates/parser/src/test_data/latex/include/biblatex_include_simple.txt
-2023/04/16 | 22 | support/texlab/crates/parser/src/test_data/latex/include/bibtex_include_simple.txt
-2023/04/16 | 16 | support/texlab/crates/parser/src/test_data/latex/include/class_include_empty.txt
-2023/04/16 | 44 | support/texlab/crates/parser/src/test_data/latex/include/class_include_options.txt
-2023/04/16 | 23 | support/texlab/crates/parser/src/test_data/latex/include/class_include_simple.txt
-2023/04/16 | 52 | support/texlab/crates/parser/src/test_data/latex/include/graphics_include_command.txt
-2023/04/16 | 39 | support/texlab/crates/parser/src/test_data/latex/include/graphics_include_complicated_options.txt
-2023/04/16 | 39 | support/texlab/crates/parser/src/test_data/latex/include/graphics_include_options.txt
-2023/04/16 | 29 | support/texlab/crates/parser/src/test_data/latex/include/graphics_include_simple.txt
-2023/04/16 | 11 | support/texlab/crates/parser/src/test_data/latex/include/import_incomplete.txt
-2023/04/16 | 17 | support/texlab/crates/parser/src/test_data/latex/include/import_simple.txt
-2023/04/16 | 30 | support/texlab/crates/parser/src/test_data/latex/include/inkscape_include_options.txt
-2023/04/16 | 20 | support/texlab/crates/parser/src/test_data/latex/include/inkscape_include_simple.txt
-2023/04/16 | 17 | support/texlab/crates/parser/src/test_data/latex/include/latex_include_equality_sign.txt
-2023/04/16 | 17 | support/texlab/crates/parser/src/test_data/latex/include/latex_include_simple.txt
-2023/04/16 | 20 | support/texlab/crates/parser/src/test_data/latex/include/latex_input_path_brackets.txt
-2023/04/16 | 13 | support/texlab/crates/parser/src/test_data/latex/include/package_include_empty.txt
-2023/04/16 | 28 | support/texlab/crates/parser/src/test_data/latex/include/package_include_multiple.txt
-2023/04/16 | 41 | support/texlab/crates/parser/src/test_data/latex/include/package_include_options.txt
-2023/04/16 | 20 | support/texlab/crates/parser/src/test_data/latex/include/package_include_simple.txt
-2023/04/16 | 19 | support/texlab/crates/parser/src/test_data/latex/include/pgf_library_import_simple.txt
-2023/04/16 | 34 | support/texlab/crates/parser/src/test_data/latex/include/svg_include_options.txt
-2023/04/16 | 24 | support/texlab/crates/parser/src/test_data/latex/include/svg_include_simple.txt
-2023/04/16 | 20 | support/texlab/crates/parser/src/test_data/latex/include/tikz_library_import_simple.txt
-2023/04/16 | 27 | support/texlab/crates/parser/src/test_data/latex/include/verbatim_include_simple.txt
-2023/04/16 | 21 | support/texlab/crates/parser/src/test_data/latex/inline_double_dollar.txt
-2023/04/16 | 19 | support/texlab/crates/parser/src/test_data/latex/inline.txt
-2023/04/16 | 271 | support/texlab/crates/parser/src/test_data/latex/issue_745.txt
-2023/04/16 | 19 | support/texlab/crates/parser/src/test_data/latex/issue_789.txt
-2023/04/16 | 135 | support/texlab/crates/parser/src/test_data/latex/issue_853.txt
-2023/04/16 | 55 | support/texlab/crates/parser/src/test_data/latex/issue_857.txt
-2023/04/16 | 37 | support/texlab/crates/parser/src/test_data/latex/issue_874.txt
-2023/04/16 | 19 | support/texlab/crates/parser/src/test_data/latex/label/label_definition_line_break.txt
-2023/04/16 | 11 | support/texlab/crates/parser/src/test_data/latex/label/label_definition_simple.txt
-2023/04/16 | 21 | support/texlab/crates/parser/src/test_data/latex/label/label_number.txt
-2023/04/16 | 11 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_equation.txt
-2023/04/16 | 47 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_incomplete.txt
-2023/04/16 | 14 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_multiple.txt
-2023/04/16 | 19 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_range_error.txt
-2023/04/16 | 15 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_range_incomplete.txt
-2023/04/16 | 20 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_range_simple.txt
-2023/04/16 | 9 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_simple.txt
-2023/04/16 | 1 | support/texlab/crates/parser/src/test_data/latex/parameter_error.txt
-2023/04/16 | 2 | support/texlab/crates/parser/src/test_data/latex/parameter.txt
-2023/04/16 | 60 | support/texlab/crates/parser/src/test_data/latex/structure/structure_enum_item.txt
-2023/04/16 | 27 | support/texlab/crates/parser/src/test_data/latex/structure/structure_invalid_nesting.txt
-2023/04/16 | 90 | support/texlab/crates/parser/src/test_data/latex/structure/structure_nested.txt
-2023/04/16 | 35 | support/texlab/crates/parser/src/test_data/latex/structure/structure_siblings.txt
-2023/04/16 | 31 | support/texlab/crates/parser/src/test_data/latex/theorem_definition/theorem_definition_full.txt
-2023/04/16 | 21 | support/texlab/crates/parser/src/test_data/latex/theorem_definition/theorem_definition_name_with_counter.txt
-2023/04/16 | 26 | support/texlab/crates/parser/src/test_data/latex/theorem_definition/theorem_definition_name_with_description_and_counter.txt
-2023/04/16 | 21 | support/texlab/crates/parser/src/test_data/latex/theorem_definition/theorem_definition_name_with_description.txt
-2023/04/16 | 16 | support/texlab/crates/parser/src/test_data/latex/theorem_definition/theorem_definition_only_name.txt
-2023/04/16 | 227 | support/texlab/crates/syntax/Cargo.toml
-2023/04/16 | 7955 | support/texlab/crates/syntax/src/bibtex.rs
-2023/04/16 | 16983 | support/texlab/crates/syntax/src/latex/cst.rs
-2023/04/16 | 1668 | support/texlab/crates/syntax/src/latex/kind.rs
-2023/04/16 | 689 | support/texlab/crates/syntax/src/latex.rs
-2023/04/16 | 864 | support/texlab/crates/syntax/src/lib.rs
-2023/04/16 | 1272 | support/texlab/crates/texlab/benches/bench_main.rs
-2023/04/16 | 1791 | support/texlab/crates/texlab/Cargo.toml
-2023/04/16 | 6970534 | support/texlab/crates/texlab/data/components.json.gz
-2023/04/16 | 56243 | support/texlab/crates/texlab/data/lang_data.json
-2023/04/16 | 3223 | support/texlab/crates/texlab/src/client.rs
-2023/04/16 | 838 | support/texlab/crates/texlab/src/features/completion/acronym_ref.rs
-2023/04/16 | 1717 | support/texlab/crates/texlab/src/features/completion/argument.rs
-2023/04/16 | 283 | support/texlab/crates/texlab/src/features/completion/begin_snippet.rs
-2023/04/16 | 25245 | support/texlab/crates/texlab/src/features/completion/builder.rs
-2023/04/16 | 1654 | support/texlab/crates/texlab/src/features/completion/citation.rs
-2023/04/16 | 1238 | support/texlab/crates/texlab/src/features/completion/color_model.rs
-2023/04/16 | 490 | support/texlab/crates/texlab/src/features/completion/color.rs
-2023/04/16 | 680 | support/texlab/crates/texlab/src/features/completion/component_command.rs
-2023/04/16 | 521 | support/texlab/crates/texlab/src/features/completion/component_environment.rs
-2023/04/16 | 702 | support/texlab/crates/texlab/src/features/completion/entry_type.rs
-2023/04/16 | 840 | support/texlab/crates/texlab/src/features/completion/field.rs
-2023/04/16 | 1191 | support/texlab/crates/texlab/src/features/completion/glossary_ref.rs
-2023/04/16 | 1556 | support/texlab/crates/texlab/src/features/completion/import.rs
-2023/04/16 | 4028 | support/texlab/crates/texlab/src/features/completion/include.rs
-2023/04/16 | 2815 | support/texlab/crates/texlab/src/features/completion/label.rs
-2023/04/16 | 1036 | support/texlab/crates/texlab/src/features/completion/matcher.rs
-2023/04/16 | 1917 | support/texlab/crates/texlab/src/features/completion.rs
-2023/04/16 | 559 | support/texlab/crates/texlab/src/features/completion/theorem.rs
-2023/04/16 | 721 | support/texlab/crates/texlab/src/features/completion/tikz_library.rs
-2023/04/16 | 575 | support/texlab/crates/texlab/src/features/completion/user_command.rs
-2023/04/16 | 635 | support/texlab/crates/texlab/src/features/completion/user_environment.rs
-2023/04/16 | 1300 | support/texlab/crates/texlab/src/features/definition/command.rs
-2023/04/16 | 984 | support/texlab/crates/texlab/src/features/definition/document.rs
-2023/04/16 | 1191 | support/texlab/crates/texlab/src/features/definition/entry.rs
-2023/04/16 | 1161 | support/texlab/crates/texlab/src/features/definition/label.rs
-2023/04/16 | 1856 | support/texlab/crates/texlab/src/features/definition.rs
-2023/04/16 | 1037 | support/texlab/crates/texlab/src/features/definition/string.rs
-2023/04/16 | 2143 | support/texlab/crates/texlab/src/features/folding.rs
-2023/04/16 | 7196 | support/texlab/crates/texlab/src/features/formatting/bibtex_internal.rs
-2023/04/16 | 2007 | support/texlab/crates/texlab/src/features/formatting/latexindent.rs
-2023/04/16 | 1083 | support/texlab/crates/texlab/src/features/formatting.rs
-2023/04/16 | 1049 | support/texlab/crates/texlab/src/features/highlight/label.rs
-2023/04/16 | 358 | support/texlab/crates/texlab/src/features/highlight.rs
-2023/04/16 | 749 | support/texlab/crates/texlab/src/features/hover/citation.rs
-2023/04/16 | 819 | support/texlab/crates/texlab/src/features/hover/component.rs
-2023/04/16 | 547 | support/texlab/crates/texlab/src/features/hover/entry_type.rs
-2023/04/16 | 604 | support/texlab/crates/texlab/src/features/hover/field.rs
-2023/04/16 | 851 | support/texlab/crates/texlab/src/features/hover/label.rs
-2023/04/16 | 1171 | support/texlab/crates/texlab/src/features/hover.rs
-2023/04/16 | 1189 | support/texlab/crates/texlab/src/features/hover/string_ref.rs
-2023/04/16 | 1327 | support/texlab/crates/texlab/src/features/inlay_hint/label.rs
-2023/04/16 | 1283 | support/texlab/crates/texlab/src/features/inlay_hint.rs
-2023/04/16 | 555 | support/texlab/crates/texlab/src/features/link/include.rs
-2023/04/16 | 932 | support/texlab/crates/texlab/src/features/link.rs
-2023/04/16 | 1898 | support/texlab/crates/texlab/src/features/reference/entry.rs
-2023/04/16 | 1007 | support/texlab/crates/texlab/src/features/reference/label.rs
-2023/04/16 | 1070 | support/texlab/crates/texlab/src/features/reference.rs
-2023/04/16 | 1402 | support/texlab/crates/texlab/src/features/reference/string.rs
-2023/04/16 | 1305 | support/texlab/crates/texlab/src/features/rename/command.rs
-2023/04/16 | 2292 | support/texlab/crates/texlab/src/features/rename/entry.rs
-2023/04/16 | 1066 | support/texlab/crates/texlab/src/features/rename/label.rs
-2023/04/16 | 1740 | support/texlab/crates/texlab/src/features/rename.rs
-2023/04/16 | 196 | support/texlab/crates/texlab/src/features.rs
-2023/04/16 | 2582 | support/texlab/crates/texlab/src/features/symbol/bibtex.rs
-2023/04/16 | 13414 | support/texlab/crates/texlab/src/features/symbol/latex.rs
-2023/04/16 | 5537 | support/texlab/crates/texlab/src/features/symbol/project_order.rs
-2023/04/16 | 3430 | support/texlab/crates/texlab/src/features/symbol.rs
-2023/04/16 | 4445 | support/texlab/crates/texlab/src/features/symbol/types.rs
-2023/04/16 | 108 | support/texlab/crates/texlab/src/lib.rs
-2023/04/16 | 1865 | support/texlab/crates/texlab/src/main.rs
-2023/04/16 | 2411 | support/texlab/crates/texlab/src/server/dispatch.rs
-2023/04/16 | 2172 | support/texlab/crates/texlab/src/server/extensions.rs
-2023/04/16 | 7562 | support/texlab/crates/texlab/src/server/options.rs
-2023/04/16 | 1412 | support/texlab/crates/texlab/src/server/progress.rs
-2023/04/16 | 38535 | support/texlab/crates/texlab/src/server.rs
-2023/04/16 | 6018 | support/texlab/crates/texlab/src/util/capabilities.rs
-2023/04/16 | 3729 | support/texlab/crates/texlab/src/util/chktex.rs
-2023/04/16 | 3500 | support/texlab/crates/texlab/src/util/components.rs
-2023/04/16 | 9648 | support/texlab/crates/texlab/src/util/cursor.rs
-2023/04/16 | 4157 | support/texlab/crates/texlab/src/util/diagnostics.rs
-2023/04/16 | 6224 | support/texlab/crates/texlab/src/util/label.rs
-2023/04/16 | 1969 | support/texlab/crates/texlab/src/util/lang_data.rs
-2023/04/16 | 1605 | support/texlab/crates/texlab/src/util/line_index_ext.rs
-2023/04/16 | 4008 | support/texlab/crates/texlab/src/util/lsp_enums.rs
-2023/04/16 | 415 | support/texlab/crates/texlab/src/util/regex_filter.rs
-2023/04/16 | 320 | support/texlab/crates/texlab/src/util.rs
-2023/04/16 | 8392 | support/texlab/crates/texlab/tests/lsp/fixture.rs
-2023/04/16 | 47 | support/texlab/crates/texlab/tests/lsp/main.rs
-2023/04/16 | 13426 | support/texlab/crates/texlab/tests/lsp/text_document/completion.rs
-2023/04/16 | 3387 | support/texlab/crates/texlab/tests/lsp/text_document/definition.rs
-2023/04/16 | 1322 | support/texlab/crates/texlab/tests/lsp/text_document/document_highlight.rs
-2023/04/16 | 1157 | support/texlab/crates/texlab/tests/lsp/text_document/document_link.rs
-2023/04/16 | 8171 | support/texlab/crates/texlab/tests/lsp/text_document/document_symbol.rs
-2023/04/16 | 1208 | support/texlab/crates/texlab/tests/lsp/text_document/folding_range.rs
-2023/04/16 | 3003 | support/texlab/crates/texlab/tests/lsp/text_document/formatting.rs
-2023/04/16 | 3943 | support/texlab/crates/texlab/tests/lsp/text_document/hover.rs
-2023/04/16 | 1737 | support/texlab/crates/texlab/tests/lsp/text_document/inlay_hint.rs
-2023/04/16 | 4169 | support/texlab/crates/texlab/tests/lsp/text_document/references.rs
-2023/04/16 | 1743 | support/texlab/crates/texlab/tests/lsp/text_document/rename.rs
-2023/04/16 | 186 | support/texlab/crates/texlab/tests/lsp/text_document.rs
-2023/04/16 | 226 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__acronym_package_ref.snap
-2023/04/16 | 265 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__acronym_ref_empty.snap
-2023/04/16 | 278 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__acronym_ref_open_brace.snap
-2023/04/16 | 279 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__acronym_ref_simple.snap
-2023/04/16 | 399 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__argument_empty.snap
-2023/04/16 | 404 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__argument_open_brace.snap
-2023/04/16 | 211 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__argument_word.snap
-2023/04/16 | 550 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__begin_environment_without_snippet_support.snap
-2023/04/16 | 313 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__citation_acronym.snap
-2023/04/16 | 291 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__citation_open_brace_multiple.snap
-2023/04/16 | 269 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__citation_open_brace.snap
-2023/04/16 | 583 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__citation.snap
-2023/04/16 | 407 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_model_definition_open_brace.snap
-2023/04/16 | 403 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_model_definition_set_open_brace.snap
-2023/04/16 | 404 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_model_definition_set_simple.snap
-2023/04/16 | 408 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_model_definition_simple.snap
-2023/04/16 | 404 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_open_brace.snap
-2023/04/16 | 405 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_simple.snap
-2023/04/16 | 414 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_word.snap
-2023/04/16 | 594 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_command_bibtex.snap
-2023/04/16 | 583 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_command_simple_package.snap
-2023/04/16 | 494 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_command_simple.snap
-2023/04/16 | 257 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_environment_class.snap
-2023/04/16 | 279 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_environment_command_definition.snap
-2023/04/16 | 544 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_environment_simple_end.snap
-2023/04/16 | 223 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_environment_simple.snap
-2023/04/16 | 194 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_after_preamble.snap
-2023/04/16 | 186 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_after_string.snap
-2023/04/16 | 384 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_at_empty.snap
-2023/04/16 | 182 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_before_article.snap
-2023/04/16 | 185 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_before_preamble.snap
-2023/04/16 | 179 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_before_string.snap
-2023/04/16 | 205 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_complete_entry.snap
-2023/04/16 | 421 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__field_empty_entry_closed.snap
-2023/04/16 | 420 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__field_empty_entry_open.snap
-2023/04/16 | 441 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__field_entry_field_name.snap
-2023/04/16 | 486 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__field_entry_two_fields_name_closed.snap
-2023/04/16 | 485 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__field_entry_two_fields_name_open.snap
-2023/04/16 | 263 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__glossary_ref_open_brace.snap
-2023/04/16 | 264 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__glossary_ref_simple.snap
-2023/04/16 | 459 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__import_class_closed_brace.snap
-2023/04/16 | 464 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__import_class_open_brace.snap
-2023/04/16 | 449 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__import_package_closed_brace.snap
-2023/04/16 | 448 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__import_package_open_brace.snap
-2023/04/16 | 512 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__issue_857_1.snap
-2023/04/16 | 313 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__issue_864.snap
-2023/04/16 | 1814 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__label.snap
-2023/04/16 | 699 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__project_resolution_import.snap
-2023/04/16 | 711 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__project_resolution_texlabroot.snap
-2023/04/16 | 250 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__theorem_begin.snap
-2023/04/16 | 255 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__theorem_end.snap
-2023/04/16 | 452 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__tikz_library_closed_brace.snap
-2023/04/16 | 451 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__tikz_library_open_brace.snap
-2023/04/16 | 273 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__user_command.snap
-2023/04/16 | 351 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__user_environment.snap
-2023/04/16 | 368 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_link__document_import.snap
-2023/04/16 | 355 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_link__document_include.snap
-2023/04/16 | 2009 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__enumerate_flat.snap
-2023/04/16 | 3204 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__enumerate_nested.snap
-2023/04/16 | 1404 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__equation_flat.snap
-2023/04/16 | 1936 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__equation_nested.snap
-2023/04/16 | 1832 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__float_flat.snap
-2023/04/16 | 2368 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__float_nested.snap
-2023/04/16 | 783 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__ignored_patterns.snap
-2023/04/16 | 1488 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__section_flat.snap
-2023/04/16 | 2132 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__section_nested.snap
-2023/04/16 | 1847 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__theorem_flat.snap
-2023/04/16 | 2516 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__theorem_nested.snap
-2023/04/16 | 650 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__folding_range__bibtex.snap
-2023/04/16 | 841 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__folding_range__latex.snap
-2023/04/16 | 167 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_command.snap
-2023/04/16 | 157 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_insert_braces.snap
-2023/04/16 | 181 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_join_strings.snap
-2023/04/16 | 946 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_multiple_entries.snap
-2023/04/16 | 132 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_parens.snap
-2023/04/16 | 160 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_preamble.snap
-2023/04/16 | 143 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_string.snap
-2023/04/16 | 157 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_trailing_comma.snap
-2023/04/16 | 520 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_wrap_long_lines.snap
-2023/04/16 | 308 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__citation_inside_cite.snap
-2023/04/16 | 314 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__citation_inside_entry.snap
-2023/04/16 | 875 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__component_known_package.snap
-2023/04/16 | 659 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__entry_type_known_type.snap
-2023/04/16 | 234 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__field_known.snap
-2023/04/16 | 406 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__label_theorem_child_file_mumber.snap
-2023/04/16 | 332 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__label_theorem_child_file.snap
-2023/04/16 | 212 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__section.snap
-2023/04/16 | 272 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__string_inside_reference.snap
-2023/04/16 | 1586 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__inlay_hint__label_definition.snap
-2023/04/16 | 12 | support/texlab/crates/texlab/tests/lsp/workspace.rs
-2023/04/16 | 719 | support/texlab/crates/texlab/tests/lsp/workspace/snapshots/lsp__workspace__symbol__filter_bibtex.snap
-2023/04/16 | 426 | support/texlab/crates/texlab/tests/lsp/workspace/snapshots/lsp__workspace__symbol__filter_type_figure.snap
-2023/04/16 | 1021 | support/texlab/crates/texlab/tests/lsp/workspace/snapshots/lsp__workspace__symbol__filter_type_item.snap
-2023/04/16 | 739 | support/texlab/crates/texlab/tests/lsp/workspace/snapshots/lsp__workspace__symbol__filter_type_math.snap
-2023/04/16 | 1339 | support/texlab/crates/texlab/tests/lsp/workspace/snapshots/lsp__workspace__symbol__filter_type_section.snap
-2023/04/16 | 2970 | support/texlab/crates/texlab/tests/lsp/workspace/symbol.rs
-2023/04/16 | 380190 | support/texlab/images/demo.gif
-2023/04/16 | 35149 | support/texlab/LICENSE
-2023/04/16 | 3767 | support/texlab/README.md
-2023/04/16 | 615 | support/texlab/texlab.1
-2023/04/16 | 26543 | support/texlab/texlab.pdf
-2023/04/16 | 2586 | support/texlab/texlab.tex
-2023/04/16 | 7722796 | support/texlab.zip
+2023/05/06 | 50407 | support/texlab/Cargo.lock
+2023/05/06 | 332 | support/texlab/Cargo.toml
+2023/05/06 | 28464 | support/texlab/CHANGELOG.md
+2023/05/06 | 181 | support/texlab/CONTRIBUTING.md
+2023/05/06 | 490 | support/texlab/crates/base-db/Cargo.toml
+2023/05/06 | 3734 | support/texlab/crates/base-db/src/config.rs
+2023/05/06 | 58317 | support/texlab/crates/base-db/src/data.rs
+2023/05/06 | 1955 | support/texlab/crates/base-db/src/diagnostics/bib.rs
+2023/05/06 | 2201 | support/texlab/crates/base-db/src/diagnostics/log.rs
+2023/05/06 | 430 | support/texlab/crates/base-db/src/diagnostics.rs
+2023/05/06 | 3546 | support/texlab/crates/base-db/src/diagnostics/tex.rs
+2023/05/06 | 4965 | support/texlab/crates/base-db/src/document.rs
+2023/05/06 | 5138 | support/texlab/crates/base-db/src/graph.rs
+2023/05/06 | 179 | support/texlab/crates/base-db/src/lib.rs
+2023/05/06 | 1170 | support/texlab/crates/base-db/src/semantics/auxiliary.rs
+2023/05/06 | 585 | support/texlab/crates/base-db/src/semantics.rs
+2023/05/06 | 9562 | support/texlab/crates/base-db/src/semantics/tex.rs
+2023/05/06 | 5900 | support/texlab/crates/base-db/src/util/label.rs
+2023/05/06 | 6484 | support/texlab/crates/base-db/src/util/line_index.rs
+2023/05/06 | 445 | support/texlab/crates/base-db/src/util/regex_filter.rs
+2023/05/06 | 227 | support/texlab/crates/base-db/src/util.rs
+2023/05/06 | 8868 | support/texlab/crates/base-db/src/workspace.rs
+2023/05/06 | 538 | support/texlab/crates/citeproc/Cargo.toml
+2023/05/06 | 22210 | support/texlab/crates/citeproc/src/driver.rs
+2023/05/06 | 4724 | support/texlab/crates/citeproc/src/entry.rs
+2023/05/06 | 2074 | support/texlab/crates/citeproc/src/field/author.rs
+2023/05/06 | 2665 | support/texlab/crates/citeproc/src/field/date.rs
+2023/05/06 | 1626 | support/texlab/crates/citeproc/src/field/number.rs
+2023/05/06 | 60 | support/texlab/crates/citeproc/src/field.rs
+2023/05/06 | 8955 | support/texlab/crates/citeproc/src/field/text.rs
+2023/05/06 | 890 | support/texlab/crates/citeproc/src/lib.rs
+2023/05/06 | 1760 | support/texlab/crates/citeproc/src/output.rs
+2023/05/06 | 1052 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__article_aksin_2006.snap
+2023/05/06 | 788 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__article_betram_1996.snap
+2023/05/06 | 1317 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__article_blom_2021.snap
+2023/05/06 | 1050 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__article_jain_1999.snap
+2023/05/06 | 1301 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__article_kastenholz_2006.snap
+2023/05/06 | 976 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__article_rivest_1978.snap
+2023/05/06 | 572 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__book_aho_2006.snap
+2023/05/06 | 1398 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__book_averroes_1998.snap
+2023/05/06 | 1210 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__book_knuth_1984.snap
+2023/05/06 | 707 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__collection_matuz_1990.snap
+2023/05/06 | 1163 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__inproceedings_combi_2004.snap
+2023/05/06 | 1038 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__inproceedings_erwin_2007.snap
+2023/05/06 | 1415 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__mvbook_nietzsche_1988.snap
+2023/05/06 | 954 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__patent_almendro_1998.snap
+2023/05/06 | 11868 | support/texlab/crates/citeproc/src/tests.rs
+2023/05/06 | 427 | support/texlab/crates/commands/Cargo.toml
+2023/05/06 | 2806 | support/texlab/crates/commands/src/build.rs
+2023/05/06 | 987 | support/texlab/crates/commands/src/change_env.rs
+2023/05/06 | 1550 | support/texlab/crates/commands/src/clean.rs
+2023/05/06 | 1590 | support/texlab/crates/commands/src/dep_graph.rs
+2023/05/06 | 3053 | support/texlab/crates/commands/src/fwd_search.rs
+2023/05/06 | 340 | support/texlab/crates/commands/src/lib.rs
+2023/05/06 | 1584 | support/texlab/crates/commands/src/placeholders.rs
+2023/05/06 | 227 | support/texlab/crates/distro/Cargo.toml
+2023/05/06 | 1812 | support/texlab/crates/distro/src/file_name_db.rs
+2023/05/06 | 710 | support/texlab/crates/distro/src/kpsewhich.rs
+2023/05/06 | 1124 | support/texlab/crates/distro/src/language.rs
+2023/05/06 | 1997 | support/texlab/crates/distro/src/lib.rs
+2023/05/06 | 2467 | support/texlab/crates/distro/src/miktex.rs
+2023/05/06 | 820 | support/texlab/crates/distro/src/texlive.rs
+2023/05/06 | 407 | support/texlab/crates/parser/Cargo.toml
+2023/05/06 | 11420 | support/texlab/crates/parser/src/bibtex.rs
+2023/05/06 | 5684 | support/texlab/crates/parser/src/build_log.rs
+2023/05/06 | 3009 | support/texlab/crates/parser/src/config.rs
+2023/05/06 | 5330 | support/texlab/crates/parser/src/latex/lexer/commands.rs
+2023/05/06 | 2040 | support/texlab/crates/parser/src/latex/lexer.rs
+2023/05/06 | 2602 | support/texlab/crates/parser/src/latex/lexer/types.rs
+2023/05/06 | 33693 | support/texlab/crates/parser/src/latex.rs
+2023/05/06 | 148 | support/texlab/crates/parser/src/lib.rs
+2023/05/06 | 234 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@comment.txt.snap
+2023/05/06 | 761 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@issue_809.txt.snap
+2023/05/06 | 373 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@preamble.txt.snap
+2023/05/06 | 3667 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__aho_2006.txt.snap
+2023/05/06 | 7531 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__aksin_2006.txt.snap
+2023/05/06 | 7322 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__almendro_1998.txt.snap
+2023/05/06 | 10380 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__averroes_1998.txt.snap
+2023/05/06 | 5864 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__betram_1996.txt.snap
+2023/05/06 | 6644 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__blom_2021.txt.snap
+2023/05/06 | 7157 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__combi_2004.txt.snap
+2023/05/06 | 6836 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__erwin_2007.txt.snap
+2023/05/06 | 7528 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__jain_1999.txt.snap
+2023/05/06 | 8868 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__kastenholz_2006.txt.snap
+2023/05/06 | 9479 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__knuth_1984.txt.snap
+2023/05/06 | 5060 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__matuz_1990.txt.snap
+2023/05/06 | 11015 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__nietzsche_1998.txt.snap
+2023/05/06 | 6472 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__rivest_1978.txt.snap
+2023/05/06 | 716 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@001.txt.snap
+2023/05/06 | 448 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@002.txt.snap
+2023/05/06 | 673 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@003.txt.snap
+2023/05/06 | 975 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@004.txt.snap
+2023/05/06 | 953 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@005.txt.snap
+2023/05/06 | 1672 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@006.txt.snap
+2023/05/06 | 464 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@007.txt.snap
+2023/05/06 | 746 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@block_comments.txt.snap
+2023/05/06 | 626 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@caption__caption_default_error.txt.snap
+2023/05/06 | 647 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@caption__caption_default.txt.snap
+2023/05/06 | 772 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@caption__caption_figure.txt.snap
+2023/05/06 | 499 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@caption__caption_minimal_error.txt.snap
+2023/05/06 | 520 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@caption__caption_minimal.txt.snap
+2023/05/06 | 295 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_empty.txt.snap
+2023/05/06 | 321 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_missing_brace.txt.snap
+2023/05/06 | 453 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_multiple_keys.txt.snap
+2023/05/06 | 608 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_prenote_postnote.txt.snap
+2023/05/06 | 472 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_prenote.txt.snap
+2023/05/06 | 404 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_redundant_comma.txt.snap
+2023/05/06 | 344 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_simple.txt.snap
+2023/05/06 | 342 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_star.txt.snap
+2023/05/06 | 734 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_definition_simple.txt.snap
+2023/05/06 | 356 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_reference_simple.txt.snap
+2023/05/06 | 849 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_set_definition_error1.txt.snap
+2023/05/06 | 588 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_set_definition_error2.txt.snap
+2023/05/06 | 457 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_set_definition_error3.txt.snap
+2023/05/06 | 248 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_set_definition_error4.txt.snap
+2023/05/06 | 980 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_set_definition_simple.txt.snap
+2023/05/06 | 504 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__command_definition_no_argc.txt.snap
+2023/05/06 | 356 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__command_definition_no_impl_error.txt.snap
+2023/05/06 | 377 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__command_definition_no_impl.txt.snap
+2023/05/06 | 760 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__command_definition_optional.txt.snap
+2023/05/06 | 645 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__command_definition_simple.txt.snap
+2023/05/06 | 1177 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__command_definition_with_begin.txt.snap
+2023/05/06 | 376 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__math_operator_no_impl.txt.snap
+2023/05/06 | 502 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__math_operator_simple.txt.snap
+2023/05/06 | 1074 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@environment__environment_asymptote.txt.snap
+2023/05/06 | 911 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@environment__environment_definition_optional_arg.txt.snap
+2023/05/06 | 1103 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@environment__environment_definition.txt.snap
+2023/05/06 | 1191 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@environment__environment_nested_missing_braces.txt.snap
+2023/05/06 | 1121 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@environment__environment_nested.txt.snap
+2023/05/06 | 742 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@environment__environment_simple.txt.snap
+2023/05/06 | 814 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@equation_missing_begin.txt.snap
+2023/05/06 | 379 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@equation.txt.snap
+2023/05/06 | 460 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@generic_command_args.txt.snap
+2023/05/06 | 216 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@generic_command_empty.txt.snap
+2023/05/06 | 215 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@generic_command_escape.txt.snap
+2023/05/06 | 1464 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__acronym_declaration.txt.snap
+2023/05/06 | 1359 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__acronym_definition_options.txt.snap
+2023/05/06 | 758 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__acronym_definition_simple.txt.snap
+2023/05/06 | 760 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__acronym_package.txt.snap
+2023/05/06 | 815 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__acronym_reference_options.txt.snap
+2023/05/06 | 372 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__acronym_reference_simple.txt.snap
+2023/05/06 | 965 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__glossary_entry_definition_simple.txt.snap
+2023/05/06 | 911 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__glossary_entry_reference_options.txt.snap
+2023/05/06 | 365 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__glossary_entry_reference_simple.txt.snap
+2023/05/06 | 624 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@graphics_path_command.txt.snap
+2023/05/06 | 552 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@graphics_path_options.txt.snap
+2023/05/06 | 447 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@graphics_path.txt.snap
+2023/05/06 | 312 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@group__curly_group_missing_end.txt.snap
+2023/05/06 | 332 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@group__curly_group_simple.txt.snap
+2023/05/06 | 821 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@group__equation_missing_end.txt.snap
+2023/05/06 | 384 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@group__escaped_brackets.txt.snap
+2023/05/06 | 242 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@group__unmatched_braces.txt.snap
+2023/05/06 | 244 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@group__unmatched_brackets.txt.snap
+2023/05/06 | 330 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@group__unmatched_brackets_with_group.txt.snap
+2023/05/06 | 242 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@hello_world.txt.snap
+2023/05/06 | 861 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__biblatex_include_options.txt.snap
+2023/05/06 | 386 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__biblatex_include_simple.txt.snap
+2023/05/06 | 376 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__bibtex_include_simple.txt.snap
+2023/05/06 | 323 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__class_include_empty.txt.snap
+2023/05/06 | 1066 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__class_include_options.txt.snap
+2023/05/06 | 375 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__class_include_simple.txt.snap
+2023/05/06 | 900 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__graphics_include_command.txt.snap
+2023/05/06 | 762 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__graphics_include_complicated_options.txt.snap
+2023/05/06 | 717 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__graphics_include_options.txt.snap
+2023/05/06 | 387 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__graphics_include_simple.txt.snap
+2023/05/06 | 316 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__import_incomplete.txt.snap
+2023/05/06 | 470 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__import_simple.txt.snap
+2023/05/06 | 703 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__inkscape_include_options.txt.snap
+2023/05/06 | 373 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__inkscape_include_simple.txt.snap
+2023/05/06 | 429 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__latex_include_equality_sign.txt.snap
+2023/05/06 | 363 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__latex_include_simple.txt.snap
+2023/05/06 | 477 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__latex_input_path_brackets.txt.snap
+2023/05/06 | 324 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__package_include_empty.txt.snap
+2023/05/06 | 483 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__package_include_multiple.txt.snap
+2023/05/06 | 1067 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__package_include_options.txt.snap
+2023/05/06 | 376 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__package_include_simple.txt.snap
+2023/05/06 | 382 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__pgf_library_import_simple.txt.snap
+2023/05/06 | 702 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__svg_include_options.txt.snap
+2023/05/06 | 372 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__svg_include_simple.txt.snap
+2023/05/06 | 384 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__tikz_library_import_simple.txt.snap
+2023/05/06 | 385 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__verbatim_include_simple.txt.snap
+2023/05/06 | 649 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@inline_double_dollar.txt.snap
+2023/05/06 | 631 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@inline.txt.snap
+2023/05/06 | 4300 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_745.txt.snap
+2023/05/06 | 347 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_789.txt.snap
+2023/05/06 | 526 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_828.txt.snap
+2023/05/06 | 1791 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_853.txt.snap
+2023/05/06 | 904 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_857.txt.snap
+2023/05/06 | 745 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_874.txt.snap
+2023/05/06 | 452 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_definition_line_break.txt.snap
+2023/05/06 | 356 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_definition_simple.txt.snap
+2023/05/06 | 563 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_number.txt.snap
+2023/05/06 | 361 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_equation.txt.snap
+2023/05/06 | 825 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_incomplete.txt.snap
+2023/05/06 | 456 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_multiple.txt.snap
+2023/05/06 | 479 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_range_error.txt.snap
+2023/05/06 | 380 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_range_incomplete.txt.snap
+2023/05/06 | 507 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_range_simple.txt.snap
+2023/05/06 | 349 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_simple.txt.snap
+2023/05/06 | 187 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@parameter_error.txt.snap
+2023/05/06 | 182 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@parameter.txt.snap
+2023/05/06 | 1260 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@structure__structure_enum_item.txt.snap
+2023/05/06 | 565 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@structure__structure_invalid_nesting.txt.snap
+2023/05/06 | 1745 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@structure__structure_nested.txt.snap
+2023/05/06 | 706 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@structure__structure_siblings.txt.snap
+2023/05/06 | 771 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_full.txt.snap
+2023/05/06 | 526 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_name_with_counter.txt.snap
+2023/05/06 | 669 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_name_with_description_and_counter.txt.snap
+2023/05/06 | 526 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_name_with_description.txt.snap
+2023/05/06 | 387 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_only_name.txt.snap
+2023/05/06 | 82 | support/texlab/crates/parser/src/test_data/bibtex/comment.txt
+2023/05/06 | 50 | support/texlab/crates/parser/src/test_data/bibtex/issue_809.txt
+2023/05/06 | 25 | support/texlab/crates/parser/src/test_data/bibtex/preamble.txt
+2023/05/06 | 314 | support/texlab/crates/parser/src/test_data/bibtex/samples/aho_2006.txt
+2023/05/06 | 679 | support/texlab/crates/parser/src/test_data/bibtex/samples/aksin_2006.txt
+2023/05/06 | 706 | support/texlab/crates/parser/src/test_data/bibtex/samples/almendro_1998.txt
+2023/05/06 | 1008 | support/texlab/crates/parser/src/test_data/bibtex/samples/averroes_1998.txt
+2023/05/06 | 556 | support/texlab/crates/parser/src/test_data/bibtex/samples/betram_1996.txt
+2023/05/06 | 860 | support/texlab/crates/parser/src/test_data/bibtex/samples/blom_2021.txt
+2023/05/06 | 674 | support/texlab/crates/parser/src/test_data/bibtex/samples/combi_2004.txt
+2023/05/06 | 615 | support/texlab/crates/parser/src/test_data/bibtex/samples/erwin_2007.txt
+2023/05/06 | 674 | support/texlab/crates/parser/src/test_data/bibtex/samples/jain_1999.txt
+2023/05/06 | 898 | support/texlab/crates/parser/src/test_data/bibtex/samples/kastenholz_2006.txt
+2023/05/06 | 993 | support/texlab/crates/parser/src/test_data/bibtex/samples/knuth_1984.txt
+2023/05/06 | 517 | support/texlab/crates/parser/src/test_data/bibtex/samples/matuz_1990.txt
+2023/05/06 | 1112 | support/texlab/crates/parser/src/test_data/bibtex/samples/nietzsche_1998.txt
+2023/05/06 | 557 | support/texlab/crates/parser/src/test_data/bibtex/samples/rivest_1978.txt
+2023/05/06 | 3194 | support/texlab/crates/parser/src/test_data/build_log/001.txt
+2023/05/06 | 2455 | support/texlab/crates/parser/src/test_data/build_log/002.txt
+2023/05/06 | 2515 | support/texlab/crates/parser/src/test_data/build_log/003.txt
+2023/05/06 | 3057 | support/texlab/crates/parser/src/test_data/build_log/004.txt
+2023/05/06 | 13353 | support/texlab/crates/parser/src/test_data/build_log/005.txt
+2023/05/06 | 4130 | support/texlab/crates/parser/src/test_data/build_log/006.txt
+2023/05/06 | 7762 | support/texlab/crates/parser/src/test_data/build_log/007.txt
+2023/05/06 | 48 | support/texlab/crates/parser/src/test_data/latex/block_comments.txt
+2023/05/06 | 26 | support/texlab/crates/parser/src/test_data/latex/caption/caption_default_error.txt
+2023/05/06 | 27 | support/texlab/crates/parser/src/test_data/latex/caption/caption_default.txt
+2023/05/06 | 39 | support/texlab/crates/parser/src/test_data/latex/caption/caption_figure.txt
+2023/05/06 | 21 | support/texlab/crates/parser/src/test_data/latex/caption/caption_minimal_error.txt
+2023/05/06 | 22 | support/texlab/crates/parser/src/test_data/latex/caption/caption_minimal.txt
+2023/05/06 | 7 | support/texlab/crates/parser/src/test_data/latex/citation/citation_empty.txt
+2023/05/06 | 9 | support/texlab/crates/parser/src/test_data/latex/citation/citation_missing_brace.txt
+2023/05/06 | 15 | support/texlab/crates/parser/src/test_data/latex/citation/citation_multiple_keys.txt
+2023/05/06 | 20 | support/texlab/crates/parser/src/test_data/latex/citation/citation_prenote_postnote.txt
+2023/05/06 | 15 | support/texlab/crates/parser/src/test_data/latex/citation/citation_prenote.txt
+2023/05/06 | 12 | support/texlab/crates/parser/src/test_data/latex/citation/citation_redundant_comma.txt
+2023/05/06 | 10 | support/texlab/crates/parser/src/test_data/latex/citation/citation_simple.txt
+2023/05/06 | 10 | support/texlab/crates/parser/src/test_data/latex/citation/citation_star.txt
+2023/05/06 | 33 | support/texlab/crates/parser/src/test_data/latex/color/color_definition_simple.txt
+2023/05/06 | 13 | support/texlab/crates/parser/src/test_data/latex/color/color_reference_simple.txt
+2023/05/06 | 39 | support/texlab/crates/parser/src/test_data/latex/color/color_set_definition_error1.txt
+2023/05/06 | 30 | support/texlab/crates/parser/src/test_data/latex/color/color_set_definition_error2.txt
+2023/05/06 | 25 | support/texlab/crates/parser/src/test_data/latex/color/color_set_definition_error3.txt
+2023/05/06 | 15 | support/texlab/crates/parser/src/test_data/latex/color/color_set_definition_error4.txt
+2023/05/06 | 44 | support/texlab/crates/parser/src/test_data/latex/color/color_set_definition_simple.txt
+2023/05/06 | 22 | support/texlab/crates/parser/src/test_data/latex/command_definition/command_definition_no_argc.txt
+2023/05/06 | 16 | support/texlab/crates/parser/src/test_data/latex/command_definition/command_definition_no_impl_error.txt
+2023/05/06 | 17 | support/texlab/crates/parser/src/test_data/latex/command_definition/command_definition_no_impl.txt
+2023/05/06 | 29 | support/texlab/crates/parser/src/test_data/latex/command_definition/command_definition_optional.txt
+2023/05/06 | 23 | support/texlab/crates/parser/src/test_data/latex/command_definition/command_definition_simple.txt
+2023/05/06 | 80 | support/texlab/crates/parser/src/test_data/latex/command_definition/command_definition_with_begin.txt
+2023/05/06 | 26 | support/texlab/crates/parser/src/test_data/latex/command_definition/math_operator_no_impl.txt
+2023/05/06 | 31 | support/texlab/crates/parser/src/test_data/latex/command_definition/math_operator_simple.txt
+2023/05/06 | 50 | support/texlab/crates/parser/src/test_data/latex/environment/environment_asymptote.txt
+2023/05/06 | 44 | support/texlab/crates/parser/src/test_data/latex/environment/environment_definition_optional_arg.txt
+2023/05/06 | 47 | support/texlab/crates/parser/src/test_data/latex/environment/environment_definition.txt
+2023/05/06 | 52 | support/texlab/crates/parser/src/test_data/latex/environment/environment_nested_missing_braces.txt
+2023/05/06 | 43 | support/texlab/crates/parser/src/test_data/latex/environment/environment_nested.txt
+2023/05/06 | 33 | support/texlab/crates/parser/src/test_data/latex/environment/environment_simple.txt
+2023/05/06 | 28 | support/texlab/crates/parser/src/test_data/latex/equation_missing_begin.txt
+2023/05/06 | 13 | support/texlab/crates/parser/src/test_data/latex/equation.txt
+2023/05/06 | 14 | support/texlab/crates/parser/src/test_data/latex/generic_command_args.txt
+2023/05/06 | 4 | support/texlab/crates/parser/src/test_data/latex/generic_command_empty.txt
+2023/05/06 | 2 | support/texlab/crates/parser/src/test_data/latex/generic_command_escape.txt
+2023/05/06 | 64 | support/texlab/crates/parser/src/test_data/latex/glossary/acronym_declaration.txt
+2023/05/06 | 76 | support/texlab/crates/parser/src/test_data/latex/glossary/acronym_definition_options.txt
+2023/05/06 | 44 | support/texlab/crates/parser/src/test_data/latex/glossary/acronym_definition_simple.txt
+2023/05/06 | 35 | support/texlab/crates/parser/src/test_data/latex/glossary/acronym_package.txt
+2023/05/06 | 32 | support/texlab/crates/parser/src/test_data/latex/glossary/acronym_reference_options.txt
+2023/05/06 | 19 | support/texlab/crates/parser/src/test_data/latex/glossary/acronym_reference_simple.txt
+2023/05/06 | 39 | support/texlab/crates/parser/src/test_data/latex/glossary/glossary_entry_definition_simple.txt
+2023/05/06 | 25 | support/texlab/crates/parser/src/test_data/latex/glossary/glossary_entry_reference_options.txt
+2023/05/06 | 9 | support/texlab/crates/parser/src/test_data/latex/glossary/glossary_entry_reference_simple.txt
+2023/05/06 | 32 | support/texlab/crates/parser/src/test_data/latex/graphics_path_command.txt
+2023/05/06 | 33 | support/texlab/crates/parser/src/test_data/latex/graphics_path_options.txt
+2023/05/06 | 28 | support/texlab/crates/parser/src/test_data/latex/graphics_path.txt
+2023/05/06 | 12 | support/texlab/crates/parser/src/test_data/latex/group/curly_group_missing_end.txt
+2023/05/06 | 13 | support/texlab/crates/parser/src/test_data/latex/group/curly_group_simple.txt
+2023/05/06 | 28 | support/texlab/crates/parser/src/test_data/latex/group/equation_missing_end.txt
+2023/05/06 | 6 | support/texlab/crates/parser/src/test_data/latex/group/escaped_brackets.txt
+2023/05/06 | 2 | support/texlab/crates/parser/src/test_data/latex/group/unmatched_braces.txt
+2023/05/06 | 2 | support/texlab/crates/parser/src/test_data/latex/group/unmatched_brackets.txt
+2023/05/06 | 4 | support/texlab/crates/parser/src/test_data/latex/group/unmatched_brackets_with_group.txt
+2023/05/06 | 12 | support/texlab/crates/parser/src/test_data/latex/hello_world.txt
+2023/05/06 | 42 | support/texlab/crates/parser/src/test_data/latex/include/biblatex_include_options.txt
+2023/05/06 | 28 | support/texlab/crates/parser/src/test_data/latex/include/biblatex_include_simple.txt
+2023/05/06 | 22 | support/texlab/crates/parser/src/test_data/latex/include/bibtex_include_simple.txt
+2023/05/06 | 16 | support/texlab/crates/parser/src/test_data/latex/include/class_include_empty.txt
+2023/05/06 | 44 | support/texlab/crates/parser/src/test_data/latex/include/class_include_options.txt
+2023/05/06 | 23 | support/texlab/crates/parser/src/test_data/latex/include/class_include_simple.txt
+2023/05/06 | 52 | support/texlab/crates/parser/src/test_data/latex/include/graphics_include_command.txt
+2023/05/06 | 39 | support/texlab/crates/parser/src/test_data/latex/include/graphics_include_complicated_options.txt
+2023/05/06 | 39 | support/texlab/crates/parser/src/test_data/latex/include/graphics_include_options.txt
+2023/05/06 | 29 | support/texlab/crates/parser/src/test_data/latex/include/graphics_include_simple.txt
+2023/05/06 | 11 | support/texlab/crates/parser/src/test_data/latex/include/import_incomplete.txt
+2023/05/06 | 17 | support/texlab/crates/parser/src/test_data/latex/include/import_simple.txt
+2023/05/06 | 30 | support/texlab/crates/parser/src/test_data/latex/include/inkscape_include_options.txt
+2023/05/06 | 20 | support/texlab/crates/parser/src/test_data/latex/include/inkscape_include_simple.txt
+2023/05/06 | 17 | support/texlab/crates/parser/src/test_data/latex/include/latex_include_equality_sign.txt
+2023/05/06 | 17 | support/texlab/crates/parser/src/test_data/latex/include/latex_include_simple.txt
+2023/05/06 | 20 | support/texlab/crates/parser/src/test_data/latex/include/latex_input_path_brackets.txt
+2023/05/06 | 13 | support/texlab/crates/parser/src/test_data/latex/include/package_include_empty.txt
+2023/05/06 | 28 | support/texlab/crates/parser/src/test_data/latex/include/package_include_multiple.txt
+2023/05/06 | 41 | support/texlab/crates/parser/src/test_data/latex/include/package_include_options.txt
+2023/05/06 | 20 | support/texlab/crates/parser/src/test_data/latex/include/package_include_simple.txt
+2023/05/06 | 19 | support/texlab/crates/parser/src/test_data/latex/include/pgf_library_import_simple.txt
+2023/05/06 | 34 | support/texlab/crates/parser/src/test_data/latex/include/svg_include_options.txt
+2023/05/06 | 24 | support/texlab/crates/parser/src/test_data/latex/include/svg_include_simple.txt
+2023/05/06 | 20 | support/texlab/crates/parser/src/test_data/latex/include/tikz_library_import_simple.txt
+2023/05/06 | 27 | support/texlab/crates/parser/src/test_data/latex/include/verbatim_include_simple.txt
+2023/05/06 | 21 | support/texlab/crates/parser/src/test_data/latex/inline_double_dollar.txt
+2023/05/06 | 19 | support/texlab/crates/parser/src/test_data/latex/inline.txt
+2023/05/06 | 271 | support/texlab/crates/parser/src/test_data/latex/issue_745.txt
+2023/05/06 | 19 | support/texlab/crates/parser/src/test_data/latex/issue_789.txt
+2023/05/06 | 51 | support/texlab/crates/parser/src/test_data/latex/issue_828.txt
+2023/05/06 | 135 | support/texlab/crates/parser/src/test_data/latex/issue_853.txt
+2023/05/06 | 55 | support/texlab/crates/parser/src/test_data/latex/issue_857.txt
+2023/05/06 | 37 | support/texlab/crates/parser/src/test_data/latex/issue_874.txt
+2023/05/06 | 19 | support/texlab/crates/parser/src/test_data/latex/label/label_definition_line_break.txt
+2023/05/06 | 11 | support/texlab/crates/parser/src/test_data/latex/label/label_definition_simple.txt
+2023/05/06 | 21 | support/texlab/crates/parser/src/test_data/latex/label/label_number.txt
+2023/05/06 | 11 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_equation.txt
+2023/05/06 | 47 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_incomplete.txt
+2023/05/06 | 14 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_multiple.txt
+2023/05/06 | 19 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_range_error.txt
+2023/05/06 | 15 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_range_incomplete.txt
+2023/05/06 | 20 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_range_simple.txt
+2023/05/06 | 9 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_simple.txt
+2023/05/06 | 1 | support/texlab/crates/parser/src/test_data/latex/parameter_error.txt
+2023/05/06 | 2 | support/texlab/crates/parser/src/test_data/latex/parameter.txt
+2023/05/06 | 60 | support/texlab/crates/parser/src/test_data/latex/structure/structure_enum_item.txt
+2023/05/06 | 27 | support/texlab/crates/parser/src/test_data/latex/structure/structure_invalid_nesting.txt
+2023/05/06 | 90 | support/texlab/crates/parser/src/test_data/latex/structure/structure_nested.txt
+2023/05/06 | 35 | support/texlab/crates/parser/src/test_data/latex/structure/structure_siblings.txt
+2023/05/06 | 31 | support/texlab/crates/parser/src/test_data/latex/theorem_definition/theorem_definition_full.txt
+2023/05/06 | 21 | support/texlab/crates/parser/src/test_data/latex/theorem_definition/theorem_definition_name_with_counter.txt
+2023/05/06 | 26 | support/texlab/crates/parser/src/test_data/latex/theorem_definition/theorem_definition_name_with_description_and_counter.txt
+2023/05/06 | 21 | support/texlab/crates/parser/src/test_data/latex/theorem_definition/theorem_definition_name_with_description.txt
+2023/05/06 | 16 | support/texlab/crates/parser/src/test_data/latex/theorem_definition/theorem_definition_only_name.txt
+2023/05/06 | 453 | support/texlab/crates/symbols/Cargo.toml
+2023/05/06 | 1980 | support/texlab/crates/symbols/src/document/bib.rs
+2023/05/06 | 1535 | support/texlab/crates/symbols/src/document.rs
+2023/05/06 | 797 | support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__allowed_patterns.snap
+2023/05/06 | 1679 | support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__enumerate.snap
+2023/05/06 | 841 | support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__equation.snap
+2023/05/06 | 846 | support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__float.snap
+2023/05/06 | 386 | support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__ignored_patterns.snap
+2023/05/06 | 933 | support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__section.snap
+2023/05/06 | 1120 | support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__theorem.snap
+2023/05/06 | 4868 | support/texlab/crates/symbols/src/document/tests.rs
+2023/05/06 | 9070 | support/texlab/crates/symbols/src/document/tex.rs
+2023/05/06 | 175 | support/texlab/crates/symbols/src/lib.rs
+2023/05/06 | 2620 | support/texlab/crates/symbols/src/types.rs
+2023/05/06 | 1321 | support/texlab/crates/symbols/src/workspace.rs
+2023/05/06 | 823 | support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_bibtex.snap
+2023/05/06 | 566 | support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_type_figure.snap
+2023/05/06 | 1443 | support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_type_item.snap
+2023/05/06 | 1009 | support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_type_math.snap
+2023/05/06 | 1871 | support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_type_section.snap
+2023/05/06 | 5549 | support/texlab/crates/symbols/src/workspace/sort.rs
+2023/05/06 | 2360 | support/texlab/crates/symbols/src/workspace/tests.rs
+2023/05/06 | 227 | support/texlab/crates/syntax/Cargo.toml
+2023/05/06 | 7955 | support/texlab/crates/syntax/src/bibtex.rs
+2023/05/06 | 16979 | support/texlab/crates/syntax/src/latex/cst.rs
+2023/05/06 | 1668 | support/texlab/crates/syntax/src/latex/kind.rs
+2023/05/06 | 689 | support/texlab/crates/syntax/src/latex.rs
+2023/05/06 | 864 | support/texlab/crates/syntax/src/lib.rs
+2023/05/06 | 322 | support/texlab/crates/test-utils/Cargo.toml
+2023/05/06 | 2874 | support/texlab/crates/test-utils/src/fixture.rs
+2023/05/06 | 17 | support/texlab/crates/test-utils/src/lib.rs
+2023/05/06 | 1272 | support/texlab/crates/texlab/benches/bench_main.rs
+2023/05/06 | 1781 | support/texlab/crates/texlab/Cargo.toml
+2023/05/06 | 6970534 | support/texlab/crates/texlab/data/components.json.gz
+2023/05/06 | 3223 | support/texlab/crates/texlab/src/client.rs
+2023/05/06 | 838 | support/texlab/crates/texlab/src/features/completion/acronym_ref.rs
+2023/05/06 | 1717 | support/texlab/crates/texlab/src/features/completion/argument.rs
+2023/05/06 | 283 | support/texlab/crates/texlab/src/features/completion/begin_snippet.rs
+2023/05/06 | 25291 | support/texlab/crates/texlab/src/features/completion/builder.rs
+2023/05/06 | 1654 | support/texlab/crates/texlab/src/features/completion/citation.rs
+2023/05/06 | 1238 | support/texlab/crates/texlab/src/features/completion/color_model.rs
+2023/05/06 | 1829 | support/texlab/crates/texlab/src/features/completion/color.rs
+2023/05/06 | 680 | support/texlab/crates/texlab/src/features/completion/component_command.rs
+2023/05/06 | 516 | support/texlab/crates/texlab/src/features/completion/component_environment.rs
+2023/05/06 | 681 | support/texlab/crates/texlab/src/features/completion/entry_type.rs
+2023/05/06 | 824 | support/texlab/crates/texlab/src/features/completion/field.rs
+2023/05/06 | 1191 | support/texlab/crates/texlab/src/features/completion/glossary_ref.rs
+2023/05/06 | 1556 | support/texlab/crates/texlab/src/features/completion/import.rs
+2023/05/06 | 4028 | support/texlab/crates/texlab/src/features/completion/include.rs
+2023/05/06 | 2839 | support/texlab/crates/texlab/src/features/completion/label.rs
+2023/05/06 | 1036 | support/texlab/crates/texlab/src/features/completion/matcher.rs
+2023/05/06 | 1917 | support/texlab/crates/texlab/src/features/completion.rs
+2023/05/06 | 554 | support/texlab/crates/texlab/src/features/completion/theorem.rs
+2023/05/06 | 3061 | support/texlab/crates/texlab/src/features/completion/tikz_library.rs
+2023/05/06 | 642 | support/texlab/crates/texlab/src/features/completion/user_command.rs
+2023/05/06 | 637 | support/texlab/crates/texlab/src/features/completion/user_environment.rs
+2023/05/06 | 1300 | support/texlab/crates/texlab/src/features/definition/command.rs
+2023/05/06 | 984 | support/texlab/crates/texlab/src/features/definition/document.rs
+2023/05/06 | 1191 | support/texlab/crates/texlab/src/features/definition/entry.rs
+2023/05/06 | 1166 | support/texlab/crates/texlab/src/features/definition/label.rs
+2023/05/06 | 1856 | support/texlab/crates/texlab/src/features/definition.rs
+2023/05/06 | 1037 | support/texlab/crates/texlab/src/features/definition/string.rs
+2023/05/06 | 2143 | support/texlab/crates/texlab/src/features/folding.rs
+2023/05/06 | 7202 | support/texlab/crates/texlab/src/features/formatting/bibtex_internal.rs
+2023/05/06 | 2007 | support/texlab/crates/texlab/src/features/formatting/latexindent.rs
+2023/05/06 | 1083 | support/texlab/crates/texlab/src/features/formatting.rs
+2023/05/06 | 1049 | support/texlab/crates/texlab/src/features/highlight/label.rs
+2023/05/06 | 358 | support/texlab/crates/texlab/src/features/highlight.rs
+2023/05/06 | 749 | support/texlab/crates/texlab/src/features/hover/citation.rs
+2023/05/06 | 819 | support/texlab/crates/texlab/src/features/hover/component.rs
+2023/05/06 | 590 | support/texlab/crates/texlab/src/features/hover/entry_type.rs
+2023/05/06 | 609 | support/texlab/crates/texlab/src/features/hover/field.rs
+2023/05/06 | 858 | support/texlab/crates/texlab/src/features/hover/label.rs
+2023/05/06 | 1171 | support/texlab/crates/texlab/src/features/hover.rs
+2023/05/06 | 1189 | support/texlab/crates/texlab/src/features/hover/string_ref.rs
+2023/05/06 | 1330 | support/texlab/crates/texlab/src/features/inlay_hint/label.rs
+2023/05/06 | 1283 | support/texlab/crates/texlab/src/features/inlay_hint.rs
+2023/05/06 | 555 | support/texlab/crates/texlab/src/features/link/include.rs
+2023/05/06 | 932 | support/texlab/crates/texlab/src/features/link.rs
+2023/05/06 | 1898 | support/texlab/crates/texlab/src/features/reference/entry.rs
+2023/05/06 | 1007 | support/texlab/crates/texlab/src/features/reference/label.rs
+2023/05/06 | 1070 | support/texlab/crates/texlab/src/features/reference.rs
+2023/05/06 | 1402 | support/texlab/crates/texlab/src/features/reference/string.rs
+2023/05/06 | 1305 | support/texlab/crates/texlab/src/features/rename/command.rs
+2023/05/06 | 2292 | support/texlab/crates/texlab/src/features/rename/entry.rs
+2023/05/06 | 1066 | support/texlab/crates/texlab/src/features/rename/label.rs
+2023/05/06 | 1740 | support/texlab/crates/texlab/src/features/rename.rs
+2023/05/06 | 197 | support/texlab/crates/texlab/src/features.rs
+2023/05/06 | 4126 | support/texlab/crates/texlab/src/features/symbols.rs
+2023/05/06 | 108 | support/texlab/crates/texlab/src/lib.rs
+2023/05/06 | 1865 | support/texlab/crates/texlab/src/main.rs
+2023/05/06 | 2411 | support/texlab/crates/texlab/src/server/dispatch.rs
+2023/05/06 | 2172 | support/texlab/crates/texlab/src/server/extensions.rs
+2023/05/06 | 7562 | support/texlab/crates/texlab/src/server/options.rs
+2023/05/06 | 1412 | support/texlab/crates/texlab/src/server/progress.rs
+2023/05/06 | 39358 | support/texlab/crates/texlab/src/server.rs
+2023/05/06 | 6018 | support/texlab/crates/texlab/src/util/capabilities.rs
+2023/05/06 | 3729 | support/texlab/crates/texlab/src/util/chktex.rs
+2023/05/06 | 3500 | support/texlab/crates/texlab/src/util/components.rs
+2023/05/06 | 9627 | support/texlab/crates/texlab/src/util/cursor.rs
+2023/05/06 | 4163 | support/texlab/crates/texlab/src/util/diagnostics.rs
+2023/05/06 | 1611 | support/texlab/crates/texlab/src/util/line_index_ext.rs
+2023/05/06 | 4004 | support/texlab/crates/texlab/src/util/lsp_enums.rs
+2023/05/06 | 1667 | support/texlab/crates/texlab/src/util.rs
+2023/05/06 | 8469 | support/texlab/crates/texlab/tests/lsp/fixture.rs
+2023/05/06 | 47 | support/texlab/crates/texlab/tests/lsp/main.rs
+2023/05/06 | 13566 | support/texlab/crates/texlab/tests/lsp/text_document/completion.rs
+2023/05/06 | 3387 | support/texlab/crates/texlab/tests/lsp/text_document/definition.rs
+2023/05/06 | 1322 | support/texlab/crates/texlab/tests/lsp/text_document/document_highlight.rs
+2023/05/06 | 1157 | support/texlab/crates/texlab/tests/lsp/text_document/document_link.rs
+2023/05/06 | 1505 | support/texlab/crates/texlab/tests/lsp/text_document/document_symbol.rs
+2023/05/06 | 1208 | support/texlab/crates/texlab/tests/lsp/text_document/folding_range.rs
+2023/05/06 | 3009 | support/texlab/crates/texlab/tests/lsp/text_document/formatting.rs
+2023/05/06 | 3943 | support/texlab/crates/texlab/tests/lsp/text_document/hover.rs
+2023/05/06 | 1737 | support/texlab/crates/texlab/tests/lsp/text_document/inlay_hint.rs
+2023/05/06 | 4169 | support/texlab/crates/texlab/tests/lsp/text_document/references.rs
+2023/05/06 | 1743 | support/texlab/crates/texlab/tests/lsp/text_document/rename.rs
+2023/05/06 | 186 | support/texlab/crates/texlab/tests/lsp/text_document.rs
+2023/05/06 | 226 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__acronym_package_ref.snap
+2023/05/06 | 265 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__acronym_ref_empty.snap
+2023/05/06 | 278 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__acronym_ref_open_brace.snap
+2023/05/06 | 279 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__acronym_ref_simple.snap
+2023/05/06 | 399 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__argument_empty.snap
+2023/05/06 | 404 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__argument_open_brace.snap
+2023/05/06 | 211 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__argument_word.snap
+2023/05/06 | 550 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__begin_environment_without_snippet_support.snap
+2023/05/06 | 313 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__citation_acronym.snap
+2023/05/06 | 291 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__citation_open_brace_multiple.snap
+2023/05/06 | 269 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__citation_open_brace.snap
+2023/05/06 | 583 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__citation.snap
+2023/05/06 | 407 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_model_definition_open_brace.snap
+2023/05/06 | 403 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_model_definition_set_open_brace.snap
+2023/05/06 | 404 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_model_definition_set_simple.snap
+2023/05/06 | 408 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_model_definition_simple.snap
+2023/05/06 | 404 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_open_brace.snap
+2023/05/06 | 405 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_simple.snap
+2023/05/06 | 414 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_word.snap
+2023/05/06 | 594 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_command_bibtex.snap
+2023/05/06 | 583 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_command_simple_package.snap
+2023/05/06 | 494 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_command_simple.snap
+2023/05/06 | 257 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_environment_class.snap
+2023/05/06 | 279 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_environment_command_definition.snap
+2023/05/06 | 544 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_environment_simple_end.snap
+2023/05/06 | 223 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_environment_simple.snap
+2023/05/06 | 194 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_after_preamble.snap
+2023/05/06 | 186 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_after_string.snap
+2023/05/06 | 384 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_at_empty.snap
+2023/05/06 | 182 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_before_article.snap
+2023/05/06 | 185 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_before_preamble.snap
+2023/05/06 | 179 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_before_string.snap
+2023/05/06 | 205 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_complete_entry.snap
+2023/05/06 | 421 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__field_empty_entry_closed.snap
+2023/05/06 | 420 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__field_empty_entry_open.snap
+2023/05/06 | 441 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__field_entry_field_name.snap
+2023/05/06 | 486 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__field_entry_two_fields_name_closed.snap
+2023/05/06 | 485 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__field_entry_two_fields_name_open.snap
+2023/05/06 | 263 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__glossary_ref_open_brace.snap
+2023/05/06 | 264 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__glossary_ref_simple.snap
+2023/05/06 | 459 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__import_class_closed_brace.snap
+2023/05/06 | 464 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__import_class_open_brace.snap
+2023/05/06 | 449 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__import_package_closed_brace.snap
+2023/05/06 | 448 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__import_package_open_brace.snap
+2023/05/06 | 512 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__issue_857_1.snap
+2023/05/06 | 313 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__issue_864.snap
+2023/05/06 | 247 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__issue_883.snap
+2023/05/06 | 1814 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__label.snap
+2023/05/06 | 699 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__project_resolution_import.snap
+2023/05/06 | 711 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__project_resolution_texlabroot.snap
+2023/05/06 | 250 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__theorem_begin.snap
+2023/05/06 | 255 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__theorem_end.snap
+2023/05/06 | 452 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__tikz_library_closed_brace.snap
+2023/05/06 | 451 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__tikz_library_open_brace.snap
+2023/05/06 | 273 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__user_command.snap
+2023/05/06 | 351 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__user_environment.snap
+2023/05/06 | 368 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_link__document_import.snap
+2023/05/06 | 355 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_link__document_include.snap
+2023/05/06 | 2586 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__smoke.snap
+2023/05/06 | 650 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__folding_range__bibtex.snap
+2023/05/06 | 841 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__folding_range__latex.snap
+2023/05/06 | 167 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_command.snap
+2023/05/06 | 157 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_insert_braces.snap
+2023/05/06 | 181 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_join_strings.snap
+2023/05/06 | 946 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_multiple_entries.snap
+2023/05/06 | 132 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_parens.snap
+2023/05/06 | 160 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_preamble.snap
+2023/05/06 | 143 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_string.snap
+2023/05/06 | 157 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_trailing_comma.snap
+2023/05/06 | 520 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_wrap_long_lines.snap
+2023/05/06 | 308 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__citation_inside_cite.snap
+2023/05/06 | 314 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__citation_inside_entry.snap
+2023/05/06 | 875 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__component_known_package.snap
+2023/05/06 | 659 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__entry_type_known_type.snap
+2023/05/06 | 234 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__field_known.snap
+2023/05/06 | 406 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__label_theorem_child_file_mumber.snap
+2023/05/06 | 332 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__label_theorem_child_file.snap
+2023/05/06 | 212 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__section.snap
+2023/05/06 | 272 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__string_inside_reference.snap
+2023/05/06 | 1586 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__inlay_hint__label_definition.snap
+2023/05/06 | 12 | support/texlab/crates/texlab/tests/lsp/workspace.rs
+2023/05/06 | 1922 | support/texlab/crates/texlab/tests/lsp/workspace/snapshots/lsp__workspace__symbol__smoke.snap
+2023/05/06 | 1051 | support/texlab/crates/texlab/tests/lsp/workspace/symbol.rs
+2023/05/06 | 380190 | support/texlab/images/demo.gif
+2023/05/06 | 35149 | support/texlab/LICENSE
+2023/05/06 | 3767 | support/texlab/README.md
+2023/05/06 | 613 | support/texlab/texlab.1
+2023/05/06 | 26483 | support/texlab/texlab.pdf
+2023/05/06 | 2586 | support/texlab/texlab.tex
+2023/05/06 | 7724317 | support/texlab.zip
2011/11/27 | 456 | support/texlipse/plugin/1.5.0/README.TXT
2011/11/27 | 1726937 | support/texlipse/plugin/1.5.0/texlipse_1.5.0 src.zip
1999/01/30 | 6077 | support/texlist/README
@@ -291601,14 +291613,14 @@
2019/02/28 | 1796 | systems/texlive/tlnet/archive/context-typearea.r47085.tar.xz
2021/09/05 | 644 | systems/texlive/tlnet/archive/context-typescripts.doc.r60422.tar.xz
2021/09/05 | 7216 | systems/texlive/tlnet/archive/context-typescripts.r60422.tar.xz
-2023/03/11 | 1699140 | systems/texlive/tlnet/archive/context.universal-darwin.r66562.tar.xz
+2023/05/06 | 1729100 | systems/texlive/tlnet/archive/context.universal-darwin.r67028.tar.xz
2022/02/19 | 10908 | systems/texlive/tlnet/archive/context-vim.doc.r62071.tar.xz
2022/02/19 | 10232 | systems/texlive/tlnet/archive/context-vim.r62071.tar.xz
2019/02/28 | 263536 | systems/texlive/tlnet/archive/context-visualcounter.doc.r47085.tar.xz
2019/02/28 | 3992 | systems/texlive/tlnet/archive/context-visualcounter.r47085.tar.xz
2019/02/28 | 6744 | systems/texlive/tlnet/archive/context-visualcounter.source.r47085.tar.xz
-2023/03/12 | 1157288 | systems/texlive/tlnet/archive/context.windows.r66582.tar.xz
-2023/03/25 | 1027136 | systems/texlive/tlnet/archive/context.x86_64-cygwin.r66664.tar.xz
+2023/05/06 | 1157300 | systems/texlive/tlnet/archive/context.windows.r67023.tar.xz
+2023/05/06 | 1048000 | systems/texlive/tlnet/archive/context.x86_64-cygwin.r67022.tar.xz
2023/03/11 | 931252 | systems/texlive/tlnet/archive/context.x86_64-darwinlegacy.r66562.tar.xz
2023/03/11 | 990652 | systems/texlive/tlnet/archive/context.x86_64-linuxmusl.r66562.tar.xz
2023/03/11 | 1079080 | systems/texlive/tlnet/archive/context.x86_64-linux.r66562.tar.xz
@@ -295357,9 +295369,9 @@
2023/04/20 | 3498280 | systems/texlive/tlnet/archive/l3experimental.doc.r66896.tar.xz
2023/04/20 | 23664 | systems/texlive/tlnet/archive/l3experimental.r66896.tar.xz
2023/04/20 | 80196 | systems/texlive/tlnet/archive/l3experimental.source.r66896.tar.xz
-2023/04/21 | 11969816 | systems/texlive/tlnet/archive/l3kernel.doc.r66903.tar.xz
-2023/04/21 | 175176 | systems/texlive/tlnet/archive/l3kernel.r66903.tar.xz
-2023/04/21 | 600528 | systems/texlive/tlnet/archive/l3kernel.source.r66903.tar.xz
+2023/05/06 | 11915176 | systems/texlive/tlnet/archive/l3kernel.doc.r67026.tar.xz
+2023/05/06 | 174320 | systems/texlive/tlnet/archive/l3kernel.r67026.tar.xz
+2023/05/06 | 597116 | systems/texlive/tlnet/archive/l3kernel.source.r67026.tar.xz
2023/02/04 | 1831688 | systems/texlive/tlnet/archive/l3packages.doc.r65722.tar.xz
2023/02/04 | 21928 | systems/texlive/tlnet/archive/l3packages.r65722.tar.xz
2023/02/04 | 45696 | systems/texlive/tlnet/archive/l3packages.source.r65722.tar.xz
@@ -296064,8 +296076,8 @@
2019/02/28 | 14224 | systems/texlive/tlnet/archive/lsc.r15878.tar.xz
2019/02/28 | 1899640 | systems/texlive/tlnet/archive/lshort-bulgarian.doc.r15878.tar.xz
2019/02/28 | 424 | systems/texlive/tlnet/archive/lshort-bulgarian.r15878.tar.xz
-2021/11/21 | 1561100 | systems/texlive/tlnet/archive/lshort-chinese.doc.r61100.tar.xz
-2021/11/21 | 472 | systems/texlive/tlnet/archive/lshort-chinese.r61100.tar.xz
+2023/05/06 | 1562468 | systems/texlive/tlnet/archive/lshort-chinese.doc.r67025.tar.xz
+2023/05/06 | 472 | systems/texlive/tlnet/archive/lshort-chinese.r67025.tar.xz
2020/06/24 | 1644616 | systems/texlive/tlnet/archive/lshort-czech.doc.r55643.tar.xz
2020/06/24 | 384 | systems/texlive/tlnet/archive/lshort-czech.r55643.tar.xz
2019/02/28 | 777012 | systems/texlive/tlnet/archive/lshort-dutch.doc.r15878.tar.xz
@@ -296224,23 +296236,23 @@
2021/12/03 | 340 | systems/texlive/tlnet/archive/luafindfont.x86_64-solaris.r61207.tar.xz
2022/12/30 | 132448 | systems/texlive/tlnet/archive/luagcd.doc.r65396.tar.xz
2022/12/30 | 2548 | systems/texlive/tlnet/archive/luagcd.r65396.tar.xz
-2023/03/11 | 2200464 | systems/texlive/tlnet/archive/luahbtex.aarch64-linux.r66547.tar.xz
-2023/03/10 | 2280752 | systems/texlive/tlnet/archive/luahbtex.amd64-freebsd.r66509.tar.xz
+2023/05/06 | 2203408 | systems/texlive/tlnet/archive/luahbtex.aarch64-linux.r67024.tar.xz
+2023/05/06 | 2291440 | systems/texlive/tlnet/archive/luahbtex.amd64-freebsd.r67024.tar.xz
2023/05/03 | 2202928 | systems/texlive/tlnet/archive/luahbtex.amd64-netbsd.r66987.tar.xz
-2023/03/10 | 1925748 | systems/texlive/tlnet/archive/luahbtex.armhf-linux.r66509.tar.xz
+2023/05/06 | 1926836 | systems/texlive/tlnet/archive/luahbtex.armhf-linux.r67024.tar.xz
2023/02/27 | 30240 | systems/texlive/tlnet/archive/luahbtex.doc.r66186.tar.xz
-2023/03/10 | 2102696 | systems/texlive/tlnet/archive/luahbtex.i386-freebsd.r66509.tar.xz
+2023/05/06 | 2162860 | systems/texlive/tlnet/archive/luahbtex.i386-freebsd.r67024.tar.xz
2023/03/10 | 2405804 | systems/texlive/tlnet/archive/luahbtex.i386-linux.r66511.tar.xz
2023/05/03 | 2036544 | systems/texlive/tlnet/archive/luahbtex.i386-netbsd.r66987.tar.xz
-2023/03/10 | 2108732 | systems/texlive/tlnet/archive/luahbtex.i386-solaris.r66509.tar.xz
+2023/05/06 | 2110032 | systems/texlive/tlnet/archive/luahbtex.i386-solaris.r67024.tar.xz
2023/02/27 | 460 | systems/texlive/tlnet/archive/luahbtex.r66186.tar.xz
2023/05/04 | 3680412 | systems/texlive/tlnet/archive/luahbtex.universal-darwin.r67006.tar.xz
2023/05/03 | 1916608 | systems/texlive/tlnet/archive/luahbtex.windows.r66994.tar.xz
2023/05/04 | 2110468 | systems/texlive/tlnet/archive/luahbtex.x86_64-cygwin.r66997.tar.xz
-2023/03/10 | 1927100 | systems/texlive/tlnet/archive/luahbtex.x86_64-darwinlegacy.r66509.tar.xz
+2023/05/06 | 1928428 | systems/texlive/tlnet/archive/luahbtex.x86_64-darwinlegacy.r67024.tar.xz
2023/03/10 | 2445908 | systems/texlive/tlnet/archive/luahbtex.x86_64-linuxmusl.r66511.tar.xz
2023/05/03 | 2204852 | systems/texlive/tlnet/archive/luahbtex.x86_64-linux.r66986.tar.xz
-2023/03/10 | 2336832 | systems/texlive/tlnet/archive/luahbtex.x86_64-solaris.r66509.tar.xz
+2023/05/06 | 2338308 | systems/texlive/tlnet/archive/luahbtex.x86_64-solaris.r67024.tar.xz
2020/08/29 | 41252 | systems/texlive/tlnet/archive/luahyphenrules.doc.r56200.tar.xz
2020/08/29 | 2368 | systems/texlive/tlnet/archive/luahyphenrules.r56200.tar.xz
2019/04/06 | 1524 | systems/texlive/tlnet/archive/luaimageembed.doc.r50788.tar.xz
@@ -296253,19 +296265,19 @@
2019/02/28 | 12408 | systems/texlive/tlnet/archive/luainputenc.source.r20491.tar.xz
2019/02/28 | 30328 | systems/texlive/tlnet/archive/luaintro.doc.r35490.tar.xz
2019/02/28 | 468 | systems/texlive/tlnet/archive/luaintro.r35490.tar.xz
-2023/03/11 | 3598668 | systems/texlive/tlnet/archive/luajittex.aarch64-linux.r66547.tar.xz
-2023/03/10 | 2817240 | systems/texlive/tlnet/archive/luajittex.amd64-freebsd.r66509.tar.xz
+2023/05/06 | 3594156 | systems/texlive/tlnet/archive/luajittex.aarch64-linux.r67024.tar.xz
+2023/05/06 | 2834420 | systems/texlive/tlnet/archive/luajittex.amd64-freebsd.r67024.tar.xz
2023/05/03 | 4022648 | systems/texlive/tlnet/archive/luajittex.amd64-netbsd.r66987.tar.xz
-2023/03/10 | 2207968 | systems/texlive/tlnet/archive/luajittex.armhf-linux.r66509.tar.xz
+2023/05/06 | 2208360 | systems/texlive/tlnet/archive/luajittex.armhf-linux.r67024.tar.xz
2023/02/27 | 30360 | systems/texlive/tlnet/archive/luajittex.doc.r66186.tar.xz
-2023/03/10 | 2581040 | systems/texlive/tlnet/archive/luajittex.i386-freebsd.r66509.tar.xz
+2023/05/06 | 2640812 | systems/texlive/tlnet/archive/luajittex.i386-freebsd.r67024.tar.xz
2023/03/10 | 3836024 | systems/texlive/tlnet/archive/luajittex.i386-linux.r66511.tar.xz
2023/05/03 | 3591804 | systems/texlive/tlnet/archive/luajittex.i386-netbsd.r66987.tar.xz
2023/02/27 | 484 | systems/texlive/tlnet/archive/luajittex.r66186.tar.xz
2023/05/04 | 6664880 | systems/texlive/tlnet/archive/luajittex.universal-darwin.r67006.tar.xz
2023/05/03 | 3877948 | systems/texlive/tlnet/archive/luajittex.windows.r66994.tar.xz
2023/05/04 | 2564004 | systems/texlive/tlnet/archive/luajittex.x86_64-cygwin.r66997.tar.xz
-2023/03/10 | 2289348 | systems/texlive/tlnet/archive/luajittex.x86_64-darwinlegacy.r66509.tar.xz
+2023/05/06 | 2302172 | systems/texlive/tlnet/archive/luajittex.x86_64-darwinlegacy.r67024.tar.xz
2023/03/10 | 4031752 | systems/texlive/tlnet/archive/luajittex.x86_64-linuxmusl.r66511.tar.xz
2023/05/03 | 4032308 | systems/texlive/tlnet/archive/luajittex.x86_64-linux.r66986.tar.xz
2023/01/14 | 435504 | systems/texlive/tlnet/archive/luakeys.doc.r65533.tar.xz
@@ -296338,18 +296350,18 @@
2019/02/28 | 171144 | systems/texlive/tlnet/archive/luatex85.doc.r41456.tar.xz
2019/02/28 | 1740 | systems/texlive/tlnet/archive/luatex85.r41456.tar.xz
2019/02/28 | 3788 | systems/texlive/tlnet/archive/luatex85.source.r41456.tar.xz
-2023/03/11 | 1720732 | systems/texlive/tlnet/archive/luatex.aarch64-linux.r66547.tar.xz
-2023/03/10 | 1892396 | systems/texlive/tlnet/archive/luatex.amd64-freebsd.r66509.tar.xz
+2023/05/06 | 1725316 | systems/texlive/tlnet/archive/luatex.aarch64-linux.r67024.tar.xz
+2023/05/06 | 1891424 | systems/texlive/tlnet/archive/luatex.amd64-freebsd.r67024.tar.xz
2023/05/03 | 1596260 | systems/texlive/tlnet/archive/luatex.amd64-netbsd.r66987.tar.xz
-2023/03/10 | 1483856 | systems/texlive/tlnet/archive/luatex.armhf-linux.r66509.tar.xz
+2023/05/06 | 1474148 | systems/texlive/tlnet/archive/luatex.armhf-linux.r67024.tar.xz
2019/11/07 | 263752 | systems/texlive/tlnet/archive/luatexbase.doc.r52663.tar.xz
2019/11/07 | 3508 | systems/texlive/tlnet/archive/luatexbase.r52663.tar.xz
2019/11/07 | 8444 | systems/texlive/tlnet/archive/luatexbase.source.r52663.tar.xz
2023/04/30 | 1948096 | systems/texlive/tlnet/archive/luatex.doc.r66967.tar.xz
-2023/03/10 | 1727728 | systems/texlive/tlnet/archive/luatex.i386-freebsd.r66509.tar.xz
+2023/05/06 | 1795500 | systems/texlive/tlnet/archive/luatex.i386-freebsd.r67024.tar.xz
2023/03/10 | 1856468 | systems/texlive/tlnet/archive/luatex.i386-linux.r66511.tar.xz
2023/05/03 | 1457072 | systems/texlive/tlnet/archive/luatex.i386-netbsd.r66987.tar.xz
-2023/03/10 | 1616716 | systems/texlive/tlnet/archive/luatex.i386-solaris.r66509.tar.xz
+2023/05/06 | 1619368 | systems/texlive/tlnet/archive/luatex.i386-solaris.r67024.tar.xz
2023/05/04 | 3244724 | systems/texlive/tlnet/archive/luatexja.doc.r67003.tar.xz
2023/05/04 | 193016 | systems/texlive/tlnet/archive/luatexja.r67003.tar.xz
2023/05/04 | 83900 | systems/texlive/tlnet/archive/luatexja.source.r67003.tar.xz
@@ -296362,10 +296374,10 @@
2023/05/04 | 3035812 | systems/texlive/tlnet/archive/luatex.universal-darwin.r67006.tar.xz
2023/05/03 | 2092324 | systems/texlive/tlnet/archive/luatex.windows.r66994.tar.xz
2023/05/04 | 1746216 | systems/texlive/tlnet/archive/luatex.x86_64-cygwin.r66997.tar.xz
-2023/03/10 | 1599084 | systems/texlive/tlnet/archive/luatex.x86_64-darwinlegacy.r66509.tar.xz
+2023/05/06 | 1600900 | systems/texlive/tlnet/archive/luatex.x86_64-darwinlegacy.r67024.tar.xz
2023/03/10 | 1917108 | systems/texlive/tlnet/archive/luatex.x86_64-linuxmusl.r66511.tar.xz
2023/05/03 | 1618088 | systems/texlive/tlnet/archive/luatex.x86_64-linux.r66986.tar.xz
-2023/03/10 | 1804800 | systems/texlive/tlnet/archive/luatex.x86_64-solaris.r66509.tar.xz
+2023/05/06 | 1781048 | systems/texlive/tlnet/archive/luatex.x86_64-solaris.r67024.tar.xz
2023/04/06 | 448 | systems/texlive/tlnet/archive/lua-tinyyaml.doc.r66776.tar.xz
2023/04/06 | 5600 | systems/texlive/tlnet/archive/lua-tinyyaml.r66776.tar.xz
2020/02/18 | 209076 | systems/texlive/tlnet/archive/luatodonotes.doc.r53825.tar.xz
@@ -300719,12 +300731,13 @@
2023/04/06 | 344 | systems/texlive/tlnet/archive/texfindpkg.amd64-freebsd.r66777.tar.xz
2023/04/06 | 340 | systems/texlive/tlnet/archive/texfindpkg.amd64-netbsd.r66777.tar.xz
2023/04/06 | 340 | systems/texlive/tlnet/archive/texfindpkg.armhf-linux.r66777.tar.xz
-2023/04/06 | 11844 | systems/texlive/tlnet/archive/texfindpkg.doc.r66777.tar.xz
+2023/05/06 | 11508 | systems/texlive/tlnet/archive/texfindpkg.doc.r67027.tar.xz
2023/04/06 | 340 | systems/texlive/tlnet/archive/texfindpkg.i386-freebsd.r66777.tar.xz
2023/04/06 | 340 | systems/texlive/tlnet/archive/texfindpkg.i386-linux.r66777.tar.xz
2023/04/06 | 340 | systems/texlive/tlnet/archive/texfindpkg.i386-netbsd.r66777.tar.xz
2023/04/06 | 340 | systems/texlive/tlnet/archive/texfindpkg.i386-solaris.r66777.tar.xz
-2023/04/06 | 895192 | systems/texlive/tlnet/archive/texfindpkg.r66777.tar.xz
+2023/05/06 | 877392 | systems/texlive/tlnet/archive/texfindpkg.r67027.tar.xz
+2023/05/06 | 2872 | systems/texlive/tlnet/archive/texfindpkg.source.r67027.tar.xz
2023/04/06 | 344 | systems/texlive/tlnet/archive/texfindpkg.universal-darwin.r66777.tar.xz
2023/04/06 | 2308 | systems/texlive/tlnet/archive/texfindpkg.windows.r66777.tar.xz
2023/04/06 | 344 | systems/texlive/tlnet/archive/texfindpkg.x86_64-cygwin.r66777.tar.xz
@@ -302708,16 +302721,16 @@
2020/07/18 | 47816 | systems/texlive/tlnet/archive/zztex.doc.r55862.tar.xz
2020/07/18 | 101724 | systems/texlive/tlnet/archive/zztex.r55862.tar.xz
2023/03/12 | 125532 | systems/texlive/tlnet/install-tl
-2023/05/05 | 5735784 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2023/05/05 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2023/05/05 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2023/05/06 | 5735786 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2023/05/06 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2023/05/06 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2023/02/19 | 5098 | systems/texlive/tlnet/install-tl-windows.bat
-2023/05/05 | 21037464 | systems/texlive/tlnet/install-tl-windows.exe
-2023/05/05 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2023/05/05 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2023/05/05 | 26025746 | systems/texlive/tlnet/install-tl.zip
-2023/05/05 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2023/05/05 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2023/05/06 | 21037409 | systems/texlive/tlnet/install-tl-windows.exe
+2023/05/06 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2023/05/06 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2023/05/06 | 26025746 | systems/texlive/tlnet/install-tl.zip
+2023/05/06 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2023/05/06 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
2023/03/19 | 1229 | systems/texlive/tlnet/README.md
2023/03/19 | 0 | systems/texlive/tlnet/TEXLIVE_2023
2023/01/17 | 8401 | systems/texlive/tlnet/tlpkg/gpg/pubring.gpg
@@ -302769,12 +302782,12 @@
2023/02/21 | 20371 | systems/texlive/tlnet/tlpkg/TeXLive/TLCrypto.pm
2021/12/21 | 5429 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm
2023/04/08 | 28167 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm
-2023/05/05 | 18092397 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2023/05/05 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2023/05/06 | 18092551 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2023/05/06 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2023/02/20 | 86803 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm
-2023/05/05 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2023/05/05 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2023/05/05 | 2446760 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2023/05/06 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2023/05/06 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2023/05/06 | 2444972 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2023/02/20 | 58928 | systems/texlive/tlnet/tlpkg/TeXLive/TLPOBJ.pm
2023/02/26 | 42350 | systems/texlive/tlnet/tlpkg/TeXLive/TLPSRC.pm
2023/02/21 | 16138 | systems/texlive/tlnet/tlpkg/TeXLive/TLTREE.pm
@@ -305948,14 +305961,14 @@
2022/08/27 | 2192 | systems/win32/miktex/setup/deb/dists/bionic/universe/binary-amd64/Packages.gz
2022/08/27 | 89 | systems/win32/miktex/setup/deb/dists/bionic/universe/binary-amd64/Release
2022/08/27 | 1763 | systems/win32/miktex/setup/deb/dists/bionic/universe/Contents-amd64.gz
-2023/04/16 | 2042 | systems/win32/miktex/setup/deb/dists/bullseye/InRelease
-2023/04/16 | 1520 | systems/win32/miktex/setup/deb/dists/bullseye/Release
-2023/04/16 | 473 | systems/win32/miktex/setup/deb/dists/bullseye/Release.gpg
-2023/04/16 | 6524 | systems/win32/miktex/setup/deb/dists/bullseye/universe/binary-amd64/Packages
-2023/04/16 | 1608 | systems/win32/miktex/setup/deb/dists/bullseye/universe/binary-amd64/Packages.bz2
-2023/04/16 | 1262 | systems/win32/miktex/setup/deb/dists/bullseye/universe/binary-amd64/Packages.gz
-2023/04/16 | 95 | systems/win32/miktex/setup/deb/dists/bullseye/universe/binary-amd64/Release
-2023/04/16 | 1556 | systems/win32/miktex/setup/deb/dists/bullseye/universe/Contents-amd64.gz
+2023/05/06 | 2041 | systems/win32/miktex/setup/deb/dists/bullseye/InRelease
+2023/05/06 | 1519 | systems/win32/miktex/setup/deb/dists/bullseye/Release
+2023/05/06 | 473 | systems/win32/miktex/setup/deb/dists/bullseye/Release.gpg
+2023/05/06 | 8153 | systems/win32/miktex/setup/deb/dists/bullseye/universe/binary-amd64/Packages
+2023/05/06 | 1877 | systems/win32/miktex/setup/deb/dists/bullseye/universe/binary-amd64/Packages.bz2
+2023/05/06 | 1378 | systems/win32/miktex/setup/deb/dists/bullseye/universe/binary-amd64/Packages.gz
+2023/05/06 | 95 | systems/win32/miktex/setup/deb/dists/bullseye/universe/binary-amd64/Release
+2023/05/06 | 1556 | systems/win32/miktex/setup/deb/dists/bullseye/universe/Contents-amd64.gz
2023/02/05 | 2033 | systems/win32/miktex/setup/deb/dists/buster/InRelease
2023/02/05 | 1511 | systems/win32/miktex/setup/deb/dists/buster/Release
2023/02/05 | 473 | systems/win32/miktex/setup/deb/dists/buster/Release.gpg
@@ -305964,22 +305977,22 @@
2023/02/05 | 2466 | systems/win32/miktex/setup/deb/dists/buster/universe/binary-amd64/Packages.gz
2023/02/05 | 89 | systems/win32/miktex/setup/deb/dists/buster/universe/binary-amd64/Release
2023/02/05 | 1831 | systems/win32/miktex/setup/deb/dists/buster/universe/Contents-amd64.gz
-2023/04/16 | 2030 | systems/win32/miktex/setup/deb/dists/focal/InRelease
-2023/04/16 | 1508 | systems/win32/miktex/setup/deb/dists/focal/Release
-2023/04/16 | 473 | systems/win32/miktex/setup/deb/dists/focal/Release.gpg
-2023/04/16 | 25492 | systems/win32/miktex/setup/deb/dists/focal/universe/binary-amd64/Packages
-2023/04/16 | 3047 | systems/win32/miktex/setup/deb/dists/focal/universe/binary-amd64/Packages.bz2
-2023/04/16 | 2709 | systems/win32/miktex/setup/deb/dists/focal/universe/binary-amd64/Packages.gz
-2023/04/16 | 86 | systems/win32/miktex/setup/deb/dists/focal/universe/binary-amd64/Release
-2023/04/16 | 1838 | systems/win32/miktex/setup/deb/dists/focal/universe/Contents-amd64.gz
-2023/04/16 | 2030 | systems/win32/miktex/setup/deb/dists/jammy/InRelease
-2023/04/16 | 1508 | systems/win32/miktex/setup/deb/dists/jammy/Release
-2023/04/16 | 473 | systems/win32/miktex/setup/deb/dists/jammy/Release.gpg
-2023/04/16 | 8110 | systems/win32/miktex/setup/deb/dists/jammy/universe/binary-amd64/Packages
-2023/04/16 | 1867 | systems/win32/miktex/setup/deb/dists/jammy/universe/binary-amd64/Packages.bz2
-2023/04/16 | 1384 | systems/win32/miktex/setup/deb/dists/jammy/universe/binary-amd64/Packages.gz
-2023/04/16 | 86 | systems/win32/miktex/setup/deb/dists/jammy/universe/binary-amd64/Release
-2023/04/16 | 1556 | systems/win32/miktex/setup/deb/dists/jammy/universe/Contents-amd64.gz
+2023/05/06 | 2029 | systems/win32/miktex/setup/deb/dists/focal/InRelease
+2023/05/06 | 1507 | systems/win32/miktex/setup/deb/dists/focal/Release
+2023/05/06 | 473 | systems/win32/miktex/setup/deb/dists/focal/Release.gpg
+2023/05/06 | 27105 | systems/win32/miktex/setup/deb/dists/focal/universe/binary-amd64/Packages
+2023/05/06 | 3282 | systems/win32/miktex/setup/deb/dists/focal/universe/binary-amd64/Packages.bz2
+2023/05/06 | 2824 | systems/win32/miktex/setup/deb/dists/focal/universe/binary-amd64/Packages.gz
+2023/05/06 | 86 | systems/win32/miktex/setup/deb/dists/focal/universe/binary-amd64/Release
+2023/05/06 | 1838 | systems/win32/miktex/setup/deb/dists/focal/universe/Contents-amd64.gz
+2023/05/06 | 2029 | systems/win32/miktex/setup/deb/dists/jammy/InRelease
+2023/05/06 | 1507 | systems/win32/miktex/setup/deb/dists/jammy/Release
+2023/05/06 | 473 | systems/win32/miktex/setup/deb/dists/jammy/Release.gpg
+2023/05/06 | 9730 | systems/win32/miktex/setup/deb/dists/jammy/universe/binary-amd64/Packages
+2023/05/06 | 1973 | systems/win32/miktex/setup/deb/dists/jammy/universe/binary-amd64/Packages.bz2
+2023/05/06 | 1499 | systems/win32/miktex/setup/deb/dists/jammy/universe/binary-amd64/Packages.gz
+2023/05/06 | 86 | systems/win32/miktex/setup/deb/dists/jammy/universe/binary-amd64/Release
+2023/05/06 | 1556 | systems/win32/miktex/setup/deb/dists/jammy/universe/Contents-amd64.gz
2021/06/07 | 2037 | systems/win32/miktex/setup/deb/dists/stretch/InRelease
2021/06/07 | 1515 | systems/win32/miktex/setup/deb/dists/stretch/Release
2021/06/07 | 473 | systems/win32/miktex/setup/deb/dists/stretch/Release.gpg
@@ -306065,6 +306078,9 @@
2023/04/16 | 32032624 | systems/win32/miktex/setup/deb/pool/universe/m/miktex/miktex_23.4-bullseye1_amd64.deb
2023/04/16 | 32396730 | systems/win32/miktex/setup/deb/pool/universe/m/miktex/miktex_23.4-focal1_amd64.deb
2023/04/16 | 32330424 | systems/win32/miktex/setup/deb/pool/universe/m/miktex/miktex_23.4-jammy1_amd64.deb
+2023/05/06 | 32038106 | systems/win32/miktex/setup/deb/pool/universe/m/miktex/miktex_23.5-bullseye1_amd64.deb
+2023/05/06 | 32408028 | systems/win32/miktex/setup/deb/pool/universe/m/miktex/miktex_23.5-focal1_amd64.deb
+2023/05/06 | 32337578 | systems/win32/miktex/setup/deb/pool/universe/m/miktex/miktex_23.5-jammy1_amd64.deb
2020/06/28 | 248 | systems/win32/miktex/setup/README.md
2020/01/26 | 107 | systems/win32/miktex/setup/rpm/centos-8.repo
2020/10/11 | 22891716 | systems/win32/miktex/setup/rpm/fedora/28/miktex-20.10-1.fc28.x86_64.rpm
@@ -306165,40 +306181,43 @@
2022/08/27 | 23978689 | systems/win32/miktex/setup/rpm/fedora/35/miktex-22.8.28-1.fc35.x86_64.rpm
2023/02/05 | 22636498 | systems/win32/miktex/setup/rpm/fedora/35/miktex-23.1-1.fc35.x86_64.rpm
2023/04/16 | 22460229 | systems/win32/miktex/setup/rpm/fedora/35/miktex-23.4-1.fc35.x86_64.rpm
+2023/05/06 | 22472671 | systems/win32/miktex/setup/rpm/fedora/35/miktex-23.5-1.fc35.x86_64.rpm
2022/01/31 | 109 | systems/win32/miktex/setup/rpm/fedora-35.repo
-2023/04/16 | 3538 | systems/win32/miktex/setup/rpm/fedora/35/repodata/11b4513fd63c23a0ee172473b4e09ce13cd1d5c8981fb2e6ac1d4a8c4869d34f-primary.xml.gz
-2023/04/16 | 29638 | systems/win32/miktex/setup/rpm/fedora/35/repodata/311935f4f2955b7ae33d22ac3f3d8e5c588fe5007f0c0fbd281859f5dd884e00-filelists.xml.gz
-2023/04/16 | 39859 | systems/win32/miktex/setup/rpm/fedora/35/repodata/5cd4f64240d2b915ee33e3adc7cdb68ef826b0ec8341f29afb2611936248d99c-filelists.sqlite.bz2
-2023/04/16 | 601 | systems/win32/miktex/setup/rpm/fedora/35/repodata/7a5607eedca1edc31e94af29a00ebac31d28bf417b0b55eacc3a12bb8077838a-other.xml.gz
-2023/04/16 | 30200 | systems/win32/miktex/setup/rpm/fedora/35/repodata/dc183dd4b8f0e638515b104fd2a80b0c7c8f42e897e5a6c683fada49efc0f326-primary.sqlite.bz2
-2023/04/16 | 1282 | systems/win32/miktex/setup/rpm/fedora/35/repodata/df47d3864eedc017d24ed20a221d8788a7282af4c1ec3fee439f283f2af8d316-other.sqlite.bz2
-2023/04/16 | 2979 | systems/win32/miktex/setup/rpm/fedora/35/repodata/repomd.xml
-2023/04/16 | 488 | systems/win32/miktex/setup/rpm/fedora/35/repodata/repomd.xml.asc
+2023/05/06 | 650 | systems/win32/miktex/setup/rpm/fedora/35/repodata/13e8b8fdf9a10c0a96919cb65ed1b5f4ef2716fc17842cf983557d6655dd1ddf-other.xml.gz
+2023/05/06 | 1382 | systems/win32/miktex/setup/rpm/fedora/35/repodata/540edea06ba8efb87631ad1fec4fa3d5cb253d6f47db59182530506a772224d5-other.sqlite.bz2
+2023/05/06 | 44470 | systems/win32/miktex/setup/rpm/fedora/35/repodata/6b30530ad5dde494bffca85b7c21e622ab273a343fe952f3bff04128f7d37875-filelists.sqlite.bz2
+2023/05/06 | 34153 | systems/win32/miktex/setup/rpm/fedora/35/repodata/758919a9fb067c55b8387b0a84d4ff37b2a3006ab54d87a15eb4ca52a222fc9c-primary.sqlite.bz2
+2023/05/06 | 3755 | systems/win32/miktex/setup/rpm/fedora/35/repodata/bb2de283fd59675e422f67210428099ab5cdc4e637238f3ab7da8e78ebf87962-primary.xml.gz
+2023/05/06 | 30645 | systems/win32/miktex/setup/rpm/fedora/35/repodata/dbf95f7558533dff24020b9d14fc216b2872467819489dabd1c1175fee4470c6-filelists.xml.gz
+2023/05/06 | 2979 | systems/win32/miktex/setup/rpm/fedora/35/repodata/repomd.xml
+2023/05/06 | 488 | systems/win32/miktex/setup/rpm/fedora/35/repodata/repomd.xml.asc
2022/12/12 | 24278691 | systems/win32/miktex/setup/rpm/fedora/36/miktex-22.12-1.fc36.x86_64.rpm
2022/08/27 | 24034753 | systems/win32/miktex/setup/rpm/fedora/36/miktex-22.8.28-1.fc36.x86_64.rpm
2023/02/05 | 22681408 | systems/win32/miktex/setup/rpm/fedora/36/miktex-23.1-1.fc36.x86_64.rpm
2023/04/16 | 22497530 | systems/win32/miktex/setup/rpm/fedora/36/miktex-23.4-1.fc36.x86_64.rpm
+2023/05/06 | 22512750 | systems/win32/miktex/setup/rpm/fedora/36/miktex-23.5-1.fc36.x86_64.rpm
2022/09/08 | 109 | systems/win32/miktex/setup/rpm/fedora-36.repo
-2023/04/16 | 21823 | systems/win32/miktex/setup/rpm/fedora/36/repodata/10bc961ea8715a716e4ebad30b2eeb683640f33c1e392927405ffe6b0852856d-primary.sqlite.bz2
-2023/04/16 | 3058 | systems/win32/miktex/setup/rpm/fedora/36/repodata/13336fbf633f4e10794430628cc9707f93af626e52359aa9d80ddadece64c9da-primary.xml.gz
-2023/04/16 | 1111 | systems/win32/miktex/setup/rpm/fedora/36/repodata/1658bd180f4cb09a9920664a0fdd3534b7fbf8fab1f4bd86e0ba1df4e3318e76-other.sqlite.bz2
-2023/04/16 | 17614 | systems/win32/miktex/setup/rpm/fedora/36/repodata/49f2800e2b2426186a57ab5d8cf39d4d332eb735c23dfa3e642e700ab72d92dd-filelists.xml.gz
-2023/04/16 | 509 | systems/win32/miktex/setup/rpm/fedora/36/repodata/aedac3c2e523f0dad68b6a9db06cb477698017c0957cdcf4dcd6dfeef833eb66-other.xml.gz
-2023/04/16 | 27536 | systems/win32/miktex/setup/rpm/fedora/36/repodata/f5f59ac9428e894d589bc69caa7eebfcc09529345db76b0c792f50953d681c21-filelists.sqlite.bz2
-2023/04/16 | 2979 | systems/win32/miktex/setup/rpm/fedora/36/repodata/repomd.xml
-2023/04/16 | 488 | systems/win32/miktex/setup/rpm/fedora/36/repodata/repomd.xml.asc
+2023/05/06 | 1195 | systems/win32/miktex/setup/rpm/fedora/36/repodata/4afdb650ab52361f0b6df660339390263026d1d3ea621d1a1d4c966221ec91b2-other.sqlite.bz2
+2023/05/06 | 32251 | systems/win32/miktex/setup/rpm/fedora/36/repodata/5e7659a859483de996c76f0d8884d09e901a000e5f624e3e3aa21109b0914d54-filelists.sqlite.bz2
+2023/05/06 | 18643 | systems/win32/miktex/setup/rpm/fedora/36/repodata/b989520bd75b806148361e89d48b63556c7f74eb070e3f4ed759800b67419cb2-filelists.xml.gz
+2023/05/06 | 557 | systems/win32/miktex/setup/rpm/fedora/36/repodata/d8f453f31b478b7db42cc98527fcc9cdf66964347b6f97059c4addffc54d9b91-other.xml.gz
+2023/05/06 | 3285 | systems/win32/miktex/setup/rpm/fedora/36/repodata/e4cc168bd311cb0ae06d7e3c9cc2b97186446d3bdf7411d7ae03a43f588d1f03-primary.xml.gz
+2023/05/06 | 26076 | systems/win32/miktex/setup/rpm/fedora/36/repodata/f2ee192a4baa66631434f22f88c270172d877d441819391941ecaee292dbecc1-primary.sqlite.bz2
+2023/05/06 | 2979 | systems/win32/miktex/setup/rpm/fedora/36/repodata/repomd.xml
+2023/05/06 | 488 | systems/win32/miktex/setup/rpm/fedora/36/repodata/repomd.xml.asc
2022/12/12 | 24256958 | systems/win32/miktex/setup/rpm/fedora/37/miktex-22.12-1.fc37.x86_64.rpm
2023/02/05 | 22679176 | systems/win32/miktex/setup/rpm/fedora/37/miktex-23.1-1.fc37.x86_64.rpm
2023/04/16 | 22497546 | systems/win32/miktex/setup/rpm/fedora/37/miktex-23.4-1.fc37.x86_64.rpm
+2023/05/06 | 22501804 | systems/win32/miktex/setup/rpm/fedora/37/miktex-23.5-1.fc37.x86_64.rpm
2022/12/12 | 109 | systems/win32/miktex/setup/rpm/fedora-37.repo
-2023/04/16 | 15814 | systems/win32/miktex/setup/rpm/fedora/37/repodata/024a9a38b8dfafedbe5cdbd8ceff72a0643d105ce0959a04bebef981230dfa8d-filelists.xml.gz
-2023/04/16 | 456 | systems/win32/miktex/setup/rpm/fedora/37/repodata/076b6225333f4b5b39219cdcfe176c86436a5df909e1d76981d0ed44aebbcef5-other.xml.gz
-2023/04/16 | 2808 | systems/win32/miktex/setup/rpm/fedora/37/repodata/7f86d1036320ef58f44df6018dcd4407147a11a4a04c964fe191a105d2375e67-primary.xml.gz
-2023/04/16 | 22118 | systems/win32/miktex/setup/rpm/fedora/37/repodata/8fd7940768cb81f896206f57a16245aace5f71a581beac509b35632fe3c56fdd-filelists.sqlite.bz2
-2023/04/16 | 17511 | systems/win32/miktex/setup/rpm/fedora/37/repodata/98435dda014ed76ca356de7fe7f353db442d7a125b92f634539b1717798f8ac2-primary.sqlite.bz2
-2023/04/16 | 1012 | systems/win32/miktex/setup/rpm/fedora/37/repodata/c22d3c9c0dd8997d392d38e55d40659d6310d8ec4dc7bc55176ae7571c39b506-other.sqlite.bz2
-2023/04/16 | 2977 | systems/win32/miktex/setup/rpm/fedora/37/repodata/repomd.xml
-2023/04/16 | 488 | systems/win32/miktex/setup/rpm/fedora/37/repodata/repomd.xml.asc
+2023/05/06 | 3044 | systems/win32/miktex/setup/rpm/fedora/37/repodata/358b3cca6370ffa2956e5559dca06a4be3ec2dce3bb84946590a1e60e71184d0-primary.xml.gz
+2023/05/06 | 21752 | systems/win32/miktex/setup/rpm/fedora/37/repodata/6d63025f2e738b866fa633138b5f4db27f9994db6ce736e54fd3aeb88ee2c456-primary.sqlite.bz2
+2023/05/06 | 1110 | systems/win32/miktex/setup/rpm/fedora/37/repodata/9d2b687617379b61dc1ce9cd1f2ddcc46368b07ca8be0d7bde7f911c2c6d91b2-other.sqlite.bz2
+2023/05/06 | 504 | systems/win32/miktex/setup/rpm/fedora/37/repodata/b447d60ba53efb618c948122b7c9f4813f475ab3dde2a314664bfe09197a525f-other.xml.gz
+2023/05/06 | 16846 | systems/win32/miktex/setup/rpm/fedora/37/repodata/bd72d5e59b46e1c80b1442ec0618d9fe1ab3021379c3a39351f97bb5d895fcaf-filelists.xml.gz
+2023/05/06 | 26738 | systems/win32/miktex/setup/rpm/fedora/37/repodata/e815a622e789a39444ff63aedc6701b7c954a994e75b27bc02f1a2cbca68c526-filelists.sqlite.bz2
+2023/05/06 | 2979 | systems/win32/miktex/setup/rpm/fedora/37/repodata/repomd.xml
+2023/05/06 | 488 | systems/win32/miktex/setup/rpm/fedora/37/repodata/repomd.xml.asc
2020/10/11 | 21095168 | systems/win32/miktex/setup/rpm/opensuse/15/miktex-20.10-1.x86_64.rpm
2020/11/01 | 22029188 | systems/win32/miktex/setup/rpm/opensuse/15/miktex-20.11-1.x86_64.rpm
2020/12/14 | 22033020 | systems/win32/miktex/setup/rpm/opensuse/15/miktex-20.12-1.x86_64.rpm
@@ -306215,18 +306234,19 @@
2022/08/27 | 24848004 | systems/win32/miktex/setup/rpm/opensuse/15/miktex-22.8.28-1.x86_64.rpm
2023/02/05 | 23692816 | systems/win32/miktex/setup/rpm/opensuse/15/miktex-23.1-1.x86_64.rpm
2023/04/16 | 23565156 | systems/win32/miktex/setup/rpm/opensuse/15/miktex-23.4-1.x86_64.rpm
+2023/05/06 | 23564672 | systems/win32/miktex/setup/rpm/opensuse/15/miktex-23.5-1.x86_64.rpm
2020/03/22 | 21057768 | systems/win32/miktex/setup/rpm/opensuse/15/miktex-2.9.7350-1.x86_64.rpm
2020/04/29 | 21151664 | systems/win32/miktex/setup/rpm/opensuse/15/miktex-2.9.7400-1.x86_64.rpm
2020/05/23 | 20937344 | systems/win32/miktex/setup/rpm/opensuse/15/miktex-2.9.7445-1.x86_64.rpm
2018/07/28 | 120 | systems/win32/miktex/setup/rpm/opensuse-15.repo
-2023/04/16 | 5354 | systems/win32/miktex/setup/rpm/opensuse/15/repodata/0dde4d25f81e9a66d49f901e43ad3e7a47ed8289c99c68cbdfdc97ba141a9325-filelists.xml.gz
-2023/04/16 | 1242 | systems/win32/miktex/setup/rpm/opensuse/15/repodata/5da9c702e314e0cac095003df5254322d1eec3ded0f145fbc6483cdc7defe9c5-other.xml.gz
-2023/04/16 | 2402 | systems/win32/miktex/setup/rpm/opensuse/15/repodata/7ec03944fa9b8d2b1690005cbeb453783ae2ad37724da26991724e2d77296b25-other.sqlite.bz2
-2023/04/16 | 73782 | systems/win32/miktex/setup/rpm/opensuse/15/repodata/7f2e1a9132c7dc3dcddf8d4654939a913faceb4ac9477a903bd43c9fb9292ba1-primary.sqlite.bz2
-2023/04/16 | 12964 | systems/win32/miktex/setup/rpm/opensuse/15/repodata/9db1dc1b96e5b7698b42a8c24b7b0109884dd00d3d7993a596d59b0436a1f056-filelists.sqlite.bz2
-2023/04/16 | 6756 | systems/win32/miktex/setup/rpm/opensuse/15/repodata/f1227ef18fbd0e2ead7dd7b7b74b640ea3eeb324f0788c2a8b373037dcfae80c-primary.xml.gz
-2023/04/16 | 2980 | systems/win32/miktex/setup/rpm/opensuse/15/repodata/repomd.xml
-2023/04/16 | 488 | systems/win32/miktex/setup/rpm/opensuse/15/repodata/repomd.xml.asc
+2023/05/06 | 13253 | systems/win32/miktex/setup/rpm/opensuse/15/repodata/406282d7aa5704f8c5c983b94bdedd408ab0ed2da86f70620d79fcceafc4661a-filelists.sqlite.bz2
+2023/05/06 | 77325 | systems/win32/miktex/setup/rpm/opensuse/15/repodata/7aa4640f0438851b554c5f3ed28d7532cfe82444ed38f71b189bee8d67560382-primary.sqlite.bz2
+2023/05/06 | 1289 | systems/win32/miktex/setup/rpm/opensuse/15/repodata/82da23c7becef35edae2c1d2af9dec00117fac98bc3c1b642476e11b02341fee-other.xml.gz
+2023/05/06 | 5494 | systems/win32/miktex/setup/rpm/opensuse/15/repodata/9e15cc16418a2deea995073941a48de80a37c987368a765ece2036e77808422d-filelists.xml.gz
+2023/05/06 | 2517 | systems/win32/miktex/setup/rpm/opensuse/15/repodata/aa0a506bfa79d8a665785f3e61faf5abac0c1609e4291a7cfc89fa5222d7b9d5-other.sqlite.bz2
+2023/05/06 | 6958 | systems/win32/miktex/setup/rpm/opensuse/15/repodata/e6a7f41ebfbc8e2d18b1e7c06cc145f0319f8a5fcd65bf8a8339ff58ff997c7b-primary.xml.gz
+2023/05/06 | 2980 | systems/win32/miktex/setup/rpm/opensuse/15/repodata/repomd.xml
+2023/05/06 | 488 | systems/win32/miktex/setup/rpm/opensuse/15/repodata/repomd.xml.asc
2022/08/20 | 116 | systems/win32/miktex/setup/rpm/rockylinux-9.repo
2022/10/15 | 139107080 | systems/win32/miktex/setup/windows-x64/basic-miktex-22.10-x64.exe
2023/04/16 | 141413128 | systems/win32/miktex/setup/windows-x64/basic-miktex-23.4-x64.exe
@@ -306234,7 +306254,7 @@
2023/04/16 | 2735743 | systems/win32/miktex/setup/windows-x64/miktexsetup-5.5.0+1763023-x64.zip
2022/10/17 | 25391880 | systems/win32/miktex/setup/windows-x64/setup-5.3.1+b8f430f-x64.exe
2023/04/16 | 25752328 | systems/win32/miktex/setup/windows-x64/setup-5.6.0+1763023-x64.exe
-2023/04/16 | 36965 | systems/win32/miktex/source/CHANGELOG.md
+2023/05/06 | 37045 | systems/win32/miktex/source/CHANGELOG.md
2020/10/11 | 26421700 | systems/win32/miktex/source/miktex-20.10.tar.xz
2020/10/11 | 499 | systems/win32/miktex/source/miktex-20.10.tar.xz.asc
2020/11/01 | 26848532 | systems/win32/miktex/source/miktex-20.11.tar.xz
@@ -306273,6 +306293,8 @@
2022/08/14 | 499 | systems/win32/miktex/source/miktex-22.8.tar.xz.asc
2023/04/16 | 29122224 | systems/win32/miktex/source/miktex-23.4.tar.xz
2023/04/16 | 499 | systems/win32/miktex/source/miktex-23.4.tar.xz.asc
+2023/05/06 | 29122140 | systems/win32/miktex/source/miktex-23.5.tar.xz
+2023/05/06 | 499 | systems/win32/miktex/source/miktex-23.5.tar.xz.asc
2019/05/29 | 25598304 | systems/win32/miktex/source/miktex-2.9.7050.tar.xz
2019/05/29 | 499 | systems/win32/miktex/source/miktex-2.9.7050.tar.xz.asc
2019/08/01 | 26862852 | systems/win32/miktex/source/miktex-2.9.7140.tar.xz
@@ -313218,7 +313240,7 @@
2014/07/05 | 611 | systems/win32/yandy/README
2014/07/05 | 1004628 | systems/win32/yandy/yandy-src.tar.xz
2014/07/05 | 1012416 | systems/win32/yandy.zip
-2023/05/06 | 186 | timestamp
+2023/05/07 | 186 | timestamp
2002/08/26 | 61898 | usergrps/dante/antrag.pdf
2002/08/26 | 118217 | usergrps/dante/antrag.ps
2021/11/11 | 917 | usergrps/dante/dtk/doc/beispiel.bib
diff --git a/FILES.byname.gz b/FILES.byname.gz
index e736b015f4..845d50da71 100644
--- a/FILES.byname.gz
+++ b/FILES.byname.gz
Binary files differ
diff --git a/FILES.last07days b/FILES.last07days
index b9c5eda83c..08d79d12c3 100644
--- a/FILES.last07days
+++ b/FILES.last07days
@@ -1,3 +1,688 @@
+2023/05/06 | 9 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_simple.txt
+2023/05/06 | 9 | support/texlab/crates/parser/src/test_data/latex/glossary/glossary_entry_reference_simple.txt
+2023/05/06 | 9 | support/texlab/crates/parser/src/test_data/latex/citation/citation_missing_brace.txt
+2023/05/06 | 993 | support/texlab/crates/parser/src/test_data/bibtex/samples/knuth_1984.txt
+2023/05/06 | 987 | support/texlab/crates/commands/src/change_env.rs
+2023/05/06 | 986 | macros/latex/contrib/srdp-mathematik/README.md
+2023/05/06 | 984 | support/texlab/crates/texlab/src/features/definition/document.rs
+2023/05/06 | 980 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_set_definition_simple.txt.snap
+2023/05/06 | 976 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__article_rivest_1978.snap
+2023/05/06 | 975 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@004.txt.snap
+2023/05/06 | 9730 | systems/win32/miktex/setup/deb/dists/jammy/universe/binary-amd64/Packages
+2023/05/06 | 965 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__glossary_entry_definition_simple.txt.snap
+2023/05/06 | 9627 | support/texlab/crates/texlab/src/util/cursor.rs
+2023/05/06 | 95 | systems/win32/miktex/setup/deb/dists/bullseye/universe/binary-amd64/Release
+2023/05/06 | 9562 | support/texlab/crates/base-db/src/semantics/tex.rs
+2023/05/06 | 954 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__patent_almendro_1998.snap
+2023/05/06 | 953 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@005.txt.snap
+2023/05/06 | 9479 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__knuth_1984.txt.snap
+2023/05/06 | 946 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_multiple_entries.snap
+2023/05/06 | 933 | support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__section.snap
+2023/05/06 | 932 | support/texlab/crates/texlab/src/features/link.rs
+2023/05/06 | 911 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__glossary_entry_reference_options.txt.snap
+2023/05/06 | 911 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@environment__environment_definition_optional_arg.txt.snap
+2023/05/06 | 90 | support/texlab/crates/parser/src/test_data/latex/structure/structure_nested.txt
+2023/05/06 | 9070 | support/texlab/crates/symbols/src/document/tex.rs
+2023/05/06 | 904 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_857.txt.snap
+2023/05/06 | 900 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__graphics_include_command.txt.snap
+2023/05/06 | 898 | support/texlab/crates/parser/src/test_data/bibtex/samples/kastenholz_2006.txt
+2023/05/06 | 8955 | support/texlab/crates/citeproc/src/field/text.rs
+2023/05/06 | 890 | support/texlab/crates/citeproc/src/lib.rs
+2023/05/06 | 8868 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__kastenholz_2006.txt.snap
+2023/05/06 | 8868 | support/texlab/crates/base-db/src/workspace.rs
+2023/05/06 | 877392 | systems/texlive/tlnet/archive/texfindpkg.r67027.tar.xz
+2023/05/06 | 875 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__component_known_package.snap
+2023/05/06 | 86 | systems/win32/miktex/setup/deb/dists/jammy/universe/binary-amd64/Release
+2023/05/06 | 86 | systems/win32/miktex/setup/deb/dists/focal/universe/binary-amd64/Release
+2023/05/06 | 864 | support/texlab/crates/syntax/src/lib.rs
+2023/05/06 | 861 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__biblatex_include_options.txt.snap
+2023/05/06 | 8619 | macros/luatex/latex/sympycalc/tex/SympyCalc.sty
+2023/05/06 | 860 | support/texlab/crates/parser/src/test_data/bibtex/samples/blom_2021.txt
+2023/05/06 | 858 | support/texlab/crates/texlab/src/features/hover/label.rs
+2023/05/06 | 849 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_set_definition_error1.txt.snap
+2023/05/06 | 846 | support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__float.snap
+2023/05/06 | 8469 | support/texlab/crates/texlab/tests/lsp/fixture.rs
+2023/05/06 | 841 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__folding_range__latex.snap
+2023/05/06 | 841 | support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__equation.snap
+2023/05/06 | 838 | support/texlab/crates/texlab/src/features/completion/acronym_ref.rs
+2023/05/06 | 82 | support/texlab/crates/parser/src/test_data/bibtex/comment.txt
+2023/05/06 | 825 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_incomplete.txt.snap
+2023/05/06 | 824 | support/texlab/crates/texlab/src/features/completion/field.rs
+2023/05/06 | 823 | support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_bibtex.snap
+2023/05/06 | 821 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@group__equation_missing_end.txt.snap
+2023/05/06 | 820 | support/texlab/crates/distro/src/texlive.rs
+2023/05/06 | 819 | support/texlab/crates/texlab/src/features/hover/component.rs
+2023/05/06 | 815 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__acronym_reference_options.txt.snap
+2023/05/06 | 8153 | systems/win32/miktex/setup/deb/dists/bullseye/universe/binary-amd64/Packages
+2023/05/06 | 814 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@equation_missing_begin.txt.snap
+2023/05/06 | 81033 | macros/latex/contrib/srdp-mathematik/srdp-mathematik.sty
+2023/05/06 | 80 | support/texlab/crates/parser/src/test_data/latex/command_definition/command_definition_with_begin.txt
+2023/05/06 | 7 | support/texlab/crates/parser/src/test_data/latex/citation/citation_empty.txt
+2023/05/06 | 797 | support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__allowed_patterns.snap
+2023/05/06 | 7955 | support/texlab/crates/syntax/src/bibtex.rs
+2023/05/06 | 7931 | macros/latex/contrib/annotate-equations/annotate-equations.sty
+2023/05/06 | 788 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__article_betram_1996.snap
+2023/05/06 | 7762 | support/texlab/crates/parser/src/test_data/build_log/007.txt
+2023/05/06 | 77325 | systems/win32/miktex/setup/rpm/opensuse/15/repodata/7aa4640f0438851b554c5f3ed28d7532cfe82444ed38f71b189bee8d67560382-primary.sqlite.bz2
+2023/05/06 | 772 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@caption__caption_figure.txt.snap
+2023/05/06 | 7724317 | support/texlab.zip
+2023/05/06 | 771 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_full.txt.snap
+2023/05/06 | 76 | support/texlab/crates/parser/src/test_data/latex/glossary/acronym_definition_options.txt
+2023/05/06 | 762 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__graphics_include_complicated_options.txt.snap
+2023/05/06 | 761 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@issue_809.txt.snap
+2023/05/06 | 760 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__acronym_package.txt.snap
+2023/05/06 | 760 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__command_definition_optional.txt.snap
+2023/05/06 | 758 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__acronym_definition_simple.txt.snap
+2023/05/06 | 7562 | support/texlab/crates/texlab/src/server/options.rs
+2023/05/06 | 7531 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__aksin_2006.txt.snap
+2023/05/06 | 7528 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__jain_1999.txt.snap
+2023/05/06 | 749 | support/texlab/crates/texlab/src/features/hover/citation.rs
+2023/05/06 | 746 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@block_comments.txt.snap
+2023/05/06 | 745 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_874.txt.snap
+2023/05/06 | 742 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@environment__environment_simple.txt.snap
+2023/05/06 | 734 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_definition_simple.txt.snap
+2023/05/06 | 7322 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__almendro_1998.txt.snap
+2023/05/06 | 7202 | support/texlab/crates/texlab/src/features/formatting/bibtex_internal.rs
+2023/05/06 | 717 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__graphics_include_options.txt.snap
+2023/05/06 | 716 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@001.txt.snap
+2023/05/06 | 7157 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__combi_2004.txt.snap
+2023/05/06 | 711 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__project_resolution_texlabroot.snap
+2023/05/06 | 710 | support/texlab/crates/distro/src/kpsewhich.rs
+2023/05/06 | 707 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__collection_matuz_1990.snap
+2023/05/06 | 706 | support/texlab/crates/parser/src/test_data/bibtex/samples/almendro_1998.txt
+2023/05/06 | 706 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@structure__structure_siblings.txt.snap
+2023/05/06 | 703 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__inkscape_include_options.txt.snap
+2023/05/06 | 702 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__svg_include_options.txt.snap
+2023/05/06 | 6 | support/texlab/crates/parser/src/test_data/latex/group/escaped_brackets.txt
+2023/05/06 | 699 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__project_resolution_import.snap
+2023/05/06 | 6970534 | support/texlab/crates/texlab/data/components.json.gz
+2023/05/06 | 6958 | systems/win32/miktex/setup/rpm/opensuse/15/repodata/e6a7f41ebfbc8e2d18b1e7c06cc145f0319f8a5fcd65bf8a8339ff58ff997c7b-primary.xml.gz
+2023/05/06 | 689 | support/texlab/crates/syntax/src/latex.rs
+2023/05/06 | 6836 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__erwin_2007.txt.snap
+2023/05/06 | 681 | support/texlab/crates/texlab/src/features/completion/entry_type.rs
+2023/05/06 | 680 | support/texlab/crates/texlab/src/features/completion/component_command.rs
+2023/05/06 | 679 | support/texlab/crates/parser/src/test_data/bibtex/samples/aksin_2006.txt
+2023/05/06 | 674 | support/texlab/crates/parser/src/test_data/bibtex/samples/jain_1999.txt
+2023/05/06 | 674 | support/texlab/crates/parser/src/test_data/bibtex/samples/combi_2004.txt
+2023/05/06 | 673 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@003.txt.snap
+2023/05/06 | 669 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_name_with_description_and_counter.txt.snap
+2023/05/06 | 6644 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__blom_2021.txt.snap
+2023/05/06 | 659 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__entry_type_known_type.snap
+2023/05/06 | 650 | systems/win32/miktex/setup/rpm/fedora/35/repodata/13e8b8fdf9a10c0a96919cb65ed1b5f4ef2716fc17842cf983557d6655dd1ddf-other.xml.gz
+2023/05/06 | 650 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__folding_range__bibtex.snap
+2023/05/06 | 64 | support/texlab/crates/parser/src/test_data/latex/glossary/acronym_declaration.txt
+2023/05/06 | 649 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@inline_double_dollar.txt.snap
+2023/05/06 | 6484 | support/texlab/crates/base-db/src/util/line_index.rs
+2023/05/06 | 647 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@caption__caption_default.txt.snap
+2023/05/06 | 6472 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__rivest_1978.txt.snap
+2023/05/06 | 645 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__command_definition_simple.txt.snap
+2023/05/06 | 642 | support/texlab/crates/texlab/src/features/completion/user_command.rs
+2023/05/06 | 637 | support/texlab/crates/texlab/src/features/completion/user_environment.rs
+2023/05/06 | 631 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@inline.txt.snap
+2023/05/06 | 626 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@caption__caption_default_error.txt.snap
+2023/05/06 | 624 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@graphics_path_command.txt.snap
+2023/05/06 | 615 | support/texlab/crates/parser/src/test_data/bibtex/samples/erwin_2007.txt
+2023/05/06 | 613 | support/texlab/texlab.1
+2023/05/06 | 60 | support/texlab/crates/parser/src/test_data/latex/structure/structure_enum_item.txt
+2023/05/06 | 60 | support/texlab/crates/citeproc/src/field.rs
+2023/05/06 | 609 | support/texlab/crates/texlab/src/features/hover/field.rs
+2023/05/06 | 608 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_prenote_postnote.txt.snap
+2023/05/06 | 6018 | support/texlab/crates/texlab/src/util/capabilities.rs
+2023/05/06 | 597116 | systems/texlive/tlnet/archive/l3kernel.source.r67026.tar.xz
+2023/05/06 | 594 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_command_bibtex.snap
+2023/05/06 | 590 | support/texlab/crates/texlab/src/features/hover/entry_type.rs
+2023/05/06 | 5900 | support/texlab/crates/base-db/src/util/label.rs
+2023/05/06 | 588 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_set_definition_error2.txt.snap
+2023/05/06 | 5864 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__betram_1996.txt.snap
+2023/05/06 | 585 | support/texlab/crates/base-db/src/semantics.rs
+2023/05/06 | 583 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_command_simple_package.snap
+2023/05/06 | 583 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__citation.snap
+2023/05/06 | 58317 | support/texlab/crates/base-db/src/data.rs
+2023/05/06 | 5735786 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2023/05/06 | 572 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__book_aho_2006.snap
+2023/05/06 | 5684 | support/texlab/crates/parser/src/build_log.rs
+2023/05/06 | 566 | support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_type_figure.snap
+2023/05/06 | 565 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@structure__structure_invalid_nesting.txt.snap
+2023/05/06 | 563 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_number.txt.snap
+2023/05/06 | 55 | support/texlab/crates/parser/src/test_data/latex/issue_857.txt
+2023/05/06 | 557 | systems/win32/miktex/setup/rpm/fedora/36/repodata/d8f453f31b478b7db42cc98527fcc9cdf66964347b6f97059c4addffc54d9b91-other.xml.gz
+2023/05/06 | 557 | support/texlab/crates/parser/src/test_data/bibtex/samples/rivest_1978.txt
+2023/05/06 | 556 | support/texlab/crates/parser/src/test_data/bibtex/samples/betram_1996.txt
+2023/05/06 | 555 | support/texlab/crates/texlab/src/features/link/include.rs
+2023/05/06 | 554 | support/texlab/crates/texlab/src/features/completion/theorem.rs
+2023/05/06 | 5549 | support/texlab/crates/symbols/src/workspace/sort.rs
+2023/05/06 | 552 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@graphics_path_options.txt.snap
+2023/05/06 | 550 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__begin_environment_without_snippet_support.snap
+2023/05/06 | 5494 | systems/win32/miktex/setup/rpm/opensuse/15/repodata/9e15cc16418a2deea995073941a48de80a37c987368a765ece2036e77808422d-filelists.xml.gz
+2023/05/06 | 544 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_environment_simple_end.snap
+2023/05/06 | 538 | support/texlab/crates/citeproc/Cargo.toml
+2023/05/06 | 5330 | support/texlab/crates/parser/src/latex/lexer/commands.rs
+2023/05/06 | 52 | support/texlab/crates/parser/src/test_data/latex/include/graphics_include_command.txt
+2023/05/06 | 52 | support/texlab/crates/parser/src/test_data/latex/environment/environment_nested_missing_braces.txt
+2023/05/06 | 526 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_name_with_description.txt.snap
+2023/05/06 | 526 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_name_with_counter.txt.snap
+2023/05/06 | 526 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_828.txt.snap
+2023/05/06 | 520 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_wrap_long_lines.snap
+2023/05/06 | 520 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@caption__caption_minimal.txt.snap
+2023/05/06 | 51 | support/texlab/crates/parser/src/test_data/latex/issue_828.txt
+2023/05/06 | 517 | support/texlab/crates/parser/src/test_data/bibtex/samples/matuz_1990.txt
+2023/05/06 | 516 | support/texlab/crates/texlab/src/features/completion/component_environment.rs
+2023/05/06 | 5138 | support/texlab/crates/base-db/src/graph.rs
+2023/05/06 | 512 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__issue_857_1.snap
+2023/05/06 | 50 | support/texlab/crates/parser/src/test_data/latex/environment/environment_asymptote.txt
+2023/05/06 | 50 | support/texlab/crates/parser/src/test_data/bibtex/issue_809.txt
+2023/05/06 | 507 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_range_simple.txt.snap
+2023/05/06 | 5060 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__matuz_1990.txt.snap
+2023/05/06 | 504 | systems/win32/miktex/setup/rpm/fedora/37/repodata/b447d60ba53efb618c948122b7c9f4813f475ab3dde2a314664bfe09197a525f-other.xml.gz
+2023/05/06 | 504 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__command_definition_no_argc.txt.snap
+2023/05/06 | 50407 | support/texlab/Cargo.lock
+2023/05/06 | 502 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__math_operator_simple.txt.snap
+2023/05/06 | 4 | support/texlab/crates/parser/src/test_data/latex/group/unmatched_brackets_with_group.txt
+2023/05/06 | 4 | support/texlab/crates/parser/src/test_data/latex/generic_command_empty.txt
+2023/05/06 | 499 | systems/win32/miktex/source/miktex-23.5.tar.xz.asc
+2023/05/06 | 499 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@caption__caption_minimal_error.txt.snap
+2023/05/06 | 4965 | support/texlab/crates/base-db/src/document.rs
+2023/05/06 | 494 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_command_simple.snap
+2023/05/06 | 490 | support/texlab/crates/base-db/Cargo.toml
+2023/05/06 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2023/05/06 | 48 | support/texlab/crates/parser/src/test_data/latex/block_comments.txt
+2023/05/06 | 488 | systems/win32/miktex/setup/rpm/opensuse/15/repodata/repomd.xml.asc
+2023/05/06 | 488 | systems/win32/miktex/setup/rpm/fedora/37/repodata/repomd.xml.asc
+2023/05/06 | 488 | systems/win32/miktex/setup/rpm/fedora/36/repodata/repomd.xml.asc
+2023/05/06 | 488 | systems/win32/miktex/setup/rpm/fedora/35/repodata/repomd.xml.asc
+2023/05/06 | 48704 | macros/latex/contrib/srdp-mathematik/srdp-mathematik.tex
+2023/05/06 | 486 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__field_entry_two_fields_name_closed.snap
+2023/05/06 | 4868 | support/texlab/crates/symbols/src/document/tests.rs
+2023/05/06 | 485 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__field_entry_two_fields_name_open.snap
+2023/05/06 | 483 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__package_include_multiple.txt.snap
+2023/05/06 | 47 | support/texlab/crates/texlab/tests/lsp/main.rs
+2023/05/06 | 47 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_incomplete.txt
+2023/05/06 | 47 | support/texlab/crates/parser/src/test_data/latex/environment/environment_definition.txt
+2023/05/06 | 479 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_range_error.txt.snap
+2023/05/06 | 477 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__latex_input_path_brackets.txt.snap
+2023/05/06 | 473 | systems/win32/miktex/setup/deb/dists/jammy/Release.gpg
+2023/05/06 | 473 | systems/win32/miktex/setup/deb/dists/focal/Release.gpg
+2023/05/06 | 473 | systems/win32/miktex/setup/deb/dists/bullseye/Release.gpg
+2023/05/06 | 472 | systems/texlive/tlnet/archive/lshort-chinese.r67025.tar.xz
+2023/05/06 | 472 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_prenote.txt.snap
+2023/05/06 | 4724 | support/texlab/crates/citeproc/src/entry.rs
+2023/05/06 | 470 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__import_simple.txt.snap
+2023/05/06 | 465 | macros/luatex/latex/sympycalc/README.md
+2023/05/06 | 464 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__import_class_open_brace.snap
+2023/05/06 | 464 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@007.txt.snap
+2023/05/06 | 460 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@generic_command_args.txt.snap
+2023/05/06 | 459 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__import_class_closed_brace.snap
+2023/05/06 | 457 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_set_definition_error3.txt.snap
+2023/05/06 | 456 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_multiple.txt.snap
+2023/05/06 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2023/05/06 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2023/05/06 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2023/05/06 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2023/05/06 | 453 | support/texlab/crates/symbols/Cargo.toml
+2023/05/06 | 453 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_multiple_keys.txt.snap
+2023/05/06 | 452 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__tikz_library_closed_brace.snap
+2023/05/06 | 452 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_definition_line_break.txt.snap
+2023/05/06 | 451 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__tikz_library_open_brace.snap
+2023/05/06 | 44 | support/texlab/crates/parser/src/test_data/latex/include/class_include_options.txt
+2023/05/06 | 44 | support/texlab/crates/parser/src/test_data/latex/glossary/acronym_definition_simple.txt
+2023/05/06 | 44 | support/texlab/crates/parser/src/test_data/latex/environment/environment_definition_optional_arg.txt
+2023/05/06 | 44 | support/texlab/crates/parser/src/test_data/latex/color/color_set_definition_simple.txt
+2023/05/06 | 449 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__import_package_closed_brace.snap
+2023/05/06 | 448 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__import_package_open_brace.snap
+2023/05/06 | 448 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@002.txt.snap
+2023/05/06 | 447 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@graphics_path.txt.snap
+2023/05/06 | 445 | support/texlab/crates/base-db/src/util/regex_filter.rs
+2023/05/06 | 44470 | systems/win32/miktex/setup/rpm/fedora/35/repodata/6b30530ad5dde494bffca85b7c21e622ab273a343fe952f3bff04128f7d37875-filelists.sqlite.bz2
+2023/05/06 | 441 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__field_entry_field_name.snap
+2023/05/06 | 43 | support/texlab/crates/parser/src/test_data/latex/environment/environment_nested.txt
+2023/05/06 | 430 | support/texlab/crates/base-db/src/diagnostics.rs
+2023/05/06 | 4300 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_745.txt.snap
+2023/05/06 | 42 | support/texlab/crates/parser/src/test_data/latex/include/biblatex_include_options.txt
+2023/05/06 | 429 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__latex_include_equality_sign.txt.snap
+2023/05/06 | 427 | support/texlab/crates/commands/Cargo.toml
+2023/05/06 | 421 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__field_empty_entry_closed.snap
+2023/05/06 | 420 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__field_empty_entry_open.snap
+2023/05/06 | 41 | support/texlab/crates/parser/src/test_data/latex/include/package_include_options.txt
+2023/05/06 | 4169 | support/texlab/crates/texlab/tests/lsp/text_document/references.rs
+2023/05/06 | 4163 | support/texlab/crates/texlab/src/util/diagnostics.rs
+2023/05/06 | 414 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_word.snap
+2023/05/06 | 4130 | support/texlab/crates/parser/src/test_data/build_log/006.txt
+2023/05/06 | 4126 | support/texlab/crates/texlab/src/features/symbols.rs
+2023/05/06 | 408 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_model_definition_simple.snap
+2023/05/06 | 407 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_model_definition_open_brace.snap
+2023/05/06 | 407 | support/texlab/crates/parser/Cargo.toml
+2023/05/06 | 406 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__label_theorem_child_file_mumber.snap
+2023/05/06 | 4064570 | biblio/ctan-bibdata.zip
+2023/05/06 | 405 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_simple.snap
+2023/05/06 | 404 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_open_brace.snap
+2023/05/06 | 404 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_model_definition_set_simple.snap
+2023/05/06 | 404 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__argument_open_brace.snap
+2023/05/06 | 404 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_redundant_comma.txt.snap
+2023/05/06 | 403 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_model_definition_set_open_brace.snap
+2023/05/06 | 4028 | support/texlab/crates/texlab/src/features/completion/include.rs
+2023/05/06 | 4004 | support/texlab/crates/texlab/src/util/lsp_enums.rs
+2023/05/06 | 39 | support/texlab/crates/parser/src/test_data/latex/include/graphics_include_options.txt
+2023/05/06 | 39 | support/texlab/crates/parser/src/test_data/latex/include/graphics_include_complicated_options.txt
+2023/05/06 | 39 | support/texlab/crates/parser/src/test_data/latex/glossary/glossary_entry_definition_simple.txt
+2023/05/06 | 39 | support/texlab/crates/parser/src/test_data/latex/color/color_set_definition_error1.txt
+2023/05/06 | 39 | support/texlab/crates/parser/src/test_data/latex/caption/caption_figure.txt
+2023/05/06 | 399 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__argument_empty.snap
+2023/05/06 | 3943 | support/texlab/crates/texlab/tests/lsp/text_document/hover.rs
+2023/05/06 | 39358 | support/texlab/crates/texlab/src/server.rs
+2023/05/06 | 387 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_only_name.txt.snap
+2023/05/06 | 387 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__graphics_include_simple.txt.snap
+2023/05/06 | 386 | support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__ignored_patterns.snap
+2023/05/06 | 386 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__biblatex_include_simple.txt.snap
+2023/05/06 | 385 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__verbatim_include_simple.txt.snap
+2023/05/06 | 384 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_at_empty.snap
+2023/05/06 | 384 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__tikz_library_import_simple.txt.snap
+2023/05/06 | 384 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@group__escaped_brackets.txt.snap
+2023/05/06 | 382 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__pgf_library_import_simple.txt.snap
+2023/05/06 | 380 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_range_incomplete.txt.snap
+2023/05/06 | 380190 | support/texlab/images/demo.gif
+2023/05/06 | 37 | support/texlab/crates/parser/src/test_data/latex/issue_874.txt
+2023/05/06 | 379 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@equation.txt.snap
+2023/05/06 | 377 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__command_definition_no_impl.txt.snap
+2023/05/06 | 376 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__package_include_simple.txt.snap
+2023/05/06 | 376 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__bibtex_include_simple.txt.snap
+2023/05/06 | 376 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__math_operator_no_impl.txt.snap
+2023/05/06 | 3767 | support/texlab/README.md
+2023/05/06 | 375 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__class_include_simple.txt.snap
+2023/05/06 | 3755 | systems/win32/miktex/setup/rpm/fedora/35/repodata/bb2de283fd59675e422f67210428099ab5cdc4e637238f3ab7da8e78ebf87962-primary.xml.gz
+2023/05/06 | 373 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__inkscape_include_simple.txt.snap
+2023/05/06 | 373 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@preamble.txt.snap
+2023/05/06 | 3734 | support/texlab/crates/base-db/src/config.rs
+2023/05/06 | 372 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__svg_include_simple.txt.snap
+2023/05/06 | 372 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__acronym_reference_simple.txt.snap
+2023/05/06 | 3729 | support/texlab/crates/texlab/src/util/chktex.rs
+2023/05/06 | 37045 | systems/win32/miktex/source/CHANGELOG.md
+2023/05/06 | 368 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_link__document_import.snap
+2023/05/06 | 3667 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__aho_2006.txt.snap
+2023/05/06 | 3667139 | biblio/ctan-bibdata/ctan.pdf
+2023/05/06 | 365 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__glossary_entry_reference_simple.txt.snap
+2023/05/06 | 363 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__latex_include_simple.txt.snap
+2023/05/06 | 361 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_equation.txt.snap
+2023/05/06 | 35 | support/texlab/crates/parser/src/test_data/latex/structure/structure_siblings.txt
+2023/05/06 | 35 | support/texlab/crates/parser/src/test_data/latex/glossary/acronym_package.txt
+2023/05/06 | 3594156 | systems/texlive/tlnet/archive/luajittex.aarch64-linux.r67024.tar.xz
+2023/05/06 | 358 | support/texlab/crates/texlab/src/features/highlight.rs
+2023/05/06 | 356 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_definition_simple.txt.snap
+2023/05/06 | 356 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__command_definition_no_impl_error.txt.snap
+2023/05/06 | 356 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_reference_simple.txt.snap
+2023/05/06 | 355 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_link__document_include.snap
+2023/05/06 | 3546 | support/texlab/crates/base-db/src/diagnostics/tex.rs
+2023/05/06 | 351 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__user_environment.snap
+2023/05/06 | 35149 | support/texlab/LICENSE
+2023/05/06 | 3500 | support/texlab/crates/texlab/src/util/components.rs
+2023/05/06 | 34 | support/texlab/crates/parser/src/test_data/latex/include/svg_include_options.txt
+2023/05/06 | 349 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_simple.txt.snap
+2023/05/06 | 347 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_789.txt.snap
+2023/05/06 | 344 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_simple.txt.snap
+2023/05/06 | 342 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_star.txt.snap
+2023/05/06 | 34153 | systems/win32/miktex/setup/rpm/fedora/35/repodata/758919a9fb067c55b8387b0a84d4ff37b2a3006ab54d87a15eb4ca52a222fc9c-primary.sqlite.bz2
+2023/05/06 | 340 | support/texlab/crates/commands/src/lib.rs
+2023/05/06 | 33 | support/texlab/crates/parser/src/test_data/latex/graphics_path_options.txt
+2023/05/06 | 33 | support/texlab/crates/parser/src/test_data/latex/environment/environment_simple.txt
+2023/05/06 | 33 | support/texlab/crates/parser/src/test_data/latex/color/color_definition_simple.txt
+2023/05/06 | 3387 | support/texlab/crates/texlab/tests/lsp/text_document/definition.rs
+2023/05/06 | 33693 | support/texlab/crates/parser/src/latex.rs
+2023/05/06 | 332 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__label_theorem_child_file.snap
+2023/05/06 | 332 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@group__curly_group_simple.txt.snap
+2023/05/06 | 332 | support/texlab/Cargo.toml
+2023/05/06 | 330 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@group__unmatched_brackets_with_group.txt.snap
+2023/05/06 | 32 | support/texlab/crates/parser/src/test_data/latex/graphics_path_command.txt
+2023/05/06 | 32 | support/texlab/crates/parser/src/test_data/latex/glossary/acronym_reference_options.txt
+2023/05/06 | 3285 | systems/win32/miktex/setup/rpm/fedora/36/repodata/e4cc168bd311cb0ae06d7e3c9cc2b97186446d3bdf7411d7ae03a43f588d1f03-primary.xml.gz
+2023/05/06 | 3282 | systems/win32/miktex/setup/deb/dists/focal/universe/binary-amd64/Packages.bz2
+2023/05/06 | 324 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__package_include_empty.txt.snap
+2023/05/06 | 32408028 | systems/win32/miktex/setup/deb/pool/universe/m/miktex/miktex_23.5-focal1_amd64.deb
+2023/05/06 | 323 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__class_include_empty.txt.snap
+2023/05/06 | 32337578 | systems/win32/miktex/setup/deb/pool/universe/m/miktex/miktex_23.5-jammy1_amd64.deb
+2023/05/06 | 322 | support/texlab/crates/test-utils/Cargo.toml
+2023/05/06 | 32251 | systems/win32/miktex/setup/rpm/fedora/36/repodata/5e7659a859483de996c76f0d8884d09e901a000e5f624e3e3aa21109b0914d54-filelists.sqlite.bz2
+2023/05/06 | 3223 | support/texlab/crates/texlab/src/client.rs
+2023/05/06 | 321 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_missing_brace.txt.snap
+2023/05/06 | 32038106 | systems/win32/miktex/setup/deb/pool/universe/m/miktex/miktex_23.5-bullseye1_amd64.deb
+2023/05/06 | 31 | support/texlab/crates/parser/src/test_data/latex/theorem_definition/theorem_definition_full.txt
+2023/05/06 | 31 | support/texlab/crates/parser/src/test_data/latex/command_definition/math_operator_simple.txt
+2023/05/06 | 3194 | support/texlab/crates/parser/src/test_data/build_log/001.txt
+2023/05/06 | 316 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__import_incomplete.txt.snap
+2023/05/06 | 314 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__citation_inside_entry.snap
+2023/05/06 | 314 | support/texlab/crates/parser/src/test_data/bibtex/samples/aho_2006.txt
+2023/05/06 | 313 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__issue_864.snap
+2023/05/06 | 313 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__citation_acronym.snap
+2023/05/06 | 312 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@group__curly_group_missing_end.txt.snap
+2023/05/06 | 30 | support/texlab/crates/parser/src/test_data/latex/include/inkscape_include_options.txt
+2023/05/06 | 30 | support/texlab/crates/parser/src/test_data/latex/color/color_set_definition_error2.txt
+2023/05/06 | 308 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__citation_inside_cite.snap
+2023/05/06 | 30645 | systems/win32/miktex/setup/rpm/fedora/35/repodata/dbf95f7558533dff24020b9d14fc216b2872467819489dabd1c1175fee4470c6-filelists.xml.gz
+2023/05/06 | 3061 | support/texlab/crates/texlab/src/features/completion/tikz_library.rs
+2023/05/06 | 3057 | support/texlab/crates/parser/src/test_data/build_log/004.txt
+2023/05/06 | 3053 | support/texlab/crates/commands/src/fwd_search.rs
+2023/05/06 | 3044 | systems/win32/miktex/setup/rpm/fedora/37/repodata/358b3cca6370ffa2956e5559dca06a4be3ec2dce3bb84946590a1e60e71184d0-primary.xml.gz
+2023/05/06 | 3009 | support/texlab/crates/texlab/tests/lsp/text_document/formatting.rs
+2023/05/06 | 3009 | support/texlab/crates/parser/src/config.rs
+2023/05/06 | 2 | support/texlab/crates/parser/src/test_data/latex/parameter.txt
+2023/05/06 | 2 | support/texlab/crates/parser/src/test_data/latex/group/unmatched_brackets.txt
+2023/05/06 | 2 | support/texlab/crates/parser/src/test_data/latex/group/unmatched_braces.txt
+2023/05/06 | 2 | support/texlab/crates/parser/src/test_data/latex/generic_command_escape.txt
+2023/05/06 | 29 | support/texlab/crates/parser/src/test_data/latex/include/graphics_include_simple.txt
+2023/05/06 | 29 | support/texlab/crates/parser/src/test_data/latex/command_definition/command_definition_optional.txt
+2023/05/06 | 2980 | systems/win32/miktex/setup/rpm/opensuse/15/repodata/repomd.xml
+2023/05/06 | 2979 | systems/win32/miktex/setup/rpm/fedora/37/repodata/repomd.xml
+2023/05/06 | 2979 | systems/win32/miktex/setup/rpm/fedora/36/repodata/repomd.xml
+2023/05/06 | 2979 | systems/win32/miktex/setup/rpm/fedora/35/repodata/repomd.xml
+2023/05/06 | 295 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_empty.txt.snap
+2023/05/06 | 29590 | macros/luatex/latex/sympycalc/doc/SympyCalc-doc.tex
+2023/05/06 | 291 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__citation_open_brace_multiple.snap
+2023/05/06 | 29122140 | systems/win32/miktex/source/miktex-23.5.tar.xz
+2023/05/06 | 28 | support/texlab/crates/parser/src/test_data/latex/include/package_include_multiple.txt
+2023/05/06 | 28 | support/texlab/crates/parser/src/test_data/latex/include/biblatex_include_simple.txt
+2023/05/06 | 28 | support/texlab/crates/parser/src/test_data/latex/group/equation_missing_end.txt
+2023/05/06 | 28 | support/texlab/crates/parser/src/test_data/latex/graphics_path.txt
+2023/05/06 | 28 | support/texlab/crates/parser/src/test_data/latex/equation_missing_begin.txt
+2023/05/06 | 2874 | support/texlab/crates/test-utils/src/fixture.rs
+2023/05/06 | 2872 | systems/texlive/tlnet/archive/texfindpkg.source.r67027.tar.xz
+2023/05/06 | 28464 | support/texlab/CHANGELOG.md
+2023/05/06 | 283 | support/texlab/crates/texlab/src/features/completion/begin_snippet.rs
+2023/05/06 | 2839 | support/texlab/crates/texlab/src/features/completion/label.rs
+2023/05/06 | 2834420 | systems/texlive/tlnet/archive/luajittex.amd64-freebsd.r67024.tar.xz
+2023/05/06 | 2824 | systems/win32/miktex/setup/deb/dists/focal/universe/binary-amd64/Packages.gz
+2023/05/06 | 2806 | support/texlab/crates/commands/src/build.rs
+2023/05/06 | 27 | support/texlab/crates/parser/src/test_data/latex/structure/structure_invalid_nesting.txt
+2023/05/06 | 27 | support/texlab/crates/parser/src/test_data/latex/include/verbatim_include_simple.txt
+2023/05/06 | 27 | support/texlab/crates/parser/src/test_data/latex/caption/caption_default.txt
+2023/05/06 | 279 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_environment_command_definition.snap
+2023/05/06 | 279 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__acronym_ref_simple.snap
+2023/05/06 | 278 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__acronym_ref_open_brace.snap
+2023/05/06 | 2780809 | biblio/ctan-bibdata/ctan.bib
+2023/05/06 | 273 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__user_command.snap
+2023/05/06 | 272 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__string_inside_reference.snap
+2023/05/06 | 271 | support/texlab/crates/parser/src/test_data/latex/issue_745.txt
+2023/05/06 | 27105 | systems/win32/miktex/setup/deb/dists/focal/universe/binary-amd64/Packages
+2023/05/06 | 26 | support/texlab/crates/parser/src/test_data/latex/theorem_definition/theorem_definition_name_with_description_and_counter.txt
+2023/05/06 | 26 | support/texlab/crates/parser/src/test_data/latex/command_definition/math_operator_no_impl.txt
+2023/05/06 | 26 | support/texlab/crates/parser/src/test_data/latex/caption/caption_default_error.txt
+2023/05/06 | 269 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__citation_open_brace.snap
+2023/05/06 | 26738 | systems/win32/miktex/setup/rpm/fedora/37/repodata/e815a622e789a39444ff63aedc6701b7c954a994e75b27bc02f1a2cbca68c526-filelists.sqlite.bz2
+2023/05/06 | 2665 | support/texlab/crates/citeproc/src/field/date.rs
+2023/05/06 | 265 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__acronym_ref_empty.snap
+2023/05/06 | 264 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__glossary_ref_simple.snap
+2023/05/06 | 26483 | support/texlab/texlab.pdf
+2023/05/06 | 2640812 | systems/texlive/tlnet/archive/luajittex.i386-freebsd.r67024.tar.xz
+2023/05/06 | 263 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__glossary_ref_open_brace.snap
+2023/05/06 | 2620 | support/texlab/crates/symbols/src/types.rs
+2023/05/06 | 26076 | systems/win32/miktex/setup/rpm/fedora/36/repodata/f2ee192a4baa66631434f22f88c270172d877d441819391941ecaee292dbecc1-primary.sqlite.bz2
+2023/05/06 | 2602 | support/texlab/crates/parser/src/latex/lexer/types.rs
+2023/05/06 | 26025746 | systems/texlive/tlnet/install-tl.zip
+2023/05/06 | 25 | support/texlab/crates/parser/src/test_data/latex/glossary/glossary_entry_reference_options.txt
+2023/05/06 | 25 | support/texlab/crates/parser/src/test_data/latex/color/color_set_definition_error3.txt
+2023/05/06 | 25 | support/texlab/crates/parser/src/test_data/bibtex/preamble.txt
+2023/05/06 | 2586 | support/texlab/texlab.tex
+2023/05/06 | 2586 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__smoke.snap
+2023/05/06 | 257 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_environment_class.snap
+2023/05/06 | 255 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__theorem_end.snap
+2023/05/06 | 25291 | support/texlab/crates/texlab/src/features/completion/builder.rs
+2023/05/06 | 2517 | systems/win32/miktex/setup/rpm/opensuse/15/repodata/aa0a506bfa79d8a665785f3e61faf5abac0c1609e4291a7cfc89fa5222d7b9d5-other.sqlite.bz2
+2023/05/06 | 2515 | support/texlab/crates/parser/src/test_data/build_log/003.txt
+2023/05/06 | 250 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__theorem_begin.snap
+2023/05/06 | 24 | support/texlab/crates/parser/src/test_data/latex/include/svg_include_simple.txt
+2023/05/06 | 248 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_set_definition_error4.txt.snap
+2023/05/06 | 247 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__issue_883.snap
+2023/05/06 | 2467 | support/texlab/crates/distro/src/miktex.rs
+2023/05/06 | 2455 | support/texlab/crates/parser/src/test_data/build_log/002.txt
+2023/05/06 | 244 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@group__unmatched_brackets.txt.snap
+2023/05/06 | 2444972 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2023/05/06 | 242 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@hello_world.txt.snap
+2023/05/06 | 242 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@group__unmatched_braces.txt.snap
+2023/05/06 | 2411 | support/texlab/crates/texlab/src/server/dispatch.rs
+2023/05/06 | 23 | support/texlab/crates/parser/src/test_data/latex/include/class_include_simple.txt
+2023/05/06 | 23 | support/texlab/crates/parser/src/test_data/latex/command_definition/command_definition_simple.txt
+2023/05/06 | 2360 | support/texlab/crates/symbols/src/workspace/tests.rs
+2023/05/06 | 23564672 | systems/win32/miktex/setup/rpm/opensuse/15/miktex-23.5-1.x86_64.rpm
+2023/05/06 | 234 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__field_known.snap
+2023/05/06 | 234 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@comment.txt.snap
+2023/05/06 | 2338308 | systems/texlive/tlnet/archive/luahbtex.x86_64-solaris.r67024.tar.xz
+2023/05/06 | 2302172 | systems/texlive/tlnet/archive/luajittex.x86_64-darwinlegacy.r67024.tar.xz
+2023/05/06 | 22 | support/texlab/crates/parser/src/test_data/latex/include/bibtex_include_simple.txt
+2023/05/06 | 22 | support/texlab/crates/parser/src/test_data/latex/command_definition/command_definition_no_argc.txt
+2023/05/06 | 22 | support/texlab/crates/parser/src/test_data/latex/caption/caption_minimal.txt
+2023/05/06 | 2292 | support/texlab/crates/texlab/src/features/rename/entry.rs
+2023/05/06 | 2291440 | systems/texlive/tlnet/archive/luahbtex.amd64-freebsd.r67024.tar.xz
+2023/05/06 | 227 | support/texlab/crates/syntax/Cargo.toml
+2023/05/06 | 227 | support/texlab/crates/distro/Cargo.toml
+2023/05/06 | 227 | support/texlab/crates/base-db/src/util.rs
+2023/05/06 | 226 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__acronym_package_ref.snap
+2023/05/06 | 22512750 | systems/win32/miktex/setup/rpm/fedora/36/miktex-23.5-1.fc36.x86_64.rpm
+2023/05/06 | 22501804 | systems/win32/miktex/setup/rpm/fedora/37/miktex-23.5-1.fc37.x86_64.rpm
+2023/05/06 | 22472671 | systems/win32/miktex/setup/rpm/fedora/35/miktex-23.5-1.fc35.x86_64.rpm
+2023/05/06 | 223 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_environment_simple.snap
+2023/05/06 | 22210 | support/texlab/crates/citeproc/src/driver.rs
+2023/05/06 | 2208360 | systems/texlive/tlnet/archive/luajittex.armhf-linux.r67024.tar.xz
+2023/05/06 | 2203408 | systems/texlive/tlnet/archive/luahbtex.aarch64-linux.r67024.tar.xz
+2023/05/06 | 2201 | support/texlab/crates/base-db/src/diagnostics/log.rs
+2023/05/06 | 21 | support/texlab/crates/parser/src/test_data/latex/theorem_definition/theorem_definition_name_with_description.txt
+2023/05/06 | 21 | support/texlab/crates/parser/src/test_data/latex/theorem_definition/theorem_definition_name_with_counter.txt
+2023/05/06 | 21 | support/texlab/crates/parser/src/test_data/latex/label/label_number.txt
+2023/05/06 | 21 | support/texlab/crates/parser/src/test_data/latex/inline_double_dollar.txt
+2023/05/06 | 21 | support/texlab/crates/parser/src/test_data/latex/caption/caption_minimal_error.txt
+2023/05/06 | 21752 | systems/win32/miktex/setup/rpm/fedora/37/repodata/6d63025f2e738b866fa633138b5f4db27f9994db6ce736e54fd3aeb88ee2c456-primary.sqlite.bz2
+2023/05/06 | 2172 | support/texlab/crates/texlab/src/server/extensions.rs
+2023/05/06 | 216 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@generic_command_empty.txt.snap
+2023/05/06 | 2162860 | systems/texlive/tlnet/archive/luahbtex.i386-freebsd.r67024.tar.xz
+2023/05/06 | 215 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@generic_command_escape.txt.snap
+2023/05/06 | 2143 | support/texlab/crates/texlab/src/features/folding.rs
+2023/05/06 | 212 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__section.snap
+2023/05/06 | 211 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__argument_word.snap
+2023/05/06 | 2110032 | systems/texlive/tlnet/archive/luahbtex.i386-solaris.r67024.tar.xz
+2023/05/06 | 21037409 | systems/texlive/tlnet/install-tl-windows.exe
+2023/05/06 | 20 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_range_simple.txt
+2023/05/06 | 20 | support/texlab/crates/parser/src/test_data/latex/include/tikz_library_import_simple.txt
+2023/05/06 | 20 | support/texlab/crates/parser/src/test_data/latex/include/package_include_simple.txt
+2023/05/06 | 20 | support/texlab/crates/parser/src/test_data/latex/include/latex_input_path_brackets.txt
+2023/05/06 | 20 | support/texlab/crates/parser/src/test_data/latex/include/inkscape_include_simple.txt
+2023/05/06 | 20 | support/texlab/crates/parser/src/test_data/latex/citation/citation_prenote_postnote.txt
+2023/05/06 | 2074 | support/texlab/crates/citeproc/src/field/author.rs
+2023/05/06 | 205 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_complete_entry.snap
+2023/05/06 | 2041 | systems/win32/miktex/setup/deb/dists/bullseye/InRelease
+2023/05/06 | 2040 | support/texlab/crates/parser/src/latex/lexer.rs
+2023/05/06 | 2029 | systems/win32/miktex/setup/deb/dists/jammy/InRelease
+2023/05/06 | 2029 | systems/win32/miktex/setup/deb/dists/focal/InRelease
+2023/05/06 | 2007 | support/texlab/crates/texlab/src/features/formatting/latexindent.rs
+2023/05/06 | 1 | support/texlab/crates/parser/src/test_data/latex/parameter_error.txt
+2023/05/06 | 19 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_range_error.txt
+2023/05/06 | 19 | support/texlab/crates/parser/src/test_data/latex/label/label_definition_line_break.txt
+2023/05/06 | 19 | support/texlab/crates/parser/src/test_data/latex/issue_789.txt
+2023/05/06 | 19 | support/texlab/crates/parser/src/test_data/latex/inline.txt
+2023/05/06 | 19 | support/texlab/crates/parser/src/test_data/latex/include/pgf_library_import_simple.txt
+2023/05/06 | 19 | support/texlab/crates/parser/src/test_data/latex/glossary/acronym_reference_simple.txt
+2023/05/06 | 1997 | support/texlab/crates/distro/src/lib.rs
+2023/05/06 | 1980 | support/texlab/crates/symbols/src/document/bib.rs
+2023/05/06 | 197 | support/texlab/crates/texlab/src/features.rs
+2023/05/06 | 1973 | systems/win32/miktex/setup/deb/dists/jammy/universe/binary-amd64/Packages.bz2
+2023/05/06 | 1955 | support/texlab/crates/base-db/src/diagnostics/bib.rs
+2023/05/06 | 194 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_after_preamble.snap
+2023/05/06 | 1928428 | systems/texlive/tlnet/archive/luahbtex.x86_64-darwinlegacy.r67024.tar.xz
+2023/05/06 | 1926836 | systems/texlive/tlnet/archive/luahbtex.armhf-linux.r67024.tar.xz
+2023/05/06 | 1922 | support/texlab/crates/texlab/tests/lsp/workspace/snapshots/lsp__workspace__symbol__smoke.snap
+2023/05/06 | 192148 | macros/latex/contrib/srdp-mathematik.zip
+2023/05/06 | 1917 | support/texlab/crates/texlab/src/features/completion.rs
+2023/05/06 | 1898 | support/texlab/crates/texlab/src/features/reference/entry.rs
+2023/05/06 | 1891424 | systems/texlive/tlnet/archive/luatex.amd64-freebsd.r67024.tar.xz
+2023/05/06 | 187 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@parameter_error.txt.snap
+2023/05/06 | 1877 | systems/win32/miktex/setup/deb/dists/bullseye/universe/binary-amd64/Packages.bz2
+2023/05/06 | 1871 | support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_type_section.snap
+2023/05/06 | 186 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_after_string.snap
+2023/05/06 | 186 | support/texlab/crates/texlab/tests/lsp/text_document.rs
+2023/05/06 | 1865 | support/texlab/crates/texlab/src/main.rs
+2023/05/06 | 18643 | systems/win32/miktex/setup/rpm/fedora/36/repodata/b989520bd75b806148361e89d48b63556c7f74eb070e3f4ed759800b67419cb2-filelists.xml.gz
+2023/05/06 | 185 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_before_preamble.snap
+2023/05/06 | 1856 | support/texlab/crates/texlab/src/features/definition.rs
+2023/05/06 | 1838 | systems/win32/miktex/setup/deb/dists/focal/universe/Contents-amd64.gz
+2023/05/06 | 182 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_before_article.snap
+2023/05/06 | 182 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@parameter.txt.snap
+2023/05/06 | 1829 | support/texlab/crates/texlab/src/features/completion/color.rs
+2023/05/06 | 181 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_join_strings.snap
+2023/05/06 | 181 | support/texlab/CONTRIBUTING.md
+2023/05/06 | 1814 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__label.snap
+2023/05/06 | 1812 | support/texlab/crates/distro/src/file_name_db.rs
+2023/05/06 | 181023 | macros/latex/contrib/srdp-mathematik/srdp-mathematik.pdf
+2023/05/06 | 18092551 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2023/05/06 | 17 | support/texlab/crates/test-utils/src/lib.rs
+2023/05/06 | 17 | support/texlab/crates/parser/src/test_data/latex/include/latex_include_simple.txt
+2023/05/06 | 17 | support/texlab/crates/parser/src/test_data/latex/include/latex_include_equality_sign.txt
+2023/05/06 | 17 | support/texlab/crates/parser/src/test_data/latex/include/import_simple.txt
+2023/05/06 | 17 | support/texlab/crates/parser/src/test_data/latex/command_definition/command_definition_no_impl.txt
+2023/05/06 | 179 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_before_string.snap
+2023/05/06 | 179 | support/texlab/crates/base-db/src/lib.rs
+2023/05/06 | 1795500 | systems/texlive/tlnet/archive/luatex.i386-freebsd.r67024.tar.xz
+2023/05/06 | 1791 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_853.txt.snap
+2023/05/06 | 1781 | support/texlab/crates/texlab/Cargo.toml
+2023/05/06 | 1781048 | systems/texlive/tlnet/archive/luatex.x86_64-solaris.r67024.tar.xz
+2023/05/06 | 1760 | support/texlab/crates/citeproc/src/output.rs
+2023/05/06 | 175 | support/texlab/crates/symbols/src/lib.rs
+2023/05/06 | 1745 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@structure__structure_nested.txt.snap
+2023/05/06 | 1743 | support/texlab/crates/texlab/tests/lsp/text_document/rename.rs
+2023/05/06 | 174320 | systems/texlive/tlnet/archive/l3kernel.r67026.tar.xz
+2023/05/06 | 1740 | support/texlab/crates/texlab/src/features/rename.rs
+2023/05/06 | 1737 | support/texlab/crates/texlab/tests/lsp/text_document/inlay_hint.rs
+2023/05/06 | 1729100 | systems/texlive/tlnet/archive/context.universal-darwin.r67028.tar.xz
+2023/05/06 | 1725316 | systems/texlive/tlnet/archive/luatex.aarch64-linux.r67024.tar.xz
+2023/05/06 | 1717 | support/texlab/crates/texlab/src/features/completion/argument.rs
+2023/05/06 | 16 | support/texlab/crates/parser/src/test_data/latex/theorem_definition/theorem_definition_only_name.txt
+2023/05/06 | 16 | support/texlab/crates/parser/src/test_data/latex/include/class_include_empty.txt
+2023/05/06 | 16 | support/texlab/crates/parser/src/test_data/latex/command_definition/command_definition_no_impl_error.txt
+2023/05/06 | 16979 | support/texlab/crates/syntax/src/latex/cst.rs
+2023/05/06 | 16846 | systems/win32/miktex/setup/rpm/fedora/37/repodata/bd72d5e59b46e1c80b1442ec0618d9fe1ab3021379c3a39351f97bb5d895fcaf-filelists.xml.gz
+2023/05/06 | 167 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_command.snap
+2023/05/06 | 1679 | support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__enumerate.snap
+2023/05/06 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2023/05/06 | 1672 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@006.txt.snap
+2023/05/06 | 1668 | support/texlab/crates/syntax/src/latex/kind.rs
+2023/05/06 | 1667 | support/texlab/crates/texlab/src/util.rs
+2023/05/06 | 1654 | support/texlab/crates/texlab/src/features/completion/citation.rs
+2023/05/06 | 1626 | support/texlab/crates/citeproc/src/field/number.rs
+2023/05/06 | 1619368 | systems/texlive/tlnet/archive/luatex.i386-solaris.r67024.tar.xz
+2023/05/06 | 1611 | support/texlab/crates/texlab/src/util/line_index_ext.rs
+2023/05/06 | 160 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_preamble.snap
+2023/05/06 | 1600900 | systems/texlive/tlnet/archive/luatex.x86_64-darwinlegacy.r67024.tar.xz
+2023/05/06 | 15 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_range_incomplete.txt
+2023/05/06 | 15 | support/texlab/crates/parser/src/test_data/latex/color/color_set_definition_error4.txt
+2023/05/06 | 15 | support/texlab/crates/parser/src/test_data/latex/citation/citation_prenote.txt
+2023/05/06 | 15 | support/texlab/crates/parser/src/test_data/latex/citation/citation_multiple_keys.txt
+2023/05/06 | 1590 | support/texlab/crates/commands/src/dep_graph.rs
+2023/05/06 | 1586 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__inlay_hint__label_definition.snap
+2023/05/06 | 1584 | support/texlab/crates/commands/src/placeholders.rs
+2023/05/06 | 157 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_trailing_comma.snap
+2023/05/06 | 157 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_insert_braces.snap
+2023/05/06 | 1562468 | systems/texlive/tlnet/archive/lshort-chinese.doc.r67025.tar.xz
+2023/05/06 | 1556 | systems/win32/miktex/setup/deb/dists/jammy/universe/Contents-amd64.gz
+2023/05/06 | 1556 | systems/win32/miktex/setup/deb/dists/bullseye/universe/Contents-amd64.gz
+2023/05/06 | 1556 | support/texlab/crates/texlab/src/features/completion/import.rs
+2023/05/06 | 155399 | macros/latex/contrib/annotate-equations.zip
+2023/05/06 | 1550 | support/texlab/crates/commands/src/clean.rs
+2023/05/06 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2023/05/06 | 1535 | support/texlab/crates/symbols/src/document.rs
+2023/05/06 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2023/05/06 | 1519 | systems/win32/miktex/setup/deb/dists/bullseye/Release
+2023/05/06 | 151073 | macros/latex/contrib/annotate-equations/annotate-equations.pdf
+2023/05/06 | 1507 | systems/win32/miktex/setup/deb/dists/jammy/Release
+2023/05/06 | 1507 | systems/win32/miktex/setup/deb/dists/focal/Release
+2023/05/06 | 1505 | support/texlab/crates/texlab/tests/lsp/text_document/document_symbol.rs
+2023/05/06 | 14 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_multiple.txt
+2023/05/06 | 14 | support/texlab/crates/parser/src/test_data/latex/generic_command_args.txt
+2023/05/06 | 1499 | systems/win32/miktex/setup/deb/dists/jammy/universe/binary-amd64/Packages.gz
+2023/05/06 | 148 | support/texlab/crates/parser/src/lib.rs
+2023/05/06 | 1474148 | systems/texlive/tlnet/archive/luatex.armhf-linux.r67024.tar.xz
+2023/05/06 | 1464 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__acronym_declaration.txt.snap
+2023/05/06 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2023/05/06 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2023/05/06 | 1443 | support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_type_item.snap
+2023/05/06 | 143 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_string.snap
+2023/05/06 | 1415 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__mvbook_nietzsche_1988.snap
+2023/05/06 | 1412 | support/texlab/crates/texlab/src/server/progress.rs
+2023/05/06 | 1402 | support/texlab/crates/texlab/src/features/reference/string.rs
+2023/05/06 | 13 | support/texlab/crates/parser/src/test_data/latex/include/package_include_empty.txt
+2023/05/06 | 13 | support/texlab/crates/parser/src/test_data/latex/group/curly_group_simple.txt
+2023/05/06 | 13 | support/texlab/crates/parser/src/test_data/latex/equation.txt
+2023/05/06 | 13 | support/texlab/crates/parser/src/test_data/latex/color/color_reference_simple.txt
+2023/05/06 | 1398 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__book_averroes_1998.snap
+2023/05/06 | 1382 | systems/win32/miktex/setup/rpm/fedora/35/repodata/540edea06ba8efb87631ad1fec4fa3d5cb253d6f47db59182530506a772224d5-other.sqlite.bz2
+2023/05/06 | 13792 | macros/latex/contrib/annotate-equations/annotate-equations.tex
+2023/05/06 | 1378 | systems/win32/miktex/setup/deb/dists/bullseye/universe/binary-amd64/Packages.gz
+2023/05/06 | 135 | support/texlab/crates/parser/src/test_data/latex/issue_853.txt
+2023/05/06 | 1359 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__acronym_definition_options.txt.snap
+2023/05/06 | 13566 | support/texlab/crates/texlab/tests/lsp/text_document/completion.rs
+2023/05/06 | 13353 | support/texlab/crates/parser/src/test_data/build_log/005.txt
+2023/05/06 | 1330 | support/texlab/crates/texlab/src/features/inlay_hint/label.rs
+2023/05/06 | 132 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_parens.snap
+2023/05/06 | 13253 | systems/win32/miktex/setup/rpm/opensuse/15/repodata/406282d7aa5704f8c5c983b94bdedd408ab0ed2da86f70620d79fcceafc4661a-filelists.sqlite.bz2
+2023/05/06 | 1322 | support/texlab/crates/texlab/tests/lsp/text_document/document_highlight.rs
+2023/05/06 | 1321 | support/texlab/crates/symbols/src/workspace.rs
+2023/05/06 | 132182 | macros/luatex/latex/sympycalc.zip
+2023/05/06 | 1317 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__article_blom_2021.snap
+2023/05/06 | 1305 | support/texlab/crates/texlab/src/features/rename/command.rs
+2023/05/06 | 130436 | macros/luatex/latex/sympycalc/doc/SympyCalc-doc.pdf
+2023/05/06 | 1301 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__article_kastenholz_2006.snap
+2023/05/06 | 1300 | support/texlab/crates/texlab/src/features/definition/command.rs
+2023/05/06 | 12 | support/texlab/crates/texlab/tests/lsp/workspace.rs
+2023/05/06 | 12 | support/texlab/crates/parser/src/test_data/latex/hello_world.txt
+2023/05/06 | 12 | support/texlab/crates/parser/src/test_data/latex/group/curly_group_missing_end.txt
+2023/05/06 | 12 | support/texlab/crates/parser/src/test_data/latex/citation/citation_redundant_comma.txt
+2023/05/06 | 1289 | systems/win32/miktex/setup/rpm/opensuse/15/repodata/82da23c7becef35edae2c1d2af9dec00117fac98bc3c1b642476e11b02341fee-other.xml.gz
+2023/05/06 | 1283 | support/texlab/crates/texlab/src/features/inlay_hint.rs
+2023/05/06 | 1272 | support/texlab/crates/texlab/benches/bench_main.rs
+2023/05/06 | 1260 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@structure__structure_enum_item.txt.snap
+2023/05/06 | 1238 | support/texlab/crates/texlab/src/features/completion/color_model.rs
+2023/05/06 | 1210 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__book_knuth_1984.snap
+2023/05/06 | 1208 | support/texlab/crates/texlab/tests/lsp/text_document/folding_range.rs
+2023/05/06 | 11 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_equation.txt
+2023/05/06 | 11 | support/texlab/crates/parser/src/test_data/latex/label/label_definition_simple.txt
+2023/05/06 | 11 | support/texlab/crates/parser/src/test_data/latex/include/import_incomplete.txt
+2023/05/06 | 1195 | systems/win32/miktex/setup/rpm/fedora/36/repodata/4afdb650ab52361f0b6df660339390263026d1d3ea621d1a1d4c966221ec91b2-other.sqlite.bz2
+2023/05/06 | 1191 | support/texlab/crates/texlab/src/features/definition/entry.rs
+2023/05/06 | 1191 | support/texlab/crates/texlab/src/features/completion/glossary_ref.rs
+2023/05/06 | 1191 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@environment__environment_nested_missing_braces.txt.snap
+2023/05/06 | 11915176 | systems/texlive/tlnet/archive/l3kernel.doc.r67026.tar.xz
+2023/05/06 | 1189 | support/texlab/crates/texlab/src/features/hover/string_ref.rs
+2023/05/06 | 11868 | support/texlab/crates/citeproc/src/tests.rs
+2023/05/06 | 1177 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__command_definition_with_begin.txt.snap
+2023/05/06 | 1171 | support/texlab/crates/texlab/src/features/hover.rs
+2023/05/06 | 1170 | support/texlab/crates/base-db/src/semantics/auxiliary.rs
+2023/05/06 | 1166 | support/texlab/crates/texlab/src/features/definition/label.rs
+2023/05/06 | 1163 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__inproceedings_combi_2004.snap
+2023/05/06 | 1157 | support/texlab/crates/texlab/tests/lsp/text_document/document_link.rs
+2023/05/06 | 1157300 | systems/texlive/tlnet/archive/context.windows.r67023.tar.xz
+2023/05/06 | 11508 | systems/texlive/tlnet/archive/texfindpkg.doc.r67027.tar.xz
+2023/05/06 | 11420 | support/texlab/crates/parser/src/bibtex.rs
+2023/05/06 | 1124 | support/texlab/crates/distro/src/language.rs
+2023/05/06 | 1121 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@environment__environment_nested.txt.snap
+2023/05/06 | 1120 | support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__theorem.snap
+2023/05/06 | 1112 | support/texlab/crates/parser/src/test_data/bibtex/samples/nietzsche_1998.txt
+2023/05/06 | 1110 | systems/win32/miktex/setup/rpm/fedora/37/repodata/9d2b687617379b61dc1ce9cd1f2ddcc46368b07ca8be0d7bde7f911c2c6d91b2-other.sqlite.bz2
+2023/05/06 | 1103 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@environment__environment_definition.txt.snap
+2023/05/06 | 11015 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__nietzsche_1998.txt.snap
+2023/05/06 | 10 | support/texlab/crates/parser/src/test_data/latex/citation/citation_star.txt
+2023/05/06 | 10 | support/texlab/crates/parser/src/test_data/latex/citation/citation_simple.txt
+2023/05/06 | 108 | support/texlab/crates/texlab/src/lib.rs
+2023/05/06 | 1083 | support/texlab/crates/texlab/src/features/formatting.rs
+2023/05/06 | 1074 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@environment__environment_asymptote.txt.snap
+2023/05/06 | 1070 | support/texlab/crates/texlab/src/features/reference.rs
+2023/05/06 | 1067 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__package_include_options.txt.snap
+2023/05/06 | 1066 | support/texlab/crates/texlab/src/features/rename/label.rs
+2023/05/06 | 1066 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__class_include_options.txt.snap
+2023/05/06 | 1052 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__article_aksin_2006.snap
+2023/05/06 | 1051 | support/texlab/crates/texlab/tests/lsp/workspace/symbol.rs
+2023/05/06 | 1050 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__article_jain_1999.snap
+2023/05/06 | 1049 | support/texlab/crates/texlab/src/features/highlight/label.rs
+2023/05/06 | 1048000 | systems/texlive/tlnet/archive/context.x86_64-cygwin.r67022.tar.xz
+2023/05/06 | 1038 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__inproceedings_erwin_2007.snap
+2023/05/06 | 10380 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__averroes_1998.txt.snap
+2023/05/06 | 1037 | support/texlab/crates/texlab/src/features/definition/string.rs
+2023/05/06 | 1036 | support/texlab/crates/texlab/src/features/completion/matcher.rs
+2023/05/06 | 1009 | support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_type_math.snap
+2023/05/06 | 1008 | support/texlab/crates/parser/src/test_data/bibtex/samples/averroes_1998.txt
+2023/05/06 | 1007 | support/texlab/crates/texlab/src/features/reference/label.rs
2023/05/05 | 9999 | macros/latex/contrib/l3kernel/l3news10.tex
2023/05/05 | 9990548 | systems/texlive/tlnet/archive/context.r67020.tar.xz
2023/05/05 | 98900 | systems/texlive/tlnet/archive/colorwav.doc.r67012.tar.xz
@@ -51,7 +736,6 @@
2023/05/05 | 77710 | macros/latex/contrib/l3kernel/l3msg.dtx
2023/05/05 | 77669 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
2023/05/05 | 77646 | systems/win32/miktex/tm/packages/miktex-fmt-bin-x64-2.9.tar.lzma
-2023/05/05 | 7721 | macros/latex/contrib/annotate-equations/annotate-equations.sty
2023/05/05 | 761838 | systems/win32/miktex/tm/packages/files.csv.lzma
2023/05/05 | 761786 | systems/win32/miktex/tm/packages/next/files.csv.lzma
2023/05/05 | 76087 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
@@ -123,7 +807,6 @@
2023/05/05 | 5787 | support/arara/scripts/rules/arara-rule-bib2gls.yaml
2023/05/05 | 576 | support/arara/scripts/arara.sh
2023/05/05 | 573 | info/lshort/chinese/src/Makefile
-2023/05/05 | 5735784 | systems/texlive/tlnet/install-tl-unx.tar.gz
2023/05/05 | 572224 | systems/texlive/tlnet/archive/windycity.doc.r67011.tar.xz
2023/05/05 | 56103 | systems/win32/miktex/tm/packages/miktex-mpmcli-bin-x64-2.9.tar.lzma
2023/05/05 | 56043 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
@@ -154,7 +837,6 @@
2023/05/05 | 49669 | systems/win32/miktex/tm/packages/miktex-expat-bin-x64-2.9.tar.lzma
2023/05/05 | 4937 | macros/latex/contrib/l3kernel/l3news01.tex
2023/05/05 | 49311 | macros/latex/contrib/l3kernel/l3fp-expo.dtx
-2023/05/05 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2023/05/05 | 4890 | macros/latex/contrib/l3kernel/l3news.tex
2023/05/05 | 48085 | systems/win32/miktex/tm/packages/miktex-mtprint-bin-x64-2.9.tar.lzma
2023/05/05 | 48001 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
@@ -170,10 +852,6 @@
2023/05/05 | 460 | support/arara/scripts/rules/arara-rule-mkdir.yaml
2023/05/05 | 45900 | systems/win32/miktex/tm/packages/miktex-zlib-bin-x64-2.9.tar.lzma
2023/05/05 | 45884 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
-2023/05/05 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2023/05/05 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
-2023/05/05 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2023/05/05 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2023/05/05 | 45418 | macros/latex/contrib/l3kernel/l3prefixes.csv
2023/05/05 | 4538 | macros/latex/contrib/l3kernel/l3legacy.dtx
2023/05/05 | 44188 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
@@ -190,7 +868,6 @@
2023/05/05 | 412172 | systems/texlive/tlnet/archive/cool.doc.r67013.tar.xz
2023/05/05 | 4074 | support/arara/scripts/rules/arara-rule-datatooltk.yaml
2023/05/05 | 40728 | macros/latex/contrib/l3kernel/l3sort.dtx
-2023/05/05 | 4064177 | biblio/ctan-bibdata.zip
2023/05/05 | 40169 | info/lshort/chinese/src/chap/chap.05.style.tex
2023/05/05 | 40139 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
2023/05/05 | 40126 | systems/win32/miktex/tm/packages/miktex-chktex-bin-x64-2.9.tar.lzma
@@ -202,7 +879,6 @@
2023/05/05 | 37611 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
2023/05/05 | 37577 | systems/win32/miktex/tm/packages/miktex-posix-bin-x64-2.9.tar.lzma
2023/05/05 | 36695 | info/lshort/chinese/src/chap/chap.04.math.tex
-2023/05/05 | 3666520 | biblio/ctan-bibdata/ctan.pdf
2023/05/05 | 36594 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
2023/05/05 | 3658 | info/lshort/chinese/src/chap/preface.overview.tex
2023/05/05 | 36586 | systems/win32/miktex/tm/packages/miktex-arctrl-bin-x64-2.9.tar.lzma
@@ -256,7 +932,6 @@
2023/05/05 | 282548 | support/arara/doc/resources/CascadiaMono-Light.otf
2023/05/05 | 2821 | macros/latex/contrib/l3kernel/l3prefixes.tex
2023/05/05 | 28006 | macros/latex/contrib/l3kernel/l3candidates.dtx
-2023/05/05 | 2780800 | biblio/ctan-bibdata/ctan.bib
2023/05/05 | 27751 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
2023/05/05 | 27625 | systems/win32/miktex/tm/packages/miktex-teckit-bin-x64-2.9.tar.lzma
2023/05/05 | 2756846 | support/arara/doc/arara-7.1.0-docsrc.zip
@@ -268,7 +943,6 @@
2023/05/05 | 271320 | systems/win32/miktex/tm/packages/miktex-console-bin-x64-2.9.tar.lzma
2023/05/05 | 264936 | systems/texlive/tlnet/archive/thmtools.doc.r67018.tar.xz
2023/05/05 | 2628 | systems/texlive/tlnet/archive/forloop.source.r67017.tar.xz
-2023/05/05 | 26025746 | systems/texlive/tlnet/install-tl.zip
2023/05/05 | 25459 | systems/win32/miktex/tm/packages/miktex-fribidixetex-bin-x64-2.9.tar.lzma
2023/05/05 | 25454 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
2023/05/05 | 25442 | systems/win32/miktex/tm/packages/miktex-devnag-bin-x64-2.9.tar.lzma
@@ -280,7 +954,6 @@
2023/05/05 | 24841 | macros/latex/contrib/l3kernel/source3body.tex
2023/05/05 | 246234 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
2023/05/05 | 246209 | systems/win32/miktex/tm/packages/miktex-pmx-bin-x64-2.9.tar.lzma
-2023/05/05 | 2446760 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2023/05/05 | 2434 | support/arara/scripts/rules/arara-rule-makeglossaries.yaml
2023/05/05 | 243101 | macros/latex/contrib/l3kernel/l3syntax-changes.pdf
2023/05/05 | 2428 | support/arara/doc/htmlquickstarttopdf.sh
@@ -306,7 +979,6 @@
2023/05/05 | 216632 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
2023/05/05 | 215628 | macros/latex/contrib/l3kernel/l3term-glossary.pdf
2023/05/05 | 21364 | systems/texlive/tlnet/archive/windycity.r67011.tar.xz
-2023/05/05 | 21037464 | systems/texlive/tlnet/install-tl-windows.exe
2023/05/05 | 2099 | support/arara/scripts/rules/arara-rule-perltex.yaml
2023/05/05 | 20760 | systems/texlive/tlnet/archive/thmtools.source.r67018.tar.xz
2023/05/05 | 206269 | systems/win32/miktex/tm/packages/miktex-hunspell-bin-x64-2.9.tar.lzma
@@ -338,7 +1010,6 @@
2023/05/05 | 182819 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
2023/05/05 | 182643 | systems/win32/miktex/tm/packages/miktex-mpfr-bin-x64-2.9.tar.lzma
2023/05/05 | 18245556 | install/support/arara.tds.zip
-2023/05/05 | 18092397 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
2023/05/05 | 1800 | info/lshort/chinese/README.md
2023/05/05 | 17722 | info/lshort/chinese/src/chap/sec.symbol.table.tex
2023/05/05 | 174449 | systems/win32/miktex/tm/packages/miktex-tex-bin-x64-2.9.tar.lzma
@@ -350,7 +1021,6 @@
2023/05/05 | 1708 | support/arara/scripts/rules/arara-rule-texcount.yaml
2023/05/05 | 170076 | macros/latex/contrib/l3kernel/l3news11.pdf
2023/05/05 | 168372 | support/arara/doc/resources/CascadiaMono-Italic.otf
-2023/05/05 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
2023/05/05 | 1671 | support/arara/scripts/rules/arara-rule-fig2dev.yaml
2023/05/05 | 167028 | support/arara/doc/resources/CascadiaMono-LightItalic.otf
2023/05/05 | 16633 | macros/latex/contrib/l3kernel/l3text-map.dtx
@@ -370,16 +1040,12 @@
2023/05/05 | 157574 | systems/win32/miktex/tm/packages/miktex-fontconfig-bin-x64-2.9.tar.lzma
2023/05/05 | 1570 | support/arara/scripts/rules/arara-rule-xelatex.yaml
2023/05/05 | 155616 | macros/latex/contrib/l3kernel/l3doc.dtx
-2023/05/05 | 155530 | macros/latex/contrib/annotate-equations.zip
-2023/05/05 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
2023/05/05 | 1530394 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
-2023/05/05 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
2023/05/05 | 1529678 | systems/win32/miktex/tm/packages/miktex-runtime-bin-x64-2.9.tar.lzma
2023/05/05 | 1521 | support/arara/scripts/rules/arara-rule-uplatex.yaml
2023/05/05 | 151946 | macros/latex/contrib/l3kernel/l3docstrip.pdf
2023/05/05 | 1516 | support/arara/scripts/rules/arara-rule-platex.yaml
2023/05/05 | 151569 | macros/latex/contrib/l3kernel/l3news06.pdf
-2023/05/05 | 151252 | macros/latex/contrib/annotate-equations/annotate-equations.pdf
2023/05/05 | 1511 | support/arara/scripts/rules/arara-rule-xetex.yaml
2023/05/05 | 150674 | macros/latex/contrib/l3kernel/l3news02.pdf
2023/05/05 | 1502 | support/arara/scripts/rules/arara-rule-makeindex.yaml
@@ -390,9 +1056,7 @@
2023/05/05 | 1477 | support/arara/scripts/rules/arara-rule-asymptote.yaml
2023/05/05 | 1473039 | info/lshort/chinese/lshort-zh-cn.pdf
2023/05/05 | 1469 | support/arara/scripts/rules/arara-rule-knitr.yaml
-2023/05/05 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
2023/05/05 | 145224 | macros/latex/contrib/l3kernel/l3tl.dtx
-2023/05/05 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
2023/05/05 | 1447 | support/arara/scripts/rules/arara-rule-dvisvgm.yaml
2023/05/05 | 14478 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
2023/05/05 | 14462 | systems/win32/miktex/tm/packages/miktex-zzip-bin-x64-2.9.tar.lzma
@@ -402,7 +1066,6 @@
2023/05/05 | 140293 | systems/win32/miktex/tm/packages/miktex-mktex-bin-x64-2.9.tar.lzma
2023/05/05 | 139719 | macros/latex/contrib/l3kernel/l3file.dtx
2023/05/05 | 13912331 | install/macros/latex/contrib/l3kernel.tds.zip
-2023/05/05 | 13873 | macros/latex/contrib/annotate-equations/annotate-equations.tex
2023/05/05 | 13843 | info/lshort/chinese/src/chap/app.B.error.help.tex
2023/05/05 | 1379 | info/lshort/chinese/src/chap/titlepage.tex
2023/05/05 | 137780 | systems/win32/miktex/tm/packages/miktex-dvips-bin-x64-2.9.tar.lzma
@@ -443,6 +1106,7 @@
2023/05/05 | 1155967 | support/arara/doc/arara-manual.pdf
2023/05/05 | 1152 | systems/win32/miktex/tm/packages/pr.ini
2023/05/05 | 1150 | systems/win32/miktex/tm/packages/next/pr.ini
+2023/05/05 | 114657691 | macros/context/latest/cont-tmf.zip
2023/05/05 | 114586 | macros/latex/contrib/l3kernel/l3news04.pdf
2023/05/05 | 1140 | info/lshort/chinese/src/lshort-zh-cn.tex
2023/05/05 | 113427 | macros/latex/contrib/l3kernel/l3str-convert.dtx
@@ -765,7 +1429,6 @@
2023/05/02 | 111786 | graphics/metapost/contrib/macros/repere/repere-doc.tex
2023/05/01 | 9951 | macros/latex/contrib/profcollege/latex/PfCTriominos.tex
2023/05/01 | 9898 | macros/latex/contrib/profcollege/latex/PfCDecDeci.tex
-2023/05/01 | 986 | macros/latex/contrib/srdp-mathematik/README.md
2023/05/01 | 9839 | support/latexindent/LatexIndent/Lines.pm
2023/05/01 | 969 | macros/latex/contrib/profcollege/metapost/PfCConstantes.mp
2023/05/01 | 9699 | macros/latex/contrib/profcollege/latex/PfCCartographie.tex
@@ -787,7 +1450,6 @@
2023/05/01 | 8271 | macros/latex/contrib/profcollege/latex/PfCBillard.tex
2023/05/01 | 82533 | macros/latex/contrib/profcollege/latex/PfCTableauxUnites.tex
2023/05/01 | 8113 | macros/latex/contrib/profcollege/latex/PfCPourcentage.tex
-2023/05/01 | 81016 | macros/latex/contrib/srdp-mathematik/srdp-mathematik.sty
2023/05/01 | 7962 | macros/latex/contrib/profcollege/latex/PfCDessinGradue.tex
2023/05/01 | 790843 | info/install-latex-guide-zh-cn/install-latex-guide-zh-cn.pdf
2023/05/01 | 783 | macros/latex/contrib/biblatex-contrib/biblatex-manuscripts-philology/manuscripts-NewBibliographyString.sty
@@ -835,7 +1497,6 @@
2023/05/01 | 52872 | support/latexindent/LatexIndent/GetYamlSettings.pm
2023/05/01 | 52774 | macros/latex/contrib/profcollege/metapost/PfCGeometrie.mp
2023/05/01 | 5248 | macros/latex/contrib/profcollege/latex/PfCRepresenterTableur.tex
-2023/05/01 | 48704 | macros/latex/contrib/srdp-mathematik/srdp-mathematik.tex
2023/05/01 | 4816 | support/latexindent/LatexIndent/BlankLines.pm
2023/05/01 | 4730 | macros/latex/contrib/profcollege/latex/PfCOperationsTrou.tex
2023/05/01 | 4692 | macros/latex/contrib/profcollege/latex/PfCFutoshiki.tex
@@ -907,13 +1568,11 @@
2023/05/01 | 2019 | macros/latex/contrib/profcollege/latex/PfCEngrenagesBase.tex
2023/05/01 | 2006 | support/latexindent/README
2023/05/01 | 19900 | macros/latex/contrib/profcollege/latex/PfCTrio.tex
-2023/05/01 | 192273 | macros/latex/contrib/srdp-mathematik.zip
2023/05/01 | 1862 | macros/latex/contrib/profcollege/latex/PfCMotsEmpiles.tex
2023/05/01 | 18522 | support/latexindent/LatexIndent/ModifyLineBreaks.pm
2023/05/01 | 18440 | graphics/pgf/contrib/tikz-nfold/pgflibrarybezieroffset.code.tex
2023/05/01 | 1841 | macros/latex/contrib/biblatex-contrib/biblatex-manuscripts-philology/french-manuscripts.lbx
2023/05/01 | 1839 | macros/latex/contrib/biblatex-contrib/biblatex-manuscripts-philology/italian-manuscripts.lbx
-2023/05/01 | 181160 | macros/latex/contrib/srdp-mathematik/srdp-mathematik.pdf
2023/05/01 | 18082 | macros/latex/contrib/profcollege/latex/ProfCollege.sty
2023/05/01 | 1777 | macros/latex/contrib/profcollege/latex/PfCRapido.tex
2023/05/01 | 1767 | macros/latex/contrib/biblatex-contrib/biblatex-manuscripts-philology/english-manuscripts.lbx
@@ -980,37 +1639,3 @@
2023/04/30 | 13712 | systems/texlive/tlnet/archive/luatex.r66967.tar.xz
2023/04/30 | 11972 | systems/texlive/tlnet/archive/lua-typo.r66969.tar.xz
2023/04/30 | 1068983 | macros/latex/contrib/etoc.zip
-2023/04/29 | 99013 | systems/doc/luatex/luatex-nodes.tex
-2023/04/29 | 98970 | systems/doc/luatex/luatex-tex.tex
-2023/04/29 | 97884 | graphics/pstricks/base/doc/pst-news23.pdf
-2023/04/29 | 8045 | graphics/pstricks/base/latex/pstricks.sty
-2023/04/29 | 6370 | systems/win32/miktex/tm/packages/pas-tableur__source.tar.lzma
-2023/04/29 | 47983 | systems/doc/luatex/luatex-languages.tex
-2023/04/29 | 45486 | systems/doc/luatex/luatex-fontloader.tex
-2023/04/29 | 4375 | graphics/pstricks/base/doc/pst-news23.tex
-2023/04/29 | 41316 | macros/luatex/latex/lua-typo/lua-typo-2023-03-08.sty
-2023/04/29 | 4092 | graphics/pstricks/base/Changes
-2023/04/29 | 3796 | systems/win32/miktex/tm/packages/pas-tableur.tar.lzma
-2023/04/29 | 3720 | macros/unicodetex/latex/bithesis/bithesis.ins
-2023/04/29 | 36463 | systems/doc/luatex/luatex-lua.tex
-2023/04/29 | 337424 | macros/luatex/latex/lua-typo.zip
-2023/04/29 | 3362 | graphics/pstricks/base/generic/pstricks-tex.def
-2023/04/29 | 3352 | macros/luatex/latex/lua-typo/README.md
-2023/04/29 | 321515 | systems/win32/miktex/tm/packages/pas-tableur__doc.tar.lzma
-2023/04/29 | 2997 | macros/luatex/latex/lua-typo/doc/lua-typo-demo.tex
-2023/04/29 | 2755784 | systems/texlive/tlnet/archive/simpleicons.r66960.tar.xz
-2023/04/29 | 2649 | macros/unicodetex/latex/bithesis/contributing-zh.md
-2023/04/29 | 25642 | macros/luatex/latex/lua-typo/lua-typo-2021-04-18.sty
-2023/04/29 | 255176 | systems/texlive/tlnet/archive/pgf-spectra.r66961.tar.xz
-2023/04/29 | 2348 | macros/unicodetex/latex/bithesis/contributing.md
-2023/04/29 | 226899 | macros/unicodetex/latex/bithesis/bithesis.dtx
-2023/04/29 | 2231980 | systems/texlive/tlnet/archive/pgf-spectra.doc.r66961.tar.xz
-2023/04/29 | 208526 | macros/luatex/latex/lua-typo/doc/lua-typo.pdf
-2023/04/29 | 2020324 | systems/texlive/tlnet/archive/simpleicons.doc.r66960.tar.xz
-2023/04/29 | 1946 | macros/unicodetex/latex/bithesis/README.md
-2023/04/29 | 1780325 | systems/doc/luatex/luatex.pdf
-2023/04/29 | 16859 | macros/luatex/latex/lua-typo/doc/lua-typo-demo.pdf
-2023/04/29 | 125682 | graphics/pstricks/base/generic/pstricks.tex
-2023/04/29 | 118752 | macros/luatex/latex/lua-typo/source/lua-typo.dtx
-2023/04/29 | 1178694 | macros/unicodetex/latex/bithesis/bithesis.pdf
-2023/04/29 | 106625 | macros/luatex/latex/lua-typo/doc/lua-typo-fr.pdf
diff --git a/biblio/ctan-bibdata/ctan.bib b/biblio/ctan-bibdata/ctan.bib
index dba830972b..f0aa801be0 100644
--- a/biblio/ctan-bibdata/ctan.bib
+++ b/biblio/ctan-bibdata/ctan.bib
@@ -1,7 +1,7 @@
%% bib file of all CTAN packages
%% (C) Herbert Voß
%%
-%% created at 06-05-2023, 02:01:58
+%% created at 07-05-2023, 02:04:34
%%
%% This file is provided under the terms of the LPPL v1.3 or
@@ -2245,8 +2245,8 @@
title = {The \texttt{annotate-equations} package},
subtitle = {Easily annotate math equations using TikZ},
author = {ST John},
- date = {2023-05-05},
- version = {0.2.1},
+ date = {2023-05-06},
+ version = {0.2.2},
license = {mit},
mirror = {https://mirror.ctan.org/macros/latex/contrib/annotate-equations},
url = {https://ctan.org/pkg/annotate-equations},
@@ -63696,8 +63696,8 @@
title = {The \texttt{srdp-mathematik} package},
subtitle = {Typeset Austrian SRDP in mathematics},
author = {Christoph Weberndorfer},
- date = {2023-05-01},
- version = {1.12.0},
+ date = {2023-05-06},
+ version = {1.12.1},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/latex/contrib/srdp-mathematik},
url = {https://ctan.org/pkg/srdp-mathematik},
@@ -64946,6 +64946,20 @@
url = {https://ctan.org/pkg/symbolindex},
}
+@manual{ctan-sympycalc,
+ title = {The \texttt{SympyCalc} package},
+ subtitle = {Work with SymPy and PyLuaTeX},
+ author = {Cédric Pierquet},
+ date = {2023-05-06},
+ version = {0.1.0},
+ license = {lppl1.3c},
+ mirror = {https://mirror.ctan.org/macros/luatex/latex/sympycalc},
+ url = {https://ctan.org/pkg/sympycalc},
+ annotation = {This package provides some commands
+ (mostly for French users) to perform commands
+ and format the result with some adjustments in formatting:},
+}
+
@manual{ctan-sympytex,
title = {The \texttt{sympytex} package},
subtitle = {Include symbolic computation (using sympy) in documents},
@@ -67319,8 +67333,8 @@
title = {The \texttt{TeXLab} package},
subtitle = {\LaTeX{} Language Server},
author = {Eric Förster},
- date = {2023-04-16},
- version = {5.5.0},
+ date = {2023-05-06},
+ version = {5.5.1},
license = {gpl3},
mirror = {https://mirror.ctan.org/support/texlab},
url = {https://ctan.org/pkg/texlab},
diff --git a/biblio/ctan-bibdata/ctan.pdf b/biblio/ctan-bibdata/ctan.pdf
index e09ed9f651..28262eb139 100644
--- a/biblio/ctan-bibdata/ctan.pdf
+++ b/biblio/ctan-bibdata/ctan.pdf
Binary files differ
diff --git a/macros/latex/contrib/annotate-equations/annotate-equations.pdf b/macros/latex/contrib/annotate-equations/annotate-equations.pdf
index e7b9b340f2..b8ea793928 100644
--- a/macros/latex/contrib/annotate-equations/annotate-equations.pdf
+++ b/macros/latex/contrib/annotate-equations/annotate-equations.pdf
Binary files differ
diff --git a/macros/latex/contrib/annotate-equations/annotate-equations.sty b/macros/latex/contrib/annotate-equations/annotate-equations.sty
index 0c471b13c3..a781a773d7 100644
--- a/macros/latex/contrib/annotate-equations/annotate-equations.sty
+++ b/macros/latex/contrib/annotate-equations/annotate-equations.sty
@@ -5,7 +5,7 @@
%
\NeedsTeXFormat{LaTeX2e}[1994/06/01]
\ProvidesPackage{annotate-equations}
- [2023/03/05 v0.2.1 easily annotate equations using TikZ]
+ [2023/05/06 v0.2.2 easily annotate equations using TikZ]
%%% lualatex compatibility, from https://tex.stackexchange.com/a/351520/171664
\RequirePackage{ifluatex}
@@ -170,6 +170,9 @@
\colorlet{currentcolor}{.}
\def\myEAcolor{\usevalue{\myEAmark}}%
%
+ \def\EAspace{ } % workaround: did not find any other way of getting a space into \myEAlabelanchor without upsetting LaTeX/PGF/... somehow
+ \edef\myEAlabelanchor{\EAlabelanchor\EAspace\EAwesteast}%
+ %
%
\def\myEAxshift{\EAxshift{\EAwesteast}}%
\begin{tikzpicture}[overlay,remember picture,>=stealth,nodes={align=left,inner ysep=1pt},<-]
@@ -182,7 +185,7 @@
\foreach \EAmark in \myEAmarks
\draw [color=\myEAcolor, annotate equations/arrow] (\EAmark.\EAmarkanchor) % arrow from the equation
% \EAmarkanchor north: above the equation, south: below
- |- ([xshift=\myEAxshift,yshift=0.1ex] \eqnannotateCurrentNode.south \EAwesteast);
+ |- ([xshift=\myEAxshift,yshift=0.1ex] \eqnannotateCurrentNode.\myEAlabelanchor);
% - south east: we want line to end at bottom right of annotation text;
% - negative xshift makes it a little bit shorter;
% - yshift for aesthetics (\strut is ever so slightly too tall).
diff --git a/macros/latex/contrib/annotate-equations/annotate-equations.tex b/macros/latex/contrib/annotate-equations/annotate-equations.tex
index 5fc0aa6017..82383f69fb 100644
--- a/macros/latex/contrib/annotate-equations/annotate-equations.tex
+++ b/macros/latex/contrib/annotate-equations/annotate-equations.tex
@@ -26,7 +26,7 @@
text above listing,
#1}
-\title{\texttt{annotate-equations.sty}, v.0.2.1}
+\title{\texttt{annotate-equations.sty}, v.0.2.2}
\author{ST John}
\date{\url{https://github.com/st--/annotate-equations}}
@@ -131,7 +131,7 @@ One annotation can point to multiple targets, and multiple annotations can point
\end{equation*}
\annotate[yshift=1em]{left}{node1}{my}
\annotate[yshift=-0.5em]{below,left}{node2}{annotation}
-\annotate[yshift=-1em]{below}{node3}{text}
+\annotate[yshift=-1em]{below, label below}{node3}{text}
\end{LTXexample}
\noindent
%
@@ -362,8 +362,6 @@ a \mathrel{\tikzmarknode[outer ysep=5pt]{node1}{=}} b
\section{Known issues}
\begin{itemize}
- \item \texttt{label above}/\texttt{label below} is not implemented for \verb|\annotate|.
-
\item Annotations of mathematical relations require some manual patching to get the correct surrounding spacing (see \cref{sec:mathrel}).
\end{itemize}
diff --git a/macros/latex/contrib/srdp-mathematik/README.md b/macros/latex/contrib/srdp-mathematik/README.md
index e66f6b3f8c..5045698ce1 100644
--- a/macros/latex/contrib/srdp-mathematik/README.md
+++ b/macros/latex/contrib/srdp-mathematik/README.md
@@ -1,4 +1,4 @@
-# srdp-mathematik.sty v1.12.0
+# srdp-mathematik.sty v1.12.1
This package provides basic commands for the defined formats of the Austrian sRDP in mathematics.
Furthermore, it includes ways to implement answers in the tex file, which can be voluntarily displayed in the pdf file and
diff --git a/macros/latex/contrib/srdp-mathematik/srdp-mathematik.pdf b/macros/latex/contrib/srdp-mathematik/srdp-mathematik.pdf
index 9fc554aeb0..a59ed419d2 100644
--- a/macros/latex/contrib/srdp-mathematik/srdp-mathematik.pdf
+++ b/macros/latex/contrib/srdp-mathematik/srdp-mathematik.pdf
Binary files differ
diff --git a/macros/latex/contrib/srdp-mathematik/srdp-mathematik.sty b/macros/latex/contrib/srdp-mathematik/srdp-mathematik.sty
index 163e7b57df..e4b8067edb 100644
--- a/macros/latex/contrib/srdp-mathematik/srdp-mathematik.sty
+++ b/macros/latex/contrib/srdp-mathematik/srdp-mathematik.sty
@@ -10,11 +10,12 @@
%
\NeedsTeXFormat{LaTeX2e}[1996/12/26]
-\ProvidesPackage{srdp-mathematik}[2023/05/01 v1.12.0 Standard-Schularbeitsformate]
+\ProvidesPackage{srdp-mathematik}[2023/05/06 v1.12.1 Standard-Schularbeitsformate]
\usepackage{color}
\usepackage{xcolor}
+\usepackage{xfp}
\usepackage{float}
\usepackage{multicol}
\usepackage{multirow}
diff --git a/macros/latex/contrib/srdp-mathematik/srdp-mathematik.tex b/macros/latex/contrib/srdp-mathematik/srdp-mathematik.tex
index 9d95549765..d3d6d71400 100644
--- a/macros/latex/contrib/srdp-mathematik/srdp-mathematik.tex
+++ b/macros/latex/contrib/srdp-mathematik/srdp-mathematik.tex
@@ -55,7 +55,7 @@ hidelinks
\vfill
-\Huge The \textit{srdp-mathematik} package v1.12.0\\[1cm]
+\Huge The \textit{srdp-mathematik} package v1.12.1\\[1cm]
Documentation \\ [1cm]
diff --git a/macros/luatex/latex/sympycalc/README.md b/macros/luatex/latex/sympycalc/README.md
new file mode 100644
index 0000000000..7b34198db4
--- /dev/null
+++ b/macros/luatex/latex/sympycalc/README.md
@@ -0,0 +1,7 @@
+SympyCalc is a package to work with Sympy with TeX printing.
+-----------------------------------------------------------------------------
+SympyCalc un package pour travailler avec le module Sympy et sa sortie LaTeX.
+-----------------------------------------------------------------------------
+Author : Cédric Pierquet
+email : cpierquet@outlook.fr
+Licence : Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt \ No newline at end of file
diff --git a/macros/luatex/latex/sympycalc/doc/SympyCalc-doc.pdf b/macros/luatex/latex/sympycalc/doc/SympyCalc-doc.pdf
new file mode 100644
index 0000000000..20964a4b68
--- /dev/null
+++ b/macros/luatex/latex/sympycalc/doc/SympyCalc-doc.pdf
Binary files differ
diff --git a/macros/luatex/latex/sympycalc/doc/SympyCalc-doc.tex b/macros/luatex/latex/sympycalc/doc/SympyCalc-doc.tex
new file mode 100644
index 0000000000..b294eb56f6
--- /dev/null
+++ b/macros/luatex/latex/sympycalc/doc/SympyCalc-doc.tex
@@ -0,0 +1,817 @@
+% !TeX TXS-program:compile = txs:///arara
+% arara: lualatex: {shell: yes, synctex: no, interaction: batchmode}
+% arara: lualatex: {shell: yes, synctex: no, interaction: batchmode} if found('log', '(undefined references|Please rerun|Rerun to get)')
+
+\documentclass[french,a4paper,11pt]{article}
+\def\SCversion{0.1.0}
+\def\SCdate{5 mai 2023}
+\usepackage[executable=python.exe]{pyluatex}
+\usepackage[svgnames]{xcolor}
+\usepackage{siunitx}
+\sisetup{locale=FR,output-decimal-marker={,},group-minimum-digits=4}
+\usepackage{amsmath,amssymb}
+%\usepackage{mathtools}
+\usepackage[bold-style=ISO,math-style=french]{unicode-math}
+\setmainfont{TeX Gyre Schola}
+\setmathfont{TeX Gyre Schola Math}
+\usepackage{SympyCalc}
+\usepackage{awesomebox}
+\usepackage{fontawesome5}
+\usepackage{enumitem}
+\usepackage{tabularray}
+\usepackage{fancyvrb}
+\usepackage{fancyhdr}
+\fancyhf{}
+\renewcommand{\headrulewidth}{0pt}
+\lfoot{\sffamily\small [SympyCalc]}
+\cfoot{\sffamily\small - \thepage{} -}
+\rfoot{\hyperlink{matoc}{\small\faArrowAltCircleUp[regular]}}
+
+\usepackage{hologo}
+\providecommand\tikzlogo{Ti\textit{k}Z}
+\providecommand\TeXLive{\TeX{}Live\xspace}
+\providecommand\PSTricks{\textsf{PSTricks}\xspace}
+\let\pstricks\PSTricks
+\let\TikZ\tikzlogo
+\newcommand\TableauDocumentation{%
+ \begin{tblr}{width=\linewidth,colspec={X[c]X[c]X[c]X[c]X[c]X[c]},cells={font=\sffamily}}
+ {\LARGE \LaTeX} & & & & &\\
+ & {\LARGE \hologo{pdfLaTeX}} & & & & \\
+ & & {\LARGE \hologo{LuaLaTeX}} & & & \\
+ & & & {\LARGE \TikZ} & & \\
+ & & & & {\LARGE \TeXLive} & \\
+ & & & & & {\LARGE \hologo{MiKTeX}} \\
+ \end{tblr}
+}
+
+\usepackage{tikz}
+\usetikzlibrary{calc}
+\usepackage{hyperref}
+\urlstyle{same}
+\hypersetup{pdfborder=0 0 0}
+\usepackage[margin=1.5cm]{geometry}
+\setlength{\parindent}{0pt}
+\definecolor{LightGray}{gray}{0.9}
+
+\usepackage[most]{tcolorbox}
+\NewDocumentCommand\e{ }{\mathrm{e}}
+\RenewDocumentCommand\i{ }{\mathrm{i}}
+\newtcblisting{bloctext}[1][]{%
+ enhanced,width=0.93\linewidth,flush right,%
+ bicolor,size=title,%
+ colback=cyan!5!white,%
+ colbacklower=cyan!1!white,%
+ colframe=cyan!75!black,%
+ listing options={%
+ style=tcblatex,basicstyle=\small\ttfamily,%
+ tabsize=4,%
+ commentstyle={\itshape\color{violet}},
+ keywordstyle={\bfseries\color{DodgerBlue}},%
+ classoffset=0,%
+ keywords={frac,dfrac,int,sqrt},%
+ keywordstyle={\bfseries\color{DodgerBlue}},%
+ classoffset=1,%
+ morekeywords={sympycalc,dsympycalc,sympydev,dsympydev,sympyfact,dsympyfact,sympyderiv,dsympyderiv,sympyprim,dsympyprim,sympyintegr,dsympyintegr,sympylim,dsympylim,sympyfexpo,dsympyfexpo,sympyresol,dsympyresol,sympyresolC,dsympyresolC},%
+ keywordstyle={\bfseries\color{purple}},%
+ classoffset=2,%
+ morekeywords={solve},%
+ keywordstyle={\bfseries\color{ForestGreen}},%
+ classoffset=3,%
+ morekeywords={NoSimplif,Simplif},%
+ keywordstyle={\bfseries\color{OliveDrab}}
+ },%
+ overlay={\draw[cyan!75!black] ($(frame.north west)+(-0.035\linewidth,-0.025\linewidth)$) node[scale=1.66] {\faCode} ;},%
+ #1
+}
+
+\usepackage{babel}
+\usepackage{textualicomma}
+\DeclareMathSymbol{;}\mathbin{operators}{'73} % \mathpunct à l'origine
+
+\tcbset{vignettes/.style={%
+ nobeforeafter,box align=base,boxsep=0pt,enhanced,sharp corners=all,rounded corners=southeast,%
+ boxrule=0.75pt,left=7pt,right=1pt,top=0pt,bottom=0.25pt,%
+ }
+}
+
+\tcbset{vignetteMaJ/.style={%
+ fontupper={\vphantom{pf}\footnotesize\ttfamily},
+ vignettes,colframe=ForestGreen!50!black,coltitle=white,colback=ForestGreen!25,%
+ overlay={\begin{tcbclipinterior}%
+ \fill[fill=ForestGreen!75]($(interior.south west)$) rectangle node[rotate=90]{\tiny \sffamily{\textcolor{Black}{\scalebox{0.85}[0.75]{\textbf{MàJ}}}}} ($(interior.north west)+(5pt,0pt)$);%
+ \end{tcbclipinterior}}
+ }
+}
+
+\newcommand\Cle[1]{{\bfseries\sffamily\textlangle #1\textrangle}}
+\newcommand\cmaj[1]{\tcbox[vignetteMaJ]{#1}\xspace}
+
+\begin{document}
+
+\setlength{\aweboxleftmargin}{0.07\linewidth}
+\setlength{\aweboxcontentwidth}{0.93\linewidth}
+\setlength{\aweboxvskip}{8pt}
+
+\pagestyle{fancy}
+
+\thispagestyle{empty}
+
+\vspace{2cm}
+
+\begin{center}
+ \begin{minipage}{0.75\linewidth}
+ \begin{tcolorbox}[colframe=yellow,colback=yellow!15]
+ \begin{center}
+ \begin{tabular}{c}
+ {\Huge \texttt{SympyCalc [fr]}}\\
+ \\
+ {\LARGE Des outils pour utiliser les} \\
+ \\
+ {\LARGE capacités de \textsf{sympy} de \faPython, } \\
+ \\
+ {\LARGE avec le package \textsf{pyluatex}.} \\
+ \end{tabular}
+
+ \bigskip
+
+ {\small \texttt{Version \SCversion{} -- \SCdate}}
+ \end{center}
+ \end{tcolorbox}
+\end{minipage}
+\end{center}
+
+\begin{center}
+ \begin{tabular}{c}
+ \texttt{Cédric Pierquet}\\
+ {\ttfamily c pierquet -- at -- outlook . fr}\\
+ \texttt{\url{https://github.com/cpierquet/SympyCalc}}
+\end{tabular}
+\end{center}
+
+\vspace{0.25cm}
+
+{$\blacktriangleright$~~Compilation en \hologo{LuaLaTeX}, avec un accès \textsf{--shell-escape}, en \textit{partenariat} avec \textsf{pyluatex}.}
+
+\smallskip
+
+{$\blacktriangleright$~~Du calcul \textit{exact} avec des racines, de l'exponentielle, du logarithme, des complexes\ldots}
+
+\smallskip
+
+{$\blacktriangleright$~~Du calcul symbolique avec du développement, de la factorisation.}
+
+\smallskip
+
+{$\blacktriangleright$~~Des résolutions d'équations.}
+
+\smallskip
+
+{$\blacktriangleright$~~Du calcul différentiel, intégral.}
+
+\smallskip
+
+{$\blacktriangleright$~~Tout ce que \textsf{sympy} peut faire !}
+
+\vspace{1cm}
+
+\begin{center}
+ \begin{tcolorbox}[enhanced,colframe=ForestGreen,colback=lightgray!5,center,width=0.95\linewidth,drop fuzzy shadow=lightgray]
+ $1+\dfrac76 = \dsympycalc{1+7/6}$ et $\left(\e^5 +1 \right) \times \left(\e^5-1 \right) = \sympycalc{(exp(5)+1)*(exp(5)-1)}$
+
+ \medskip
+
+ \hfill$3+\i\sqrt{3} = \dsympyfexpo{3+I*sqrt(3)}$\hfill~
+
+ \medskip
+
+ \hfill$I=\displaystyle\int_0^{4} (x+3)\,\e^{2x}\,\text{d}x = \dsympyintegr{(x+3)*exp(2*x)}{0}{4}$
+
+ \medskip
+
+ \hfill$\lim\limits_{x \to +\infty} \sqrt{\dfrac{2x^2+1}{x^2-5}} = \sympylim{sqrt((2*x**2+1)/(x**2-5))}{+oo}$\hfill~
+
+ \medskip
+
+ $10\,\e^{4x+5}=2$ : $\mathcal{S}=\dsympyresol{10*exp(4*x+5)=2}$
+
+ \hfill$f(t)=(t+3)\,\e^{2t} \implies f'(t) = \sympyderiv{(t+3)*exp(2*t)}[t]$
+ \end{tcolorbox}
+\end{center}
+
+\vspace{0.5cm}
+
+%\hfill{}\textit{Merci à Denis Bitouzé et à Gilles Le Bourhis pour leurs retours et idées !}
+
+%\smallskip
+
+\vfill
+
+\hrule
+
+\medskip
+
+\TableauDocumentation
+
+\medskip
+
+\hrule
+
+\medskip
+
+\newpage
+
+\phantomsection
+\hypertarget{matoc}{}
+
+\tableofcontents
+
+\newpage
+
+\part{Introduction}
+
+\section{Le package SympyCalc}
+
+\subsection{Introduction et conventions}
+
+\begin{noteblock}
+Le package \textit{propose} des outils pour utiliser les capacités du module \textsf{sympy} de \textsf{python} et les \textit{formater} en \LaTeX{} :
+
+\begin{itemize}
+ \item calcul exact (dans la mesure du possible) ;
+ \item calcul symbolique (dans la mesure du possible) :
+ \begin{itemize}
+ \item factorisation, développement, simplification ;
+ \item dérivation, intégration, limites ;
+ \item résolution d'équations.
+ \end{itemize}
+\end{itemize}
+\vspace*{-\baselineskip}\leavevmode
+\end{noteblock}
+
+\begin{importantblock}
+À noter que les calculs -- en interne -- sont :
+
+\begin{itemize}
+ \item effectués par le module \textsf{sympy} ;
+ \item formatés par la fonction \texttt{latex()} du module \textsf{sympy} ;
+ \item sortis en \LaTeX{} avec quelques ajustements.
+\end{itemize}
+
+Les ajustements (qu'on pourrait qualifier de \textit{mini-patchs}) permettent :
+
+\begin{itemize}
+ \item de forcer les résultats sous forme de fraction (grâce -- en interne -- au recours à \texttt{S.One}) ;
+ \item d'utiliser la notation \texttt{ln} (\textsf{sympy} utilise \texttt{log} par défaut) ;
+ \item d'utiliser l'écriture du \texttt{e} et du \texttt{i} en \textsf{romain} ;
+ \item de forcer l'écriture du \og + \fg{} avant \og $\infty$ \fg.
+\end{itemize}
+
+Hormis le \textit{forçage} du \texttt{ln}, et du $\mathtt{+\infty}$, conventions sur \texttt{e} et \texttt{i} peuvent être \textit{désactivées}.
+\end{importantblock}
+
+\begin{tipblock}
+Le package propose également de quoi utiliser (et formater) toute commande exprimée en syntaxe \textsf{sympy}.
+
+\smallskip
+
+Le module \textsf{sympy} est chargé par le package, avec les variables symboliques \texttt{x}, \texttt{y}, \texttt{z} et \texttt{t}.
+\end{tipblock}
+
+\begin{warningblock}
+L'utilisation de \textsf{pyluatex} (en tant que passerelle entre \textsf{python} et \LaTeX) nécessite une compilation adaptée, à savoir en \hologo{LuaLaTeX} et en activant le mode \textsf{--shell-escape}. Le module \textsf{sympy} doit donc être installé pour que l'exécutable \textsf{python} qui sera paramétré le \textit{trouve} !.
+\end{warningblock}
+
+\subsection{Chargement du package}
+
+\begin{importantblock}
+Le package (qui ne charge \textit{que} \textsf{xstring}) se charge de manière classique, une fois \textsf{pyluatex} lui-même correctement chargé.
+
+\smallskip
+
+Compte-tenu de la spécificité de \textsf{pyluatex} et du paramétrage du chemin \textsf{python}, c'est à l'utilisateur de le charger en adéquation avec son installation !
+
+\smallskip
+
+Les packages adaptés aux formules mathématiques sont également nécessaires, mais compte-tenu de leurs diversités, l'utilisateur choisira celui (ceux) qu'il jugera nécessaire(s).
+\end{importantblock}
+
+\begin{bloctext}[listing only]
+%compilation en lualatex + shell-escape !!
+\usepackage{mathtools} %package pour les maths
+\usepackage[executable=python.exe]{pyluatex} %à adapter !
+\usepackage{SympyCalc}
+\end{bloctext}
+
+\newpage
+
+\section{Philosophie du package}
+
+\subsection{Fonctionnement global}
+
+\begin{noteblock}
+Le package propose des commandes génériques, qui permettent de \textit{traiter} tout commande \textsf{sympy}, ainsi que des commandes spécifiques qui sont en fait des \textit{raccourcis} de commandes usuelles en \textsf{sympy}.
+
+\smallskip
+
+Autant que peut se faire, les commandes sont assez explicites sur leur fonctionnement, et elles reposent sur le même principe :
+
+\begin{itemize}
+ \item \texttt{\textbackslash \textcolor{purple}{sympy...}} : commande qui simplifie (par défaut), avec règles typographiques \texttt{[fr]} \textsf{romain} ;
+ \item \texttt{\textbackslash \textcolor{purple}{dsympy...}} : commande qui simplifie (par défaut), avec règles typographiques \texttt{[fr]} \textsf{romain}, et affichage en \texttt{\textbackslash displaystyle} ;
+ \item \texttt{\textbackslash \textcolor{purple}{sympy...*}} : commande qui simplifie (par défaut), avec règles typographiques \texttt{[fr]} \textsf{italique} ;
+ \item \texttt{\textbackslash \textcolor{purple}{dsympy...*}} : commande qui simplifie (par défaut), avec règles typographiques \texttt{[fr]} \textsf{romain}, et affichage en \texttt{\textbackslash displaystyle}.
+\end{itemize}
+
+Dans certains cas la \textit{simplification} ne propose pas une sortie \textit{classique}, et il est possible d'empêcher la simplification grâce à l'argument optionnel \texttt{<\textcolor{OliveDrab}{NoSimplif}>}.
+
+\smallskip
+
+La variable est par défaut \texttt{x}, mais peut-être modifiée grâce à l'argument \texttt{[variable]}.
+\end{noteblock}
+
+\subsection{Commandes disponibles}
+
+\begin{bloctext}[listing only]
+%commandes génériques
+\sympycalc(*)<NoSimplif>{commande sympy}
+\dsympycalc(*)<NoSimplif>{commande sympy}
+
+%commandes spécifiques, sortie standard, détaillées plus loin
+\sympydev(*)<NoSimplif>{expr sympy}[variable]
+\sympyfact(*)<NoSimplif>{expr sympy}
+\sympyderiv(*)<NoSimplif>{expr sympy}[variable]
+\sympyprim(*)<NoSimplif>{expr sympy}[variable]
+\sympyintegr(*)<NoSimplif>{expr sympy}[variable]{borne inf}{borne sup}
+\sympylim(*)<NoSimplif>{expr sympy}[variable]{point}[côté]
+\sympyfexpo(*)<NoSimplif>{complexe sympy}
+\sympyresol(*){equation sympy}[variable]
+\sympyresolC(*){equation sympy}[variable]
+
+%commandes spécifiques, sortie displaystyle, détaillées plus loin
+\dsympydev(*)<NoSimplif>{expr sympy}[variable]
+\dsympyfact(*)<NoSimplif>{expr sympy}
+\dsympyderiv(*)<NoSimplif>{expr sympy}[variable]
+\dsympyprim(*)<NoSimplif>{expr sympy}[variable]
+\dsympyintegr(*)<NoSimplif>{expr sympy}[variable]{borne inf}{borne sup}
+\dsympylim(*)<NoSimplif>{expr sympy}[variable]{point}[côté]
+\dsympyfexpo(*)<NoSimplif>{complexe sympy}
+\dsympyresol(*){equation sympy}[variable]
+\dsympyresolC(*){equation sympy}[variable]
+\end{bloctext}
+
+\begin{importantblock}
+Dans certains cas, la sortie obtenue n'est pas celle attendue, que ce soit avec ou sans \texttt{<Simplif>}, et donc il s'agira de saisir les commandes \textsf{sympy} \textit{manuellement}.
+\end{importantblock}
+
+\begin{tipblock}
+L'\og infini \fg{} est disponible en \textsf{sympy}, grâce à \texttt{+oo} ou \texttt{-oo}.
+
+\smallskip
+
+Un petit \textit{guide} pour \textsf{sympy} est disponible à : \url{https://hashdork.com/fr/sympy-library-guide/}.
+\end{tipblock}
+
+\newpage
+
+\section{Limitations}
+
+\begin{warningblock}
+Pour le moment c'est le package \textsf{pyluatex} qui est privilégié, mais des tests sont en cours pour une compatibilité éventuelle avec d'autres packages pouvant travailler avec \textsf{python}.
+\end{warningblock}
+
+\begin{warningblock}
+Le formatage des flottants n'est pas géré par \texttt{\textbackslash num} de \textsf{sinuitx}, donc l'écriture des éventuelles valeurs approchées ne seront pas forcément cohérentes avec les autres formatages dans le document\ldots
+
+\smallskip
+
+Le remplacement éventuel du \texttt{e} en \textsf{romain} risque de ne pas fonctionner quand le résultat contient du \og e tout seul \fg\ldots
+
+\smallskip
+
+Des espacements \textit{non voulus} peuvent apparaître lors de la transcription en \LaTeX, donc le résultat formaté peut être légèrement différent de ce que peut attendre l'utilisateur\ldots
+
+\smallskip
+
+La transformation automatique du \texttt{oo} en \texttt{+oo} ne détecte pas si le calcul est effectué avec des complexes, donc prudence sur les limites notamment\ldots
+\end{warningblock}
+
+\newpage
+
+\part{Les commandes}
+
+\section{La commande générique}
+
+\subsection{Présentation}
+
+\begin{cautionblock}
+La commande générique pour formater une sortie \textsf{sympy} est \texttt{\textbackslash \textcolor{purple}{sympycalc}} ou \texttt{\textbackslash \textcolor{purple}{dsympycalc}}.
+
+\smallskip
+
+Elle permet de \textit{parser} du code \textsf{sympy} et de formater la sortie avec les règles typographiques usuelles.
+\end{cautionblock}
+
+\begin{bloctext}[listing only]
+%commandes génériques
+\sympycalc(*)<NoSimplif>{commande sympy}
+\dsympycalc(*)<NoSimplif>{commande sympy}
+\end{bloctext}
+
+\subsection{Arguments}
+
+\begin{tipblock}
+Concernant son fonctionnement :
+
+\begin{itemize}
+ \item la version \Cle{*} permet de ne pas formater le \texttt{e} et le \texttt{i} en \textsf{romain} ;
+ \item le premier argument, optionnel et pouvant valoir \texttt{<\textcolor{OliveDrab}{NoSimplif}>} permet d'\textit{annuler} la simplification (attention au comportement de la \textit{simplification} par \textsf{sympy}\ldots)
+ \item le second argument, obligatoire et entre \texttt{\{...\}} est quant à lui la commande, en langage \textsf{sympy} à passer en \textsf{python}.
+\end{itemize}
+\vspace*{-\baselineskip}\leavevmode
+\end{tipblock}
+
+\subsection{Exemples}
+
+\begin{bloctext}
+On a $1+\frac76 = \sympycalc{1+7/6}$, ou $1+\dfrac76 = \dsympycalc{1+7/6}$
+\end{bloctext}
+
+\begin{bloctext}
+$1+\frac14+\frac17 + \sqrt{45} + \frac{2}{\sqrt{12}} =
+\sympycalc{1+1/4+1/7+sqrt(45)+2/sqrt(12)}$
+
+$1+\dfrac14+\dfrac17 + \sqrt{45} + \dfrac{2}{\sqrt{12}} =
+\dsympycalc{1+1/4+1/7+sqrt(45)+2/sqrt(12)}$
+\end{bloctext}
+
+\begin{bloctext}
+On a $\left(\e^5 +1 \right) \times \left(\e^5-1 \right) = \sympycalc{(exp(5)+1)*(exp(5)-1)}$
+\end{bloctext}
+
+\begin{bloctext}
+On a $\dfrac{x}{x+1} - \dfrac{x+2}{x-3} = \dsympycalc{radsimp(factor(x/(x+1) - (x+2)/(x-3)))}$
+\end{bloctext}
+
+\begin{bloctext}
+Les solutions de $\dfrac13x^2+9x+4=0$ sont
+$x_1 = \dsympycalc{solve(1/3*x**2+9*x+4,x)[0]}$ et
+$x_2 = \dsympycalc{solve(1/3*x**2+9*x+4,x)[1]}$
+\end{bloctext}
+
+\section{Quelques commandes spécifiques}
+
+\subsection{Développement}
+
+\begin{cautionblock}
+La commande pour développer une sortie \textsf{sympy} est \texttt{\textbackslash \textcolor{purple}{sympydev}} ou \texttt{\textbackslash \textcolor{purple}{dsympydev}}.
+
+Il vaut mieux vérifier si le résultat formaté est conforme aux attentes, et sinon utiliser la commande générique.
+\end{cautionblock}
+
+\begin{bloctext}[listing only]
+%commandes pour développer
+\sympydev(*)<NoSimplif>{commande sympy}[variable]
+\dsympydev(*)<NoSimplif>{commande sympy}[variable]
+\end{bloctext}
+
+\begin{tipblock}
+Concernant son fonctionnement :
+
+\begin{itemize}
+ \item la version \Cle{*} permet de ne pas formater le \texttt{e} et le \texttt{i} en \textsf{romain} ;
+ \item le premier argument, optionnel et pouvant valoir \texttt{<\textcolor{OliveDrab}{NoSimplif}>} permet d'\textit{annuler} la simplification (attention au comportement de la \textit{simplification} par \textsf{sympy}\ldots)
+ \item le deuxième argument, obligatoire et entre \texttt{\{...\}} est quant à lui la commande, en langage \textsf{sympy} à passer en \textsf{python} ;
+ \item le dernier argument, optionnel et entre \texttt{[...]} est la variable éventuelle.
+\end{itemize}
+\vspace*{-\baselineskip}\leavevmode
+\end{tipblock}
+
+\begin{bloctext}
+$(1+\text{i})^5 = \sympydev{(1+I)**5}$ %typo [fr]
+
+$(1+i)^5 = \sympydev*{(1+I)**5}$
+
+$\dfrac{1}{(1+\text{i})^5} = \dsympydev{1/(1+I)**5}$
+\end{bloctext}
+
+\begin{bloctext}
+On a $(1+2x)^4 = \sympydev{(1+2*x)**4}$
+
+On a $\left(2t+\dfrac13\right)^3 = \dsympydev{(2*t+1/3)**3}[t]$
+\end{bloctext}
+
+\begin{bloctext}
+$\sin^2(x)+\cos^2(x) = \dsympydev{sin(x)**2+cos(x)**2}$
+
+$\left(\cos(x)+\sin(x)\right)^2 = \dsympydev{(sin(x)+cos(x))**2}$
+\end{bloctext}
+
+\subsection{Factorisation}
+
+\begin{cautionblock}
+La commande pour factoriser une sortie \textsf{sympy} est \texttt{\textbackslash \textcolor{purple}{sympyfact}} ou \texttt{\textbackslash \textcolor{purple}{dsympyfact}}.
+
+Il vaut mieux vérifier si le résultat formaté est conforme aux attentes, et sinon utiliser la commande générique.
+\end{cautionblock}
+
+\begin{bloctext}[listing only]
+%commandes pour factoriser
+\sympyfact(*)<NoSimplif>{commande sympy}
+\dsympyfact(*)<NoSimplif>{commande sympy}
+\end{bloctext}
+
+\begin{tipblock}
+Concernant son fonctionnement :
+
+\begin{itemize}
+ \item la version \Cle{*} permet de ne pas formater le \texttt{e} et le \texttt{i} en \textsf{romain} ;
+ \item le premier argument, optionnel et pouvant valoir \texttt{<\textcolor{OliveDrab}{NoSimplif}>} permet d'\textit{annuler} la simplification (attention au comportement de la \textit{simplification} par \textsf{sympy}\ldots)
+ \item le dernier argument, obligatoire et entre \texttt{\{...\}} est quant à lui la commande, en langage \textsf{sympy} à passer en \textsf{python}.
+\end{itemize}
+\vspace*{-\baselineskip}\leavevmode
+\end{tipblock}
+
+\begin{bloctext}
+On a $x^3-x^2+x-1 = \sympyfact{x**3-x**2+x-1}$
+
+On a $\e^x-3\e^{2x} = \sympyfact{exp(x)-3*exp(2*x)}$ %typo [fr]
+
+On a $e^t-3e^{2t} = \sympyfact*{exp(t)-3*exp(2*t)}$
+\end{bloctext}
+
+\subsection{Résolution d'équations}
+
+\begin{cautionblock}
+La commande pour résoudre (dans les réels) une équation, grâce à \textsf{sympy} est \texttt{\textbackslash \textcolor{purple}{sympyresol}} ou \texttt{\textbackslash \textcolor{purple}{dsympyresol}}.
+
+La commande pour résoudre (dans les complexes) une équation, grâce à \textsf{sympy} est \texttt{\textbackslash \textcolor{purple}{sympyresolC}} ou \texttt{\textbackslash \textcolor{purple}{dsympyresolC}}.
+\end{cautionblock}
+
+\smallskip
+
+\begin{importantblock}
+Pour cette commande, la simplification en \textsf{sympy} n'est pas \textit{désactivable}.
+
+\smallskip
+
+Pour \textit{forcer} les résultats sous forme exact (fractions), il vaut mieux écrire les nombres sous forme fractionnaire.
+
+\smallskip
+
+Il vaut mieux vérifier si le résultat formaté est conforme aux attentes, et sinon utiliser la commande générique.
+\end{importantblock}
+
+\begin{bloctext}[listing only]
+%commandes pour résoudre dans R
+\sympyresol(*){equation sympy}[variable]
+\dsympyresol(*){equation sympy}[variable]
+
+%commandes pour résoudre dans C
+\sympyresolC(*){equation sympy}[variable]
+\dsympyresolC(*){equation sympy}[variable]
+\end{bloctext}
+
+\begin{tipblock}
+Concernant son fonctionnement :
+
+\begin{itemize}
+ \item la version \Cle{*} permet de ne pas formater le \texttt{e} et le \texttt{i} en \textsf{romain} ;
+ \item le premier argument, obligatoire et entre \texttt{\{...\}} est quant à lui l'équation, en langage \textsf{sympy} à passer en \textsf{python} (avec le signe \texttt{=}) ;
+ \item le second argument, optionnel et entre \texttt{[...]} est la variable.
+\end{itemize}
+\vspace*{-\baselineskip}\leavevmode
+\end{tipblock}
+
+\begin{bloctext}
+Les solutions de $x^2-3=\num{0.5}$ sont $\mathcal{S}=\dsympyresol{x**2-3=0.5}$
+
+%mieux vaut passer par les écritures en fraction ;-)
+Les solutions de $x^2-3=\num{0.5}$ sont $\mathcal{S}=\dsympyresol{x**2-3=1/2}$
+\end{bloctext}
+
+\begin{bloctext}
+Les solutions réelles de $x^3-2,5x+16x=40$ sont $\mathcal{S}=\dsympyresol{x**3-5/2*x**2+16*x = 40}$
+
+Les solutions de $x^3-2,5x+16x=40$ sont $\mathcal{S}=\dsympyresolC{x**3-5/2*x**2+16*x = 40}$
+\end{bloctext}
+
+\begin{bloctext}
+Les solutions de $10\,\e^{4x+5}=2$ sont $\mathcal{S}=\dsympyresol{10*exp(4*x+5)=2}$
+\end{bloctext}
+
+\subsection{Dérivation}
+
+\begin{cautionblock}
+La commande pour dériver, grâce à \textsf{sympy} est \texttt{\textbackslash \textcolor{purple}{sympyderiv}} ou \texttt{\textbackslash \textcolor{purple}{dsympyderv}}.
+
+Il vaut mieux vérifier si le résultat formaté est conforme aux attentes, et sinon utiliser la commande générique.
+\end{cautionblock}
+
+\begin{bloctext}[listing only]
+%commandes pour dériver
+\sympyderiv(*)<NoSimplif>{expression sympy}[variable]
+\dsympyderiv(*)<NoSimplif>{expression sympy}[variable]
+\end{bloctext}
+
+\begin{tipblock}
+Concernant son fonctionnement :
+
+\begin{itemize}
+ \item la version \Cle{*} permet de ne pas formater le \texttt{e} et le \texttt{i} en \textsf{romain} ;
+ \item le premier argument, optionnel et pouvant valoir \texttt{<\textcolor{OliveDrab}{NoSimplif}>} permet d'\textit{annuler} la simplification (attention au comportement de la \textit{simplification} par \textsf{sympy}\ldots)
+ \item le deuxième argument, obligatoire et entre \texttt{\{...\}} est quant à lui l'expression en langage \textsf{sympy} à passer en \textsf{python} ;
+ \item le troisième argument, optionnel et entre \texttt{[...]} est la variable.
+\end{itemize}
+\vspace*{-\baselineskip}\leavevmode
+\end{tipblock}
+
+\begin{bloctext}
+Si $f(x)=(x+3)\,\e^{2x}$, alors on peut montrer que $f'(x) = \sympyderiv{(x+3)*exp(2*x)}$
+\end{bloctext}
+
+\begin{bloctext}
+La dérivée de $g(t)=\ln\left(\dfrac{1+x}{1-x}\right)$ sur
+$\left]-1;1\right[$ est $g'(t) = \dsympyderiv<NoSimplif>{ln((1+t)/(1-t))}[t]
+= \dsympyderiv{ln((1+t)/(1-t))}[t]$
+\end{bloctext}
+
+\begin{bloctext}
+La dérivée de $f(t)=t^2-8\ln(t)$ est
+$f'(t)= \dsympyderiv{t**2-8*log(t)}[t] = \dsympycalc<NoSimplif>{cancel(2*t-8/t)}$
+\end{bloctext}
+
+\subsection{Intégration}
+
+\begin{cautionblock}
+Les commandes pour déterminer une primitive, grâce à \textsf{sympy} sont \texttt{\textbackslash \textcolor{purple}{sympyprim}} ou \texttt{\textbackslash \textcolor{purple}{dsympyprim}}.
+
+\smallskip
+
+Les commandes pour calculer une intégrale, grâce à \textsf{sympy} sont \texttt{\textbackslash \textcolor{purple}{sympyintegr}} ou \texttt{\textbackslash \textcolor{purple}{dsympysympyintegr}}.
+
+\smallskip
+
+Il vaut mieux vérifier si le résultat formaté est conforme aux attentes, et sinon utiliser la commande générique.
+\end{cautionblock}
+
+\begin{bloctext}[listing only]
+%commandes pour primitiver
+\sympyprim(*)<NoSimplif>{expr sympy}[variable]
+\dsympyprim(*)<NoSimplif>{expr sympy}[variable]
+
+%commandes pour intégrer
+\sympyintegr(*)<NoSimplif>{expr sympy}[variable]{borne inf}{borne sup}
+\dsympyintegr(*)<NoSimplif>{expr sympy}[variable]{borne inf}{borne sup}
+\end{bloctext}
+
+\begin{tipblock}
+Concernant son fonctionnement :
+
+\begin{itemize}
+ \item la version \Cle{*} permet de ne pas formater le \texttt{e} et le \texttt{i} en \textsf{romain} ;
+ \item le premier argument, optionnel et pouvant valoir \texttt{<\textcolor{OliveDrab}{NoSimplif}>} permet d'\textit{annuler} la simplification (attention au comportement de la \textit{simplification} par \textsf{sympy}\ldots)
+ \item le deuxième argument, obligatoire et entre \texttt{\{...\}} est quant à lui l'expression en langage \textsf{sympy} à passer en \textsf{python} ;
+ \item le troisième argument, optionnel et entre \texttt{[...]} est la variable ;
+ \item les derniers arguments, obligatoires et entre \texttt{\{...\}} correspondent aux bornes d'intégration (pour l'intégrale !).
+\end{itemize}
+\vspace*{-\baselineskip}\leavevmode
+\end{tipblock}
+
+\begin{bloctext}
+Une primitive de la fonction $f(x)=(1+x)^2$ est $F(x) = \dsympyprim{(1+x)**2}$
+
+Une primitive de la fonction $f(x)=(1+x)^2$ est $F(x) = \dsympyprim<NoSimplif>{(1+x)**2}$
+
+Une primitive de la fonction $f(x)=(1+t)^2$ est $F(t) = \dsympyprim<NoSimplif>{(1+t)**2}[t]$
+\end{bloctext}
+
+\begin{bloctext}
+On a $\displaystyle\int_1^3 (1+x)^2\,\text{d}x = \dsympyintegr{(1+x)**2}{1}{3}$
+
+$I=\displaystyle\int_0^{4} (t+3)\,\e^{2t}\,\text{d}t = \dsympyintegr{(t+3)*exp(2*t)}[t]{0}{4}$
+\end{bloctext}
+
+\subsection{Limites}
+
+\begin{cautionblock}
+Les commandes pour déterminer une limite, grâce à \textsf{sympy} sont \texttt{\textbackslash \textcolor{purple}{sympylim}} ou \texttt{\textbackslash \textcolor{purple}{dsympylim}}.
+
+\end{cautionblock}
+
+\begin{bloctext}[listing only]
+%commandes pour détemriner une limite
+\sympylim(*)<NoSimplif>{expr sympy}[variable]{point}[côté]
+\dsympylim(*)<NoSimplif>{expr sympy}[variable]{point}[côté]
+\end{bloctext}
+
+\begin{tipblock}
+Concernant son fonctionnement :
+
+\begin{itemize}
+ \item la version \Cle{*} permet de ne pas formater le \texttt{e} et le \texttt{i} en \textsf{romain} ;
+ \item le premier argument, optionnel et pouvant valoir \texttt{<\textcolor{OliveDrab}{NoSimplif}>} permet d'\textit{annuler} la simplification (attention au comportement de la \textit{simplification} par \textsf{sympy}\ldots)
+ \item le deuxième argument, obligatoire et entre \texttt{\{...\}} est quant à lui l'expression en langage \textsf{sympy} à passer en \textsf{python} ;
+ \item le troisième argument, optionnel et entre \texttt{[...]} est la variable ;
+ \item les derniers arguments, obligatoire et entre \texttt{\{...\}} et optionnel entre \texttt{[...]} correspondent à la valeur (et la position \texttt{[g]} ou \texttt{[d]}) en laquelle on souhaite travailler.
+\end{itemize}
+\vspace*{-\baselineskip}\leavevmode
+\end{tipblock}
+
+\begin{bloctext}
+On a $\lim\limits_{x \to +\infty} \dfrac{1+\e^x}{x^2+1} = \sympylim{(1+exp(x))/(x**2+1)}{+oo}$
+\end{bloctext}
+
+\begin{bloctext}
+On a $\lim\limits_{x \to 1^+} \dfrac{x+2}{x^2-1} = \sympylim{(x+2)/(x**2-1)}{1}[d]$
+
+On a $\lim\limits_{x \to 1^-} \dfrac{x+2}{x^2-1} = \sympylim{(x+2)/(x**2-1)}{1}[g]$
+\end{bloctext}
+
+\begin{bloctext}
+On a $\lim\limits_{x \to +\infty} \sqrt{\dfrac{2x^2+1}{x^2-5}} = \sympylim{sqrt((2*x**2+1)/(x**2-5))}{+oo}$
+\end{bloctext}
+
+\subsection{Forme exponentielle d'un complexe}
+
+\begin{cautionblock}
+La commande pour déterminer une forme exponentielle, grâce à \textsf{sympy} est \texttt{\textbackslash \textcolor{purple}{sympyfexpo}} ou \texttt{\textbackslash \textcolor{purple}{dsympyfexpo}}.
+
+Il vaut mieux vérifier si le résultat formaté est conforme aux attentes, et sinon utiliser la commande générique.
+\end{cautionblock}
+
+\begin{bloctext}[listing only]
+%commandes pour détemriner une forme exponentielle
+\sympyfexpo(*)<NoSimplif>{complexe sympy}
+\dsympyfexpo(*)<NoSimplif>{complexe sympy}
+\end{bloctext}
+
+\begin{tipblock}
+Concernant son fonctionnement :
+
+\begin{itemize}
+ \item la version \Cle{*} permet de ne pas formater le \texttt{e} et le \texttt{i} en \textsf{romain} ;
+ \item le premier argument, optionnel et pouvant valoir \texttt{<\textcolor{OliveDrab}{NoSimplif}>} permet d'\textit{annuler} la simplification (attention au comportement de la \textit{simplification} par \textsf{sympy}\ldots)
+ \item le second argument, obligatoire et entre \texttt{\{...\}} est quant à lui le complexe en version \textsf{sympy} à passer en \textsf{python}.
+\end{itemize}
+\vspace*{-\baselineskip}\leavevmode
+\end{tipblock}
+
+\begin{bloctext}
+On a $1+\i = \dsympyfexpo{1+I}$
+
+On a $3+\i\sqrt{3} = \dsympyfexpo{3+I*sqrt(3)}$
+
+On a $\dfrac{-\sqrt{2}}{1+\i} = \dsympyfexpo{(-sqrt(2))/(1+I)}$
+\end{bloctext}
+
+\newpage
+
+\part{Historique et évolutions}
+
+\section{Évolutions}
+
+\begin{tipblock}
+L'utilisateur du package pourra utiliser ses propres fonctions ou commandes \textsf{sympy}, qui pourront être déclarés grâce à l'environnement \texttt{python}.
+\end{tipblock}
+
+\begin{bloctext}[listing only]
+\begin{python}
+def tangente(expr,var,a) :
+ f = lambdify(x, expr)
+ deriveef = diff(expr,x)
+ derf = lambdify(x, deriveef)
+ pente = simplify(derf(a))
+ ordonnee = simplify(f(a))
+ tgte = simplify(pente*(x-a) + ordonnee)
+ return tgte
+
+\end{python}
+\end{bloctext}
+
+\begin{python}
+def tangente(expr,var,a) :
+ f = lambdify(x, expr)
+ deriveef = diff(expr,x)
+ derf = lambdify(x, deriveef)
+ pente = simplify(derf(a))
+ ordonnee = simplify(f(a))
+ tgte = simplify(pente*(x-a) + ordonnee)
+ return tgte
+
+\end{python}
+
+\begin{bloctext}
+La tangente à la courbe de la fonction $f(x)=\e^{2x}+3$ en $a=1$ a pour équation (appochée) :
+
+$y \approx \sympycalc{tangente(exp(2*x)+3,x,1)}$.
+\end{bloctext}
+
+\section{Historique}
+
+\verb|v0.1.0|~:~~~~Version initiale.
+
+
+
+
+
+\end{document} \ No newline at end of file
diff --git a/macros/luatex/latex/sympycalc/tex/SympyCalc.sty b/macros/luatex/latex/sympycalc/tex/SympyCalc.sty
new file mode 100644
index 0000000000..736da2c084
--- /dev/null
+++ b/macros/luatex/latex/sympycalc/tex/SympyCalc.sty
@@ -0,0 +1,358 @@
+% Author : C. Pierquet
+% licence : Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txtf
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{SympyCalc}[2023/05/05 v0.1.0 Sympy commands with TeX printing]
+% 0.1 Version initiale
+
+%------Packages utiles
+\RequirePackage{xstring}
+
+%------Scripts python
+\begin{python}
+from sympy import *
+init_printing()
+x, y, z, t = symbols('x y z t')
+
+def latex_fr(expr) :
+ return latex(expr,imaginary_unit='ri',ln_notation=True,decimal_separator='comma').replace("e^","\\text{e}^")
+
+def latex_frit(expr) :
+ return latex(expr,ln_notation=True,decimal_separator='comma')
+
+def latex_fr_simpl(expr) :
+ return latex(simplify(expr),imaginary_unit='ri',ln_notation=True,decimal_separator='comma').replace("e^","\\text{e}^")
+
+def latex_frit_simpl(expr) :
+ return latex(simplify(expr),ln_notation=True,decimal_separator='comma')
+
+def latex_fr_resol(expr,var) :
+ if '=' in expr :
+ expr = expr.replace('=','-(') + ')'
+ res = solve(expr,var)
+ res = [simplify(element) for element in res if 'I' not in str(element)]
+ res = latex(res,imaginary_unit='ri',ln_notation=True,decimal_separator='comma')
+ res = res.replace("e^","\\text{e}^")
+ res = res.replace("\\ ","")
+ res = res.replace("[","\\{")
+ res = res.replace("]","\\}")
+ return res
+
+def latex_frit_resol(expr,var) :
+ if '=' in expr :
+ expr = expr.replace('=','-+(') + ')'
+ res = solve(expr,var)
+ res = [simplify(element) for element in res if 'I' not in str(element)]
+ res = latex(res,ln_notation=True,decimal_separator='comma')
+ res = res.replace("e^","\\text{e}^")
+ res = res.replace("\\ ","")
+ res = res.replace("[","\\{")
+ res = res.replace("]","\\}")
+ return res
+
+def latex_fr_resolC(expr,var) :
+ if '=' in expr :
+ expr = expr.replace('=','-(') + ')'
+ res = solve(expr,var)
+ res = [simplify(element) for element in res]
+ res = latex(res,imaginary_unit='ri',ln_notation=True,decimal_separator='comma')
+ res = res.replace("e^","\\text{e}^")
+ res = res.replace("\\ ","")
+ res = res.replace("[","\\{")
+ res = res.replace("]","\\}")
+ return res
+
+def latex_frit_resolC(expr,var) :
+ if '=' in expr :
+ expr = expr.replace('=','-+(') + ')'
+ res = solve(expr,var)
+ res = [simplify(element) for element in res]
+ res = latex(res,ln_notation=True,decimal_separator='comma')
+ res = res.replace("e^","\\text{e}^")
+ res = res.replace("\\ ","")
+ res = res.replace("[","\\{")
+ res = res.replace("]","\\}")
+ return res
+
+def patch_oo(res) :
+ if res == '\\infty' :
+ return '+\\infty'
+ else :
+ return res
+
+def forme_expo(z) :
+ return abs(z)*exp(I*arg(z))
+
+\end{python}
+
+%------Commandes de base
+\NewDocumentCommand\sympycalc{ s D<>{Simplif} m }{%
+ \StrSubstitute{#3}{/}{*S.One/}[\argtmp]%
+ \IfBooleanTF{#1}%*=frit, no*=fr
+ {%
+ \IfStrEq{#2}{Simplif}%
+ {%
+ \py{latex_frit_simpl(\argtmp)}%
+ }%
+ {%
+ \py{latex_frit(\argtmp)}%
+ }%
+ }%
+ {%
+ \IfStrEq{#2}{Simplif}%
+ {%
+ \py{latex_fr_simpl(\argtmp)}%
+ }%
+ {%
+ \py{latex_fr(\argtmp)}%
+ }%
+ }%
+}
+\NewDocumentCommand\dsympycalc{ s D<>{Simplif} m }{%
+ \IfBooleanTF{#1}%
+ {\displaystyle\sympycalc*<#2>{#3}}%
+ {\displaystyle\sympycalc<#2>{#3}}%
+}
+
+%------Développer
+\NewDocumentCommand\sympydev{ s D<>{Simplif} m O{x} }{%
+ \StrSubstitute{#3}{/}{*S.One/}[\argtmp]%
+ \IfBooleanTF{#1}%*=frit, no*=fr
+ {%
+ \IfStrEq{#2}{Simplif}%
+ {%
+ \py{latex_frit_simpl(expand(\argtmp,#4))}%
+ }%
+ {%
+ \py{latex_frit(expand(\argtmp,#4))}%
+ }%
+ }%
+ {%
+ \IfStrEq{#2}{Simplif}%
+ {%
+ \py{latex_fr_simpl(expand(\argtmp,#4))}%
+ }%
+ {%
+ \py{latex_fr(expand(\argtmp,#4))}%
+ }%
+ }%
+}
+\NewDocumentCommand\dsympydev{ s D<>{Simplif} m O{x} }{%
+ \IfBooleanTF{#1}%
+ {\displaystyle\sympydev*<#2>{#3}[#4]}%
+ {\displaystyle\sympydev<#2>{#3}[#4]}%
+}
+
+%------Factoriser
+\NewDocumentCommand\sympyfact{ s D<>{Simplif} m }{%
+ \StrSubstitute{#3}{/}{*S.One/}[\argtmp]%
+ \IfBooleanTF{#1}%*=frit, no*=fr
+ {%
+ \IfStrEq{#2}{Simplif}%
+ {%
+ \py{latex_frit_simpl(factor(\argtmp))}%
+ }%
+ {%
+ \py{latex_frit(factor(\argtmp))}%
+ }%
+ }%
+ {%
+ \IfStrEq{#2}{Simplif}%
+ {%
+ \py{latex_fr_simpl(factor(\argtmp))}%
+ }%
+ {%
+ \py{latex_fr(factor(\argtmp))}%
+ }%
+ }%
+}
+\NewDocumentCommand\dsympyfact{ s D<>{Simplif} m }{%
+ \IfBooleanTF{#1}%
+ {\displaystyle\sympyfact*<#2>{#3}}%
+ {\displaystyle\sympyfact<#2>{#3}}%
+}
+
+%------Dériver
+\NewDocumentCommand\sympyderiv{ s D<>{Simplif} m O{x} }{%
+ \StrSubstitute{#3}{/}{*S.One/}[\argtmp]%
+ \IfBooleanTF{#1}%*=frit, no*=fr
+ {%
+ \IfStrEq{#2}{Simplif}%
+ {%
+ \py{latex_frit_simpl(diff(\argtmp,#4))}%
+ }%
+ {%
+ \py{latex_frit(diff(\argtmp,#4))}%
+ }%
+ }%
+ {%
+ \IfStrEq{#2}{Simplif}%
+ {%
+ \py{latex_fr_simpl(diff(\argtmp,#4))}%
+ }%
+ {%
+ \py{latex_fr(diff(\argtmp,#4))}%
+ }%
+ }%
+}
+\NewDocumentCommand\dsympyderiv{ s D<>{Simplif} m O{x} }{%
+ \IfBooleanTF{#1}%
+ {\displaystyle\sympyderiv*<#2>{#3}[#4]}%
+ {\displaystyle\sympyderiv<#2>{#3}[#4]}%
+}
+
+%------Primitiver
+\NewDocumentCommand\sympyprim{ s D<>{Simplif} m O{x} }{%
+ \StrSubstitute{#3}{/}{*S.One/}[\argtmp]%
+ \IfBooleanTF{#1}%*=frit, no*=fr
+ {%
+ \IfStrEq{#2}{Simplif}%
+ {%
+ \py{latex_frit_simpl(integrate(\argtmp,#4))}%
+ }%
+ {%
+ \py{latex_frit(integrate(\argtmp,#4))}%
+ }%
+ }%
+ {%
+ \IfStrEq{#2}{Simplif}%
+ {%
+ \py{latex_fr_simpl(integrate(\argtmp,#4))}%
+ }%
+ {%
+ \py{latex_fr(integrate(\argtmp,#4))}%
+ }%
+ }%
+}
+\NewDocumentCommand\dsympyprim{ s D<>{Simplif} m O{x} }{%
+ \IfBooleanTF{#1}%
+ {\displaystyle\sympyprim*<#2>{#3}[#4]}%
+ {\displaystyle\sympyprim<#2>{#3}[#4]}%
+}
+
+%------Intégrer
+\NewDocumentCommand\sympyintegr{ s D<>{Simplif} m O{x} m m }{%
+ \StrSubstitute{#3}{/}{*S.One/}[\argtmp]%
+ \IfBooleanTF{#1}%*=frit, no*=fr
+ {%
+ \IfStrEq{#2}{Simplif}%
+ {%
+ \py{patch_oo(latex_frit_simpl(integrate(\argtmp,(#4,#5,#6))))}%
+ }%
+ {%
+ \py{patch_oo(latex_frit(integrate(\argtmp,(#4,#5,#6))))}%
+ }%
+ }%
+ {%
+ \IfStrEq{#2}{Simplif}%
+ {%
+ \py{patch_oo(latex_fr_simpl(integrate(\argtmp,(#4,#5,#6))))}%
+ }%
+ {%
+ \py{patch_oo(latex_fr(integrate(\argtmp,(#4,#5,#6))))}%
+ }%
+ }%
+}
+\NewDocumentCommand\dsympyintegr{ s D<>{Simplif} m O{x} m m }{%
+ \IfBooleanTF{#1}%
+ {\displaystyle\sympyintegr*<#2>{#3}[#4]{#5}{#6}}%
+ {\displaystyle\sympyintegr<#2>{#3}[#4]{#5}{#6}}%
+}
+
+%------Limite
+\NewDocumentCommand\sympylim{ s D<>{Simplif} m O{x} m O{} }{%
+ \StrSubstitute{#3}{/}{*S.One/}[\argtmp]%
+ \def\poslim{}
+ \IfStrEq{#6}{g}%
+ {\def\poslim{'-'}}{}
+ \IfStrEq{#6}{d}%
+ {\def\poslim{'+'}}{}
+ \IfBooleanTF{#1}%*=frit, no*=fr
+ {%
+ \IfStrEq{#2}{Simplif}%
+ {%
+ \py{patch_oo(latex_frit_simpl(limit(\argtmp,#4,#5,\poslim)))}%
+ }%
+ {%
+ \py{patch_oo(latex_frit(limit(\argtmp,#4,#5,\poslim)))}%
+ }%
+ }%
+ {%
+ \IfStrEq{#2}{Simplif}%
+ {%
+ \py{patch_oo(latex_fr_simpl(limit(\argtmp,#4,#5,\poslim)))}%
+ }%
+ {%
+ \py{patch_oo(latex_fr(limit(\argtmp,#4,#5,\poslim)))}%
+ }%
+ }%
+}
+\NewDocumentCommand\dsympylim{ s D<>{Simplif} m O{x} m O{} }{%
+ \IfBooleanTF{#1}%
+ {\displaystyle\sympylim*<#2>{#3}[#4]{#5}[#6]}%
+ {\displaystyle\sympylim<#2>{#3}[#4]{#5}[#6]}%
+}
+
+%------FormeExpo
+\NewDocumentCommand\sympyfexpo{ s D<>{NoSimplif} m }{%
+ %\StrSubstitute{#3}{/}{*S.One/}[\argtmp]%
+ \IfBooleanTF{#1}%*=frit, no*=fr
+ {%
+ \IfStrEq{#2}{Simplif}%
+ {%
+ \py{latex_frit_simpl(forme_expo(#3))}%
+ }%
+ {%
+ \py{latex_frit(forme_expo(#3))}%
+ }%
+ }%
+ {%
+ \IfStrEq{#2}{Simplif}%
+ {%
+ \py{latex_fr_simpl(forme_expo(#3))}%
+ }%
+ {%
+ \py{latex_fr(forme_expo(#3))}%
+ }%
+ }%
+}
+\NewDocumentCommand\dsympyfexpo{ s D<>{NoSimplif} m }{%
+ \IfBooleanTF{#1}%
+ {\displaystyle\sympyfexpo*<#2>{#3}}%
+ {\displaystyle\sympyfexpo<#2>{#3}}%
+}
+
+%------Solutions (R ou C)
+\NewDocumentCommand\sympyresol{ s D<>{Simplif} m O{x} }{%
+ \StrSubstitute{#3}{/}{*S.One/}[\argtmp]%
+ \IfBooleanTF{#1}%*=frit, no*=fr
+ {%
+ \py{latex_frit_resol('\argtmp',#4)}%
+ }%
+ {%
+ \py{latex_fr_resol('\argtmp',#4)}%
+ }%
+}
+\NewDocumentCommand\dsympyresol{ s D<>{Simplif} m O{x} }{%
+ \IfBooleanTF{#1}%
+ {\displaystyle\sympyresol*<#2>{#3}[#4]}%
+ {\displaystyle\sympyresol<#2>{#3}[#4]}%
+}
+
+\NewDocumentCommand\sympyresolC{ s D<>{Simplif} m O{x} }{%
+ \StrSubstitute{#3}{/}{*S.One/}[\argtmp]%
+ \IfBooleanTF{#1}%*=frit, no*=fr
+ {%
+ \py{latex_frit_resolC('\argtmp',#4)}%
+ }%
+ {%
+ \py{latex_fr_resolC('\argtmp',#4)}%
+ }%
+}
+\NewDocumentCommand\dsympyresolC{ s D<>{Simplif} m O{x} }{%
+ \IfBooleanTF{#1}%
+ {\displaystyle\sympyresolC*<#2>{#3}[#4]}%
+ {\displaystyle\sympyresolC<#2>{#3}[#4]}%
+}
+
+\endinput \ No newline at end of file
diff --git a/support/texlab/CHANGELOG.md b/support/texlab/CHANGELOG.md
index 8d09300582..01d9a9ca33 100644
--- a/support/texlab/CHANGELOG.md
+++ b/support/texlab/CHANGELOG.md
@@ -5,6 +5,15 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+## [5.5.1] - 2023-05-06
+
+### Fixed
+
+- Fix spurious completion results when completing environments ([#883](https://github.com/latex-lsp/texlab/issues/883))
+- Fix regression when guessing cursor position after formatting ([#880](https://github.com/latex-lsp/texlab/issues/880))
+- Fix parsing `\verb` command ([#828](https://github.com/latex-lsp/texlab/issues/828))
+- Add `flalign` and `flalign*` to default list of math environments ([#884](https://github.com/latex-lsp/texlab/issues/884))
+
## [5.5.0] - 2023-04-16
### Added
diff --git a/support/texlab/Cargo.lock b/support/texlab/Cargo.lock
index bbe9fa977b..d24072ed41 100644
--- a/support/texlab/Cargo.lock
+++ b/support/texlab/Cargo.lock
@@ -124,6 +124,7 @@ dependencies = [
"notify",
"once_cell",
"parser",
+ "percent-encoding",
"regex",
"rowan",
"rustc-hash",
@@ -133,14 +134,6 @@ dependencies = [
]
[[package]]
-name = "base-feature"
-version = "0.0.0"
-dependencies = [
- "rustc-hash",
- "url",
-]
-
-[[package]]
name = "beef"
version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -327,7 +320,6 @@ version = "0.0.0"
dependencies = [
"anyhow",
"base-db",
- "base-feature",
"bstr",
"crossbeam-channel",
"itertools",
@@ -1492,6 +1484,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
[[package]]
+name = "symbols"
+version = "0.0.0"
+dependencies = [
+ "base-db",
+ "distro",
+ "insta",
+ "itertools",
+ "regex",
+ "rowan",
+ "syntax",
+ "test-utils",
+ "titlecase",
+ "url",
+]
+
+[[package]]
name = "syn"
version = "1.0.109"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1535,13 +1543,23 @@ dependencies = [
]
[[package]]
+name = "test-utils"
+version = "0.0.0"
+dependencies = [
+ "base-db",
+ "distro",
+ "rowan",
+ "syntax",
+ "url",
+]
+
+[[package]]
name = "texlab"
-version = "5.5.0"
+version = "5.5.1"
dependencies = [
"anyhow",
"assert_unordered",
"base-db",
- "base-feature",
"citeproc",
"clap 4.2.2",
"commands",
@@ -1571,6 +1589,7 @@ dependencies = [
"serde_regex",
"serde_repr",
"smol_str",
+ "symbols",
"syntax",
"tempfile",
"threadpool",
diff --git a/support/texlab/crates/base-db/Cargo.toml b/support/texlab/crates/base-db/Cargo.toml
index 2c7efe9ac0..c968cefac9 100644
--- a/support/texlab/crates/base-db/Cargo.toml
+++ b/support/texlab/crates/base-db/Cargo.toml
@@ -14,6 +14,7 @@ log = "0.4.17"
notify = "5.1.0"
once_cell = "1.17.1"
parser = { path = "../parser" }
+percent-encoding = "2.2.0"
regex = "1.7.3"
rowan = "0.15.11"
rustc-hash = "1.1.0"
diff --git a/support/texlab/crates/base-db/src/data.rs b/support/texlab/crates/base-db/src/data.rs
new file mode 100644
index 0000000000..2ebb35cae2
--- /dev/null
+++ b/support/texlab/crates/base-db/src/data.rs
@@ -0,0 +1,891 @@
+#[derive(Debug, Clone, Copy)]
+pub struct BibtexEntryType<'a> {
+ pub name: &'a str,
+ pub category: BibtexEntryTypeCategory,
+ pub documentation: Option<&'a str>,
+}
+
+#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone, Copy)]
+pub enum BibtexEntryTypeCategory {
+ Misc,
+ String,
+ Article,
+ Thesis,
+ Book,
+ Part,
+ Collection,
+}
+
+#[derive(Debug, Clone, Copy)]
+pub struct BibtexFieldType<'a> {
+ pub name: &'a str,
+ pub documentation: &'a str,
+}
+
+impl<'a> BibtexEntryType<'a> {
+ pub fn find(name: &str) -> Option<&Self> {
+ BIBTEX_ENTRY_TYPES.iter().find(|ty| ty.name.eq_ignore_ascii_case(name))
+ }
+}
+
+impl<'a> BibtexFieldType<'a> {
+ pub fn find(name: &str) -> Option<&Self> {
+ BIBTEX_FIELD_TYPES.iter().find(|ty| ty.name.eq_ignore_ascii_case(name))
+ }
+}
+
+
+pub static BIBTEX_ENTRY_TYPES: &[BibtexEntryType<'static>] = &[
+ BibtexEntryType {
+ name: "preamble",
+ category: BibtexEntryTypeCategory::Misc,
+ documentation: None,
+ },
+ BibtexEntryType {
+ name: "string",
+ category: BibtexEntryTypeCategory::String,
+ documentation: None,
+ },
+ BibtexEntryType {
+ name: "comment",
+ category: BibtexEntryTypeCategory::Misc,
+ documentation: None,
+ },
+ BibtexEntryType {
+ name: "article",
+ category: BibtexEntryTypeCategory::Article,
+ documentation: Some("An article in a journal, magazine, newspaper, or other periodical which forms a \n self-contained unit with its own title. The title of the periodical is given in the \n journaltitle field. If the issue has its own title in addition to the main title of \n the periodical, it goes in the issuetitle field. Note that editor and related \n fields refer to the journal while translator and related fields refer to the article.\n\nRequired fields: `author`, `title`, `journaltitle`, `year/date`"),
+ },
+ BibtexEntryType {
+ name: "book",
+ category: BibtexEntryTypeCategory::Book,
+ documentation: Some("A single-volume book with one or more authors where the authors share credit for\n the work as a whole. This entry type also covers the function of the `@inbook` type\n of traditional BibTeX.\n\nRequired fields: `author`, `title`, `year/date`"),
+ },
+ BibtexEntryType {
+ name: "mvbook",
+ category: BibtexEntryTypeCategory::Book,
+ documentation: Some("A multi-volume `@book`. For backwards compatibility, multi-volume books are also\n supported by the entry type `@book`. However, it is advisable to make use of the\n dedicated entry type `@mvbook`.\n\nRequired fields: `author`, `title`, `year/date`"),
+ },
+ BibtexEntryType {
+ name: "inbook",
+ category: BibtexEntryTypeCategory::Part,
+ documentation: Some("A part of a book which forms a self-contained unit with its own title. Note that the\n profile of this entry type is different from standard BibTeX.\n\nRequired fields: `author`, `title`, `booktitle`, `year/date`"),
+ },
+ BibtexEntryType {
+ name: "bookinbook",
+ category: BibtexEntryTypeCategory::Part,
+ documentation: Some("This type is similar to `@inbook` but intended for works originally published as a\n stand-alone book. A typical example are books reprinted in the collected works of\n an author."),
+ },
+ BibtexEntryType {
+ name: "suppbook",
+ category: BibtexEntryTypeCategory::Book,
+ documentation: Some("Supplemental material in a `@book`. This type is closely related to the `@inbook`\n entry type. While `@inbook` is primarily intended for a part of a book with its own\n title (e. g., a single essay in a collection of essays by the same author), this type is\n provided for elements such as prefaces, introductions, forewords, afterwords, etc.\n which often have a generic title only. Style guides may require such items to be\n formatted differently from other `@inbook` items. The standard styles will treat this\n entry type as an alias for `@inbook`."),
+ },
+ BibtexEntryType {
+ name: "booklet",
+ category: BibtexEntryTypeCategory::Book,
+ documentation: Some("A book-like work without a formal publisher or sponsoring institution. Use the field\n howpublished to supply publishing information in free format, if applicable. The\n field type may be useful as well.\n\nRequired fields: `author/editor`, `title`, `year/date`"),
+ },
+ BibtexEntryType {
+ name: "collection",
+ category: BibtexEntryTypeCategory::Collection,
+ documentation: Some("A single-volume collection with multiple, self-contained contributions by distinct\n authors which have their own title. The work as a whole has no overall author but it\n will usually have an editor.\n\nRequired fields: `editor`, `title`, `year/date`"),
+ },
+ BibtexEntryType {
+ name: "mvcollection",
+ category: BibtexEntryTypeCategory::Collection,
+ documentation: Some("A multi-volume `@collection`. For backwards compatibility, multi-volume collections\n are also supported by the entry type `@collection`. However, it is advisable\n to make use of the dedicated entry type `@mvcollection`.\n\nRequired fields: `editor`, `title`, `year/date`"),
+ },
+ BibtexEntryType {
+ name: "incollection",
+ category: BibtexEntryTypeCategory::Part,
+ documentation: Some("A contribution to a collection which forms a self-contained unit with a distinct author\n and title. The `author` refers to the `title`, the `editor` to the `booktitle`, i. e.,\n the title of the collection.\n\nRequired fields: `author`, `title`, `booktitle`, `year/date`"),
+ },
+ BibtexEntryType {
+ name: "suppcollection",
+ category: BibtexEntryTypeCategory::Collection,
+ documentation: Some("Supplemental material in a `@collection`. This type is similar to `@suppbook` but\n related to the `@collection` entry type. The standard styles will treat this entry\n type as an alias for `@incollection`."),
+ },
+ BibtexEntryType {
+ name: "manual",
+ category: BibtexEntryTypeCategory::Misc,
+ documentation: Some("Technical or other documentation, not necessarily in printed form. The author or\n editor is omissible.\n\nRequired fields: `author/editor`, `title`, `year/date`"),
+ },
+ BibtexEntryType {
+ name: "misc",
+ category: BibtexEntryTypeCategory::Misc,
+ documentation: Some("A fallback type for entries which do not fit into any other category. Use the field\n howpublished to supply publishing information in free format, if applicable. The\n field type may be useful as well. author, editor, and year are omissible.\n\nRequired fields: `author/editor`, `title`, `year/date`"),
+ },
+ BibtexEntryType {
+ name: "online",
+ category: BibtexEntryTypeCategory::Misc,
+ documentation: Some("An online resource. `author`, `editor`, and `year` are omissible.\n This entry type is intended for sources such as web sites which are intrinsically\n online resources. Note that all entry types support the url field. For example, when\n adding an article from an online journal, it may be preferable to use the `@article`\n type and its url field.\n\nRequired fields: `author/editor`, `title`, `year/date`, `url`"),
+ },
+ BibtexEntryType {
+ name: "patent",
+ category: BibtexEntryTypeCategory::Misc,
+ documentation: Some("A patent or patent request. The number or record token is given in the number\n field. Use the type field to specify the type and the location field to indicate the\n scope of the patent, if different from the scope implied by the type. Note that the\n location field is treated as a key list with this entry type.\n\nRequired fields: `author`, `title`, `number`, `year/date`"),
+ },
+ BibtexEntryType {
+ name: "periodical",
+ category: BibtexEntryTypeCategory::Misc,
+ documentation: Some("An complete issue of a periodical, such as a special issue of a journal. The title of\n the periodical is given in the title field. If the issue has its own title in addition to\n the main title of the periodical, it goes in the issuetitle field. The editor is\n omissible.\n\nRequired fields: `editor`, `title`, `year/date`"),
+ },
+ BibtexEntryType {
+ name: "suppperiodical",
+ category: BibtexEntryTypeCategory::Misc,
+ documentation: Some("Supplemental material in a `@periodical`. This type is similar to `@suppbook`\n but related to the `@periodical` entry type. The role of this entry type may be\n more obvious if you bear in mind that the `@article` type could also be called\n `@inperiodical`. This type may be useful when referring to items such as regular\n columns, obituaries, letters to the editor, etc. which only have a generic title. Style\n guides may require such items to be formatted differently from articles in the strict\n sense of the word. The standard styles will treat this entry type as an alias for\n `@article`."),
+ },
+ BibtexEntryType {
+ name: "proceedings",
+ category: BibtexEntryTypeCategory::Book,
+ documentation: Some("A single-volume conference proceedings. This type is very similar to `@collection`.\n It supports an optional organization field which holds the sponsoring institution.\n The editor is omissible.\n\nRequired fields: `title`, `year/date`"),
+ },
+ BibtexEntryType {
+ name: "mvproceedings",
+ category: BibtexEntryTypeCategory::Book,
+ documentation: Some("A multi-volume `@proceedings` entry. For backwards compatibility, multi-volume\n proceedings are also supported by the entry type `@proceedings`. However, it is\n advisable to make use of the dedicated entry type `@mvproceedings`\n\nRequired fields: `title`, `year/date`"),
+ },
+ BibtexEntryType {
+ name: "inproceedings",
+ category: BibtexEntryTypeCategory::Part,
+ documentation: Some("An article in a conference proceedings. This type is similar to `@incollection`. It\n supports an optional `organization` field.\n\nRequired fields: `author`, `title`, `booktitle`, `year/date`"),
+ },
+ BibtexEntryType {
+ name: "reference",
+ category: BibtexEntryTypeCategory::Collection,
+ documentation: Some("A single-volume work of reference such as an encyclopedia or a dictionary. This is a\n more specific variant of the generic `@collection` entry type. The standard styles\n will treat this entry type as an alias for `@collection`."),
+ },
+ BibtexEntryType {
+ name: "mvreference",
+ category: BibtexEntryTypeCategory::Collection,
+ documentation: Some("A multi-volume `@reference` entry. The standard styles will treat this entry type\n as an alias for `@mvcollection`. For backwards compatibility, multi-volume references\n are also supported by the entry type `@reference`. However, it is advisable\n to make use of the dedicated entry type `@mvreference`."),
+ },
+ BibtexEntryType {
+ name: "inreference",
+ category: BibtexEntryTypeCategory::Part,
+ documentation: Some("An article in a work of reference. This is a more specific variant of the generic\n `@incollection` entry type. The standard styles will treat this entry type as an\n alias for `@incollection`."),
+ },
+ BibtexEntryType {
+ name: "report",
+ category: BibtexEntryTypeCategory::Misc,
+ documentation: Some("A technical report, research report, or white paper published by a university or some\n other institution. Use the `type` field to specify the type of report. The sponsoring\n institution goes in the `institution` field.\n\nRequired fields: `author`, `title`, `type`, `institution`, `year/date`"),
+ },
+ BibtexEntryType {
+ name: "set",
+ category: BibtexEntryTypeCategory::Misc,
+ documentation: Some("An entry set. This entry type is special."),
+ },
+ BibtexEntryType {
+ name: "thesis",
+ category: BibtexEntryTypeCategory::Thesis,
+ documentation: Some("A thesis written for an educational institution to satisfy the requirements for a degree.\n Use the `type` field to specify the type of thesis.\n\nRequired fields: `author`, `title`, `type`, `institution`, `year/date`"),
+ },
+ BibtexEntryType {
+ name: "unpublished",
+ category: BibtexEntryTypeCategory::Misc,
+ documentation: Some("A work with an author and a title which has not been formally published, such as\n a manuscript or the script of a talk. Use the fields `howpublished` and `note` to\n supply additional information in free format, if applicable.\n\nRequired fields: `author`, `title`, `year/date`"),
+ },
+ BibtexEntryType {
+ name: "xdata",
+ category: BibtexEntryTypeCategory::Misc,
+ documentation: Some("This entry type is special. `@xdata` entries hold data which may be inherited by other\n entries using the `xdata` field. Entries of this type only serve as data containers;\n they may not be cited or added to the bibliography."),
+ },
+ BibtexEntryType {
+ name: "conference",
+ category: BibtexEntryTypeCategory::Part,
+ documentation: Some("A legacy alias for `@inproceedings`."),
+ },
+ BibtexEntryType {
+ name: "electronic",
+ category: BibtexEntryTypeCategory::Misc,
+ documentation: Some("An alias for `@online`."),
+ },
+ BibtexEntryType {
+ name: "mastersthesis",
+ category: BibtexEntryTypeCategory::Thesis,
+ documentation: Some("Similar to `@thesis` except that the `type` field is optional and defaults to the\n localised term ‘Master’s thesis’. You may still use the `type` field to override that."),
+ },
+ BibtexEntryType {
+ name: "phdthesis",
+ category: BibtexEntryTypeCategory::Thesis,
+ documentation: Some("Similar to `@thesis` except that the `type` field is optional and defaults to the\n localised term ‘PhD thesis’. You may still use the `type` field to override that."),
+ },
+ BibtexEntryType {
+ name: "techreport",
+ category: BibtexEntryTypeCategory::Misc,
+ documentation: Some("Similar to `@report` except that the `type` field is optional and defaults to the\n localised term ‘technical report’. You may still use the `type` field to override that."),
+ },
+ BibtexEntryType {
+ name: "www",
+ category: BibtexEntryTypeCategory::Misc,
+ documentation: Some("An alias for `@online`, provided for `jurabib` compatibility."),
+ },
+ BibtexEntryType {
+ name: "artwork",
+ category: BibtexEntryTypeCategory::Misc,
+ documentation: Some("Works of the visual arts such as paintings, sculpture, and installations."),
+ },
+ BibtexEntryType {
+ name: "audio",
+ category: BibtexEntryTypeCategory::Misc,
+ documentation: Some("Audio recordings, typically on audio cd, dvd, audio cassette, or similar media. See\n also `@music`."),
+ },
+ BibtexEntryType {
+ name: "bibnote",
+ category: BibtexEntryTypeCategory::Misc,
+ documentation: Some("This special entry type is not meant to be used in the `bib` file like other types. It is\n provided for third-party packages like `notes2bib` which merge notes into the bibliography.\n The notes should go into the `note` field. Be advised that the `@bibnote`\n type is not related to the `defbibnote` command in any way. `defbibnote`\n is for adding comments at the beginning or the end of the bibliography, whereas\n the `@bibnote` type is meant for packages which render endnotes as bibliography\n entries."),
+ },
+ BibtexEntryType {
+ name: "commentary",
+ category: BibtexEntryTypeCategory::Misc,
+ documentation: Some("Commentaries which have a status different from regular books, such as legal commentaries."),
+ },
+ BibtexEntryType {
+ name: "image",
+ category: BibtexEntryTypeCategory::Misc,
+ documentation: Some("Images, pictures, photographs, and similar media."),
+ },
+ BibtexEntryType {
+ name: "jurisdiction",
+ category: BibtexEntryTypeCategory::Misc,
+ documentation: Some("Court decisions, court recordings, and similar things."),
+ },
+ BibtexEntryType {
+ name: "legislation",
+ category: BibtexEntryTypeCategory::Misc,
+ documentation: Some("Laws, bills, legislative proposals, and similar things."),
+ },
+ BibtexEntryType {
+ name: "legal",
+ category: BibtexEntryTypeCategory::Misc,
+ documentation: Some("Legal documents such as treaties."),
+ },
+ BibtexEntryType {
+ name: "letter",
+ category: BibtexEntryTypeCategory::Misc,
+ documentation: Some("Personal correspondence such as letters, emails, memoranda, etc."),
+ },
+ BibtexEntryType {
+ name: "movie",
+ category: BibtexEntryTypeCategory::Misc,
+ documentation: Some("Motion pictures. See also `@video`."),
+ },
+ BibtexEntryType {
+ name: "music",
+ category: BibtexEntryTypeCategory::Misc,
+ documentation: Some("Musical recordings. This is a more specific variant of `@audio`."),
+ },
+ BibtexEntryType {
+ name: "performance",
+ category: BibtexEntryTypeCategory::Misc,
+ documentation: Some("Musical and theatrical performances as well as other works of the performing arts.\n This type refers to the event as opposed to a recording, a score, or a printed play."),
+ },
+ BibtexEntryType {
+ name: "review",
+ category: BibtexEntryTypeCategory::Misc,
+ documentation: Some("Reviews of some other work. This is a more specific variant of the `@article` type.\n The standard styles will treat this entry type as an alias for `@article`."),
+ },
+ BibtexEntryType {
+ name: "software",
+ category: BibtexEntryTypeCategory::Misc,
+ documentation: Some("Computer software."),
+ },
+ BibtexEntryType {
+ name: "standard",
+ category: BibtexEntryTypeCategory::Misc,
+ documentation: Some("National and international standards issued by a standards body such as the International\n Organization for Standardization."),
+ },
+ BibtexEntryType {
+ name: "video",
+ category: BibtexEntryTypeCategory::Misc,
+ documentation: Some("Audiovisual recordings, typically on dvd, vhs cassette, or similar media. See also\n `@movie`."),
+ }
+];
+
+pub static BIBTEX_FIELD_TYPES: &[BibtexFieldType<'static>] = &[
+ BibtexFieldType {
+ name: "abstract",
+ documentation: "This field is intended for recording abstracts in a bib file, to be printed by a special bibliography style. It is not used by all standard bibliography styles.",
+ },
+ BibtexFieldType {
+ name: "addendum",
+ documentation: "Miscellaneous bibliographic data to be printed at the end of the entry. This is similar to the `note` field except that it is printed at the end of the bibliography entry.",
+ },
+ BibtexFieldType {
+ name: "afterword",
+ documentation: "The author(s) of an afterword to the work. If the author of the afterword is identical to the `editor` and/or `translator`, the standard styles will automatically concatenate these fields in the bibliography. See also `introduction` and `foreword`.",
+ },
+ BibtexFieldType {
+ name: "annotation",
+ documentation: "This field may be useful when implementing a style for annotated bibliographies. It is not used by all standard bibliography styles. Note that this field is completely unrelated to `annotator`. The `annotator` is the author of annotations which are part of the work cited.",
+ },
+ BibtexFieldType {
+ name: "annotator",
+ documentation: "The author(s) of annotations to the work. If the annotator is identical to the `editor` and/or `translator`, the standard styles will automatically concatenate these fields in the bibliography. See also `commentator`.",
+ },
+ BibtexFieldType {
+ name: "author",
+ documentation: "The author(s) of the `title`.",
+ },
+ BibtexFieldType {
+ name: "authortype",
+ documentation: "The type of author. This field will affect the string (if any) used to introduce the author. Not used by the standard bibliography styles.",
+ },
+ BibtexFieldType {
+ name: "bookauthor",
+ documentation: "The author(s) of the `booktitle`.",
+ },
+ BibtexFieldType {
+ name: "bookpagination",
+ documentation: "If the work is published as part of another one, this is the pagination scheme of the enclosing work, i. e., `bookpagination` relates to `pagination` like `booktitle` to `title`. The value of this field will affect the formatting of the `pages` and `pagetotal` fields. The key should be given in the singular form. Possible keys are `page`, `column`, `line`, `verse`, `section`, and `paragraph`. See also `pagination`.",
+ },
+ BibtexFieldType {
+ name: "booksubtitle",
+ documentation: "The subtitle related to the `booktitle`. If the subtitle field refers to a work which is part of a larger publication, a possible subtitle of the main work is given in this field. See also `subtitle`.",
+ },
+ BibtexFieldType {
+ name: "booktitle",
+ documentation: "If the `title` field indicates the title of a work which is part of a larger publication, the title of the main work is given in this field. See also `title`.",
+ },
+ BibtexFieldType {
+ name: "booktitleaddon",
+ documentation: "An annex to the `booktitle`, to be printed in a different font.",
+ },
+ BibtexFieldType {
+ name: "chapter",
+ documentation: "A chapter or section or any other unit of a work.",
+ },
+ BibtexFieldType {
+ name: "commentator",
+ documentation: "The author(s) of a commentary to the work. Note that this field is intended for commented editions which have a commentator in addition to the author. If the work is a stand-alone commentary, the commentator should be given in the `author` field. If the commentator is identical to the `editor` and/or `translator`, the standard styles will automatically concatenate these fields in the bibliography. See also `annotator`.",
+ },
+ BibtexFieldType {
+ name: "date",
+ documentation: "The publication date. See also `month` and `year`.",
+ },
+ BibtexFieldType {
+ name: "doi",
+ documentation: "The Digital Object Identifier of the work.",
+ },
+ BibtexFieldType {
+ name: "edition",
+ documentation: "The edition of a printed publication. This must be an integer, not an ordinal. Don’t say `edition={First}` or `edition={1st}` but `edition={1}`. The bibliography style converts this to a language dependent ordinal. It is also possible to give the edition as a literal string, for example \"Third, revised and expanded edition\".",
+ },
+ BibtexFieldType {
+ name: "editor",
+ documentation: "The editor(s) of the `title`, `booktitle`, or `maintitle`, depending on the entry type. Use the `editortype` field to specify the role if it is different from `editor`.",
+ },
+ BibtexFieldType {
+ name: "editora",
+ documentation: "A secondary editor performing a different editorial role, such as compiling, redacting, etc. Use the `editoratype` field to specify the role.",
+ },
+ BibtexFieldType {
+ name: "editorb",
+ documentation: "Another secondary editor performing a different role. Use the `editorbtype` field to specify the role.",
+ },
+ BibtexFieldType {
+ name: "editorc",
+ documentation: "Another secondary editor performing a different role. Use the `editorctype` field to specify the role.",
+ },
+ BibtexFieldType {
+ name: "editortype",
+ documentation: "The type of editorial role performed by the `editor`. Roles supported by default are `editor`, `compiler`, `founder`, `continuator`, `redactor`, `reviser`, `collaborator`, `organizer`. The role `editor` is the default. In this case, the field is omissible.",
+ },
+ BibtexFieldType {
+ name: "editoratype",
+ documentation: "Similar to `editortype` but referring to the `editora` field.",
+ },
+ BibtexFieldType {
+ name: "editorbtype",
+ documentation: "Similar to `editortype` but referring to the `editorb` field.",
+ },
+ BibtexFieldType {
+ name: "editorctype",
+ documentation: "Similar to `editortype` but referring to the `editorc` field.",
+ },
+ BibtexFieldType {
+ name: "eid",
+ documentation: "The electronic identifier of an `@article`.",
+ },
+ BibtexFieldType {
+ name: "entrysubtype",
+ documentation: "This field, which is not used by the standard styles, may be used to specify a subtype of an entry type. This may be useful for bibliography styles which support a finergrained set of entry types.",
+ },
+ BibtexFieldType {
+ name: "eprint",
+ documentation: "The electronic identifier of an online publication. This is roughly comparable to a doi but specific to a certain archive, repository, service, or system. See also `eprinttype` and `eprintclass`.",
+ },
+ BibtexFieldType {
+ name: "eprintclass",
+ documentation: "Additional information related to the resource indicated by the `eprinttype` field. This could be a section of an archive, a path indicating a service, a classification of some sort, etc. See also`eprint` and `eprinttype`.",
+ },
+ BibtexFieldType {
+ name: "eprinttype",
+ documentation: "The type of `eprint` identifier, e. g., the name of the archive, repository, service, or system the `eprint` field refers to. See also `eprint` and `eprintclass`.",
+ },
+ BibtexFieldType {
+ name: "eventdate",
+ documentation: "The date of a conference, a symposium, or some other event in `@proceedings` and `@inproceedings` entries. See also `eventtitle` and `venue`.",
+ },
+ BibtexFieldType {
+ name: "eventtitle",
+ documentation: "The title of a conference, a symposium, or some other event in `@proceedings` and `@inproceedings` entries. Note that this field holds the plain title of the event. Things like \"Proceedings of the Fifth XYZ Conference\" go into the `titleaddon` or `booktitleaddon` field, respectively. See also `eventdate` and `venue`.",
+ },
+ BibtexFieldType {
+ name: "eventtitleaddon",
+ documentation: "An annex to the `eventtitle` field. Can be used for known event acronyms, for example.",
+ },
+ BibtexFieldType {
+ name: "file",
+ documentation: "A local link to a PDF or other version of the work. Not used by the standard bibliography styles.",
+ },
+ BibtexFieldType {
+ name: "foreword",
+ documentation: "The author(s) of a foreword to the work. If the author of the foreword is identical to the `editor` and/or `translator`, the standard styles will automatically concatenate these fields in the bibliography. See also `introduction` and `afterword`.",
+ },
+ BibtexFieldType {
+ name: "holder",
+ documentation: "The holder(s) of a `@patent`, if different from the `author`. Note that corporate holders need to be wrapped in an additional set of braces.",
+ },
+ BibtexFieldType {
+ name: "howpublished",
+ documentation: "A publication notice for unusual publications which do not fit into any of the common categories.",
+ },
+ BibtexFieldType {
+ name: "indextitle",
+ documentation: "A title to use for indexing instead of the regular `title` field. This field may be useful if you have an entry with a title like \"An Introduction to …\" and want that indexed as \"Introduction to …, An\". Style authors should note that `biblatex` automatically copies the value of the `title` field to `indextitle` if the latter field is undefined.",
+ },
+ BibtexFieldType {
+ name: "institution",
+ documentation: "The name of a university or some other institution, depending on the entry type. Traditional BibTeX uses the field name `school` for theses, which is supported as an alias.",
+ },
+ BibtexFieldType {
+ name: "introduction",
+ documentation: "The author(s) of an introduction to the work. If the author of the introduction is identical to the `editor` and/or `translator`, the standard styles will automatically concatenate these fields in the bibliography. See also `foreword` and `afterword`.",
+ },
+ BibtexFieldType {
+ name: "isan",
+ documentation: "The International Standard Audiovisual Number of an audiovisual work. Not used by the standard bibliography styles.",
+ },
+ BibtexFieldType {
+ name: "isbn",
+ documentation: "The International Standard Book Number of a book.",
+ },
+ BibtexFieldType {
+ name: "ismn",
+ documentation: "The International Standard Music Number for printed music such as musical scores. Not used by the standard bibliography styles.",
+ },
+ BibtexFieldType {
+ name: "isrn",
+ documentation: "The International Standard Technical Report Number of a technical report.",
+ },
+ BibtexFieldType {
+ name: "issn",
+ documentation: "The International Standard Serial Number of a periodical.",
+ },
+ BibtexFieldType {
+ name: "issue",
+ documentation: "The issue of a journal. This field is intended for journals whose individual issues are identified by a designation such as ‘Spring’ or ‘Summer’ rather than the month or a number. The placement of `issue` is similar to `month` and `number`, integer ranges and short designators are better written to the number field. See also `month` and `number`.",
+ },
+ BibtexFieldType {
+ name: "issuesubtitle",
+ documentation: "The subtitle of a specific issue of a journal or other periodical.",
+ },
+ BibtexFieldType {
+ name: "issuetitle",
+ documentation: "The title of a specific issue of a journal or other periodical.",
+ },
+ BibtexFieldType {
+ name: "iswc",
+ documentation: "The International Standard Work Code of a musical work. Not used by the standard bibliography styles.",
+ },
+ BibtexFieldType {
+ name: "journalsubtitle",
+ documentation: "The subtitle of a journal, a newspaper, or some other periodical.",
+ },
+ BibtexFieldType {
+ name: "journaltitle",
+ documentation: "The name of a journal, a newspaper, or some other periodical.",
+ },
+ BibtexFieldType {
+ name: "label",
+ documentation: "A designation to be used by the citation style as a substitute for the regular label if any data required to generate the regular label is missing. For example, when an author-year citation style is generating a citation for an entry which is missing the author or the year, it may fall back to `label`. Note that, in contrast to `shorthand`, `label` is only used as a fallback. See also `shorthand`.",
+ },
+ BibtexFieldType {
+ name: "language",
+ documentation: "The language(s) of the work. Languages may be specified literally or as localisation keys. If localisation keys are used, the prefix lang is omissible. See also `origlanguage`.",
+ },
+ BibtexFieldType {
+ name: "library",
+ documentation: "This field may be useful to record information such as a library name and a call number. This may be printed by a special bibliography style if desired. Not used by the standard bibliography styles.",
+ },
+ BibtexFieldType {
+ name: "location",
+ documentation: "The place(s) of publication, i. e., the location of the `publisher` or `institution`, depending on the entry type. Traditional BibTeX uses the field name `address`, which is supported as an alias. With `@patent` entries, this list indicates the scope of a patent.",
+ },
+ BibtexFieldType {
+ name: "mainsubtitle",
+ documentation: "The subtitle related to the `maintitle`. See also `subtitle`.",
+ },
+ BibtexFieldType {
+ name: "maintitle",
+ documentation: "The main title of a multi-volume book, such as *Collected Works*. If the `title` or `booktitle` field indicates the title of a single volume which is part of multi-volume book, the title of the complete work is given in this field.",
+ },
+ BibtexFieldType {
+ name: "maintitleaddon",
+ documentation: "An annex to the `maintitle`, to be printed in a different font.",
+ },
+ BibtexFieldType {
+ name: "month",
+ documentation: "The publication month. This must be an integer, not an ordinal or a string. Don’t say `month={January}` but `month={1}`. The bibliography style converts this to a language dependent string or ordinal where required. This field is a literal field only when given explicitly in the data (for plain BibTeX compatibility for example). It is however better to use the `date` field as this supports many more features.",
+ },
+ BibtexFieldType {
+ name: "nameaddon",
+ documentation: "An addon to be printed immediately after the author name in the bibliography. Not used by the standard bibliography styles. This field may be useful to add an alias or pen name (or give the real name if the pseudonym is commonly used to refer to that author).",
+ },
+ BibtexFieldType {
+ name: "note",
+ documentation: "Miscellaneous bibliographic data which does not fit into any other field. The note field may be used to record bibliographic data in a free format. Publication facts such as \"Reprint of the edition London 1831\" are typical candidates for the note field. See also `addendum`.",
+ },
+ BibtexFieldType {
+ name: "number",
+ documentation: "The number of a journal or the volume/number of a book in a `series`. See also `issue`. With `@patent` entries, this is the number or record token of a patent or patent request. Normally this field will be an integer or an integer range, but in certain cases it may also contain \"S1\", \"Suppl. 1\", in these cases the output should be scrutinised carefully.",
+ },
+ BibtexFieldType {
+ name: "organization",
+ documentation: "The organization(s) that published a `@manual` or an `@online` resource, or sponsored a conference.",
+ },
+ BibtexFieldType {
+ name: "origdate",
+ documentation: "If the work is a translation, a reprint, or something similar, the publication date of the original edition. Not used by the standard bibliography styles. See also `date`.",
+ },
+ BibtexFieldType {
+ name: "origlanguage",
+ documentation: "If the work is a translation, the language(s) of the original work. See also `language`.",
+ },
+ BibtexFieldType {
+ name: "origlocation",
+ documentation: "If the work is a translation, a reprint, or something similar, the location of the original edition. Not used by the standard bibliography styles. See also `location`.",
+ },
+ BibtexFieldType {
+ name: "origpublisher",
+ documentation: "If the work is a translation, a reprint, or something similar, the publisher of the original edition. Not used by the standard bibliography styles. See also `publisher`.",
+ },
+ BibtexFieldType {
+ name: "origtitle",
+ documentation: "If the work is a translation, the `title` of the original work. Not used by the standard bibliography styles. See also `title`.",
+ },
+ BibtexFieldType {
+ name: "pages",
+ documentation: "One or more page numbers or page ranges. If the work is published as part of another one, such as an article in a journal or a collection, this field holds the relevant page range in that other work. It may also be used to limit the reference to a specific part of a work (a chapter in a book, for example).",
+ },
+ BibtexFieldType {
+ name: "pagetotal",
+ documentation: "The total number of pages of the work.",
+ },
+ BibtexFieldType {
+ name: "pagination",
+ documentation: "The pagination of the work. The value of this field will affect the formatting the *postnote* argument to a citation command. The key should be given in the singular form. Possible keys are `page`, `column`, `line`, `verse`, `section`, and `paragraph`. See also `bookpagination`.",
+ },
+ BibtexFieldType {
+ name: "part",
+ documentation: "The number of a partial volume. This field applies to books only, not to journals. It may be used when a logical volume consists of two or more physical ones. In this case the number of the logical volume goes in the `volume` field and the number of the part of that volume in the `part` field. See also `volume`.",
+ },
+ BibtexFieldType {
+ name: "publisher",
+ documentation: "The name(s) of the publisher(s).",
+ },
+ BibtexFieldType {
+ name: "pubstate",
+ documentation: "The publication state of the work, e. g., 'in press'.",
+ },
+ BibtexFieldType {
+ name: "reprinttitle",
+ documentation: "The title of a reprint of the work. Not used by the standard styles.",
+ },
+ BibtexFieldType {
+ name: "series",
+ documentation: "The name of a publication series, such as \"Studies in …\", or the number of a journal series. Books in a publication series are usually numbered. The number or volume of a book in a series is given in the `number` field. Note that the `@article` entry type makes use of the `series` field as well, but handles it in a special way.",
+ },
+ BibtexFieldType {
+ name: "shortauthor",
+ documentation: "The author(s) of the work, given in an abbreviated form. This field is mainly intended for abbreviated forms of corporate authors.",
+ },
+ BibtexFieldType {
+ name: "shorteditor",
+ documentation: "The editor(s) of the work, given in an abbreviated form. This field is mainly intended for abbreviated forms of corporate editors.",
+ },
+ BibtexFieldType {
+ name: "shorthand",
+ documentation: "A special designation to be used by the citation style instead of the usual label. If defined, it overrides the default label. See also `label`.",
+ },
+ BibtexFieldType {
+ name: "shorthandintro",
+ documentation: "The verbose citation styles which comes with this package use a phrase like \"henceforth cited as [shorthand]\" to introduce shorthands on the first citation. If the `shorthandintro` field is defined, it overrides the standard phrase. Note that the alternative phrase must include the shorthand.",
+ },
+ BibtexFieldType {
+ name: "shortjournal",
+ documentation: "A short version or an acronym of the `journaltitle`. Not used by the standard bibliography styles.",
+ },
+ BibtexFieldType {
+ name: "shortseries",
+ documentation: "A short version or an acronym of the `series` field. Not used by the standard bibliography styles.",
+ },
+ BibtexFieldType {
+ name: "shorttitle",
+ documentation: "The title in an abridged form. This field is usually not included in the bibliography. It is intended for citations in author-title format. If present, the author-title citation styles use this field instead of `title`.",
+ },
+ BibtexFieldType {
+ name: "subtitle",
+ documentation: "The subtitle of the work.",
+ },
+ BibtexFieldType {
+ name: "title",
+ documentation: "The title of the work.",
+ },
+ BibtexFieldType {
+ name: "titleaddon",
+ documentation: "An annex to the `title`, to be printed in a different font.",
+ },
+ BibtexFieldType {
+ name: "translator",
+ documentation: "The translator(s) of the `title` or `booktitle`, depending on the entry type. If the translator is identical to the `editor`, the standard styles will automatically concatenate these fields in the bibliography.",
+ },
+ BibtexFieldType {
+ name: "type",
+ documentation: "The type of a `manual`, `patent`, `report`, or `thesis`.",
+ },
+ BibtexFieldType {
+ name: "url",
+ documentation: "The URL of an online publication. If it is not URL-escaped (no ‘%’ chars) it will be URI-escaped according to RFC 3987, that is, even Unicode chars will be correctly escaped.",
+ },
+ BibtexFieldType {
+ name: "urldate",
+ documentation: "The access date of the address specified in the `url` field.",
+ },
+ BibtexFieldType {
+ name: "venue",
+ documentation: "The location of a conference, a symposium, or some other event in `@proceedings` and `@inproceedings` entries. Note that the `location` list holds the place of publication. It therefore corresponds to the `publisher` and `institution` lists. The location of the event is given in the `venue` field. See also `eventdate` and `eventtitle`.",
+ },
+ BibtexFieldType {
+ name: "version",
+ documentation: "The revision number of a piece of software, a manual, etc.",
+ },
+ BibtexFieldType {
+ name: "volume",
+ documentation: "The volume of a multi-volume book or a periodical. It is expected to be an integer, not necessarily in arabic numerals since `biber` will automatically from roman numerals or arabic letter to integers internally for sorting purposes. See also `part`. See the `noroman` option which can be used to suppress roman numeral parsing. This can help in cases where there is an ambiguity between parsing as roman numerals or alphanumeric (e.g. ‘C’).",
+ },
+ BibtexFieldType {
+ name: "volumes",
+ documentation: "The total number of volumes of a multi-volume work. Depending on the entry type, this field refers to `title` or `maintitle`. It is expected to be an integer, not necessarily in arabic numerals since `biber` will automatically from roman numerals or arabic letter to integers internally for sorting purposes. See the `noroman` option which can be used to suppress roman numeral parsing. This can help in cases where there is an ambiguity between parsing as roman numerals or alphanumeric (e.g. ‘C’).",
+ },
+ BibtexFieldType {
+ name: "year",
+ documentation: "The year of publication. This field is a literal field only when given explicitly in the data (for plain BibTeX compatibility for example). It is however better to use the `date` field as this is compatible with plain years too and supports many more features.",
+ },
+ BibtexFieldType {
+ name: "crossref",
+ documentation: "This field holds an entry key for the cross-referencing feature. Child entries with a `crossref` field inherit data from the parent entry specified in the `crossref` field. If the number of child entries referencing a specific parent entry hits a certain threshold, the parent entry is automatically added to the bibliography even if it has not been cited explicitly. The threshold is settable with the `mincrossrefs` package option. Style authors should note that whether or not the `crossref` fields of the child entries are defined on the `biblatex` level depends on the availability of the parent entry. If the parent entry is available, the `crossref` fields of the child entries will be defined. If not, the child entries still inherit the data from the parent entry but their `crossref` fields will be undefined. Whether the parent entry is added to the bibliography implicitly because of the threshold or explicitly because it has been cited does not matter. See also the `xref` field.",
+ },
+ BibtexFieldType {
+ name: "entryset",
+ documentation: "This field is specific to entry sets. This field is consumed by the backend processing and does not appear in the `.bbl`.",
+ },
+ BibtexFieldType {
+ name: "execute",
+ documentation: "A special field which holds arbitrary TeX code to be executed whenever the data of the respective entry is accessed. This may be useful to handle special cases. Conceptually, this field is comparable to the hooks `AtEveryBibitem`, `AtEveryLositem`, and `AtEveryCitekey`, except that it is definable on a per-entry basis in the `bib` file. Any code in this field is executed automatically immediately after these hooks.",
+ },
+ BibtexFieldType {
+ name: "gender",
+ documentation: "The gender of the author or the gender of the editor, if there is no author. The following identifiers are supported: `sf` (feminine singular, a single female name), `sm` (masculine singular, a single male name), `sn` (neuter singular, a single neuter name), `pf` (feminine plural, a list of female names), `pm` (masculine plural, a list of male names), `pn` (neuter plural, a list of neuter names),`pp` (plural, a mixed gender list of names). This information is only required by special bibliography and citation styles and only in certain languages. For example, a citation style may replace recurrent author names with a term such as 'idem'. If the Latin word is used, as is custom in English and French, there is no need to specify the gender. In German publications, however, such key terms are usually given in German and in this case they are gender-sensitive.",
+ },
+ BibtexFieldType {
+ name: "langid",
+ documentation: "The language id of the bibliography entry. The alias `hyphenation` is provided for backwards compatibility. The identifier must be a language name known to the `babel/polyglossia` packages. This information may be used to switch hyphenation patterns and localise strings in the bibliography. Note that the language names are case sensitive. The languages currently supported by this package are given in table 2. Note that `babel` treats the identifier `english` as an alias for `british` or `american`, depending on the `babel` version. The `biblatex` package always treats it as an alias for `american`. It is preferable to use the language identifiers `american` and `british` (`babel`) or a language specific option to specify a language variant (`polyglossia`, using the `langidopts` field) to avoid any possible confusion.",
+ },
+ BibtexFieldType {
+ name: "langidopts",
+ documentation: "For `polyglossia` users, allows per-entry language specific options. The literal value of this field is passed to `polyglossia`’s language switching facility when using the package option `autolang=langname`.",
+ },
+ BibtexFieldType {
+ name: "ids",
+ documentation: "Citation key aliases for the main citation key. An entry may be cited by any of its aliases and `biblatex` will treat the citation as if it had used the primary citation key. This is to aid users who change their citation keys but have legacy documents which use older keys for the same entry. This field is consumed by the backend processing and does not appear in the `.bbl`.",
+ },
+ BibtexFieldType {
+ name: "indexsorttitle",
+ documentation: "The title used when sorting the index. In contrast to indextitle, this field is used for sorting only. The printed title in the index is the indextitle or the title field. This field may be useful if the title contains special characters or commands which interfere with the sorting of the index. Style authors should note that biblatex automatically copies the value of either the indextitle or the title field to indexsorttitle if the latter field is undefined.",
+ },
+ BibtexFieldType {
+ name: "keywords",
+ documentation: "A separated list of keywords. These keywords are intended for the bibliography filters, they are usually not printed. Note that with the default separator (comma), spaces around the separator are ignored.",
+ },
+ BibtexFieldType {
+ name: "options",
+ documentation: "A separated list of entry options in *key*=*value* notation. This field is used to set options on a per-entry basis. Note that citation and bibliography styles may define additional entry options.",
+ },
+ BibtexFieldType {
+ name: "presort",
+ documentation: "A special field used to modify the sorting order of the bibliography. This field is the first item the sorting routine considers when sorting the bibliography, hence it may be used to arrange the entries in groups. This may be useful when creating subdivided bibliographies with the bibliography filters. This field is consumed by the backend processing and does not appear in the `.bbl`.",
+ },
+ BibtexFieldType {
+ name: "related",
+ documentation: "Citation keys of other entries which have a relationship to this entry. The relationship is specified by the `relatedtype` field.",
+ },
+ BibtexFieldType {
+ name: "relatedoptions",
+ documentation: "Per-type options to set for a related entry. Note that this does not set the options on the related entry itself, only the `dataonly` clone which is used as a datasource for the parent entry.",
+ },
+ BibtexFieldType {
+ name: "relatedtype",
+ documentation: "An identifier which specified the type of relationship for the keys listed in the `related` field. The identifier is a localised bibliography string printed before the data from the related entry list. It is also used to identify type-specific formatting directives and bibliography macros for the related entries.",
+ },
+ BibtexFieldType {
+ name: "relatedstring",
+ documentation: "A field used to override the bibliography string specified by `relatedtype`.",
+ },
+ BibtexFieldType {
+ name: "sortkey",
+ documentation: "A field used to modify the sorting order of the bibliography. Think of this field as the master sort key. If present, `biblatex` uses this field during sorting and ignores everything else, except for the presort field. This field is consumed by the backend processing and does not appear in the `.bbl`.",
+ },
+ BibtexFieldType {
+ name: "sortname",
+ documentation: "A name or a list of names used to modify the sorting order of the bibliography. If present, this list is used instead of `author` or `editor` when sorting the bibliography. This field is consumed by the backend processing and does not appear in the `.bbl`.",
+ },
+ BibtexFieldType {
+ name: "sortshorthand",
+ documentation: "Similar to sortkey but used in the list of shorthands. If present, biblatex uses this field instead of shorthand when sorting the list of shorthands. This is useful if the shorthand field holds shorthands with formatting commands such as `emph` or `\textbf`. This field is consumed by the backend processing and does not appear in the `.bbl`.",
+ },
+ BibtexFieldType {
+ name: "sorttitle",
+ documentation: "A field used to modify the sorting order of the bibliography. If present, this field is used instead of the title field when sorting the bibliography. The sorttitle field may come in handy if you have an entry with a title like \"An Introduction to…\" and want that alphabetized under ‘I’ rather than ‘A’. In this case, you could put \"Introduction to…\" in the sorttitle field. This field is consumed by the backend processing and does not appear in the `.bbl`.",
+ },
+ BibtexFieldType {
+ name: "sortyear",
+ documentation: "A field used to modify the sorting order of the bibliography. In the default sorting templates, if this field is present, it is used instead of the year field when sorting the bibliography. This field is consumed by the backend processing and does not appear in the `.bbl`.",
+ },
+ BibtexFieldType {
+ name: "xdata",
+ documentation: "This field inherits data from one or more `@xdata` entries. Conceptually, the `xdata` field is related to crossref and xref: `crossref` establishes a logical parent/child relation and inherits data; `xref` establishes as logical parent/child relation without inheriting data; `xdata` inherits data without establishing a relation. The value of the `xdata` may be a single entry key or a separated list of keys. This field is consumed by the backend processing and does not appear in the `.bbl`.",
+ },
+ BibtexFieldType {
+ name: "xref",
+ documentation: "This field is an alternative cross-referencing mechanism. It differs from `crossref` in that the child entry will not inherit any data from the parent entry specified in the `xref` field. If the number of child entries referencing a specific parent entry hits a certain threshold, the parent entry is automatically added to the bibliography even if it has not been cited explicitly. The threshold is settable with the `minxrefs` package option. Style authors should note that whether or not the `xref` fields of the child entries are defined on the `biblatex` level depends on the availability of the parent entry. If the parent entry is available, the `xref` fields of the child entries will be defined. If not, their `xref` fields will be undefined. Whether the parent entry is added to the bibliography implicitly because of the threshold or explicitly because it has been cited does not matter. See also the `crossref` field.",
+ },
+ BibtexFieldType {
+ name: "namea",
+ documentation: "Custom lists for special bibliography styles. Not used by the standard bibliography styles.",
+ },
+ BibtexFieldType {
+ name: "nameb",
+ documentation: "Custom lists for special bibliography styles. Not used by the standard bibliography styles.",
+ },
+ BibtexFieldType {
+ name: "namec",
+ documentation: "Custom lists for special bibliography styles. Not used by the standard bibliography styles.",
+ },
+ BibtexFieldType {
+ name: "nameatype",
+ documentation: "Similar to `authortype` and `editortype` but referring to the fields `name[a--c]`. Not used by the standard bibliography styles.",
+ },
+ BibtexFieldType {
+ name: "namebtype",
+ documentation: "Similar to `authortype` and `editortype` but referring to the fields `name[a--c]`. Not used by the standard bibliography styles.",
+ },
+ BibtexFieldType {
+ name: "namectype",
+ documentation: "Similar to `authortype` and `editortype` but referring to the fields `name[a--c]`. Not used by the standard bibliography styles.",
+ },
+ BibtexFieldType {
+ name: "lista",
+ documentation: "Custom lists for special bibliography styles. Not used by the standard bibliography styles.",
+ },
+ BibtexFieldType {
+ name: "listb",
+ documentation: "Custom lists for special bibliography styles. Not used by the standard bibliography styles.",
+ },
+ BibtexFieldType {
+ name: "listc",
+ documentation: "Custom lists for special bibliography styles. Not used by the standard bibliography styles.",
+ },
+ BibtexFieldType {
+ name: "listd",
+ documentation: "Custom lists for special bibliography styles. Not used by the standard bibliography styles.",
+ },
+ BibtexFieldType {
+ name: "liste",
+ documentation: "Custom lists for special bibliography styles. Not used by the standard bibliography styles.",
+ },
+ BibtexFieldType {
+ name: "listf",
+ documentation: "Custom lists for special bibliography styles. Not used by the standard bibliography styles.",
+ },
+ BibtexFieldType {
+ name: "usera",
+ documentation: "Custom fields for special bibliography styles. Not used by the standard bibliography styles.",
+ },
+ BibtexFieldType {
+ name: "userb",
+ documentation: "Custom fields for special bibliography styles. Not used by the standard bibliography styles.",
+ },
+ BibtexFieldType {
+ name: "userc",
+ documentation: "Custom fields for special bibliography styles. Not used by the standard bibliography styles.",
+ },
+ BibtexFieldType {
+ name: "userd",
+ documentation: "Custom fields for special bibliography styles. Not used by the standard bibliography styles.",
+ },
+ BibtexFieldType {
+ name: "usere",
+ documentation: "Custom fields for special bibliography styles. Not used by the standard bibliography styles.",
+ },
+ BibtexFieldType {
+ name: "userf",
+ documentation: "Custom fields for special bibliography styles. Not used by the standard bibliography styles.",
+ },
+ BibtexFieldType {
+ name: "verba",
+ documentation: "Similar to the custom fields except that these are verbatim fields. Not used by the standard bibliography styles.",
+ },
+ BibtexFieldType {
+ name: "verbb",
+ documentation: "Similar to the custom fields except that these are verbatim fields. Not used by the standard bibliography styles.",
+ },
+ BibtexFieldType {
+ name: "verbc",
+ documentation: "Similar to the custom fields except that these are verbatim fields. Not used by the standard bibliography styles.",
+ },
+ BibtexFieldType {
+ name: "address",
+ documentation: "An alias for `location`, provided for BibTeX compatibility. Traditional BibTeX uses the slightly misleading field name `address` for the place of publication, i. e., the location of the publisher, while `biblatex` uses the generic field name `location`.",
+ },
+ BibtexFieldType {
+ name: "annote",
+ documentation: "An alias for `annotation`, provided for jurabib compatibility.",
+ },
+ BibtexFieldType {
+ name: "archiveprefix",
+ documentation: "An alias for `eprinttype`, provided for arXiv compatibility.",
+ },
+ BibtexFieldType {
+ name: "journal",
+ documentation: "An alias for `journaltitle`, provided for BibTeX compatibility.",
+ },
+ BibtexFieldType {
+ name: "key",
+ documentation: "An alias for `sortkey`, provided for BibTeX compatibility.",
+ },
+ BibtexFieldType {
+ name: "pdf",
+ documentation: "An alias for `file`, provided for JabRef compatibility.",
+ },
+ BibtexFieldType {
+ name: "primaryclass",
+ documentation: "An alias for `eprintclass`, provided for arXiv compatibility.",
+ },
+ BibtexFieldType {
+ name: "school",
+ documentation: "An alias for `institution`, provided for BibTeX compatibility. The `institution` field is used by traditional BibTeX for technical reports whereas the `school` field holds the institution associated with theses. The `biblatex` package employs the generic field name `institution` in both cases.",
+ }
+];
diff --git a/support/texlab/crates/base-db/src/document.rs b/support/texlab/crates/base-db/src/document.rs
index c6148deaa8..cc1a0d44e5 100644
--- a/support/texlab/crates/base-db/src/document.rs
+++ b/support/texlab/crates/base-db/src/document.rs
@@ -7,8 +7,9 @@ use url::Url;
use crate::{
diagnostics::{self, Diagnostic},
- line_index::LineIndex,
- semantics, Config,
+ semantics,
+ util::LineIndex,
+ Config,
};
#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone, Copy, Hash)]
@@ -17,7 +18,7 @@ pub enum Owner {
Server,
}
-#[derive(Debug, Clone)]
+#[derive(Clone)]
pub struct Document {
pub uri: Url,
pub dir: Url,
@@ -99,6 +100,12 @@ impl Document {
}
}
+impl std::fmt::Debug for Document {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_tuple("Document").field(&self.uri.as_str()).finish()
+ }
+}
+
impl std::borrow::Borrow<Url> for Document {
fn borrow(&self) -> &Url {
&self.uri
diff --git a/support/texlab/crates/base-db/src/graph.rs b/support/texlab/crates/base-db/src/graph.rs
index 2103aa8a73..b16245e011 100644
--- a/support/texlab/crates/base-db/src/graph.rs
+++ b/support/texlab/crates/base-db/src/graph.rs
@@ -3,6 +3,7 @@ use std::{ffi::OsStr, path::PathBuf};
use distro::Language;
use itertools::Itertools;
use once_cell::sync::Lazy;
+use percent_encoding::percent_decode_str;
use rustc_hash::FxHashSet;
use url::Url;
@@ -138,12 +139,16 @@ impl<'a> Graph<'a> {
}
fn implicit_edge(&mut self, source: &'a Document, base_dir: &Url, extension: &str) {
- let Some(target_uri) = source.uri.to_file_path().ok().and_then(|mut path| {
- path.set_extension(extension);
- path.file_name()
- .and_then(OsStr::to_str)
- .and_then(|name| self.workspace.output_dir(base_dir).join(&name).ok())
- }) else { return };
+ let mut path = PathBuf::from(
+ percent_decode_str(source.uri.path())
+ .decode_utf8_lossy()
+ .as_ref(),
+ );
+
+ path.set_extension(extension);
+ let Some(target_uri) = path.file_name()
+ .and_then(OsStr::to_str)
+ .and_then(|name| self.workspace.output_dir(base_dir).join(&name).ok()) else { return };
match self.workspace.lookup(&target_uri) {
Some(target) => {
diff --git a/support/texlab/crates/base-db/src/lib.rs b/support/texlab/crates/base-db/src/lib.rs
index fae6ad5416..304888a42a 100644
--- a/support/texlab/crates/base-db/src/lib.rs
+++ b/support/texlab/crates/base-db/src/lib.rs
@@ -1,9 +1,10 @@
mod config;
+pub mod data;
pub mod diagnostics;
mod document;
pub mod graph;
-mod line_index;
pub mod semantics;
+pub mod util;
mod workspace;
-pub use self::{config::*, document::*, line_index::*, workspace::*};
+pub use self::{config::*, document::*, workspace::*};
diff --git a/support/texlab/crates/base-db/src/semantics.rs b/support/texlab/crates/base-db/src/semantics.rs
index 94a9c15973..1096eb2125 100644
--- a/support/texlab/crates/base-db/src/semantics.rs
+++ b/support/texlab/crates/base-db/src/semantics.rs
@@ -1,11 +1,19 @@
pub mod auxiliary;
pub mod tex;
-#[derive(Debug, PartialEq, Eq, Clone, Hash)]
+#[derive(PartialEq, Eq, Clone, Hash)]
pub struct Span {
pub text: String,
pub range: rowan::TextRange,
}
+impl std::fmt::Debug for Span {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_tuple("Span")
+ .field(&self.text)
+ .field(&self.range)
+ .finish()
+ }
+}
impl From<&syntax::latex::Key> for Span {
fn from(key: &syntax::latex::Key) -> Self {
diff --git a/support/texlab/crates/base-db/src/semantics/tex.rs b/support/texlab/crates/base-db/src/semantics/tex.rs
index 2b506ee878..6e238737b0 100644
--- a/support/texlab/crates/base-db/src/semantics/tex.rs
+++ b/support/texlab/crates/base-db/src/semantics/tex.rs
@@ -9,8 +9,8 @@ use super::Span;
pub struct Semantics {
pub links: Vec<Link>,
pub labels: Vec<Label>,
- pub commands: Vec<(TextRange, String)>,
- pub environments: FxHashSet<String>,
+ pub commands: Vec<Span>,
+ pub environments: Vec<Span>,
pub theorem_definitions: Vec<TheoremDefinition>,
pub graphics_paths: FxHashSet<String>,
pub can_be_root: bool,
@@ -29,14 +29,12 @@ impl Semantics {
let range = token.text_range();
let range = TextRange::new(range.start() + "\\".text_len(), range.end());
let text = String::from(&token.text()[1..]);
- self.commands.push((range, text));
+ self.commands.push(Span { range, text });
}
}
};
}
- self.can_be_compiled = self.environments.contains("document");
-
self.can_be_root = self.can_be_compiled
&& !self
.links
@@ -208,19 +206,21 @@ impl Semantics {
.and_then(|begin| begin.name())
.and_then(|group| group.key()) else { return };
- self.environments.insert(String::from(name.syntax().text()));
+ let name = Span::from(&name);
+ self.can_be_compiled = self.can_be_compiled || name.text == "document";
+ self.environments.push(name);
}
fn process_theorem_definition(&mut self, theorem_def: latex::TheoremDefinition) {
let Some(name) = theorem_def.name().and_then(|name| name.key()) else { return };
let Some(description) = theorem_def
- .description()
+ .heading()
.and_then(|group| group.content_text()) else { return };
self.theorem_definitions.push(TheoremDefinition {
name: Span::from(&name),
- description,
+ heading: description,
});
}
}
@@ -288,5 +288,5 @@ pub enum LabelObject {
#[derive(Debug, Clone)]
pub struct TheoremDefinition {
pub name: Span,
- pub description: String,
+ pub heading: String,
}
diff --git a/support/texlab/crates/base-db/src/util.rs b/support/texlab/crates/base-db/src/util.rs
new file mode 100644
index 0000000000..22b9309209
--- /dev/null
+++ b/support/texlab/crates/base-db/src/util.rs
@@ -0,0 +1,9 @@
+mod label;
+mod line_index;
+mod regex_filter;
+
+pub use self::{
+ label::{render_label, FloatKind, RenderedLabel, RenderedObject},
+ line_index::{LineCol, LineColUtf16, LineIndex},
+ regex_filter::filter_regex_patterns,
+};
diff --git a/support/texlab/crates/texlab/src/util/label.rs b/support/texlab/crates/base-db/src/util/label.rs
index 33b860a173..af0889bab0 100644
--- a/support/texlab/crates/texlab/src/util/label.rs
+++ b/support/texlab/crates/base-db/src/util/label.rs
@@ -1,23 +1,23 @@
use std::str::FromStr;
-use base_db::{
+use rowan::TextRange;
+
+use self::RenderedObject::*;
+
+use crate::{
semantics::tex::{Label, LabelObject},
Project, Workspace,
};
-use rowan::{ast::AstNode, TextRange};
-use syntax::latex::{self, HasCurly};
-
-use self::LabeledObject::*;
#[derive(Debug, PartialEq, Eq, Clone, Copy)]
-pub enum LabeledFloatKind {
+pub enum FloatKind {
Figure,
Table,
Listing,
Algorithm,
}
-impl LabeledFloatKind {
+impl FloatKind {
pub fn as_str(self) -> &'static str {
match self {
Self::Figure => "Figure",
@@ -28,7 +28,7 @@ impl LabeledFloatKind {
}
}
-impl FromStr for LabeledFloatKind {
+impl FromStr for FloatKind {
type Err = ();
fn from_str(s: &str) -> Result<Self, Self::Err> {
@@ -43,13 +43,13 @@ impl FromStr for LabeledFloatKind {
}
#[derive(Debug, PartialEq, Eq, Clone)]
-pub enum LabeledObject<'a> {
+pub enum RenderedObject<'a> {
Section {
prefix: &'a str,
text: &'a str,
},
Float {
- kind: LabeledFloatKind,
+ kind: FloatKind,
caption: &'a str,
},
Theorem {
@@ -64,7 +64,7 @@ pub enum LabeledObject<'a> {
pub struct RenderedLabel<'a> {
pub range: TextRange,
pub number: Option<&'a str>,
- pub object: LabeledObject<'a>,
+ pub object: RenderedObject<'a>,
}
impl<'a> RenderedLabel<'a> {
@@ -117,7 +117,7 @@ impl<'a> RenderedLabel<'a> {
}
}
-pub fn render<'a>(
+pub fn render_label<'a>(
workspace: &'a Workspace,
project: &Project<'a>,
label: &'a Label,
@@ -135,14 +135,14 @@ pub fn render<'a>(
return Some(RenderedLabel {
range: target.range,
number,
- object: LabeledObject::Section { prefix, text },
+ object: RenderedObject::Section { prefix, text },
});
}
LabelObject::EnumItem => {
return Some(RenderedLabel {
range: target.range,
number,
- object: LabeledObject::EnumItem,
+ object: RenderedObject::EnumItem,
});
}
LabelObject::Environment {
@@ -155,15 +155,15 @@ pub fn render<'a>(
return Some(RenderedLabel {
range: target.range,
number,
- object: LabeledObject::Equation,
+ object: RenderedObject::Equation,
});
}
- if let Ok(kind) = LabeledFloatKind::from_str(name) {
+ if let Ok(kind) = FloatKind::from_str(name) {
return Some(RenderedLabel {
range: target.range,
number,
- object: LabeledObject::Float {
+ object: RenderedObject::Float {
kind,
caption: caption.as_deref()?,
},
@@ -180,8 +180,8 @@ pub fn render<'a>(
return Some(RenderedLabel {
range: target.range,
number,
- object: LabeledObject::Theorem {
- kind: &theorem.description,
+ object: RenderedObject::Theorem {
+ kind: &theorem.heading,
description: options.as_deref(),
},
});
@@ -192,11 +192,3 @@ pub fn render<'a>(
None
}
-
-pub(crate) fn find_caption_by_parent(parent: &latex::SyntaxNode) -> Option<String> {
- parent
- .children()
- .filter_map(latex::Caption::cast)
- .find_map(|node| node.long())
- .and_then(|node| node.content_text())
-}
diff --git a/support/texlab/crates/base-db/src/line_index.rs b/support/texlab/crates/base-db/src/util/line_index.rs
index 70e8f8128b..70e8f8128b 100644
--- a/support/texlab/crates/base-db/src/line_index.rs
+++ b/support/texlab/crates/base-db/src/util/line_index.rs
diff --git a/support/texlab/crates/texlab/src/util/regex_filter.rs b/support/texlab/crates/base-db/src/util/regex_filter.rs
index a33417464e..f8d88113b5 100644
--- a/support/texlab/crates/texlab/src/util/regex_filter.rs
+++ b/support/texlab/crates/base-db/src/util/regex_filter.rs
@@ -1,6 +1,10 @@
use regex::Regex;
-pub fn filter(text: &str, allowed_patterns: &[Regex], ignored_patterns: &[Regex]) -> bool {
+pub fn filter_regex_patterns(
+ text: &str,
+ allowed_patterns: &[Regex],
+ ignored_patterns: &[Regex],
+) -> bool {
if !allowed_patterns.is_empty()
&& !allowed_patterns
.iter()
diff --git a/support/texlab/crates/base-feature/src/lib.rs b/support/texlab/crates/base-feature/src/lib.rs
deleted file mode 100644
index 589ec20de4..0000000000
--- a/support/texlab/crates/base-feature/src/lib.rs
+++ /dev/null
@@ -1,4 +0,0 @@
-mod normalize_uri;
-mod placeholders;
-
-pub use self::{normalize_uri::normalize_uri, placeholders::*};
diff --git a/support/texlab/crates/base-feature/src/normalize_uri.rs b/support/texlab/crates/base-feature/src/normalize_uri.rs
deleted file mode 100644
index 041258e817..0000000000
--- a/support/texlab/crates/base-feature/src/normalize_uri.rs
+++ /dev/null
@@ -1,56 +0,0 @@
-use url::Url;
-
-pub fn normalize_uri(uri: &mut Url) {
- if let Some(mut segments) = uri.path_segments() {
- if let Some(mut path) = segments.next().and_then(fix_drive_letter) {
- for segment in segments {
- path.push('/');
- path.push_str(segment);
- }
-
- uri.set_path(&path);
- }
- }
-
- uri.set_fragment(None);
-}
-
-fn fix_drive_letter(text: &str) -> Option<String> {
- if !text.is_ascii() {
- return None;
- }
-
- match &text[1..] {
- ":" => Some(text.to_ascii_uppercase()),
- "%3A" | "%3a" => Some(format!("{}:", text[0..1].to_ascii_uppercase())),
- _ => None,
- }
-}
-
-#[cfg(test)]
-mod tests {
- use url::Url;
-
- use super::normalize_uri;
-
- #[test]
- fn test_lowercase_drive_letter() {
- let mut uri = Url::parse("file://c:/foo/bar.txt").unwrap();
- normalize_uri(&mut uri);
- assert_eq!(uri.as_str(), "file:///C:/foo/bar.txt");
- }
-
- #[test]
- fn test_uppercase_drive_letter() {
- let mut uri = Url::parse("file://C:/foo/bar.txt").unwrap();
- normalize_uri(&mut uri);
- assert_eq!(uri.as_str(), "file:///C:/foo/bar.txt");
- }
-
- #[test]
- fn test_fragment() {
- let mut uri = Url::parse("foo:///bar/baz.txt#qux").unwrap();
- normalize_uri(&mut uri);
- assert_eq!(uri.as_str(), "foo:///bar/baz.txt");
- }
-}
diff --git a/support/texlab/crates/commands/Cargo.toml b/support/texlab/crates/commands/Cargo.toml
index e5a6f81a95..ea7358364f 100644
--- a/support/texlab/crates/commands/Cargo.toml
+++ b/support/texlab/crates/commands/Cargo.toml
@@ -9,7 +9,6 @@ rust-version.workspace = true
[dependencies]
anyhow = "1.0.70"
base-db = { path = "../base-db" }
-base-feature = { path = "../base-feature" }
bstr = "1.4.0"
crossbeam-channel = "0.5.8"
itertools = "0.10.5"
diff --git a/support/texlab/crates/commands/src/build.rs b/support/texlab/crates/commands/src/build.rs
index 9a115db888..3d93601e39 100644
--- a/support/texlab/crates/commands/src/build.rs
+++ b/support/texlab/crates/commands/src/build.rs
@@ -7,12 +7,13 @@ use std::{
use anyhow::Result;
use base_db::Workspace;
-use base_feature::replace_placeholders;
use bstr::io::BufReadExt;
use crossbeam_channel::Sender;
use thiserror::Error;
use url::Url;
+use crate::placeholders::replace_placeholders;
+
#[derive(Debug, Error)]
pub enum BuildError {
#[error("Document \"{0}\" was not found")]
diff --git a/support/texlab/crates/commands/src/fwd_search.rs b/support/texlab/crates/commands/src/fwd_search.rs
index eaa27e5013..c458f33cf1 100644
--- a/support/texlab/crates/commands/src/fwd_search.rs
+++ b/support/texlab/crates/commands/src/fwd_search.rs
@@ -6,10 +6,11 @@ use std::{
use anyhow::Result;
use base_db::Workspace;
-use base_feature::replace_placeholders;
use thiserror::Error;
use url::Url;
+use crate::placeholders::replace_placeholders;
+
#[derive(Debug, Error)]
pub enum ForwardSearchError {
#[error("Forward search is not configured")]
diff --git a/support/texlab/crates/commands/src/lib.rs b/support/texlab/crates/commands/src/lib.rs
index 6c8f1e8f4f..bcf4c8538f 100644
--- a/support/texlab/crates/commands/src/lib.rs
+++ b/support/texlab/crates/commands/src/lib.rs
@@ -3,6 +3,7 @@ mod change_env;
mod clean;
mod dep_graph;
mod fwd_search;
+mod placeholders;
pub use self::{
build::{BuildCommand, BuildError},
diff --git a/support/texlab/crates/base-feature/src/placeholders.rs b/support/texlab/crates/commands/src/placeholders.rs
index 913af33edf..913af33edf 100644
--- a/support/texlab/crates/base-feature/src/placeholders.rs
+++ b/support/texlab/crates/commands/src/placeholders.rs
diff --git a/support/texlab/crates/parser/src/config.rs b/support/texlab/crates/parser/src/config.rs
index b6f3e8476c..d2e0fb31ab 100644
--- a/support/texlab/crates/parser/src/config.rs
+++ b/support/texlab/crates/parser/src/config.rs
@@ -50,10 +50,10 @@ static DEFAULT_MATH_ENVIRONMENTS: &[&str] = &[
"alignedat*",
"array",
"array*",
- "Bmatrix",
- "Bmatrix*",
"bmatrix",
+ "Bmatrix",
"bmatrix*",
+ "Bmatrix*",
"cases",
"cases*",
"CD",
@@ -62,14 +62,14 @@ static DEFAULT_MATH_ENVIRONMENTS: &[&str] = &[
"eqnarray*",
"equation",
"equation*",
- "IEEEeqnarray",
- "IEEEeqnarray*",
- "subequations",
- "subequations*",
+ "flalign",
+ "flalign*",
"gather",
"gather*",
"gathered",
"gathered*",
+ "IEEEeqnarray",
+ "IEEEeqnarray*",
"matrix",
"matrix*",
"multline",
@@ -82,10 +82,12 @@ static DEFAULT_MATH_ENVIRONMENTS: &[&str] = &[
"split*",
"subarray",
"subarray*",
- "Vmatrix",
- "Vmatrix*",
+ "subequations",
+ "subequations*",
"vmatrix",
+ "Vmatrix",
"vmatrix*",
+ "Vmatrix*",
];
static DEFAULT_ENUM_ENVIRONMENTS: &[&str] = &["enumerate", "itemize", "description"];
diff --git a/support/texlab/crates/parser/src/latex.rs b/support/texlab/crates/parser/src/latex.rs
index f3e978a93b..c42031dcf1 100644
--- a/support/texlab/crates/parser/src/latex.rs
+++ b/support/texlab/crates/parser/src/latex.rs
@@ -44,6 +44,11 @@ impl<'a> Parser<'a> {
self.builder.token(kind.into(), text);
}
+ fn eat_remap(&mut self, kind: SyntaxKind) {
+ let (_, text) = self.lexer.eat().unwrap();
+ self.builder.token(kind.into(), text);
+ }
+
fn peek(&self) -> Option<Token> {
self.lexer.peek()
}
@@ -98,7 +103,7 @@ impl<'a> Parser<'a> {
self.eat();
self.builder.finish_node();
}
- Token::Word | Token::Comma => self.text(context),
+ Token::Pipe | Token::Word | Token::Comma => self.text(context),
Token::Eq => self.eat(),
Token::Dollar => self.formula(),
Token::CommandName(name) => match name {
@@ -141,6 +146,7 @@ impl<'a> Parser<'a> {
CommandName::EnvironmentDefinition => self.environment_definition(),
CommandName::BeginBlockComment => self.block_comment(),
CommandName::EndBlockComment => self.generic_command(),
+ CommandName::VerbatimBlock => self.verbatim_block(),
CommandName::GraphicsPath => self.graphics_path(),
},
}
@@ -158,6 +164,7 @@ impl<'a> Parser<'a> {
| Token::Whitespace
| Token::LineComment
| Token::Word
+ | Token::Pipe
| Token::Comma
) && (context.allow_comma || kind != Token::Comma)
})
@@ -219,7 +226,7 @@ impl<'a> Parser<'a> {
self.eat();
self.trivia();
match self.peek() {
- Some(Token::Word) => {
+ Some(Token::Word | Token::Pipe) => {
self.key();
}
Some(Token::CommandName(_)) => {
@@ -244,6 +251,7 @@ impl<'a> Parser<'a> {
| Token::Whitespace
| Token::LineComment
| Token::Word
+ | Token::Pipe
| Token::Comma
)
})
@@ -298,7 +306,7 @@ impl<'a> Parser<'a> {
self.eat();
self.trivia();
match self.peek() {
- Some(Token::Word) => {
+ Some(Token::Word | Token::Pipe) => {
self.key();
}
Some(_) | None => {}
@@ -334,7 +342,12 @@ impl<'a> Parser<'a> {
self.eat();
while self
.peek()
- .filter(|&kind| matches!(kind, Token::Whitespace | Token::LineComment | Token::Word))
+ .filter(|&kind| {
+ matches!(
+ kind,
+ Token::Whitespace | Token::LineComment | Token::Word | Token::Pipe
+ )
+ })
.is_some()
{
self.eat();
@@ -390,7 +403,7 @@ impl<'a> Parser<'a> {
while let Some(kind) = self.peek() {
match kind {
Token::LineBreak | Token::Whitespace | Token::LineComment => self.eat(),
- Token::Word => {
+ Token::Word | Token::Pipe => {
self.key_value_pair();
if self.peek() == Some(Token::Comma) {
self.eat();
@@ -1116,6 +1129,23 @@ impl<'a> Parser<'a> {
self.builder.finish_node();
}
+
+ fn verbatim_block(&mut self) {
+ self.builder.start_node(GENERIC_COMMAND.into());
+ self.eat();
+ self.builder.finish_node();
+ self.trivia();
+
+ if self.peek() == Some(Token::Pipe) {
+ self.eat_remap(SyntaxKind::VERBATIM);
+ while let Some(kind) = self.peek() {
+ self.eat_remap(SyntaxKind::VERBATIM);
+ if kind == Token::Pipe {
+ break;
+ }
+ }
+ }
+ }
}
pub fn parse_latex(text: &str, config: &SyntaxConfig) -> GreenNode {
diff --git a/support/texlab/crates/parser/src/latex/lexer.rs b/support/texlab/crates/parser/src/latex/lexer.rs
index e53a2ed042..47a6c43b06 100644
--- a/support/texlab/crates/parser/src/latex/lexer.rs
+++ b/support/texlab/crates/parser/src/latex/lexer.rs
@@ -38,6 +38,7 @@ impl<'a> Lexer<'a> {
Token::RParen => SyntaxKind::R_PAREN,
Token::Comma => SyntaxKind::COMMA,
Token::Eq => SyntaxKind::EQUALITY_SIGN,
+ Token::Pipe => SyntaxKind::WORD,
Token::Word => SyntaxKind::WORD,
Token::Dollar => SyntaxKind::DOLLAR,
Token::CommandName(_) => SyntaxKind::COMMAND_NAME,
diff --git a/support/texlab/crates/parser/src/latex/lexer/commands.rs b/support/texlab/crates/parser/src/latex/lexer/commands.rs
index 8354fa1bfc..c5fe48e0c9 100644
--- a/support/texlab/crates/parser/src/latex/lexer/commands.rs
+++ b/support/texlab/crates/parser/src/latex/lexer/commands.rs
@@ -80,6 +80,7 @@ pub fn classify(name: &str, config: &SyntaxConfig) -> CommandName {
"graphicspath" => CommandName::GraphicsPath,
"iffalse" => CommandName::BeginBlockComment,
"fi" => CommandName::EndBlockComment,
+ "verb" => CommandName::VerbatimBlock,
_ if config.citation_commands.contains(name) => CommandName::Citation,
_ => CommandName::Generic,
}
diff --git a/support/texlab/crates/parser/src/latex/lexer/types.rs b/support/texlab/crates/parser/src/latex/lexer/types.rs
index 4e6c67ab1f..eea6ea3b44 100644
--- a/support/texlab/crates/parser/src/latex/lexer/types.rs
+++ b/support/texlab/crates/parser/src/latex/lexer/types.rs
@@ -35,7 +35,10 @@ pub enum Token {
#[token("=")]
Eq,
- #[regex(r"[^\s\\%\{\},\$\[\]\(\)=]+")]
+ #[token("|")]
+ Pipe,
+
+ #[regex(r"[^\s\\%\{\},\$\[\]\(\)=\|]+")]
Word,
#[regex(r"\$\$?")]
@@ -117,6 +120,7 @@ pub enum CommandName {
GraphicsPath,
BeginBlockComment,
EndBlockComment,
+ VerbatimBlock,
}
#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone, Copy, Hash)]
diff --git a/support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_828.txt.snap b/support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_828.txt.snap
new file mode 100644
index 0000000000..059b957241
--- /dev/null
+++ b/support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_828.txt.snap
@@ -0,0 +1,22 @@
+---
+source: crates/parser/src/latex.rs
+expression: root
+input_file: crates/parser/src/test_data/latex/issue_828.txt
+---
+ROOT@0..51
+ PREAMBLE@0..51
+ GENERIC_COMMAND@0..5
+ COMMAND_NAME@0..5 "\\verb"
+ VERBATIM@5..6 "|"
+ VERBATIM@6..17 "<STATEMENT>"
+ VERBATIM@17..22 " "
+ VERBATIM@22..24 "if"
+ VERBATIM@24..25 "("
+ VERBATIM@25..31 "<expr>"
+ VERBATIM@31..32 ")"
+ VERBATIM@32..33 "{"
+ VERBATIM@33..43 "<body>else"
+ VERBATIM@43..44 "{"
+ VERBATIM@44..50 "<body>"
+ VERBATIM@50..51 "|"
+
diff --git a/support/texlab/crates/parser/src/test_data/latex/issue_828.txt b/support/texlab/crates/parser/src/test_data/latex/issue_828.txt
new file mode 100644
index 0000000000..76f973bdbd
--- /dev/null
+++ b/support/texlab/crates/parser/src/test_data/latex/issue_828.txt
@@ -0,0 +1 @@
+\verb|<STATEMENT> if(<expr>){<body>else{<body>| \ No newline at end of file
diff --git a/support/texlab/crates/symbols/Cargo.toml b/support/texlab/crates/symbols/Cargo.toml
new file mode 100644
index 0000000000..d1d5bd2d8b
--- /dev/null
+++ b/support/texlab/crates/symbols/Cargo.toml
@@ -0,0 +1,24 @@
+[package]
+name = "symbols"
+version = "0.0.0"
+license.workspace = true
+authors.workspace = true
+edition.workspace = true
+rust-version.workspace = true
+
+[lib]
+doctest = false
+
+[dependencies]
+base-db = { path = "../base-db" }
+distro = { path = "../distro" }
+itertools = "0.10.5"
+rowan = "0.15.11"
+syntax = { path = "../syntax" }
+titlecase = "2.2.1"
+url = "2.3.1"
+
+[dev-dependencies]
+insta = "1.29.0"
+regex = "1.7.3"
+test-utils = { path = "../test-utils" }
diff --git a/support/texlab/crates/symbols/src/document.rs b/support/texlab/crates/symbols/src/document.rs
new file mode 100644
index 0000000000..eb3d8d339f
--- /dev/null
+++ b/support/texlab/crates/symbols/src/document.rs
@@ -0,0 +1,51 @@
+mod bib;
+mod tex;
+
+use base_db::{util, Document, DocumentData, SymbolConfig, Workspace};
+
+use crate::Symbol;
+
+pub fn document_symbols(workspace: &Workspace, document: &Document) -> Vec<Symbol> {
+ let project = workspace.project(document);
+ let mut symbols = match &document.data {
+ DocumentData::Tex(data) => {
+ let builder = tex::SymbolBuilder::new(&project, workspace.config());
+ builder.visit(&data.root_node())
+ }
+ DocumentData::Bib(data) => {
+ let builder = bib::SymbolBuilder;
+ data.root_node()
+ .children()
+ .filter_map(|node| builder.visit(&node))
+ .collect()
+ }
+ DocumentData::Aux(_)
+ | DocumentData::Log(_)
+ | DocumentData::Root
+ | DocumentData::Tectonic => Vec::new(),
+ };
+
+ filter_symbols(&mut symbols, &workspace.config().symbols);
+ symbols
+}
+
+fn filter_symbols(container: &mut Vec<Symbol>, config: &SymbolConfig) {
+ let allowed = &config.allowed_patterns;
+ let ignored = &config.ignored_patterns;
+
+ let mut i = 0;
+ while i < container.len() {
+ let symbol = &mut container[i];
+ if symbol.name.is_empty() || !util::filter_regex_patterns(&symbol.name, allowed, ignored) {
+ drop(symbol);
+ let mut symbol = container.remove(i);
+ container.append(&mut symbol.children);
+ } else {
+ filter_symbols(&mut symbol.children, config);
+ i += 1;
+ }
+ }
+}
+
+#[cfg(test)]
+mod tests;
diff --git a/support/texlab/crates/symbols/src/document/bib.rs b/support/texlab/crates/symbols/src/document/bib.rs
new file mode 100644
index 0000000000..1e5d934a0d
--- /dev/null
+++ b/support/texlab/crates/symbols/src/document/bib.rs
@@ -0,0 +1,64 @@
+use base_db::data::{BibtexEntryType, BibtexEntryTypeCategory};
+use rowan::ast::AstNode;
+use syntax::bibtex::{self, HasName, HasType};
+
+use crate::{Symbol, SymbolKind};
+
+#[derive(Debug)]
+pub struct SymbolBuilder;
+
+impl SymbolBuilder {
+ pub fn visit(&self, node: &bibtex::SyntaxNode) -> Option<Symbol> {
+ if let Some(string) = bibtex::StringDef::cast(node.clone()) {
+ self.visit_string(&string)
+ } else if let Some(entry) = bibtex::Entry::cast(node.clone()) {
+ self.visit_entry(&entry)
+ } else {
+ None
+ }
+ }
+
+ fn visit_string(&self, string: &bibtex::StringDef) -> Option<Symbol> {
+ let name = string.name_token()?;
+ Some(Symbol {
+ name: name.text().into(),
+ kind: SymbolKind::Entry(BibtexEntryTypeCategory::String),
+ label: None,
+ full_range: string.syntax().text_range(),
+ selection_range: name.text_range(),
+ children: Vec::new(),
+ })
+ }
+
+ fn visit_entry(&self, entry: &bibtex::Entry) -> Option<Symbol> {
+ let ty = entry.type_token()?;
+ let key = entry.name_token()?;
+
+ let children = entry
+ .fields()
+ .filter_map(|field| self.visit_field(&field))
+ .collect();
+
+ let category = BibtexEntryType::find(&ty.text()[1..])
+ .map_or(BibtexEntryTypeCategory::Misc, |ty| ty.category);
+
+ Some(Symbol {
+ name: key.text().into(),
+ kind: SymbolKind::Entry(category),
+ label: None,
+ full_range: entry.syntax().text_range(),
+ selection_range: key.text_range(),
+ children,
+ })
+ }
+
+ fn visit_field(&self, field: &bibtex::Field) -> Option<Symbol> {
+ let name = field.name_token()?;
+ Some(Symbol::new_simple(
+ name.text().into(),
+ SymbolKind::Field,
+ field.syntax().text_range(),
+ name.text_range(),
+ ))
+ }
+}
diff --git a/support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__allowed_patterns.snap b/support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__allowed_patterns.snap
new file mode 100644
index 0000000000..e22ce2a01d
--- /dev/null
+++ b/support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__allowed_patterns.snap
@@ -0,0 +1,31 @@
+---
+source: crates/symbols/src/document/tests.rs
+expression: "document_symbols(&fixture.workspace, document)"
+---
+[
+ Symbol {
+ name: "Enumerate",
+ kind: Enumeration,
+ label: None,
+ full_range: 98..159,
+ selection_range: 98..159,
+ children: [
+ Symbol {
+ name: "Item",
+ kind: EnumerationItem,
+ label: None,
+ full_range: 120..129,
+ selection_range: 120..129,
+ children: [],
+ },
+ Symbol {
+ name: "Item",
+ kind: EnumerationItem,
+ label: None,
+ full_range: 134..143,
+ selection_range: 134..143,
+ children: [],
+ },
+ ],
+ },
+]
diff --git a/support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__enumerate.snap b/support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__enumerate.snap
new file mode 100644
index 0000000000..f94828c362
--- /dev/null
+++ b/support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__enumerate.snap
@@ -0,0 +1,62 @@
+---
+source: crates/symbols/src/document/tests.rs
+expression: "document_symbols(&fixture.workspace, document)"
+---
+[
+ Symbol {
+ name: "Enumerate",
+ kind: Enumeration,
+ label: None,
+ full_range: 43..184,
+ selection_range: 43..184,
+ children: [
+ Symbol {
+ name: "1",
+ kind: EnumerationItem,
+ label: Some(
+ Span(
+ "it:foo",
+ 70..84,
+ ),
+ ),
+ full_range: 65..88,
+ selection_range: 70..84,
+ children: [],
+ },
+ Symbol {
+ name: "Item",
+ kind: EnumerationItem,
+ label: Some(
+ Span(
+ "it:bar",
+ 98..112,
+ ),
+ ),
+ full_range: 93..116,
+ selection_range: 98..112,
+ children: [],
+ },
+ Symbol {
+ name: "Baz",
+ kind: EnumerationItem,
+ label: None,
+ full_range: 121..135,
+ selection_range: 121..135,
+ children: [],
+ },
+ Symbol {
+ name: "2",
+ kind: EnumerationItem,
+ label: Some(
+ Span(
+ "it:qux",
+ 150..164,
+ ),
+ ),
+ full_range: 140..168,
+ selection_range: 150..164,
+ children: [],
+ },
+ ],
+ },
+]
diff --git a/support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__equation.snap b/support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__equation.snap
new file mode 100644
index 0000000000..0e284c1d71
--- /dev/null
+++ b/support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__equation.snap
@@ -0,0 +1,40 @@
+---
+source: crates/symbols/src/document/tests.rs
+expression: "document_symbols(&fixture.workspace, document)"
+---
+[
+ Symbol {
+ name: "Equation (1)",
+ kind: Equation,
+ label: Some(
+ Span(
+ "eq:foo",
+ 59..73,
+ ),
+ ),
+ full_range: 43..96,
+ selection_range: 59..73,
+ children: [],
+ },
+ Symbol {
+ name: "Equation",
+ kind: Equation,
+ label: Some(
+ Span(
+ "eq:bar",
+ 114..128,
+ ),
+ ),
+ full_range: 98..151,
+ selection_range: 114..128,
+ children: [],
+ },
+ Symbol {
+ name: "Equation",
+ kind: Equation,
+ label: None,
+ full_range: 153..192,
+ selection_range: 153..192,
+ children: [],
+ },
+]
diff --git a/support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__float.snap b/support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__float.snap
new file mode 100644
index 0000000000..e9bd711c40
--- /dev/null
+++ b/support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__float.snap
@@ -0,0 +1,40 @@
+---
+source: crates/symbols/src/document/tests.rs
+expression: "document_symbols(&fixture.workspace, document)"
+---
+[
+ Symbol {
+ name: "Figure 1: Foo",
+ kind: Figure,
+ label: Some(
+ Span(
+ "fig:foo",
+ 83..98,
+ ),
+ ),
+ full_range: 43..111,
+ selection_range: 83..98,
+ children: [],
+ },
+ Symbol {
+ name: "Figure: Bar",
+ kind: Figure,
+ label: Some(
+ Span(
+ "fig:bar",
+ 153..168,
+ ),
+ ),
+ full_range: 113..181,
+ selection_range: 153..168,
+ children: [],
+ },
+ Symbol {
+ name: "Figure: Baz",
+ kind: Figure,
+ label: None,
+ full_range: 183..236,
+ selection_range: 183..236,
+ children: [],
+ },
+]
diff --git a/support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__ignored_patterns.snap b/support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__ignored_patterns.snap
new file mode 100644
index 0000000000..044e2ca531
--- /dev/null
+++ b/support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__ignored_patterns.snap
@@ -0,0 +1,19 @@
+---
+source: crates/symbols/src/document/tests.rs
+expression: "document_symbols(&fixture.workspace, document)"
+---
+[
+ Symbol {
+ name: "Equation",
+ kind: Equation,
+ label: Some(
+ Span(
+ "eq:foo",
+ 59..73,
+ ),
+ ),
+ full_range: 43..96,
+ selection_range: 59..73,
+ children: [],
+ },
+]
diff --git a/support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__section.snap b/support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__section.snap
new file mode 100644
index 0000000000..6cd44939cf
--- /dev/null
+++ b/support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__section.snap
@@ -0,0 +1,41 @@
+---
+source: crates/symbols/src/document/tests.rs
+expression: "document_symbols(&fixture.workspace, document)"
+---
+[
+ Symbol {
+ name: "Foo",
+ kind: Section,
+ label: None,
+ full_range: 43..56,
+ selection_range: 43..56,
+ children: [],
+ },
+ Symbol {
+ name: "2 Bar",
+ kind: Section,
+ label: Some(
+ Span(
+ "sec:bar",
+ 71..86,
+ ),
+ ),
+ full_range: 58..119,
+ selection_range: 71..86,
+ children: [
+ Symbol {
+ name: "Baz",
+ kind: Section,
+ label: Some(
+ Span(
+ "sec:baz",
+ 104..119,
+ ),
+ ),
+ full_range: 88..119,
+ selection_range: 104..119,
+ children: [],
+ },
+ ],
+ },
+]
diff --git a/support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__theorem.snap b/support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__theorem.snap
new file mode 100644
index 0000000000..9d897532b1
--- /dev/null
+++ b/support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__theorem.snap
@@ -0,0 +1,53 @@
+---
+source: crates/symbols/src/document/tests.rs
+expression: "document_symbols(&fixture.workspace, document)"
+---
+[
+ Symbol {
+ name: "Lemma 1 (Foo)",
+ kind: Theorem,
+ label: Some(
+ Span(
+ "thm:foo",
+ 107..122,
+ ),
+ ),
+ full_range: 89..142,
+ selection_range: 107..122,
+ children: [],
+ },
+ Symbol {
+ name: "Lemma 2",
+ kind: Theorem,
+ label: Some(
+ Span(
+ "thm:bar",
+ 157..172,
+ ),
+ ),
+ full_range: 144..192,
+ selection_range: 157..172,
+ children: [],
+ },
+ Symbol {
+ name: "Lemma",
+ kind: Theorem,
+ label: Some(
+ Span(
+ "thm:baz",
+ 207..222,
+ ),
+ ),
+ full_range: 194..242,
+ selection_range: 207..222,
+ children: [],
+ },
+ Symbol {
+ name: "Lemma (Qux)",
+ kind: Theorem,
+ label: None,
+ full_range: 244..282,
+ selection_range: 244..282,
+ children: [],
+ },
+]
diff --git a/support/texlab/crates/symbols/src/document/tests.rs b/support/texlab/crates/symbols/src/document/tests.rs
new file mode 100644
index 0000000000..dcb3c17a7c
--- /dev/null
+++ b/support/texlab/crates/symbols/src/document/tests.rs
@@ -0,0 +1,250 @@
+use base_db::{Config, SymbolConfig};
+use insta::assert_debug_snapshot;
+use regex::Regex;
+use test_utils::fixture::Fixture;
+
+use crate::document_symbols;
+
+#[test]
+fn test_enumerate() {
+ let fixture = Fixture::parse(
+ r#"
+%! main.tex
+\documentclass{article}
+
+\begin{document}
+
+\begin{enumerate}
+ \item\label{it:foo} Foo
+ \item\label{it:bar} Bar
+ \item[Baz] Baz
+ \item[Qux]\label{it:qux} Qux
+\end{enumerate}
+
+\end{document}
+
+%! main.aux
+\relax
+\newlabel{it:foo}{{1}{1}}
+\newlabel{it:qux}{{2}{1}}"#,
+ );
+
+ let document = fixture.workspace.lookup(&fixture.documents[0].uri).unwrap();
+ assert_debug_snapshot!(document_symbols(&fixture.workspace, document));
+}
+
+#[test]
+fn test_equation() {
+ let fixture = Fixture::parse(
+ r#"
+%! main.tex
+\documentclass{article}
+
+\begin{document}
+
+\begin{equation}\label{eq:foo}
+ Foo
+\end{equation}
+
+\begin{equation}\label{eq:bar}
+ Bar
+\end{equation}
+
+\begin{equation}
+ Baz
+\end{equation}
+
+\end{document}
+
+%! main.aux
+\relax
+\newlabel{eq:foo}{{1}{1}}"#,
+ );
+
+ let document = fixture.workspace.lookup(&fixture.documents[0].uri).unwrap();
+ assert_debug_snapshot!(document_symbols(&fixture.workspace, document));
+}
+
+#[test]
+fn test_float() {
+ let fixture = Fixture::parse(
+ r#"
+%! main.tex
+\documentclass{article}
+
+\begin{document}
+
+\begin{figure}
+ Foo
+ \caption{Foo}\label{fig:foo}
+\end{figure}
+
+\begin{figure}
+ Bar
+ \caption{Bar}\label{fig:bar}
+\end{figure}
+
+\begin{figure}
+ Baz
+ \caption{Baz}
+\end{figure}
+
+\begin{figure}
+ Qux
+\end{figure}
+
+\end{document}
+|
+
+%! main.aux
+\relax
+\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Foo}}{1}\protected@file@percent }
+\newlabel{fig:foo}{{1}{1}}
+\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Bar}}{1}\protected@file@percent }
+\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces Baz}}{1}\protected@file@percent }"#,
+ );
+
+ let document = fixture.workspace.lookup(&fixture.documents[0].uri).unwrap();
+ assert_debug_snapshot!(document_symbols(&fixture.workspace, document));
+}
+
+#[test]
+fn test_section() {
+ let fixture = Fixture::parse(
+ r#"
+%! main.tex
+\documentclass{article}
+
+\begin{document}
+
+\section{Foo}
+
+\section{Bar}\label{sec:bar}
+
+\subsection{Baz}\label{sec:baz}
+
+\end{document}
+|
+
+%! main.aux
+\relax
+\@writefile{toc}{\contentsline {section}{\numberline {1}Foo}{1}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {2}Bar}{1}\protected@file@percent }
+\newlabel{sec:bar}{{2}{1}}"#,
+ );
+
+ let document = fixture.workspace.lookup(&fixture.documents[0].uri).unwrap();
+ assert_debug_snapshot!(document_symbols(&fixture.workspace, document));
+}
+
+#[test]
+fn test_theorem() {
+ let fixture = Fixture::parse(
+ r#"
+%! main.tex
+\documentclass{article}
+\usepackage{amsthm}
+\newtheorem{lemma}{Lemma}
+
+\begin{document}
+
+\begin{lemma}[Foo]\label{thm:foo}
+ Foo
+\end{lemma}
+
+\begin{lemma}\label{thm:bar}
+ Bar
+\end{lemma}
+
+\begin{lemma}\label{thm:baz}
+ Baz
+\end{lemma}
+
+\begin{lemma}[Qux]
+ Qux
+\end{lemma}
+
+\end{document}
+|
+
+%! main.aux
+\relax
+\newlabel{thm:foo}{{1}{1}}
+\newlabel{thm:bar}{{2}{1}}"#,
+ );
+
+ let document = fixture.workspace.lookup(&fixture.documents[0].uri).unwrap();
+ assert_debug_snapshot!(document_symbols(&fixture.workspace, document));
+}
+
+#[test]
+fn test_allowed_patterns() {
+ let mut fixture = Fixture::parse(
+ r#"
+%! main.tex
+\documentclass{article}
+
+\begin{document}
+
+\begin{equation}\label{eq:foo}
+ Foo
+\end{equation}
+
+\begin{enumerate}
+ \item Foo
+ \item Bar
+\end{enumerate}
+
+\end{document}"#,
+ );
+
+ fixture.workspace.set_config(Config {
+ symbols: SymbolConfig {
+ allowed_patterns: vec![
+ Regex::new("Item").unwrap(),
+ Regex::new("Enumerate").unwrap(),
+ ],
+ ignored_patterns: Vec::new(),
+ },
+ ..Config::default()
+ });
+
+ let document = fixture.workspace.lookup(&fixture.documents[0].uri).unwrap();
+ assert_debug_snapshot!(document_symbols(&fixture.workspace, document));
+}
+
+#[test]
+fn test_ignored_patterns() {
+ let mut fixture = Fixture::parse(
+ r#"
+%! main.tex
+\documentclass{article}
+
+\begin{document}
+
+\begin{equation}\label{eq:foo}
+ Foo
+\end{equation}
+
+\begin{enumerate}
+ \item Foo
+ \item Bar
+\end{enumerate}
+
+\end{document}"#,
+ );
+
+ fixture.workspace.set_config(Config {
+ symbols: SymbolConfig {
+ ignored_patterns: vec![
+ Regex::new("Item").unwrap(),
+ Regex::new("Enumerate").unwrap(),
+ ],
+ allowed_patterns: Vec::new(),
+ },
+ ..Config::default()
+ });
+
+ let document = fixture.workspace.lookup(&fixture.documents[0].uri).unwrap();
+ assert_debug_snapshot!(document_symbols(&fixture.workspace, document));
+}
diff --git a/support/texlab/crates/symbols/src/document/tex.rs b/support/texlab/crates/symbols/src/document/tex.rs
new file mode 100644
index 0000000000..55612ee11d
--- /dev/null
+++ b/support/texlab/crates/symbols/src/document/tex.rs
@@ -0,0 +1,257 @@
+use std::str::FromStr;
+
+use base_db::{semantics::Span, util::FloatKind, Config, Project};
+use rowan::ast::AstNode;
+use syntax::latex::{self, HasBrack, HasCurly, LatexLanguage};
+use titlecase::titlecase;
+
+use crate::{Symbol, SymbolKind};
+
+#[derive(Debug)]
+pub struct SymbolBuilder<'a> {
+ project: &'a Project<'a>,
+ config: &'a Config,
+}
+
+impl<'a> SymbolBuilder<'a> {
+ pub fn new(project: &'a Project<'a>, config: &'a Config) -> Self {
+ Self { project, config }
+ }
+
+ pub fn visit(&self, node: &latex::SyntaxNode) -> Vec<Symbol> {
+ let symbol = if let Some(section) = latex::Section::cast(node.clone()) {
+ self.visit_section(&section)
+ } else if let Some(enum_item) = latex::EnumItem::cast(node.clone()) {
+ self.visit_enum_item(&enum_item)
+ } else if let Some(equation) = latex::Equation::cast(node.clone()) {
+ self.visit_equation(&equation)
+ } else if let Some(environment) = latex::Environment::cast(node.clone()) {
+ environment.begin().and_then(|begin| {
+ let name = begin.name()?.key()?.to_string();
+ if self.config.syntax.math_environments.contains(&name) {
+ self.visit_equation(&environment)
+ } else if self.config.syntax.enum_environments.contains(&name) {
+ self.visit_enumeration(&environment, &name)
+ } else if let Ok(float_kind) = FloatKind::from_str(&name) {
+ self.visit_float(&environment, float_kind)
+ } else {
+ self.visit_theorem(&environment, &name)
+ }
+ })
+ } else {
+ None
+ };
+
+ match symbol {
+ Some(mut parent) => {
+ for child in node.children() {
+ parent.children.append(&mut self.visit(&child));
+ }
+
+ vec![parent]
+ }
+ None => {
+ let mut symbols = Vec::new();
+ for child in node.children() {
+ symbols.append(&mut self.visit(&child));
+ }
+
+ symbols
+ }
+ }
+ }
+
+ fn visit_section(&self, section: &latex::Section) -> Option<Symbol> {
+ let range = latex::small_range(section);
+ let group = section.name()?;
+ let group_text = group.content_text()?;
+ let kind = SymbolKind::Section;
+
+ let symbol = match self.find_label(section.syntax()) {
+ Some(label) => {
+ let name = match self.find_label_number(&label.text) {
+ Some(number) => format!("{number} {group_text}"),
+ None => group_text,
+ };
+
+ Symbol::new_label(name, kind, range, label)
+ }
+ None => Symbol::new_simple(group_text, kind, range, range),
+ };
+
+ Some(symbol)
+ }
+
+ fn visit_enum_item(&self, enum_item: &latex::EnumItem) -> Option<Symbol> {
+ let enum_envs = &self.config.syntax.enum_environments;
+ if !enum_item
+ .syntax()
+ .ancestors()
+ .filter_map(latex::Environment::cast)
+ .filter_map(|environment| environment.begin())
+ .filter_map(|begin| begin.name())
+ .filter_map(|name| name.key())
+ .any(|name| enum_envs.contains(&name.to_string()))
+ {
+ return None;
+ }
+
+ let range = latex::small_range(enum_item);
+ let kind = SymbolKind::EnumerationItem;
+ let name = enum_item
+ .label()
+ .and_then(|label| label.content_text())
+ .unwrap_or_else(|| "Item".into());
+
+ let symbol = match self.find_label(enum_item.syntax()) {
+ Some(label) => {
+ let name = self
+ .find_label_number(&label.text)
+ .map_or_else(|| name.clone(), String::from);
+
+ Symbol::new_label(name, kind, range, label)
+ }
+ None => Symbol::new_simple(name, kind, range, range),
+ };
+
+ Some(symbol)
+ }
+
+ fn visit_theorem(&self, environment: &latex::Environment, name: &str) -> Option<Symbol> {
+ let heading = self
+ .project
+ .documents
+ .iter()
+ .filter_map(|document| document.data.as_tex())
+ .flat_map(|data| data.semantics.theorem_definitions.iter())
+ .find(|theorem| theorem.name.text == name)
+ .map(|theorem| theorem.heading.as_str())?;
+
+ let options = environment.begin().and_then(|begin| begin.options());
+ let caption = options.and_then(|options| options.content_text());
+ let range = latex::small_range(environment);
+ let kind = SymbolKind::Theorem;
+
+ let symbol = match self.find_label(environment.syntax()) {
+ Some(label) => {
+ let name = match (self.find_label_number(&label.text), caption) {
+ (Some(number), Some(caption)) => {
+ format!("{heading} {number} ({caption})")
+ }
+ (Some(number), None) => format!("{heading} {number}"),
+ (None, Some(caption)) => format!("{heading} ({caption})"),
+ (None, None) => heading.into(),
+ };
+
+ Symbol::new_label(name, kind, range, label)
+ }
+ None => {
+ let name = caption.map_or_else(
+ || heading.into(),
+ |caption| format!("{heading} ({caption})"),
+ );
+
+ Symbol::new_simple(name, kind, range, range)
+ }
+ };
+
+ Some(symbol)
+ }
+
+ fn visit_float(
+ &self,
+ environment: &latex::Environment,
+ float_kind: FloatKind,
+ ) -> Option<Symbol> {
+ let range = latex::small_range(environment);
+
+ let (float_kind, symbol_kind) = match float_kind {
+ FloatKind::Algorithm => ("Algorithm", SymbolKind::Algorithm),
+ FloatKind::Figure => ("Figure", SymbolKind::Figure),
+ FloatKind::Listing => ("Listing", SymbolKind::Listing),
+ FloatKind::Table => ("Table", SymbolKind::Table),
+ };
+
+ let caption = environment
+ .syntax()
+ .children()
+ .filter_map(latex::Caption::cast)
+ .find_map(|node| node.long())
+ .and_then(|node| node.content_text())?;
+
+ let symbol = match self.find_label(environment.syntax()) {
+ Some(label) => {
+ let name = match self.find_label_number(&label.text) {
+ Some(number) => format!("{float_kind} {number}: {caption}"),
+ None => format!("{float_kind}: {caption}"),
+ };
+
+ Symbol::new_label(name, symbol_kind, range, label)
+ }
+ None => {
+ let name = format!("{float_kind}: {caption}");
+ Symbol::new_simple(name, symbol_kind, range, range)
+ }
+ };
+
+ Some(symbol)
+ }
+
+ fn visit_enumeration(
+ &self,
+ environment: &latex::Environment,
+ environment_name: &str,
+ ) -> Option<Symbol> {
+ let range = latex::small_range(environment);
+
+ let kind = SymbolKind::Enumeration;
+ let name = titlecase(environment_name);
+ let symbol = match self.find_label(environment.syntax()) {
+ Some(label) => {
+ let name = match self.find_label_number(&label.text) {
+ Some(number) => format!("{name} {number}"),
+ None => name,
+ };
+
+ Symbol::new_label(name, kind, range, label)
+ }
+ None => Symbol::new_simple(name, kind, range, range),
+ };
+
+ Some(symbol)
+ }
+
+ fn visit_equation(&self, node: &dyn AstNode<Language = LatexLanguage>) -> Option<Symbol> {
+ let range = latex::small_range(node);
+ let kind = SymbolKind::Equation;
+ let symbol = match self.find_label(node.syntax()) {
+ Some(label) => {
+ let name = match self.find_label_number(&label.text) {
+ Some(number) => format!("Equation ({number})"),
+ None => "Equation".into(),
+ };
+
+ Symbol::new_label(name, kind, range, label)
+ }
+ None => Symbol::new_simple("Equation".into(), kind, range, range),
+ };
+
+ Some(symbol)
+ }
+
+ fn find_label(&self, parent: &latex::SyntaxNode) -> Option<Span> {
+ let label = parent.children().find_map(latex::LabelDefinition::cast)?;
+ let range = latex::small_range(&label);
+ let text = label.name()?.key()?.to_string();
+ Some(Span { text, range })
+ }
+
+ fn find_label_number(&self, name: &str) -> Option<&str> {
+ self.project
+ .documents
+ .iter()
+ .filter_map(|document| document.data.as_aux())
+ .find_map(|data| data.semantics.label_numbers.get(name))
+ .map(String::as_str)
+ }
+}
diff --git a/support/texlab/crates/symbols/src/lib.rs b/support/texlab/crates/symbols/src/lib.rs
new file mode 100644
index 0000000000..99822a1993
--- /dev/null
+++ b/support/texlab/crates/symbols/src/lib.rs
@@ -0,0 +1,9 @@
+mod document;
+mod types;
+mod workspace;
+
+pub use self::{
+ document::document_symbols,
+ types::{Symbol, SymbolKind, SymbolLocation},
+ workspace::workspace_symbols,
+};
diff --git a/support/texlab/crates/symbols/src/types.rs b/support/texlab/crates/symbols/src/types.rs
new file mode 100644
index 0000000000..d78f9af200
--- /dev/null
+++ b/support/texlab/crates/symbols/src/types.rs
@@ -0,0 +1,89 @@
+use base_db::{data::BibtexEntryTypeCategory, semantics::Span, Document};
+use rowan::TextRange;
+
+#[derive(Debug, PartialEq, Eq, Clone, Copy)]
+pub enum SymbolKind {
+ Section,
+ Figure,
+ Algorithm,
+ Table,
+ Listing,
+ Enumeration,
+ EnumerationItem,
+ Theorem,
+ Equation,
+ Entry(BibtexEntryTypeCategory),
+ Field,
+}
+
+#[derive(Debug, PartialEq, Eq, Clone)]
+pub struct Symbol {
+ pub name: String,
+ pub kind: SymbolKind,
+ pub label: Option<Span>,
+ pub full_range: TextRange,
+ pub selection_range: TextRange,
+ pub children: Vec<Symbol>,
+}
+
+impl Symbol {
+ pub fn new_simple(
+ name: String,
+ kind: SymbolKind,
+ full_range: TextRange,
+ selection_range: TextRange,
+ ) -> Self {
+ Self {
+ name,
+ kind,
+ label: None,
+ full_range,
+ selection_range,
+ children: Vec::new(),
+ }
+ }
+
+ pub fn new_label(name: String, kind: SymbolKind, range: TextRange, label: Span) -> Self {
+ Self {
+ name,
+ kind,
+ full_range: range,
+ selection_range: label.range,
+ label: Some(label),
+ children: Vec::new(),
+ }
+ }
+
+ pub fn keywords<'a>(&'a self) -> Vec<&'a str> {
+ match self.kind {
+ SymbolKind::Section => vec![&self.name, "latex", "section"],
+ SymbolKind::Figure => vec![&self.name, "latex", "float", "figure"],
+ SymbolKind::Algorithm => vec![&self.name, "latex", "float", "algorithm"],
+ SymbolKind::Table => vec![&self.name, "latex", "float", "table"],
+ SymbolKind::Listing => vec![&self.name, "latex", "float", "listing"],
+ SymbolKind::Enumeration => vec![&self.name, "latex", "enumeration"],
+ SymbolKind::EnumerationItem => vec![&self.name, "latex", "enumeration", "item"],
+ SymbolKind::Theorem => vec![&self.name, "latex", "math"],
+ SymbolKind::Equation => vec![&self.name, "latex", "math", "equation"],
+ SymbolKind::Entry(BibtexEntryTypeCategory::String) => {
+ vec![&self.name, "bibtex", "string"]
+ }
+ SymbolKind::Entry(_) => vec![&self.name, "bibtex", "entry"],
+ SymbolKind::Field => vec![&self.name, "bibtex", "field"],
+ }
+ }
+
+ pub fn flatten(mut self, buffer: &mut Vec<Self>) {
+ for symbol in self.children.drain(..) {
+ symbol.flatten(buffer);
+ }
+
+ buffer.push(self);
+ }
+}
+
+#[derive(Debug)]
+pub struct SymbolLocation<'a> {
+ pub document: &'a Document,
+ pub symbol: Symbol,
+}
diff --git a/support/texlab/crates/symbols/src/workspace.rs b/support/texlab/crates/symbols/src/workspace.rs
new file mode 100644
index 0000000000..ad9206b2c5
--- /dev/null
+++ b/support/texlab/crates/symbols/src/workspace.rs
@@ -0,0 +1,47 @@
+mod sort;
+
+use std::cmp::Reverse;
+
+use base_db::Workspace;
+
+use crate::{document_symbols, types::SymbolLocation, SymbolKind};
+
+use self::sort::ProjectOrdering;
+
+pub fn workspace_symbols<'a>(workspace: &'a Workspace, query: &str) -> Vec<SymbolLocation<'a>> {
+ let query = query.split_whitespace().collect::<Vec<_>>();
+ let mut results = Vec::new();
+
+ for document in workspace.iter() {
+ let mut buf = Vec::new();
+ let symbols = document_symbols(workspace, document);
+ for symbol in symbols {
+ symbol.flatten(&mut buf);
+ }
+
+ for symbol in buf
+ .into_iter()
+ .filter(|symbol| symbol.kind != SymbolKind::Field)
+ {
+ let keywords = symbol.keywords();
+ if query.is_empty()
+ || itertools::iproduct!(keywords.iter(), query.iter())
+ .any(|(keyword, query)| keyword.eq_ignore_ascii_case(query))
+ {
+ results.push(SymbolLocation { document, symbol });
+ }
+ }
+ }
+
+ let ordering = ProjectOrdering::from(workspace);
+ results.sort_by_key(|item| {
+ let index = ordering.get(&item.document.uri);
+ let range = item.symbol.full_range;
+ (index, range.start(), Reverse(range.end()))
+ });
+
+ results
+}
+
+#[cfg(test)]
+mod tests;
diff --git a/support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_bibtex.snap b/support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_bibtex.snap
new file mode 100644
index 0000000000..5bd00182b0
--- /dev/null
+++ b/support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_bibtex.snap
@@ -0,0 +1,36 @@
+---
+source: crates/symbols/src/workspace/tests.rs
+expression: "workspace_symbols(&fixture.workspace, \"bibtex\")"
+---
+[
+ SymbolLocation {
+ document: Document(
+ "file:///texlab/main.bib",
+ ),
+ symbol: Symbol {
+ name: "foo",
+ kind: Entry(
+ Article,
+ ),
+ label: None,
+ full_range: 0..14,
+ selection_range: 9..12,
+ children: [],
+ },
+ },
+ SymbolLocation {
+ document: Document(
+ "file:///texlab/main.bib",
+ ),
+ symbol: Symbol {
+ name: "bar",
+ kind: Entry(
+ String,
+ ),
+ label: None,
+ full_range: 16..36,
+ selection_range: 24..27,
+ children: [],
+ },
+ },
+]
diff --git a/support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_type_figure.snap b/support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_type_figure.snap
new file mode 100644
index 0000000000..412e7c14d2
--- /dev/null
+++ b/support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_type_figure.snap
@@ -0,0 +1,24 @@
+---
+source: crates/symbols/src/workspace/tests.rs
+expression: "workspace_symbols(&fixture.workspace, \"figure\")"
+---
+[
+ SymbolLocation {
+ document: Document(
+ "file:///texlab/main.tex",
+ ),
+ symbol: Symbol {
+ name: "Figure 1: Bar",
+ kind: Figure,
+ label: Some(
+ Span(
+ "fig:bar",
+ 265..280,
+ ),
+ ),
+ full_range: 220..293,
+ selection_range: 265..280,
+ children: [],
+ },
+ },
+]
diff --git a/support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_type_item.snap b/support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_type_item.snap
new file mode 100644
index 0000000000..993d046d3d
--- /dev/null
+++ b/support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_type_item.snap
@@ -0,0 +1,60 @@
+---
+source: crates/symbols/src/workspace/tests.rs
+expression: "workspace_symbols(&fixture.workspace, \"item\")"
+---
+[
+ SymbolLocation {
+ document: Document(
+ "file:///texlab/main.tex",
+ ),
+ symbol: Symbol {
+ name: "1",
+ kind: EnumerationItem,
+ label: Some(
+ Span(
+ "itm:foo",
+ 352..367,
+ ),
+ ),
+ full_range: 347..371,
+ selection_range: 352..367,
+ children: [],
+ },
+ },
+ SymbolLocation {
+ document: Document(
+ "file:///texlab/main.tex",
+ ),
+ symbol: Symbol {
+ name: "2",
+ kind: EnumerationItem,
+ label: Some(
+ Span(
+ "itm:bar",
+ 381..396,
+ ),
+ ),
+ full_range: 376..400,
+ selection_range: 381..396,
+ children: [],
+ },
+ },
+ SymbolLocation {
+ document: Document(
+ "file:///texlab/main.tex",
+ ),
+ symbol: Symbol {
+ name: "3",
+ kind: EnumerationItem,
+ label: Some(
+ Span(
+ "itm:baz",
+ 410..425,
+ ),
+ ),
+ full_range: 405..429,
+ selection_range: 410..425,
+ children: [],
+ },
+ },
+]
diff --git a/support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_type_math.snap b/support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_type_math.snap
new file mode 100644
index 0000000000..60a002fba5
--- /dev/null
+++ b/support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_type_math.snap
@@ -0,0 +1,42 @@
+---
+source: crates/symbols/src/workspace/tests.rs
+expression: "workspace_symbols(&fixture.workspace, \"math\")"
+---
+[
+ SymbolLocation {
+ document: Document(
+ "file:///texlab/main.tex",
+ ),
+ symbol: Symbol {
+ name: "Equation (1)",
+ kind: Equation,
+ label: Some(
+ Span(
+ "eq:foo",
+ 151..165,
+ ),
+ ),
+ full_range: 135..188,
+ selection_range: 151..165,
+ children: [],
+ },
+ },
+ SymbolLocation {
+ document: Document(
+ "file:///texlab/main.tex",
+ ),
+ symbol: Symbol {
+ name: "Lemma 1 (Qux)",
+ kind: Theorem,
+ label: Some(
+ Span(
+ "thm:qux",
+ 522..537,
+ ),
+ ),
+ full_range: 504..557,
+ selection_range: 522..537,
+ children: [],
+ },
+ },
+]
diff --git a/support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_type_section.snap b/support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_type_section.snap
new file mode 100644
index 0000000000..4cf0cb5fe2
--- /dev/null
+++ b/support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_type_section.snap
@@ -0,0 +1,78 @@
+---
+source: crates/symbols/src/workspace/tests.rs
+expression: "workspace_symbols(&fixture.workspace, \"section\")"
+---
+[
+ SymbolLocation {
+ document: Document(
+ "file:///texlab/main.tex",
+ ),
+ symbol: Symbol {
+ name: "1 Foo",
+ kind: Section,
+ label: Some(
+ Span(
+ "sec:foo",
+ 118..133,
+ ),
+ ),
+ full_range: 105..188,
+ selection_range: 118..133,
+ children: [],
+ },
+ },
+ SymbolLocation {
+ document: Document(
+ "file:///texlab/main.tex",
+ ),
+ symbol: Symbol {
+ name: "2 Bar",
+ kind: Section,
+ label: Some(
+ Span(
+ "sec:bar",
+ 203..218,
+ ),
+ ),
+ full_range: 190..293,
+ selection_range: 203..218,
+ children: [],
+ },
+ },
+ SymbolLocation {
+ document: Document(
+ "file:///texlab/main.tex",
+ ),
+ symbol: Symbol {
+ name: "3 Baz",
+ kind: Section,
+ label: Some(
+ Span(
+ "sec:baz",
+ 308..323,
+ ),
+ ),
+ full_range: 295..445,
+ selection_range: 308..323,
+ children: [],
+ },
+ },
+ SymbolLocation {
+ document: Document(
+ "file:///texlab/main.tex",
+ ),
+ symbol: Symbol {
+ name: "4 Qux",
+ kind: Section,
+ label: Some(
+ Span(
+ "sec:qux",
+ 460..475,
+ ),
+ ),
+ full_range: 447..557,
+ selection_range: 460..475,
+ children: [],
+ },
+ },
+]
diff --git a/support/texlab/crates/texlab/src/features/symbol/project_order.rs b/support/texlab/crates/symbols/src/workspace/sort.rs
index 9dfb146f2b..bc30728da9 100644
--- a/support/texlab/crates/texlab/src/features/symbol/project_order.rs
+++ b/support/texlab/crates/symbols/src/workspace/sort.rs
@@ -1,40 +1,38 @@
use base_db::{graph, Document, Workspace};
use itertools::Itertools;
-use lsp_types::Url;
+use url::Url;
#[derive(Debug, PartialEq, Eq, Clone)]
pub struct ProjectOrdering<'a> {
- ordering: Vec<&'a Document>,
+ inner: Vec<&'a Document>,
}
impl<'a> ProjectOrdering<'a> {
- pub fn new(workspace: &'a Workspace) -> Self {
- let ordering: Vec<_> = workspace
+ pub fn get(&self, uri: &Url) -> usize {
+ self.inner
+ .iter()
+ .position(|doc| doc.uri == *uri)
+ .unwrap_or(std::usize::MAX)
+ }
+}
+
+impl<'a> From<&'a Workspace> for ProjectOrdering<'a> {
+ fn from(workspace: &'a Workspace) -> Self {
+ let inner = workspace
.iter()
.filter(|document| {
- document
- .data
- .as_tex()
- .map_or(false, |data| data.semantics.can_be_root)
+ let data = document.data.as_tex();
+ data.map_or(false, |data| data.semantics.can_be_root)
})
.chain(workspace.iter())
.flat_map(|document| {
- graph::Graph::new(workspace, document)
- .preorder()
- .rev()
- .collect_vec()
+ let graph = graph::Graph::new(workspace, document);
+ graph.preorder().rev().collect_vec()
})
.unique()
- .collect();
+ .collect_vec();
- Self { ordering }
- }
-
- pub fn get(&self, uri: &Url) -> usize {
- self.ordering
- .iter()
- .position(|doc| doc.uri == *uri)
- .unwrap_or(std::usize::MAX)
+ Self { inner }
}
}
@@ -44,7 +42,7 @@ mod tests {
use distro::Language;
use rowan::TextSize;
- use super::*;
+ use super::{ProjectOrdering, Url, Workspace};
#[test]
fn test_no_cycles() {
@@ -78,7 +76,7 @@ mod tests {
TextSize::default(),
);
- let ordering = ProjectOrdering::new(&workspace);
+ let ordering = ProjectOrdering::from(&workspace);
assert_eq!(ordering.get(&a), 0);
assert_eq!(ordering.get(&b), 1);
assert_eq!(ordering.get(&c), 2);
@@ -99,6 +97,7 @@ mod tests {
Owner::Client,
TextSize::default(),
);
+
workspace.open(
b.clone(),
r#"\include{a}"#.to_string(),
@@ -106,6 +105,7 @@ mod tests {
Owner::Client,
TextSize::default(),
);
+
workspace.open(
c.clone(),
r#"\begin{documnent}\include{b}\end{document}"#.to_string(),
@@ -114,7 +114,7 @@ mod tests {
TextSize::default(),
);
- let ordering = ProjectOrdering::new(&workspace);
+ let ordering = ProjectOrdering::from(&workspace);
assert_eq!(ordering.get(&a), 0);
assert_eq!(ordering.get(&b), 1);
assert_eq!(ordering.get(&c), 2);
@@ -151,7 +151,7 @@ mod tests {
TextSize::default(),
);
- let ordering = ProjectOrdering::new(&workspace);
+ let ordering = ProjectOrdering::from(&workspace);
assert_ne!(ordering.get(&a), 0);
}
@@ -196,7 +196,7 @@ mod tests {
TextSize::default(),
);
- let ordering = ProjectOrdering::new(&workspace);
+ let ordering = ProjectOrdering::from(&workspace);
assert!(ordering.get(&b) < ordering.get(&a));
assert!(ordering.get(&c) < ordering.get(&d));
}
diff --git a/support/texlab/crates/symbols/src/workspace/tests.rs b/support/texlab/crates/symbols/src/workspace/tests.rs
new file mode 100644
index 0000000000..1231be869d
--- /dev/null
+++ b/support/texlab/crates/symbols/src/workspace/tests.rs
@@ -0,0 +1,99 @@
+use insta::assert_debug_snapshot;
+use test_utils::fixture::Fixture;
+
+use crate::workspace_symbols;
+
+static FIXTURE: &str = r#"
+%! main.tex
+\documentclass{article}
+\usepackage{caption}
+\usepackage{amsmath}
+\usepackage{amsthm}
+
+\begin{document}
+
+\section{Foo}\label{sec:foo}
+
+\begin{equation}\label{eq:foo}
+ Foo
+\end{equation}
+
+\section{Bar}\label{sec:bar}
+
+\begin{figure}
+ Bar
+ \caption{Bar}
+ \label{fig:bar}
+\end{figure}
+
+\section{Baz}\label{sec:baz}
+
+\begin{enumerate}
+ \item\label{itm:foo} Foo
+ \item\label{itm:bar} Bar
+ \item\label{itm:baz} Baz
+\end{enumerate}
+
+\section{Qux}\label{sec:qux}
+
+\newtheorem{lemma}{Lemma}
+
+\begin{lemma}[Qux]\label{thm:qux}
+ Qux
+\end{lemma}
+
+\end{document}
+
+%! main.aux
+\relax
+\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Bar\relax }}{1}\protected@file@percent }
+\providecommand*\caption@xref[2]{\@setref\relax\@undefined{#1}}
+\newlabel{fig:bar}{{1}{1}}
+\@writefile{toc}{\contentsline {section}{\numberline {1}Foo}{1}\protected@file@percent }
+\newlabel{sec:foo}{{1}{1}}
+\newlabel{eq:foo}{{1}{1}}
+\@writefile{toc}{\contentsline {section}{\numberline {2}Bar}{1}\protected@file@percent }
+\newlabel{sec:bar}{{2}{1}}
+\@writefile{toc}{\contentsline {section}{\numberline {3}Baz}{1}\protected@file@percent }
+\newlabel{sec:baz}{{3}{1}}
+\newlabel{itm:foo}{{1}{1}}
+\newlabel{itm:bar}{{2}{1}}
+\newlabel{itm:baz}{{3}{1}}
+\@writefile{toc}{\contentsline {section}{\numberline {4}Qux}{1}\protected@file@percent }
+\newlabel{sec:qux}{{4}{1}}
+\newlabel{thm:qux}{{1}{1}}
+
+%! main.bib
+@article{foo,}
+
+@string{bar = "bar"}"#;
+
+#[test]
+fn filter_type_section() {
+ let fixture = Fixture::parse(FIXTURE);
+ assert_debug_snapshot!(workspace_symbols(&fixture.workspace, "section"));
+}
+
+#[test]
+fn filter_type_figure() {
+ let fixture = Fixture::parse(FIXTURE);
+ assert_debug_snapshot!(workspace_symbols(&fixture.workspace, "figure"));
+}
+
+#[test]
+fn filter_type_item() {
+ let fixture = Fixture::parse(FIXTURE);
+ assert_debug_snapshot!(workspace_symbols(&fixture.workspace, "item"));
+}
+
+#[test]
+fn filter_type_math() {
+ let fixture = Fixture::parse(FIXTURE);
+ assert_debug_snapshot!(workspace_symbols(&fixture.workspace, "math"));
+}
+
+#[test]
+fn filter_bibtex() {
+ let fixture = Fixture::parse(FIXTURE);
+ assert_debug_snapshot!(workspace_symbols(&fixture.workspace, "bibtex"));
+}
diff --git a/support/texlab/crates/syntax/src/latex/cst.rs b/support/texlab/crates/syntax/src/latex/cst.rs
index 767aa50ecc..be64557886 100644
--- a/support/texlab/crates/syntax/src/latex/cst.rs
+++ b/support/texlab/crates/syntax/src/latex/cst.rs
@@ -539,7 +539,7 @@ impl TheoremDefinition {
self.syntax().children().find_map(CurlyGroupWord::cast)
}
- pub fn description(&self) -> Option<CurlyGroup> {
+ pub fn heading(&self) -> Option<CurlyGroup> {
self.syntax().children().find_map(CurlyGroup::cast)
}
}
diff --git a/support/texlab/crates/base-feature/Cargo.toml b/support/texlab/crates/test-utils/Cargo.toml
index efd9247f78..4ce7b1a5ca 100644
--- a/support/texlab/crates/base-feature/Cargo.toml
+++ b/support/texlab/crates/test-utils/Cargo.toml
@@ -1,5 +1,5 @@
[package]
-name = "base-feature"
+name = "test-utils"
version = "0.0.0"
license.workspace = true
authors.workspace = true
@@ -7,7 +7,10 @@ edition.workspace = true
rust-version.workspace = true
[dependencies]
-rustc-hash = "1.1.0"
+base-db = { path = "../base-db" }
+distro = { path = "../distro" }
+rowan = "0.15.11"
+syntax = { path = "../syntax" }
url = "2.3.1"
[lib]
diff --git a/support/texlab/crates/test-utils/src/fixture.rs b/support/texlab/crates/test-utils/src/fixture.rs
new file mode 100644
index 0000000000..2935b4f519
--- /dev/null
+++ b/support/texlab/crates/test-utils/src/fixture.rs
@@ -0,0 +1,103 @@
+use std::path::PathBuf;
+
+use base_db::{Owner, Workspace};
+use rowan::{TextRange, TextSize};
+use url::Url;
+
+#[derive(Debug)]
+pub struct Fixture {
+ pub workspace: Workspace,
+ pub documents: Vec<DocumentSpec>,
+}
+
+impl Fixture {
+ pub fn parse(input: &str) -> Fixture {
+ let mut documents = Vec::new();
+
+ let mut start = 0;
+ for end in input
+ .match_indices("%!")
+ .skip(1)
+ .map(|(i, _)| i)
+ .chain(std::iter::once(input.len()))
+ {
+ documents.push(DocumentSpec::parse(&input[start..end]));
+ start = end;
+ }
+
+ let mut workspace = Workspace::default();
+ for document in &documents {
+ let path = PathBuf::from(document.uri.path());
+ let language = distro::Language::from_path(&path).unwrap_or(distro::Language::Tex);
+
+ workspace.open(
+ document.uri.clone(),
+ document.text.clone(),
+ language,
+ Owner::Client,
+ TextSize::from(0),
+ );
+ }
+
+ Self {
+ workspace,
+ documents,
+ }
+ }
+}
+
+#[derive(Debug)]
+pub struct DocumentSpec {
+ pub uri: Url,
+ pub text: String,
+ pub cursor: Option<TextSize>,
+ pub ranges: Vec<TextRange>,
+}
+
+impl DocumentSpec {
+ pub fn parse(input: &str) -> Self {
+ let (uri_str, input) = input
+ .trim()
+ .strip_prefix("%! ")
+ .map(|input| input.split_once('\n').unwrap_or((input, "")))
+ .unwrap();
+
+ let uri = Url::parse(&format!("file:///texlab/{uri_str}")).unwrap();
+
+ let mut ranges = Vec::new();
+ let mut cursor = None;
+
+ let mut text = String::new();
+ for line in input.lines().map(|line| line.trim_end()) {
+ if line.chars().all(|c| matches!(c, ' ' | '^' | '|' | '!')) && !line.is_empty() {
+ cursor = cursor.or_else(|| {
+ let offset = line.find('|')?;
+ Some(TextSize::from((text.len() + offset) as u32))
+ });
+
+ if let Some(start) = line.find('!') {
+ let position = TextSize::from((text.len() + start) as u32);
+ ranges.push(TextRange::new(position, position));
+ }
+
+ if let Some(start) = line.find('^') {
+ let end = line.rfind('^').unwrap() + 1;
+ ranges.push(TextRange::new(
+ TextSize::from((text.len() + start) as u32),
+ TextSize::from((text.len() + end) as u32),
+ ));
+ }
+ } else {
+ text.push_str(line);
+ text.push('\n');
+ }
+ }
+
+ Self {
+ uri,
+ text,
+ cursor,
+ ranges,
+ }
+ }
+}
diff --git a/support/texlab/crates/test-utils/src/lib.rs b/support/texlab/crates/test-utils/src/lib.rs
new file mode 100644
index 0000000000..8e0974bc65
--- /dev/null
+++ b/support/texlab/crates/test-utils/src/lib.rs
@@ -0,0 +1 @@
+pub mod fixture;
diff --git a/support/texlab/crates/texlab/Cargo.toml b/support/texlab/crates/texlab/Cargo.toml
index ebc7cd222d..dc1eb5b913 100644
--- a/support/texlab/crates/texlab/Cargo.toml
+++ b/support/texlab/crates/texlab/Cargo.toml
@@ -1,7 +1,7 @@
[package]
name = "texlab"
description = "LaTeX Language Server"
-version = "5.5.0"
+version = "5.5.1"
license.workspace = true
readme = "README.md"
authors.workspace = true
@@ -33,7 +33,6 @@ doctest = false
[dependencies]
anyhow = "1.0.70"
base-db = { path = "../base-db" }
-base-feature = { path = "../base-feature" }
citeproc = { path = "../citeproc" }
clap = { version = "4.2.2", features = ["derive"] }
commands = { path = "../commands" }
@@ -65,6 +64,7 @@ syntax = { path = "../syntax" }
tempfile = "3.5.0"
threadpool = "1.8.1"
titlecase = "2.2.1"
+symbols = { path = "../symbols" }
[dev-dependencies]
assert_unordered = "0.3.5"
diff --git a/support/texlab/crates/texlab/data/lang_data.json b/support/texlab/crates/texlab/data/lang_data.json
deleted file mode 100644
index 3e22e41320..0000000000
--- a/support/texlab/crates/texlab/data/lang_data.json
+++ /dev/null
@@ -1,1058 +0,0 @@
-{
- "colors": [
- "black",
- "blue",
- "brown",
- "cyan",
- "darkgray",
- "gray",
- "green",
- "lightgray",
- "lime",
- "magenta",
- "olive",
- "orange",
- "pink",
- "purple",
- "red",
- "teal",
- "violet",
- "white",
- "yellow",
- "Apricot",
- "Bittersweet",
- "Blue",
- "BlueViolet",
- "Brown",
- "CadetBlue",
- "Cerulean",
- "Cyan",
- "DarkOrchid",
- "ForestGreen",
- "Goldenrod",
- "Green",
- "JungleGreen",
- "LimeGreen",
- "Mahogany",
- "Melon",
- "Mulberry",
- "OliveGreen",
- "OrangeRed",
- "Peach",
- "PineGreen",
- "ProcessBlue",
- "RawSienna",
- "RedOrange",
- "Rhodamine",
- "RoyalPurple",
- "Salmon",
- "Sepia",
- "SpringGreen",
- "TealBlue",
- "Turquoise",
- "VioletRed",
- "WildStrawberry",
- "YellowGreen",
- "Aquamarine",
- "Black",
- "BlueGreen",
- "BrickRed",
- "BurntOrange",
- "CarnationPink",
- "CornflowerBlue",
- "Dandelion",
- "Emerald",
- "Fuchsia",
- "Gray",
- "GreenYellow",
- "Lavender",
- "Magenta",
- "Maroon",
- "MidnightBlue",
- "NavyBlue",
- "Orange",
- "Orchid",
- "Periwinkle",
- "Plum",
- "Purple",
- "Red",
- "RedViolet",
- "RoyalBlue",
- "RubineRed",
- "SeaGreen",
- "SkyBlue",
- "Tan",
- "Thistle",
- "Violet",
- "White",
- "Yellow",
- "YellowOrange"
- ],
- "entryTypes": [
- {
- "name": "preamble",
- "category": "misc",
- "documentation": null
- },
- {
- "name": "string",
- "category": "string",
- "documentation": null
- },
- {
- "name": "comment",
- "category": "misc",
- "documentation": null
- },
- {
- "name": "article",
- "category": "article",
- "documentation": "An article in a journal, magazine, newspaper, or other periodical which forms a \n self-contained unit with its own title. The title of the periodical is given in the \n journaltitle field. If the issue has its own title in addition to the main title of \n the periodical, it goes in the issuetitle field. Note that editor and related \n fields refer to the journal while translator and related fields refer to the article.\n\nRequired fields: `author`, `title`, `journaltitle`, `year/date`"
- },
- {
- "name": "book",
- "category": "book",
- "documentation": "A single-volume book with one or more authors where the authors share credit for\n the work as a whole. This entry type also covers the function of the `@inbook` type\n of traditional BibTeX.\n\nRequired fields: `author`, `title`, `year/date`"
- },
- {
- "name": "mvbook",
- "category": "book",
- "documentation": "A multi-volume `@book`. For backwards compatibility, multi-volume books are also\n supported by the entry type `@book`. However, it is advisable to make use of the\n dedicated entry type `@mvbook`.\n\nRequired fields: `author`, `title`, `year/date`"
- },
- {
- "name": "inbook",
- "category": "part",
- "documentation": "A part of a book which forms a self-contained unit with its own title. Note that the\n profile of this entry type is different from standard BibTeX.\n\nRequired fields: `author`, `title`, `booktitle`, `year/date`"
- },
- {
- "name": "bookinbook",
- "category": "part",
- "documentation": "This type is similar to `@inbook` but intended for works originally published as a\n stand-alone book. A typical example are books reprinted in the collected works of\n an author."
- },
- {
- "name": "suppbook",
- "category": "book",
- "documentation": "Supplemental material in a `@book`. This type is closely related to the `@inbook`\n entry type. While `@inbook` is primarily intended for a part of a book with its own\n title (e. g., a single essay in a collection of essays by the same author), this type is\n provided for elements such as prefaces, introductions, forewords, afterwords, etc.\n which often have a generic title only. Style guides may require such items to be\n formatted differently from other `@inbook` items. The standard styles will treat this\n entry type as an alias for `@inbook`."
- },
- {
- "name": "booklet",
- "category": "book",
- "documentation": "A book-like work without a formal publisher or sponsoring institution. Use the field\n howpublished to supply publishing information in free format, if applicable. The\n field type may be useful as well.\n\nRequired fields: `author/editor`, `title`, `year/date`"
- },
- {
- "name": "collection",
- "category": "collection",
- "documentation": "A single-volume collection with multiple, self-contained contributions by distinct\n authors which have their own title. The work as a whole has no overall author but it\n will usually have an editor.\n\nRequired fields: `editor`, `title`, `year/date`"
- },
- {
- "name": "mvcollection",
- "category": "collection",
- "documentation": "A multi-volume `@collection`. For backwards compatibility, multi-volume collections\n are also supported by the entry type `@collection`. However, it is advisable\n to make use of the dedicated entry type `@mvcollection`.\n\nRequired fields: `editor`, `title`, `year/date`"
- },
- {
- "name": "incollection",
- "category": "part",
- "documentation": "A contribution to a collection which forms a self-contained unit with a distinct author\n and title. The `author` refers to the `title`, the `editor` to the `booktitle`, i. e.,\n the title of the collection.\n\nRequired fields: `author`, `title`, `booktitle`, `year/date`"
- },
- {
- "name": "suppcollection",
- "category": "collection",
- "documentation": "Supplemental material in a `@collection`. This type is similar to `@suppbook` but\n related to the `@collection` entry type. The standard styles will treat this entry\n type as an alias for `@incollection`."
- },
- {
- "name": "manual",
- "category": "misc",
- "documentation": "Technical or other documentation, not necessarily in printed form. The author or\n editor is omissible.\n\nRequired fields: `author/editor`, `title`, `year/date`"
- },
- {
- "name": "misc",
- "category": "misc",
- "documentation": "A fallback type for entries which do not fit into any other category. Use the field\n howpublished to supply publishing information in free format, if applicable. The\n field type may be useful as well. author, editor, and year are omissible.\n\nRequired fields: `author/editor`, `title`, `year/date`"
- },
- {
- "name": "online",
- "category": "misc",
- "documentation": "An online resource. `author`, `editor`, and `year` are omissible.\n This entry type is intended for sources such as web sites which are intrinsically\n online resources. Note that all entry types support the url field. For example, when\n adding an article from an online journal, it may be preferable to use the `@article`\n type and its url field.\n\nRequired fields: `author/editor`, `title`, `year/date`, `url`"
- },
- {
- "name": "patent",
- "category": "misc",
- "documentation": "A patent or patent request. The number or record token is given in the number\n field. Use the type field to specify the type and the location field to indicate the\n scope of the patent, if different from the scope implied by the type. Note that the\n location field is treated as a key list with this entry type.\n\nRequired fields: `author`, `title`, `number`, `year/date`"
- },
- {
- "name": "periodical",
- "category": "misc",
- "documentation": "An complete issue of a periodical, such as a special issue of a journal. The title of\n the periodical is given in the title field. If the issue has its own title in addition to\n the main title of the periodical, it goes in the issuetitle field. The editor is\n omissible.\n\nRequired fields: `editor`, `title`, `year/date`"
- },
- {
- "name": "suppperiodical",
- "category": "misc",
- "documentation": "Supplemental material in a `@periodical`. This type is similar to `@suppbook`\n but related to the `@periodical` entry type. The role of this entry type may be\n more obvious if you bear in mind that the `@article` type could also be called\n `@inperiodical`. This type may be useful when referring to items such as regular\n columns, obituaries, letters to the editor, etc. which only have a generic title. Style\n guides may require such items to be formatted differently from articles in the strict\n sense of the word. The standard styles will treat this entry type as an alias for\n `@article`."
- },
- {
- "name": "proceedings",
- "category": "book",
- "documentation": "A single-volume conference proceedings. This type is very similar to `@collection`.\n It supports an optional organization field which holds the sponsoring institution.\n The editor is omissible.\n\nRequired fields: `title`, `year/date`"
- },
- {
- "name": "mvproceedings",
- "category": "book",
- "documentation": "A multi-volume `@proceedings` entry. For backwards compatibility, multi-volume\n proceedings are also supported by the entry type `@proceedings`. However, it is\n advisable to make use of the dedicated entry type `@mvproceedings`\n\nRequired fields: `title`, `year/date`"
- },
- {
- "name": "inproceedings",
- "category": "part",
- "documentation": "An article in a conference proceedings. This type is similar to `@incollection`. It\n supports an optional `organization` field.\n\nRequired fields: `author`, `title`, `booktitle`, `year/date`"
- },
- {
- "name": "reference",
- "category": "collection",
- "documentation": "A single-volume work of reference such as an encyclopedia or a dictionary. This is a\n more specific variant of the generic `@collection` entry type. The standard styles\n will treat this entry type as an alias for `@collection`."
- },
- {
- "name": "mvreference",
- "category": "collection",
- "documentation": "A multi-volume `@reference` entry. The standard styles will treat this entry type\n as an alias for `@mvcollection`. For backwards compatibility, multi-volume references\n are also supported by the entry type `@reference`. However, it is advisable\n to make use of the dedicated entry type `@mvreference`."
- },
- {
- "name": "inreference",
- "category": "part",
- "documentation": "An article in a work of reference. This is a more specific variant of the generic\n `@incollection` entry type. The standard styles will treat this entry type as an\n alias for `@incollection`."
- },
- {
- "name": "report",
- "category": "misc",
- "documentation": "A technical report, research report, or white paper published by a university or some\n other institution. Use the `type` field to specify the type of report. The sponsoring\n institution goes in the `institution` field.\n\nRequired fields: `author`, `title`, `type`, `institution`, `year/date`"
- },
- {
- "name": "set",
- "category": "misc",
- "documentation": "An entry set. This entry type is special."
- },
- {
- "name": "thesis",
- "category": "thesis",
- "documentation": "A thesis written for an educational institution to satisfy the requirements for a degree.\n Use the `type` field to specify the type of thesis.\n\nRequired fields: `author`, `title`, `type`, `institution`, `year/date`"
- },
- {
- "name": "unpublished",
- "category": "misc",
- "documentation": "A work with an author and a title which has not been formally published, such as\n a manuscript or the script of a talk. Use the fields `howpublished` and `note` to\n supply additional information in free format, if applicable.\n\nRequired fields: `author`, `title`, `year/date`"
- },
- {
- "name": "xdata",
- "category": "misc",
- "documentation": "This entry type is special. `@xdata` entries hold data which may be inherited by other\n entries using the `xdata` field. Entries of this type only serve as data containers;\n they may not be cited or added to the bibliography."
- },
- {
- "name": "conference",
- "category": "part",
- "documentation": "A legacy alias for `@inproceedings`."
- },
- {
- "name": "electronic",
- "category": "misc",
- "documentation": "An alias for `@online`."
- },
- {
- "name": "mastersthesis",
- "category": "thesis",
- "documentation": "Similar to `@thesis` except that the `type` field is optional and defaults to the\n localised term ‘Master’s thesis’. You may still use the `type` field to override that."
- },
- {
- "name": "phdthesis",
- "category": "thesis",
- "documentation": "Similar to `@thesis` except that the `type` field is optional and defaults to the\n localised term ‘PhD thesis’. You may still use the `type` field to override that."
- },
- {
- "name": "techreport",
- "category": "misc",
- "documentation": "Similar to `@report` except that the `type` field is optional and defaults to the\n localised term ‘technical report’. You may still use the `type` field to override that."
- },
- {
- "name": "www",
- "category": "misc",
- "documentation": "An alias for `@online`, provided for `jurabib` compatibility."
- },
- {
- "name": "artwork",
- "category": "misc",
- "documentation": "Works of the visual arts such as paintings, sculpture, and installations."
- },
- {
- "name": "audio",
- "category": "misc",
- "documentation": "Audio recordings, typically on audio cd, dvd, audio cassette, or similar media. See\n also `@music`."
- },
- {
- "name": "bibnote",
- "category": "misc",
- "documentation": "This special entry type is not meant to be used in the `bib` file like other types. It is\n provided for third-party packages like `notes2bib` which merge notes into the bibliography.\n The notes should go into the `note` field. Be advised that the `@bibnote`\n type is not related to the `defbibnote` command in any way. `defbibnote`\n is for adding comments at the beginning or the end of the bibliography, whereas\n the `@bibnote` type is meant for packages which render endnotes as bibliography\n entries."
- },
- {
- "name": "commentary",
- "category": "misc",
- "documentation": "Commentaries which have a status different from regular books, such as legal commentaries."
- },
- {
- "name": "image",
- "category": "misc",
- "documentation": "Images, pictures, photographs, and similar media."
- },
- {
- "name": "jurisdiction",
- "category": "misc",
- "documentation": "Court decisions, court recordings, and similar things."
- },
- {
- "name": "legislation",
- "category": "misc",
- "documentation": "Laws, bills, legislative proposals, and similar things."
- },
- {
- "name": "legal",
- "category": "misc",
- "documentation": "Legal documents such as treaties."
- },
- {
- "name": "letter",
- "category": "misc",
- "documentation": "Personal correspondence such as letters, emails, memoranda, etc."
- },
- {
- "name": "movie",
- "category": "misc",
- "documentation": "Motion pictures. See also `@video`."
- },
- {
- "name": "music",
- "category": "misc",
- "documentation": "Musical recordings. This is a more specific variant of `@audio`."
- },
- {
- "name": "performance",
- "category": "misc",
- "documentation": "Musical and theatrical performances as well as other works of the performing arts.\n This type refers to the event as opposed to a recording, a score, or a printed play."
- },
- {
- "name": "review",
- "category": "misc",
- "documentation": "Reviews of some other work. This is a more specific variant of the `@article` type.\n The standard styles will treat this entry type as an alias for `@article`."
- },
- {
- "name": "software",
- "category": "misc",
- "documentation": "Computer software."
- },
- {
- "name": "standard",
- "category": "misc",
- "documentation": "National and international standards issued by a standards body such as the International\n Organization for Standardization."
- },
- {
- "name": "video",
- "category": "misc",
- "documentation": "Audiovisual recordings, typically on dvd, vhs cassette, or similar media. See also\n `@movie`."
- }
- ],
- "fields": [
- {
- "name": "abstract",
- "documentation": "This field is intended for recording abstracts in a bib file, to be printed by a special bibliography style. It is not used by all standard bibliography styles."
- },
- {
- "name": "addendum",
- "documentation": "Miscellaneous bibliographic data to be printed at the end of the entry. This is similar to the `note` field except that it is printed at the end of the bibliography entry."
- },
- {
- "name": "afterword",
- "documentation": "The author(s) of an afterword to the work. If the author of the afterword is identical to the `editor` and/or `translator`, the standard styles will automatically concatenate these fields in the bibliography. See also `introduction` and `foreword`."
- },
- {
- "name": "annotation",
- "documentation": "This field may be useful when implementing a style for annotated bibliographies. It is not used by all standard bibliography styles. Note that this field is completely unrelated to `annotator`. The `annotator` is the author of annotations which are part of the work cited."
- },
- {
- "name": "annotator",
- "documentation": "The author(s) of annotations to the work. If the annotator is identical to the `editor` and/or `translator`, the standard styles will automatically concatenate these fields in the bibliography. See also `commentator`."
- },
- {
- "name": "author",
- "documentation": "The author(s) of the `title`."
- },
- {
- "name": "authortype",
- "documentation": "The type of author. This field will affect the string (if any) used to introduce the author. Not used by the standard bibliography styles."
- },
- {
- "name": "bookauthor",
- "documentation": "The author(s) of the `booktitle`."
- },
- {
- "name": "bookpagination",
- "documentation": "If the work is published as part of another one, this is the pagination scheme of the enclosing work, i. e., `bookpagination` relates to `pagination` like `booktitle` to `title`. The value of this field will affect the formatting of the `pages` and `pagetotal` fields. The key should be given in the singular form. Possible keys are `page`, `column`, `line`, `verse`, `section`, and `paragraph`. See also `pagination`."
- },
- {
- "name": "booksubtitle",
- "documentation": "The subtitle related to the `booktitle`. If the subtitle field refers to a work which is part of a larger publication, a possible subtitle of the main work is given in this field. See also `subtitle`."
- },
- {
- "name": "booktitle",
- "documentation": "If the `title` field indicates the title of a work which is part of a larger publication, the title of the main work is given in this field. See also `title`."
- },
- {
- "name": "booktitleaddon",
- "documentation": "An annex to the `booktitle`, to be printed in a different font."
- },
- {
- "name": "chapter",
- "documentation": "A chapter or section or any other unit of a work."
- },
- {
- "name": "commentator",
- "documentation": "The author(s) of a commentary to the work. Note that this field is intended for commented editions which have a commentator in addition to the author. If the work is a stand-alone commentary, the commentator should be given in the `author` field. If the commentator is identical to the `editor` and/or `translator`, the standard styles will automatically concatenate these fields in the bibliography. See also `annotator`."
- },
- {
- "name": "date",
- "documentation": "The publication date. See also `month` and `year`."
- },
- {
- "name": "doi",
- "documentation": "The Digital Object Identifier of the work."
- },
- {
- "name": "edition",
- "documentation": "The edition of a printed publication. This must be an integer, not an ordinal. Don’t say `edition={First}` or `edition={1st}` but `edition={1}`. The bibliography style converts this to a language dependent ordinal. It is also possible to give the edition as a literal string, for example \"Third, revised and expanded edition\"."
- },
- {
- "name": "editor",
- "documentation": "The editor(s) of the `title`, `booktitle`, or `maintitle`, depending on the entry type. Use the `editortype` field to specify the role if it is different from `editor`."
- },
- {
- "name": "editora",
- "documentation": "A secondary editor performing a different editorial role, such as compiling, redacting, etc. Use the `editoratype` field to specify the role."
- },
- {
- "name": "editorb",
- "documentation": "Another secondary editor performing a different role. Use the `editorbtype` field to specify the role."
- },
- {
- "name": "editorc",
- "documentation": "Another secondary editor performing a different role. Use the `editorctype` field to specify the role."
- },
- {
- "name": "editortype",
- "documentation": "The type of editorial role performed by the `editor`. Roles supported by default are `editor`, `compiler`, `founder`, `continuator`, `redactor`, `reviser`, `collaborator`, `organizer`. The role `editor` is the default. In this case, the field is omissible."
- },
- {
- "name": "editoratype",
- "documentation": "Similar to `editortype` but referring to the `editora` field."
- },
- {
- "name": "editorbtype",
- "documentation": "Similar to `editortype` but referring to the `editorb` field."
- },
- {
- "name": "editorctype",
- "documentation": "Similar to `editortype` but referring to the `editorc` field."
- },
- {
- "name": "eid",
- "documentation": "The electronic identifier of an `@article`."
- },
- {
- "name": "entrysubtype",
- "documentation": "This field, which is not used by the standard styles, may be used to specify a subtype of an entry type. This may be useful for bibliography styles which support a finergrained set of entry types."
- },
- {
- "name": "eprint",
- "documentation": "The electronic identifier of an online publication. This is roughly comparable to a doi but specific to a certain archive, repository, service, or system. See also `eprinttype` and `eprintclass`."
- },
- {
- "name": "eprintclass",
- "documentation": "Additional information related to the resource indicated by the `eprinttype` field. This could be a section of an archive, a path indicating a service, a classification of some sort, etc. See also`eprint` and `eprinttype`."
- },
- {
- "name": "eprinttype",
- "documentation": "The type of `eprint` identifier, e. g., the name of the archive, repository, service, or system the `eprint` field refers to. See also `eprint` and `eprintclass`."
- },
- {
- "name": "eventdate",
- "documentation": "The date of a conference, a symposium, or some other event in `@proceedings` and `@inproceedings` entries. See also `eventtitle` and `venue`."
- },
- {
- "name": "eventtitle",
- "documentation": "The title of a conference, a symposium, or some other event in `@proceedings` and `@inproceedings` entries. Note that this field holds the plain title of the event. Things like \"Proceedings of the Fifth XYZ Conference\" go into the `titleaddon` or `booktitleaddon` field, respectively. See also `eventdate` and `venue`."
- },
- {
- "name": "eventtitleaddon",
- "documentation": "An annex to the `eventtitle` field. Can be used for known event acronyms, for example."
- },
- {
- "name": "file",
- "documentation": "A local link to a PDF or other version of the work. Not used by the standard bibliography styles."
- },
- {
- "name": "foreword",
- "documentation": "The author(s) of a foreword to the work. If the author of the foreword is identical to the `editor` and/or `translator`, the standard styles will automatically concatenate these fields in the bibliography. See also `introduction` and `afterword`."
- },
- {
- "name": "holder",
- "documentation": "The holder(s) of a `@patent`, if different from the `author`. Note that corporate holders need to be wrapped in an additional set of braces."
- },
- {
- "name": "howpublished",
- "documentation": "A publication notice for unusual publications which do not fit into any of the common categories."
- },
- {
- "name": "indextitle",
- "documentation": "A title to use for indexing instead of the regular `title` field. This field may be useful if you have an entry with a title like \"An Introduction to …\" and want that indexed as \"Introduction to …, An\". Style authors should note that `biblatex` automatically copies the value of the `title` field to `indextitle` if the latter field is undefined."
- },
- {
- "name": "institution",
- "documentation": "The name of a university or some other institution, depending on the entry type. Traditional BibTeX uses the field name `school` for theses, which is supported as an alias."
- },
- {
- "name": "introduction",
- "documentation": "The author(s) of an introduction to the work. If the author of the introduction is identical to the `editor` and/or `translator`, the standard styles will automatically concatenate these fields in the bibliography. See also `foreword` and `afterword`."
- },
- {
- "name": "isan",
- "documentation": "The International Standard Audiovisual Number of an audiovisual work. Not used by the standard bibliography styles."
- },
- {
- "name": "isbn",
- "documentation": "The International Standard Book Number of a book."
- },
- {
- "name": "ismn",
- "documentation": "The International Standard Music Number for printed music such as musical scores. Not used by the standard bibliography styles."
- },
- {
- "name": "isrn",
- "documentation": "The International Standard Technical Report Number of a technical report."
- },
- {
- "name": "issn",
- "documentation": "The International Standard Serial Number of a periodical."
- },
- {
- "name": "issue",
- "documentation": "The issue of a journal. This field is intended for journals whose individual issues are identified by a designation such as ‘Spring’ or ‘Summer’ rather than the month or a number. The placement of `issue` is similar to `month` and `number`, integer ranges and short designators are better written to the number field. See also `month` and `number`."
- },
- {
- "name": "issuesubtitle",
- "documentation": "The subtitle of a specific issue of a journal or other periodical."
- },
- {
- "name": "issuetitle",
- "documentation": "The title of a specific issue of a journal or other periodical."
- },
- {
- "name": "iswc",
- "documentation": "The International Standard Work Code of a musical work. Not used by the standard bibliography styles."
- },
- {
- "name": "journalsubtitle",
- "documentation": "The subtitle of a journal, a newspaper, or some other periodical."
- },
- {
- "name": "journaltitle",
- "documentation": "The name of a journal, a newspaper, or some other periodical."
- },
- {
- "name": "label",
- "documentation": "A designation to be used by the citation style as a substitute for the regular label if any data required to generate the regular label is missing. For example, when an author-year citation style is generating a citation for an entry which is missing the author or the year, it may fall back to `label`. Note that, in contrast to `shorthand`, `label` is only used as a fallback. See also `shorthand`."
- },
- {
- "name": "language",
- "documentation": "The language(s) of the work. Languages may be specified literally or as localisation keys. If localisation keys are used, the prefix lang is omissible. See also `origlanguage`."
- },
- {
- "name": "library",
- "documentation": "This field may be useful to record information such as a library name and a call number. This may be printed by a special bibliography style if desired. Not used by the standard bibliography styles."
- },
- {
- "name": "location",
- "documentation": "The place(s) of publication, i. e., the location of the `publisher` or `institution`, depending on the entry type. Traditional BibTeX uses the field name `address`, which is supported as an alias. With `@patent` entries, this list indicates the scope of a patent."
- },
- {
- "name": "mainsubtitle",
- "documentation": "The subtitle related to the `maintitle`. See also `subtitle`."
- },
- {
- "name": "maintitle",
- "documentation": "The main title of a multi-volume book, such as *Collected Works*. If the `title` or `booktitle` field indicates the title of a single volume which is part of multi-volume book, the title of the complete work is given in this field."
- },
- {
- "name": "maintitleaddon",
- "documentation": "An annex to the `maintitle`, to be printed in a different font."
- },
- {
- "name": "month",
- "documentation": "The publication month. This must be an integer, not an ordinal or a string. Don’t say `month={January}` but `month={1}`. The bibliography style converts this to a language dependent string or ordinal where required. This field is a literal field only when given explicitly in the data (for plain BibTeX compatibility for example). It is however better to use the `date` field as this supports many more features."
- },
- {
- "name": "nameaddon",
- "documentation": "An addon to be printed immediately after the author name in the bibliography. Not used by the standard bibliography styles. This field may be useful to add an alias or pen name (or give the real name if the pseudonym is commonly used to refer to that author)."
- },
- {
- "name": "note",
- "documentation": "Miscellaneous bibliographic data which does not fit into any other field. The note field may be used to record bibliographic data in a free format. Publication facts such as \"Reprint of the edition London 1831\" are typical candidates for the note field. See also `addendum`."
- },
- {
- "name": "number",
- "documentation": "The number of a journal or the volume/number of a book in a `series`. See also `issue`. With `@patent` entries, this is the number or record token of a patent or patent request. Normally this field will be an integer or an integer range, but in certain cases it may also contain \"S1\", \"Suppl. 1\", in these cases the output should be scrutinised carefully."
- },
- {
- "name": "organization",
- "documentation": "The organization(s) that published a `@manual` or an `@online` resource, or sponsored a conference."
- },
- {
- "name": "origdate",
- "documentation": "If the work is a translation, a reprint, or something similar, the publication date of the original edition. Not used by the standard bibliography styles. See also `date`."
- },
- {
- "name": "origlanguage",
- "documentation": "If the work is a translation, the language(s) of the original work. See also `language`."
- },
- {
- "name": "origlocation",
- "documentation": "If the work is a translation, a reprint, or something similar, the location of the original edition. Not used by the standard bibliography styles. See also `location`."
- },
- {
- "name": "origpublisher",
- "documentation": "If the work is a translation, a reprint, or something similar, the publisher of the original edition. Not used by the standard bibliography styles. See also `publisher`."
- },
- {
- "name": "origtitle",
- "documentation": "If the work is a translation, the `title` of the original work. Not used by the standard bibliography styles. See also `title`."
- },
- {
- "name": "pages",
- "documentation": "One or more page numbers or page ranges. If the work is published as part of another one, such as an article in a journal or a collection, this field holds the relevant page range in that other work. It may also be used to limit the reference to a specific part of a work (a chapter in a book, for example)."
- },
- {
- "name": "pagetotal",
- "documentation": "The total number of pages of the work."
- },
- {
- "name": "pagination",
- "documentation": "The pagination of the work. The value of this field will affect the formatting the *postnote* argument to a citation command. The key should be given in the singular form. Possible keys are `page`, `column`, `line`, `verse`, `section`, and `paragraph`. See also `bookpagination`."
- },
- {
- "name": "part",
- "documentation": "The number of a partial volume. This field applies to books only, not to journals. It may be used when a logical volume consists of two or more physical ones. In this case the number of the logical volume goes in the `volume` field and the number of the part of that volume in the `part` field. See also `volume`."
- },
- {
- "name": "publisher",
- "documentation": "The name(s) of the publisher(s)."
- },
- {
- "name": "pubstate",
- "documentation": "The publication state of the work, e. g., 'in press'."
- },
- {
- "name": "reprinttitle",
- "documentation": "The title of a reprint of the work. Not used by the standard styles."
- },
- {
- "name": "series",
- "documentation": "The name of a publication series, such as \"Studies in …\", or the number of a journal series. Books in a publication series are usually numbered. The number or volume of a book in a series is given in the `number` field. Note that the `@article` entry type makes use of the `series` field as well, but handles it in a special way."
- },
- {
- "name": "shortauthor",
- "documentation": "The author(s) of the work, given in an abbreviated form. This field is mainly intended for abbreviated forms of corporate authors."
- },
- {
- "name": "shorteditor",
- "documentation": "The editor(s) of the work, given in an abbreviated form. This field is mainly intended for abbreviated forms of corporate editors."
- },
- {
- "name": "shorthand",
- "documentation": "A special designation to be used by the citation style instead of the usual label. If defined, it overrides the default label. See also `label`."
- },
- {
- "name": "shorthandintro",
- "documentation": "The verbose citation styles which comes with this package use a phrase like \"henceforth cited as [shorthand]\" to introduce shorthands on the first citation. If the `shorthandintro` field is defined, it overrides the standard phrase. Note that the alternative phrase must include the shorthand."
- },
- {
- "name": "shortjournal",
- "documentation": "A short version or an acronym of the `journaltitle`. Not used by the standard bibliography styles."
- },
- {
- "name": "shortseries",
- "documentation": "A short version or an acronym of the `series` field. Not used by the standard bibliography styles."
- },
- {
- "name": "shorttitle",
- "documentation": "The title in an abridged form. This field is usually not included in the bibliography. It is intended for citations in author-title format. If present, the author-title citation styles use this field instead of `title`."
- },
- {
- "name": "subtitle",
- "documentation": "The subtitle of the work."
- },
- {
- "name": "title",
- "documentation": "The title of the work."
- },
- {
- "name": "titleaddon",
- "documentation": "An annex to the `title`, to be printed in a different font."
- },
- {
- "name": "translator",
- "documentation": "The translator(s) of the `title` or `booktitle`, depending on the entry type. If the translator is identical to the `editor`, the standard styles will automatically concatenate these fields in the bibliography."
- },
- {
- "name": "type",
- "documentation": "The type of a `manual`, `patent`, `report`, or `thesis`."
- },
- {
- "name": "url",
- "documentation": "The URL of an online publication. If it is not URL-escaped (no ‘%’ chars) it will be URI-escaped according to RFC 3987, that is, even Unicode chars will be correctly escaped."
- },
- {
- "name": "urldate",
- "documentation": "The access date of the address specified in the `url` field."
- },
- {
- "name": "venue",
- "documentation": "The location of a conference, a symposium, or some other event in `@proceedings` and `@inproceedings` entries. Note that the `location` list holds the place of publication. It therefore corresponds to the `publisher` and `institution` lists. The location of the event is given in the `venue` field. See also `eventdate` and `eventtitle`."
- },
- {
- "name": "version",
- "documentation": "The revision number of a piece of software, a manual, etc."
- },
- {
- "name": "volume",
- "documentation": "The volume of a multi-volume book or a periodical. It is expected to be an integer, not necessarily in arabic numerals since `biber` will automatically from roman numerals or arabic letter to integers internally for sorting purposes. See also `part`. See the `noroman` option which can be used to suppress roman numeral parsing. This can help in cases where there is an ambiguity between parsing as roman numerals or alphanumeric (e.g. ‘C’)."
- },
- {
- "name": "volumes",
- "documentation": "The total number of volumes of a multi-volume work. Depending on the entry type, this field refers to `title` or `maintitle`. It is expected to be an integer, not necessarily in arabic numerals since `biber` will automatically from roman numerals or arabic letter to integers internally for sorting purposes. See the `noroman` option which can be used to suppress roman numeral parsing. This can help in cases where there is an ambiguity between parsing as roman numerals or alphanumeric (e.g. ‘C’)."
- },
- {
- "name": "year",
- "documentation": "The year of publication. This field is a literal field only when given explicitly in the data (for plain BibTeX compatibility for example). It is however better to use the `date` field as this is compatible with plain years too and supports many more features."
- },
- {
- "name": "crossref",
- "documentation": "This field holds an entry key for the cross-referencing feature. Child entries with a `crossref` field inherit data from the parent entry specified in the `crossref` field. If the number of child entries referencing a specific parent entry hits a certain threshold, the parent entry is automatically added to the bibliography even if it has not been cited explicitly. The threshold is settable with the `mincrossrefs` package option. Style authors should note that whether or not the `crossref` fields of the child entries are defined on the `biblatex` level depends on the availability of the parent entry. If the parent entry is available, the `crossref` fields of the child entries will be defined. If not, the child entries still inherit the data from the parent entry but their `crossref` fields will be undefined. Whether the parent entry is added to the bibliography implicitly because of the threshold or explicitly because it has been cited does not matter. See also the `xref` field."
- },
- {
- "name": "entryset",
- "documentation": "This field is specific to entry sets. This field is consumed by the backend processing and does not appear in the `.bbl`."
- },
- {
- "name": "execute",
- "documentation": "A special field which holds arbitrary TeX code to be executed whenever the data of the respective entry is accessed. This may be useful to handle special cases. Conceptually, this field is comparable to the hooks `AtEveryBibitem`, `AtEveryLositem`, and `AtEveryCitekey`, except that it is definable on a per-entry basis in the `bib` file. Any code in this field is executed automatically immediately after these hooks."
- },
- {
- "name": "gender",
- "documentation": "The gender of the author or the gender of the editor, if there is no author. The following identifiers are supported: `sf` (feminine singular, a single female name), `sm` (masculine singular, a single male name), `sn` (neuter singular, a single neuter name), `pf` (feminine plural, a list of female names), `pm` (masculine plural, a list of male names), `pn` (neuter plural, a list of neuter names),`pp` (plural, a mixed gender list of names). This information is only required by special bibliography and citation styles and only in certain languages. For example, a citation style may replace recurrent author names with a term such as 'idem'. If the Latin word is used, as is custom in English and French, there is no need to specify the gender. In German publications, however, such key terms are usually given in German and in this case they are gender-sensitive."
- },
- {
- "name": "langid",
- "documentation": "The language id of the bibliography entry. The alias `hyphenation` is provided for backwards compatibility. The identifier must be a language name known to the `babel/polyglossia` packages. This information may be used to switch hyphenation patterns and localise strings in the bibliography. Note that the language names are case sensitive. The languages currently supported by this package are given in table 2. Note that `babel` treats the identifier `english` as an alias for `british` or `american`, depending on the `babel` version. The `biblatex` package always treats it as an alias for `american`. It is preferable to use the language identifiers `american` and `british` (`babel`) or a language specific option to specify a language variant (`polyglossia`, using the `langidopts` field) to avoid any possible confusion."
- },
- {
- "name": "langidopts",
- "documentation": "For `polyglossia` users, allows per-entry language specific options. The literal value of this field is passed to `polyglossia`’s language switching facility when using the package option `autolang=langname`."
- },
- {
- "name": "ids",
- "documentation": "Citation key aliases for the main citation key. An entry may be cited by any of its aliases and `biblatex` will treat the citation as if it had used the primary citation key. This is to aid users who change their citation keys but have legacy documents which use older keys for the same entry. This field is consumed by the backend processing and does not appear in the `.bbl`."
- },
- {
- "name": "indexsorttitle",
- "documentation": "The title used when sorting the index. In contrast to indextitle, this field is used for sorting only. The printed title in the index is the indextitle or the title field. This field may be useful if the title contains special characters or commands which interfere with the sorting of the index. Style authors should note that biblatex automatically copies the value of either the indextitle or the title field to indexsorttitle if the latter field is undefined."
- },
- {
- "name": "keywords",
- "documentation": "A separated list of keywords. These keywords are intended for the bibliography filters, they are usually not printed. Note that with the default separator (comma), spaces around the separator are ignored."
- },
- {
- "name": "options",
- "documentation": "A separated list of entry options in *key*=*value* notation. This field is used to set options on a per-entry basis. Note that citation and bibliography styles may define additional entry options."
- },
- {
- "name": "presort",
- "documentation": "A special field used to modify the sorting order of the bibliography. This field is the first item the sorting routine considers when sorting the bibliography, hence it may be used to arrange the entries in groups. This may be useful when creating subdivided bibliographies with the bibliography filters. This field is consumed by the backend processing and does not appear in the `.bbl`."
- },
- {
- "name": "related",
- "documentation": "Citation keys of other entries which have a relationship to this entry. The relationship is specified by the `relatedtype` field."
- },
- {
- "name": "relatedoptions",
- "documentation": "Per-type options to set for a related entry. Note that this does not set the options on the related entry itself, only the `dataonly` clone which is used as a datasource for the parent entry."
- },
- {
- "name": "relatedtype",
- "documentation": "An identifier which specified the type of relationship for the keys listed in the `related` field. The identifier is a localised bibliography string printed before the data from the related entry list. It is also used to identify type-specific formatting directives and bibliography macros for the related entries."
- },
- {
- "name": "relatedstring",
- "documentation": "A field used to override the bibliography string specified by `relatedtype`."
- },
- {
- "name": "sortkey",
- "documentation": "A field used to modify the sorting order of the bibliography. Think of this field as the master sort key. If present, `biblatex` uses this field during sorting and ignores everything else, except for the presort field. This field is consumed by the backend processing and does not appear in the `.bbl`."
- },
- {
- "name": "sortname",
- "documentation": "A name or a list of names used to modify the sorting order of the bibliography. If present, this list is used instead of `author` or `editor` when sorting the bibliography. This field is consumed by the backend processing and does not appear in the `.bbl`."
- },
- {
- "name": "sortshorthand",
- "documentation": "Similar to sortkey but used in the list of shorthands. If present, biblatex uses this field instead of shorthand when sorting the list of shorthands. This is useful if the shorthand field holds shorthands with formatting commands such as `emph` or `\textbf`. This field is consumed by the backend processing and does not appear in the `.bbl`."
- },
- {
- "name": "sorttitle",
- "documentation": "A field used to modify the sorting order of the bibliography. If present, this field is used instead of the title field when sorting the bibliography. The sorttitle field may come in handy if you have an entry with a title like \"An Introduction to…\" and want that alphabetized under ‘I’ rather than ‘A’. In this case, you could put \"Introduction to…\" in the sorttitle field. This field is consumed by the backend processing and does not appear in the `.bbl`."
- },
- {
- "name": "sortyear",
- "documentation": "A field used to modify the sorting order of the bibliography. In the default sorting templates, if this field is present, it is used instead of the year field when sorting the bibliography. This field is consumed by the backend processing and does not appear in the `.bbl`."
- },
- {
- "name": "xdata",
- "documentation": "This field inherits data from one or more `@xdata` entries. Conceptually, the `xdata` field is related to crossref and xref: `crossref` establishes a logical parent/child relation and inherits data; `xref` establishes as logical parent/child relation without inheriting data; `xdata` inherits data without establishing a relation. The value of the `xdata` may be a single entry key or a separated list of keys. This field is consumed by the backend processing and does not appear in the `.bbl`."
- },
- {
- "name": "xref",
- "documentation": "This field is an alternative cross-referencing mechanism. It differs from `crossref` in that the child entry will not inherit any data from the parent entry specified in the `xref` field. If the number of child entries referencing a specific parent entry hits a certain threshold, the parent entry is automatically added to the bibliography even if it has not been cited explicitly. The threshold is settable with the `minxrefs` package option. Style authors should note that whether or not the `xref` fields of the child entries are defined on the `biblatex` level depends on the availability of the parent entry. If the parent entry is available, the `xref` fields of the child entries will be defined. If not, their `xref` fields will be undefined. Whether the parent entry is added to the bibliography implicitly because of the threshold or explicitly because it has been cited does not matter. See also the `crossref` field."
- },
- {
- "name": "namea",
- "documentation": "Custom lists for special bibliography styles. Not used by the standard bibliography styles."
- },
- {
- "name": "nameb",
- "documentation": "Custom lists for special bibliography styles. Not used by the standard bibliography styles."
- },
- {
- "name": "namec",
- "documentation": "Custom lists for special bibliography styles. Not used by the standard bibliography styles."
- },
- {
- "name": "nameatype",
- "documentation": "Similar to `authortype` and `editortype` but referring to the fields `name[a--c]`. Not used by the standard bibliography styles."
- },
- {
- "name": "namebtype",
- "documentation": "Similar to `authortype` and `editortype` but referring to the fields `name[a--c]`. Not used by the standard bibliography styles."
- },
- {
- "name": "namectype",
- "documentation": "Similar to `authortype` and `editortype` but referring to the fields `name[a--c]`. Not used by the standard bibliography styles."
- },
- {
- "name": "lista",
- "documentation": "Custom lists for special bibliography styles. Not used by the standard bibliography styles."
- },
- {
- "name": "listb",
- "documentation": "Custom lists for special bibliography styles. Not used by the standard bibliography styles."
- },
- {
- "name": "listc",
- "documentation": "Custom lists for special bibliography styles. Not used by the standard bibliography styles."
- },
- {
- "name": "listd",
- "documentation": "Custom lists for special bibliography styles. Not used by the standard bibliography styles."
- },
- {
- "name": "liste",
- "documentation": "Custom lists for special bibliography styles. Not used by the standard bibliography styles."
- },
- {
- "name": "listf",
- "documentation": "Custom lists for special bibliography styles. Not used by the standard bibliography styles."
- },
- {
- "name": "usera",
- "documentation": "Custom fields for special bibliography styles. Not used by the standard bibliography styles."
- },
- {
- "name": "userb",
- "documentation": "Custom fields for special bibliography styles. Not used by the standard bibliography styles."
- },
- {
- "name": "userc",
- "documentation": "Custom fields for special bibliography styles. Not used by the standard bibliography styles."
- },
- {
- "name": "userd",
- "documentation": "Custom fields for special bibliography styles. Not used by the standard bibliography styles."
- },
- {
- "name": "usere",
- "documentation": "Custom fields for special bibliography styles. Not used by the standard bibliography styles."
- },
- {
- "name": "userf",
- "documentation": "Custom fields for special bibliography styles. Not used by the standard bibliography styles."
- },
- {
- "name": "verba",
- "documentation": "Similar to the custom fields except that these are verbatim fields. Not used by the standard bibliography styles."
- },
- {
- "name": "verbb",
- "documentation": "Similar to the custom fields except that these are verbatim fields. Not used by the standard bibliography styles."
- },
- {
- "name": "verbc",
- "documentation": "Similar to the custom fields except that these are verbatim fields. Not used by the standard bibliography styles."
- },
- {
- "name": "address",
- "documentation": "An alias for `location`, provided for BibTeX compatibility. Traditional BibTeX uses the slightly misleading field name `address` for the place of publication, i. e., the location of the publisher, while `biblatex` uses the generic field name `location`."
- },
- {
- "name": "annote",
- "documentation": "An alias for `annotation`, provided for jurabib compatibility."
- },
- {
- "name": "archiveprefix",
- "documentation": "An alias for `eprinttype`, provided for arXiv compatibility."
- },
- {
- "name": "journal",
- "documentation": "An alias for `journaltitle`, provided for BibTeX compatibility."
- },
- {
- "name": "key",
- "documentation": "An alias for `sortkey`, provided for BibTeX compatibility."
- },
- {
- "name": "pdf",
- "documentation": "An alias for `file`, provided for JabRef compatibility."
- },
- {
- "name": "primaryclass",
- "documentation": "An alias for `eprintclass`, provided for arXiv compatibility."
- },
- {
- "name": "school",
- "documentation": "An alias for `institution`, provided for BibTeX compatibility. The `institution` field is used by traditional BibTeX for technical reports whereas the `school` field holds the institution associated with theses. The `biblatex` package employs the generic field name `institution` in both cases."
- }
- ],
- "pgfLibraries": [
- "arrows",
- "arrows.meta",
- "arrows.spaced",
- "curvilinear",
- "datavisualization.barcharts",
- "datavisualization.formats.functions",
- "datavisualization.polar",
- "decorations.footprints",
- "decorations.fractals",
- "decorations.markings",
- "decorations.pathmorphing",
- "decorations.pathreplacing",
- "decorations.shapes",
- "decorations.text",
- "fadings",
- "fixedpointarithmetic",
- "fpu",
- "intersections",
- "lindenmayersystems",
- "luamath",
- "patterns",
- "patterns.meta",
- "plothandlers",
- "plotmarks",
- "profiler",
- "shadings",
- "shapes.arrows",
- "shapes.callouts",
- "shapes",
- "shapes.gates.ee",
- "shapes.gates.ee.IEC",
- "shapes.gates.logic",
- "shapes.gates.logic.IEC",
- "shapes.gates.logic.US",
- "shapes.geometric",
- "shapes.misc",
- "shapes.multipart",
- "shapes.symbols",
- "snakes",
- "svg.path"
- ],
- "tikzLibraries": [
- "3d",
- "angles",
- "arrows",
- "automata",
- "babel",
- "backgrounds",
- "bending",
- "calc",
- "calendar",
- "chains",
- "circuits",
- "circuits.ee",
- "circuits.ee.IEC",
- "circuits.logic.CDH",
- "circuits.logic",
- "circuits.logic.IEC",
- "circuits.logic.US",
- "datavisualization.3d",
- "datavisualization.barcharts",
- "datavisualization",
- "datavisualization.formats.functions",
- "datavisualization.polar",
- "datavisualization.sparklines",
- "decorations",
- "decorations.footprints",
- "decorations.fractals",
- "decorations.markings",
- "decorations.pathmorphing",
- "decorations.pathreplacing",
- "decorations.shapes",
- "decorations.text",
- "er",
- "fadings",
- "fit",
- "fixedpointarithmetic",
- "folding",
- "fpu",
- "graphs",
- "graphs.standard",
- "intersections",
- "lindenmayersystems",
- "math",
- "matrix",
- "mindmap",
- "patterns",
- "patterns.meta",
- "petri",
- "plothandlers",
- "plotmarks",
- "positioning",
- "quotes",
- "scopes",
- "shadings",
- "shadows",
- "shapes.arrows",
- "shapes.callouts",
- "shapes",
- "shapes.gates.logic.IEC",
- "shapes.gates.logic.US",
- "shapes.geometric",
- "shapes.misc",
- "shapes.multipart",
- "shapes.symbols",
- "snakes",
- "spy",
- "svg.path",
- "through",
- "topaths",
- "trees",
- "turtle"
- ]
-}
diff --git a/support/texlab/crates/texlab/src/features.rs b/support/texlab/crates/texlab/src/features.rs
index 9115580ce0..a92df28d8c 100644
--- a/support/texlab/crates/texlab/src/features.rs
+++ b/support/texlab/crates/texlab/src/features.rs
@@ -8,4 +8,4 @@ pub mod inlay_hint;
pub mod link;
pub mod reference;
pub mod rename;
-pub mod symbol;
+pub mod symbols;
diff --git a/support/texlab/crates/texlab/src/features/completion/builder.rs b/support/texlab/crates/texlab/src/features/completion/builder.rs
index f37718a4ba..b325cd183b 100644
--- a/support/texlab/crates/texlab/src/features/completion/builder.rs
+++ b/support/texlab/crates/texlab/src/features/completion/builder.rs
@@ -1,4 +1,7 @@
-use base_db::{Document, MatchingAlgo};
+use base_db::{
+ data::{BibtexEntryType, BibtexEntryTypeCategory, BibtexFieldType},
+ Document, MatchingAlgo,
+};
use fuzzy_matcher::skim::SkimMatcherV2;
use itertools::Itertools;
use lsp_types::{
@@ -18,7 +21,6 @@ use syntax::{
use crate::util::{
capabilities::ClientCapabilitiesExt,
cursor::{Cursor, CursorContext},
- lang_data::{BibtexEntryTypeCategory, BibtexEntryTypeDoc, BibtexFieldDoc, LANGUAGE_DATA},
line_index_ext::LineIndexExt,
lsp_enums::Structure,
};
@@ -183,8 +185,7 @@ impl<'a> CompletionBuilder<'a> {
) -> Option<()> {
let key = entry.name_token()?.to_string();
- let category = LANGUAGE_DATA
- .find_entry_type(&entry.type_token()?.text()[1..])
+ let category = BibtexEntryType::find(&entry.type_token()?.text()[1..])
.map_or(BibtexEntryTypeCategory::Misc, |ty| ty.category);
let code = entry.syntax().text().to_string();
@@ -285,7 +286,7 @@ impl<'a> CompletionBuilder<'a> {
pub fn entry_type(
&mut self,
range: TextRange,
- entry_type: &'a BibtexEntryTypeDoc,
+ entry_type: &'a BibtexEntryType<'a>,
) -> Option<()> {
let score = self
.matcher
@@ -301,7 +302,7 @@ impl<'a> CompletionBuilder<'a> {
Some(())
}
- pub fn field(&mut self, range: TextRange, field: &'a BibtexFieldDoc) -> Option<()> {
+ pub fn field(&mut self, range: TextRange, field: &'a BibtexFieldType<'a>) -> Option<()> {
let score = self.matcher.score(&field.name, &self.text_pattern)?;
self.items.push(Item {
range,
@@ -453,23 +454,26 @@ impl<'a> CompletionBuilder<'a> {
let preselect = item.preselect;
let mut item = match item.data {
Data::EntryType { entry_type } => CompletionItem {
- label: entry_type.name.clone(),
+ label: entry_type.name.into(),
kind: Some(Structure::Entry(entry_type.category).completion_kind()),
- documentation: entry_type.documentation.clone().map(|value| {
+ documentation: entry_type.documentation.map(|value| {
let kind = MarkupKind::Markdown;
- Documentation::MarkupContent(MarkupContent { kind, value })
+ Documentation::MarkupContent(MarkupContent {
+ kind,
+ value: value.into(),
+ })
}),
- text_edit: Some(TextEdit::new(range, entry_type.name.clone()).into()),
+ text_edit: Some(TextEdit::new(range, entry_type.name.into()).into()),
..CompletionItem::default()
},
Data::Field { field } => CompletionItem {
- label: field.name.clone(),
+ label: field.name.into(),
kind: Some(Structure::Field.completion_kind()),
documentation: Some(Documentation::MarkupContent(MarkupContent {
kind: MarkupKind::Markdown,
- value: field.documentation.clone(),
+ value: field.documentation.into(),
})),
- text_edit: Some(TextEdit::new(range, field.name.clone()).into()),
+ text_edit: Some(TextEdit::new(range, field.name.into()).into()),
..CompletionItem::default()
},
Data::Argument { name, image } => {
@@ -678,10 +682,10 @@ struct Item<'a> {
#[derive(Debug, Clone)]
enum Data<'a> {
EntryType {
- entry_type: &'a BibtexEntryTypeDoc,
+ entry_type: &'a BibtexEntryType<'a>,
},
Field {
- field: &'a BibtexFieldDoc,
+ field: &'a BibtexFieldType<'a>,
},
Argument {
name: &'a str,
diff --git a/support/texlab/crates/texlab/src/features/completion/color.rs b/support/texlab/crates/texlab/src/features/completion/color.rs
index 6a636cc687..e415409844 100644
--- a/support/texlab/crates/texlab/src/features/completion/color.rs
+++ b/support/texlab/crates/texlab/src/features/completion/color.rs
@@ -1,7 +1,7 @@
use rowan::ast::AstNode;
use syntax::latex;
-use crate::util::{cursor::CursorContext, lang_data::LANGUAGE_DATA};
+use crate::util::cursor::CursorContext;
use super::builder::CompletionBuilder;
@@ -12,9 +12,99 @@ pub fn complete<'db>(
let (_, range, group) = context.find_curly_group_word()?;
latex::ColorReference::cast(group.syntax().parent()?)?;
- for name in &LANGUAGE_DATA.colors {
+ for name in COLORS {
builder.color(range, name);
}
Some(())
}
+
+static COLORS: &[&str] = &[
+ "black",
+ "blue",
+ "brown",
+ "cyan",
+ "darkgray",
+ "gray",
+ "green",
+ "lightgray",
+ "lime",
+ "magenta",
+ "olive",
+ "orange",
+ "pink",
+ "purple",
+ "red",
+ "teal",
+ "violet",
+ "white",
+ "yellow",
+ "Apricot",
+ "Bittersweet",
+ "Blue",
+ "BlueViolet",
+ "Brown",
+ "CadetBlue",
+ "Cerulean",
+ "Cyan",
+ "DarkOrchid",
+ "ForestGreen",
+ "Goldenrod",
+ "Green",
+ "JungleGreen",
+ "LimeGreen",
+ "Mahogany",
+ "Melon",
+ "Mulberry",
+ "OliveGreen",
+ "OrangeRed",
+ "Peach",
+ "PineGreen",
+ "ProcessBlue",
+ "RawSienna",
+ "RedOrange",
+ "Rhodamine",
+ "RoyalPurple",
+ "Salmon",
+ "Sepia",
+ "SpringGreen",
+ "TealBlue",
+ "Turquoise",
+ "VioletRed",
+ "WildStrawberry",
+ "YellowGreen",
+ "Aquamarine",
+ "Black",
+ "BlueGreen",
+ "BrickRed",
+ "BurntOrange",
+ "CarnationPink",
+ "CornflowerBlue",
+ "Dandelion",
+ "Emerald",
+ "Fuchsia",
+ "Gray",
+ "GreenYellow",
+ "Lavender",
+ "Magenta",
+ "Maroon",
+ "MidnightBlue",
+ "NavyBlue",
+ "Orange",
+ "Orchid",
+ "Periwinkle",
+ "Plum",
+ "Purple",
+ "Red",
+ "RedViolet",
+ "RoyalBlue",
+ "RubineRed",
+ "SeaGreen",
+ "SkyBlue",
+ "Tan",
+ "Thistle",
+ "Violet",
+ "White",
+ "Yellow",
+ "YellowOrange",
+];
diff --git a/support/texlab/crates/texlab/src/features/completion/component_environment.rs b/support/texlab/crates/texlab/src/features/completion/component_environment.rs
index 496fb7ed85..85c29558ca 100644
--- a/support/texlab/crates/texlab/src/features/completion/component_environment.rs
+++ b/support/texlab/crates/texlab/src/features/completion/component_environment.rs
@@ -6,7 +6,7 @@ pub fn complete<'db>(
context: &'db CursorContext,
builder: &mut CompletionBuilder<'db>,
) -> Option<()> {
- let (_, range) = context.find_environment_name()?;
+ let range = context.find_environment_name()?;
for component in COMPONENT_DATABASE.linked_components(&context.project) {
for name in &component.environments {
diff --git a/support/texlab/crates/texlab/src/features/completion/entry_type.rs b/support/texlab/crates/texlab/src/features/completion/entry_type.rs
index 73a93a5a40..767839189d 100644
--- a/support/texlab/crates/texlab/src/features/completion/entry_type.rs
+++ b/support/texlab/crates/texlab/src/features/completion/entry_type.rs
@@ -1,7 +1,7 @@
use rowan::{TextRange, TextSize};
use syntax::bibtex;
-use crate::util::{cursor::CursorContext, lang_data::LANGUAGE_DATA};
+use crate::util::cursor::CursorContext;
use super::builder::CompletionBuilder;
@@ -17,7 +17,7 @@ pub fn complete<'db>(
.filter(|range| range.start() != context.offset)
.map(|range| TextRange::new(range.start() + TextSize::from(1), range.end()))?;
- for entry_type in &LANGUAGE_DATA.entry_types {
+ for entry_type in base_db::data::BIBTEX_ENTRY_TYPES {
builder.entry_type(range, entry_type);
}
diff --git a/support/texlab/crates/texlab/src/features/completion/field.rs b/support/texlab/crates/texlab/src/features/completion/field.rs
index d1f6a5e856..01786b5e93 100644
--- a/support/texlab/crates/texlab/src/features/completion/field.rs
+++ b/support/texlab/crates/texlab/src/features/completion/field.rs
@@ -1,7 +1,7 @@
use rowan::{ast::AstNode, TextRange};
use syntax::bibtex::{self, HasName};
-use crate::util::{cursor::CursorContext, lang_data::LANGUAGE_DATA};
+use crate::util::cursor::CursorContext;
use super::builder::CompletionBuilder;
@@ -26,7 +26,7 @@ pub fn complete<'db>(
bibtex::Field::cast(parent)?;
}
- for field in &LANGUAGE_DATA.fields {
+ for field in base_db::data::BIBTEX_FIELD_TYPES {
builder.field(range, field);
}
diff --git a/support/texlab/crates/texlab/src/features/completion/label.rs b/support/texlab/crates/texlab/src/features/completion/label.rs
index c85093b748..800c7b7581 100644
--- a/support/texlab/crates/texlab/src/features/completion/label.rs
+++ b/support/texlab/crates/texlab/src/features/completion/label.rs
@@ -1,8 +1,12 @@
-use base_db::{semantics::tex::LabelKind, DocumentData};
+use base_db::{
+ semantics::tex::LabelKind,
+ util::{render_label, RenderedObject},
+ DocumentData,
+};
use rowan::{ast::AstNode, TextRange};
use syntax::latex;
-use crate::util::{self, cursor::CursorContext, label::LabeledObject, lsp_enums::Structure};
+use crate::util::{cursor::CursorContext, lsp_enums::Structure};
use super::builder::CompletionBuilder;
@@ -20,14 +24,14 @@ pub fn complete<'db>(
.iter()
.filter(|label| label.kind == LabelKind::Definition)
{
- match util::label::render(context.workspace, &context.project, label) {
+ match render_label(context.workspace, &context.project, label) {
Some(rendered_label) => {
let kind = match &rendered_label.object {
- LabeledObject::Section { .. } => Structure::Section,
- LabeledObject::Float { .. } => Structure::Float,
- LabeledObject::Theorem { .. } => Structure::Theorem,
- LabeledObject::Equation => Structure::Equation,
- LabeledObject::EnumItem => Structure::Item,
+ RenderedObject::Section { .. } => Structure::Section,
+ RenderedObject::Float { .. } => Structure::Float,
+ RenderedObject::Theorem { .. } => Structure::Theorem,
+ RenderedObject::Equation => Structure::Equation,
+ RenderedObject::EnumItem => Structure::Item,
};
if is_math && kind != Structure::Equation {
@@ -36,7 +40,7 @@ pub fn complete<'db>(
let header = rendered_label.detail();
let footer = match &rendered_label.object {
- LabeledObject::Float { caption, .. } => Some(caption.clone()),
+ RenderedObject::Float { caption, .. } => Some(caption.clone()),
_ => None,
};
diff --git a/support/texlab/crates/texlab/src/features/completion/theorem.rs b/support/texlab/crates/texlab/src/features/completion/theorem.rs
index 1ac904234c..a0ff71c9f4 100644
--- a/support/texlab/crates/texlab/src/features/completion/theorem.rs
+++ b/support/texlab/crates/texlab/src/features/completion/theorem.rs
@@ -8,7 +8,7 @@ pub fn complete<'db>(
context: &'db CursorContext,
builder: &mut CompletionBuilder<'db>,
) -> Option<()> {
- let (_, range) = context.find_environment_name()?;
+ let range = context.find_environment_name()?;
for document in &context.project.documents {
let DocumentData::Tex(data) = &document.data else { continue };
diff --git a/support/texlab/crates/texlab/src/features/completion/tikz_library.rs b/support/texlab/crates/texlab/src/features/completion/tikz_library.rs
index 5f09142cfd..adb3fb9c66 100644
--- a/support/texlab/crates/texlab/src/features/completion/tikz_library.rs
+++ b/support/texlab/crates/texlab/src/features/completion/tikz_library.rs
@@ -1,7 +1,7 @@
use rowan::ast::AstNode;
use syntax::latex;
-use crate::util::{cursor::CursorContext, lang_data::LANGUAGE_DATA};
+use crate::util::cursor::CursorContext;
use super::builder::CompletionBuilder;
@@ -14,14 +14,130 @@ pub fn complete<'db>(
let import = latex::TikzLibraryImport::cast(group.syntax().parent()?)?;
if import.command()?.text() == "\\usepgflibrary" {
- for name in &LANGUAGE_DATA.pgf_libraries {
+ for name in PGF_LIBRARIES {
builder.tikz_library(range, name);
}
} else {
- for name in &LANGUAGE_DATA.tikz_libraries {
+ for name in TIKZ_LIBRARIES {
builder.tikz_library(range, name);
}
}
Some(())
}
+
+static PGF_LIBRARIES: &[&str] = &[
+ "arrows",
+ "arrows.meta",
+ "arrows.spaced",
+ "curvilinear",
+ "datavisualization.barcharts",
+ "datavisualization.formats.functions",
+ "datavisualization.polar",
+ "decorations.footprints",
+ "decorations.fractals",
+ "decorations.markings",
+ "decorations.pathmorphing",
+ "decorations.pathreplacing",
+ "decorations.shapes",
+ "decorations.text",
+ "fadings",
+ "fixedpointarithmetic",
+ "fpu",
+ "intersections",
+ "lindenmayersystems",
+ "luamath",
+ "patterns",
+ "patterns.meta",
+ "plothandlers",
+ "plotmarks",
+ "profiler",
+ "shadings",
+ "shapes.arrows",
+ "shapes.callouts",
+ "shapes",
+ "shapes.gates.ee",
+ "shapes.gates.ee.IEC",
+ "shapes.gates.logic",
+ "shapes.gates.logic.IEC",
+ "shapes.gates.logic.US",
+ "shapes.geometric",
+ "shapes.misc",
+ "shapes.multipart",
+ "shapes.symbols",
+ "snakes",
+ "svg.path",
+];
+
+static TIKZ_LIBRARIES: &[&str] = &[
+ "3d",
+ "angles",
+ "arrows",
+ "automata",
+ "babel",
+ "backgrounds",
+ "bending",
+ "calc",
+ "calendar",
+ "chains",
+ "circuits",
+ "circuits.ee",
+ "circuits.ee.IEC",
+ "circuits.logic.CDH",
+ "circuits.logic",
+ "circuits.logic.IEC",
+ "circuits.logic.US",
+ "datavisualization.3d",
+ "datavisualization.barcharts",
+ "datavisualization",
+ "datavisualization.formats.functions",
+ "datavisualization.polar",
+ "datavisualization.sparklines",
+ "decorations",
+ "decorations.footprints",
+ "decorations.fractals",
+ "decorations.markings",
+ "decorations.pathmorphing",
+ "decorations.pathreplacing",
+ "decorations.shapes",
+ "decorations.text",
+ "er",
+ "fadings",
+ "fit",
+ "fixedpointarithmetic",
+ "folding",
+ "fpu",
+ "graphs",
+ "graphs.standard",
+ "intersections",
+ "lindenmayersystems",
+ "math",
+ "matrix",
+ "mindmap",
+ "patterns",
+ "patterns.meta",
+ "petri",
+ "plothandlers",
+ "plotmarks",
+ "positioning",
+ "quotes",
+ "scopes",
+ "shadings",
+ "shadows",
+ "shapes.arrows",
+ "shapes.callouts",
+ "shapes",
+ "shapes.gates.logic.IEC",
+ "shapes.gates.logic.US",
+ "shapes.geometric",
+ "shapes.misc",
+ "shapes.multipart",
+ "shapes.symbols",
+ "snakes",
+ "spy",
+ "svg.path",
+ "through",
+ "topaths",
+ "trees",
+ "turtle",
+];
diff --git a/support/texlab/crates/texlab/src/features/completion/user_command.rs b/support/texlab/crates/texlab/src/features/completion/user_command.rs
index 26708e69ec..e1c517e6aa 100644
--- a/support/texlab/crates/texlab/src/features/completion/user_command.rs
+++ b/support/texlab/crates/texlab/src/features/completion/user_command.rs
@@ -12,8 +12,13 @@ pub fn complete<'db>(
for document in &context.project.documents {
let DocumentData::Tex(data) = &document.data else { continue };
- for (_, name) in data.semantics.commands.iter().filter(|(r, _)| *r != range) {
- builder.user_command(range, name);
+ for name in data
+ .semantics
+ .commands
+ .iter()
+ .filter(|name| name.range != range)
+ {
+ builder.user_command(range, &name.text);
}
}
diff --git a/support/texlab/crates/texlab/src/features/completion/user_environment.rs b/support/texlab/crates/texlab/src/features/completion/user_environment.rs
index 4e06eac6da..109925d623 100644
--- a/support/texlab/crates/texlab/src/features/completion/user_environment.rs
+++ b/support/texlab/crates/texlab/src/features/completion/user_environment.rs
@@ -8,7 +8,7 @@ pub fn complete<'db>(
context: &'db CursorContext,
builder: &mut CompletionBuilder<'db>,
) -> Option<()> {
- let (name, range) = context.find_environment_name()?;
+ let range = context.find_environment_name()?;
for document in &context.project.documents {
let DocumentData::Tex(data) = &document.data else { continue };
@@ -16,9 +16,9 @@ pub fn complete<'db>(
.semantics
.environments
.iter()
- .filter(|n| n.as_str() != name)
+ .filter(|name| name.range != range)
{
- builder.user_environment(range, name);
+ builder.user_environment(range, &name.text);
}
}
diff --git a/support/texlab/crates/texlab/src/features/definition/label.rs b/support/texlab/crates/texlab/src/features/definition/label.rs
index 84f17b5704..9a518974b7 100644
--- a/support/texlab/crates/texlab/src/features/definition/label.rs
+++ b/support/texlab/crates/texlab/src/features/definition/label.rs
@@ -1,6 +1,6 @@
-use base_db::{semantics::tex::LabelKind, DocumentData};
+use base_db::{semantics::tex::LabelKind, util::render_label, DocumentData};
-use crate::util::{self, cursor::CursorContext};
+use crate::util::cursor::CursorContext;
use super::DefinitionResult;
@@ -22,7 +22,7 @@ pub(super) fn goto_definition<'a>(
.find(|label| label.name.text == name_text) else { continue };
let target_selection_range = label.name.range;
- let target_range = util::label::render(context.workspace, &context.project, label)
+ let target_range = render_label(context.workspace, &context.project, label)
.map_or(target_selection_range, |label| label.range);
return Some(vec![DefinitionResult {
diff --git a/support/texlab/crates/texlab/src/features/formatting/bibtex_internal.rs b/support/texlab/crates/texlab/src/features/formatting/bibtex_internal.rs
index 7ffca6e840..2b16939f43 100644
--- a/support/texlab/crates/texlab/src/features/formatting/bibtex_internal.rs
+++ b/support/texlab/crates/texlab/src/features/formatting/bibtex_internal.rs
@@ -1,4 +1,4 @@
-use base_db::{Document, LineIndex, Workspace};
+use base_db::{util::LineIndex, Document, Workspace};
use lsp_types::{FormattingOptions, TextEdit};
use rowan::{ast::AstNode, NodeOrToken};
use syntax::bibtex::{self, HasName, HasType, HasValue};
diff --git a/support/texlab/crates/texlab/src/features/hover/entry_type.rs b/support/texlab/crates/texlab/src/features/hover/entry_type.rs
index 8875b30b2e..da737a148f 100644
--- a/support/texlab/crates/texlab/src/features/hover/entry_type.rs
+++ b/support/texlab/crates/texlab/src/features/hover/entry_type.rs
@@ -1,7 +1,8 @@
+use base_db::data::BibtexEntryType;
use lsp_types::MarkupKind;
use syntax::bibtex;
-use crate::util::{cursor::CursorContext, lang_data::LANGUAGE_DATA};
+use crate::util::cursor::CursorContext;
use super::HoverResult;
@@ -11,10 +12,10 @@ pub(super) fn find_hover(context: &CursorContext) -> Option<HoverResult> {
.as_bib()
.filter(|token| token.kind() == bibtex::TYPE)?;
- let docs = LANGUAGE_DATA.entry_type_documentation(&name.text()[1..])?;
+ let documentation = BibtexEntryType::find(&name.text()[1..]).and_then(|ty| ty.documentation)?;
Some(HoverResult {
range: name.text_range(),
- value: docs.to_string(),
+ value: String::from(documentation),
value_kind: MarkupKind::Markdown,
})
}
diff --git a/support/texlab/crates/texlab/src/features/hover/field.rs b/support/texlab/crates/texlab/src/features/hover/field.rs
index 8787a45c09..d16bea6157 100644
--- a/support/texlab/crates/texlab/src/features/hover/field.rs
+++ b/support/texlab/crates/texlab/src/features/hover/field.rs
@@ -1,8 +1,9 @@
+use base_db::data::BibtexFieldType;
use lsp_types::MarkupKind;
use rowan::ast::AstNode;
use syntax::bibtex;
-use crate::util::{cursor::CursorContext, lang_data::LANGUAGE_DATA};
+use crate::util::cursor::CursorContext;
use super::HoverResult;
@@ -14,10 +15,10 @@ pub(super) fn find_hover(context: &CursorContext) -> Option<HoverResult> {
bibtex::Field::cast(name.parent()?)?;
- let docs = LANGUAGE_DATA.field_documentation(name.text())?;
+ let docs = BibtexFieldType::find(name.text())?.documentation;
Some(HoverResult {
range: name.text_range(),
- value: docs.to_string(),
+ value: docs.into(),
value_kind: MarkupKind::Markdown,
})
}
diff --git a/support/texlab/crates/texlab/src/features/hover/label.rs b/support/texlab/crates/texlab/src/features/hover/label.rs
index 5ed7ce5121..bb5768d2b0 100644
--- a/support/texlab/crates/texlab/src/features/hover/label.rs
+++ b/support/texlab/crates/texlab/src/features/hover/label.rs
@@ -1,7 +1,7 @@
-use base_db::semantics::tex::LabelKind;
+use base_db::{semantics::tex::LabelKind, util::render_label};
use lsp_types::MarkupKind;
-use crate::util::{self, cursor::CursorContext};
+use crate::util::cursor::CursorContext;
use super::HoverResult;
@@ -17,7 +17,7 @@ pub(super) fn find_hover(context: &CursorContext) -> Option<HoverResult> {
.filter_map(|document| document.data.as_tex())
.flat_map(|data| data.semantics.labels.iter())
.find(|label| label.kind == LabelKind::Definition && label.name.text == name_text)
- .and_then(|label| util::label::render(context.workspace, &context.project, label))
+ .and_then(|label| render_label(context.workspace, &context.project, label))
.map(|label| HoverResult {
range,
value: label.reference(),
diff --git a/support/texlab/crates/texlab/src/features/inlay_hint/label.rs b/support/texlab/crates/texlab/src/features/inlay_hint/label.rs
index 5269b5742d..dd33990f45 100644
--- a/support/texlab/crates/texlab/src/features/inlay_hint/label.rs
+++ b/support/texlab/crates/texlab/src/features/inlay_hint/label.rs
@@ -1,6 +1,8 @@
-use base_db::{semantics::tex::LabelKind, DocumentData};
-
-use crate::util::{self, label::LabeledObject};
+use base_db::{
+ semantics::tex::LabelKind,
+ util::{render_label, RenderedObject},
+ DocumentData,
+};
use super::InlayHintBuilder;
@@ -15,21 +17,21 @@ pub(super) fn find_hints(builder: &mut InlayHintBuilder) -> Option<()> {
.filter(|label| label.kind == LabelKind::Definition)
.filter(|label| label.name.range.intersect(range).is_some())
{
- let Some(rendered) = util::label::render(builder.workspace, &builder.project, label) else { continue };
+ let Some(rendered) = render_label(builder.workspace, &builder.project, label) else { continue };
let Some(number) = &rendered.number else { continue };
let text = match &rendered.object {
- LabeledObject::Section { prefix, .. } => {
+ RenderedObject::Section { prefix, .. } => {
format!("{} {}", prefix, number)
}
- LabeledObject::Float { kind, .. } => {
+ RenderedObject::Float { kind, .. } => {
format!("{} {}", kind.as_str(), number)
}
- LabeledObject::Theorem { kind, .. } => {
+ RenderedObject::Theorem { kind, .. } => {
format!("{} {}", kind, number)
}
- LabeledObject::Equation => format!("Equation ({})", number),
- LabeledObject::EnumItem => format!("Item {}", number),
+ RenderedObject::Equation => format!("Equation ({})", number),
+ RenderedObject::EnumItem => format!("Item {}", number),
};
builder.push(label.name.range.end(), text);
diff --git a/support/texlab/crates/texlab/src/features/symbol.rs b/support/texlab/crates/texlab/src/features/symbol.rs
deleted file mode 100644
index b8005eaf44..0000000000
--- a/support/texlab/crates/texlab/src/features/symbol.rs
+++ /dev/null
@@ -1,129 +0,0 @@
-mod bibtex;
-mod latex;
-mod project_order;
-mod types;
-
-use std::cmp::Reverse;
-
-use base_db::Workspace;
-use lsp_types::{
- ClientCapabilities, DocumentSymbolResponse, SymbolInformation, Url, WorkspaceSymbolParams,
-};
-
-use crate::util::capabilities::ClientCapabilitiesExt;
-
-use self::{project_order::ProjectOrdering, types::InternalSymbol};
-
-pub fn find_document_symbols(
- workspace: &Workspace,
- uri: &Url,
- client_capabilties: &ClientCapabilities,
-) -> Option<DocumentSymbolResponse> {
- let document = workspace.lookup(uri)?;
- let project = workspace.project(document);
-
- let mut buf = Vec::new();
- latex::find_symbols(workspace, &project, document, &mut buf);
- bibtex::find_symbols(document, &mut buf);
-
- let config = &workspace.config().symbols;
-
- InternalSymbol::filter(&mut buf, config);
-
- if client_capabilties.has_hierarchical_document_symbol_support() {
- let symbols = buf
- .into_iter()
- .map(|symbol| symbol.into_document_symbol())
- .collect();
-
- Some(DocumentSymbolResponse::Nested(symbols))
- } else {
- let mut new_buf = Vec::new();
- for symbol in buf {
- symbol.flatten(&mut new_buf);
- }
-
- let mut new_buf: Vec<_> = new_buf
- .into_iter()
- .map(|symbol| symbol.into_symbol_info(uri.clone()))
- .collect();
-
- sort_symbols(workspace, &mut new_buf);
- Some(DocumentSymbolResponse::Flat(new_buf))
- }
-}
-
-#[derive(Debug, Clone)]
-struct WorkspaceSymbol {
- info: SymbolInformation,
- search_text: String,
-}
-
-#[must_use]
-pub fn find_workspace_symbols(
- workspace: &Workspace,
- params: &WorkspaceSymbolParams,
-) -> Vec<SymbolInformation> {
- let mut symbols = Vec::new();
-
- for document in workspace.iter() {
- let project = workspace.project(document);
-
- let mut buf = Vec::new();
- latex::find_symbols(workspace, &project, document, &mut buf);
- bibtex::find_symbols(document, &mut buf);
- let mut new_buf = Vec::new();
-
- for symbol in buf {
- symbol.flatten(&mut new_buf);
- }
-
- for symbol in new_buf {
- symbols.push(WorkspaceSymbol {
- search_text: symbol.search_text(),
- info: symbol.into_symbol_info(document.uri.clone()),
- });
- }
- }
-
- let query_words: Vec<_> = params
- .query
- .split_whitespace()
- .map(str::to_lowercase)
- .collect();
-
- let mut filtered = Vec::new();
- for symbol in symbols {
- let mut included = true;
- for word in &query_words {
- if !symbol.search_text.contains(word) {
- included = false;
- break;
- }
- }
-
- if included {
- filtered.push(symbol.info);
- }
- }
-
- sort_symbols(workspace, &mut filtered);
- filtered
-}
-
-fn sort_symbols(workspace: &Workspace, symbols: &mut [SymbolInformation]) {
- let ordering = ProjectOrdering::new(workspace);
- symbols.sort_by(|left, right| {
- let left_key = (
- ordering.get(&left.location.uri),
- left.location.range.start,
- Reverse(left.location.range.end),
- );
- let right_key = (
- ordering.get(&right.location.uri),
- right.location.range.start,
- Reverse(right.location.range.end),
- );
- left_key.cmp(&right_key)
- });
-}
diff --git a/support/texlab/crates/texlab/src/features/symbol/bibtex.rs b/support/texlab/crates/texlab/src/features/symbol/bibtex.rs
deleted file mode 100644
index 6ddfe964ce..0000000000
--- a/support/texlab/crates/texlab/src/features/symbol/bibtex.rs
+++ /dev/null
@@ -1,82 +0,0 @@
-use base_db::{Document, DocumentData, LineIndex};
-use rowan::ast::AstNode;
-use syntax::bibtex::{self, HasName, HasType};
-
-use crate::util::{
- lang_data::{BibtexEntryTypeCategory, LANGUAGE_DATA},
- line_index_ext::LineIndexExt,
-};
-
-use super::types::{InternalSymbol, InternalSymbolKind};
-
-pub fn find_symbols(document: &Document, buf: &mut Vec<InternalSymbol>) {
- let DocumentData::Bib(data) = &document.data else { return };
-
- let line_index = &document.line_index;
- for node in data.root_node().children() {
- process_string(node.clone(), line_index, buf)
- .or_else(|| process_entry(node, line_index, buf));
- }
-}
-
-fn process_string(
- node: bibtex::SyntaxNode,
- line_index: &LineIndex,
- buf: &mut Vec<InternalSymbol>,
-) -> Option<()> {
- let string = bibtex::StringDef::cast(node)?;
- let name = string.name_token()?;
- buf.push(InternalSymbol {
- name: name.text().into(),
- label: None,
- kind: InternalSymbolKind::String,
- deprecated: false,
- full_range: line_index.line_col_lsp_range(string.syntax().text_range()),
- selection_range: line_index.line_col_lsp_range(name.text_range()),
- children: Vec::new(),
- });
-
- Some(())
-}
-
-fn process_entry(
- node: bibtex::SyntaxNode,
- line_index: &LineIndex,
- buf: &mut Vec<InternalSymbol>,
-) -> Option<()> {
- let entry = bibtex::Entry::cast(node)?;
- let ty = entry.type_token()?;
- let key = entry.name_token()?;
- let mut children = Vec::new();
- for field in entry.fields() {
- if let Some(name) = field.name_token() {
- let symbol = InternalSymbol {
- name: name.text().to_string(),
- label: None,
- kind: InternalSymbolKind::Field,
- deprecated: false,
- full_range: line_index.line_col_lsp_range(field.syntax().text_range()),
- selection_range: line_index.line_col_lsp_range(name.text_range()),
- children: Vec::new(),
- };
- children.push(symbol);
- }
- }
-
- let category = LANGUAGE_DATA
- .find_entry_type(&ty.text()[1..])
- .map(|ty| ty.category)
- .unwrap_or(BibtexEntryTypeCategory::Misc);
-
- buf.push(InternalSymbol {
- name: key.to_string(),
- label: None,
- kind: InternalSymbolKind::Entry(category),
- deprecated: false,
- full_range: line_index.line_col_lsp_range(entry.syntax().text_range()),
- selection_range: line_index.line_col_lsp_range(key.text_range()),
- children,
- });
-
- Some(())
-}
diff --git a/support/texlab/crates/texlab/src/features/symbol/latex.rs b/support/texlab/crates/texlab/src/features/symbol/latex.rs
deleted file mode 100644
index 0f67f4fbc5..0000000000
--- a/support/texlab/crates/texlab/src/features/symbol/latex.rs
+++ /dev/null
@@ -1,431 +0,0 @@
-use std::str::FromStr;
-
-use base_db::{semantics::Span, Document, DocumentData, Project, Workspace};
-use lsp_types::Range;
-use rowan::{ast::AstNode, TextRange};
-use syntax::latex::{self, HasBrack, HasCurly};
-use titlecase::titlecase;
-
-use crate::util::{
- label::{find_caption_by_parent, LabeledFloatKind},
- line_index_ext::LineIndexExt,
-};
-
-use super::types::{InternalSymbol, InternalSymbolKind};
-
-pub fn find_symbols(
- workspace: &Workspace,
- project: &Project,
- document: &Document,
- buf: &mut Vec<InternalSymbol>,
-) {
- let DocumentData::Tex(data) = &document.data else { return };
-
- let mut symbols = visit(workspace, project, document, data.root_node());
- buf.append(&mut symbols);
-}
-
-fn visit(
- workspace: &Workspace,
- project: &Project,
- document: &Document,
- node: latex::SyntaxNode,
-) -> Vec<InternalSymbol> {
- let symbol = match node.kind() {
- latex::PART
- | latex::CHAPTER
- | latex::SECTION
- | latex::SUBSECTION
- | latex::SUBSUBSECTION
- | latex::PARAGRAPH
- | latex::SUBPARAGRAPH => visit_section(project, document, node.clone()),
- latex::ENUM_ITEM => visit_enum_item(workspace, project, document, node.clone()),
- latex::EQUATION => visit_equation(project, document, node.clone()),
- latex::ENVIRONMENT => latex::Environment::cast(node.clone())
- .and_then(|env| env.begin())
- .and_then(|begin| begin.name())
- .and_then(|name| name.key())
- .map(|name| name.to_string())
- .and_then(|name| {
- let config = &workspace.config().syntax;
-
- if config.math_environments.contains(&name) {
- visit_equation_environment(project, document, node.clone())
- } else if config.enum_environments.contains(&name) {
- visit_enumeration(project, document, node.clone(), &name)
- } else if let Ok(float_kind) = LabeledFloatKind::from_str(&name) {
- visit_float(project, document, node.clone(), float_kind)
- } else {
- visit_theorem(project, document, node.clone(), &name)
- }
- }),
- _ => None,
- };
-
- match symbol {
- Some(mut parent) => {
- for child in node.children() {
- parent
- .children
- .append(&mut visit(workspace, project, document, child));
- }
-
- vec![parent]
- }
- None => {
- let mut symbols = Vec::new();
- for child in node.children() {
- symbols.append(&mut visit(workspace, project, document, child));
- }
-
- symbols
- }
- }
-}
-
-fn visit_section(
- project: &Project,
- document: &Document,
- node: latex::SyntaxNode,
-) -> Option<InternalSymbol> {
- let section = latex::Section::cast(node)?;
- let full_range = document
- .line_index
- .line_col_lsp_range(latex::small_range(&section));
-
- let group = section.name()?;
- let group_text = group.content_text()?;
-
- let label = NumberedLabel::find(project, section.syntax());
-
- let symbol = match label {
- Some(label) => {
- let name = match label.number {
- Some(number) => format!("{} {}", number, group_text),
- None => group_text,
- };
-
- InternalSymbol {
- name,
- label: Some(label.name.text),
- kind: InternalSymbolKind::Section,
- deprecated: false,
- full_range,
- selection_range: document.line_index.line_col_lsp_range(label.range),
- children: Vec::new(),
- }
- }
- None => InternalSymbol {
- name: group_text,
- label: None,
- kind: InternalSymbolKind::Section,
- deprecated: false,
- full_range,
- selection_range: full_range,
- children: Vec::new(),
- },
- };
-
- Some(symbol)
-}
-
-fn visit_enum_item(
- workspace: &Workspace,
- project: &Project,
- document: &Document,
- node: latex::SyntaxNode,
-) -> Option<InternalSymbol> {
- let enum_envs = &workspace.config().syntax.enum_environments;
- let enum_item = latex::EnumItem::cast(node.clone())?;
- if !enum_item
- .syntax()
- .ancestors()
- .filter_map(latex::Environment::cast)
- .filter_map(|environment| environment.begin())
- .filter_map(|begin| begin.name())
- .filter_map(|name| name.key())
- .any(|name| enum_envs.contains(&name.to_string()))
- {
- return None;
- }
-
- let full_range = document
- .line_index
- .line_col_lsp_range(latex::small_range(&enum_item));
-
- let name = enum_item
- .label()
- .and_then(|label| label.content_text())
- .unwrap_or_else(|| "Item".to_string());
-
- let symbol = match NumberedLabel::find(project, &node) {
- Some(label) => InternalSymbol {
- name: label.number.map_or_else(|| name.clone(), String::from),
- label: Some(label.name.text),
- kind: InternalSymbolKind::EnumerationItem,
- deprecated: false,
- full_range,
- selection_range: document.line_index.line_col_lsp_range(label.range),
- children: Vec::new(),
- },
- None => InternalSymbol {
- name,
- label: None,
- kind: InternalSymbolKind::EnumerationItem,
- deprecated: false,
- full_range,
- selection_range: full_range,
- children: Vec::new(),
- },
- };
-
- Some(symbol)
-}
-
-fn visit_equation(
- project: &Project,
- document: &Document,
- node: latex::SyntaxNode,
-) -> Option<InternalSymbol> {
- let equation = latex::Equation::cast(node)?;
-
- let full_range = document
- .line_index
- .line_col_lsp_range(latex::small_range(&equation));
-
- make_equation_symbol(project, document, equation.syntax(), full_range)
-}
-
-fn visit_equation_environment(
- project: &Project,
- document: &Document,
- node: latex::SyntaxNode,
-) -> Option<InternalSymbol> {
- let environment = latex::Environment::cast(node)?;
-
- let full_range = document
- .line_index
- .line_col_lsp_range(latex::small_range(&environment));
-
- make_equation_symbol(project, document, environment.syntax(), full_range)
-}
-
-fn make_equation_symbol(
- project: &Project,
- document: &Document,
- node: &latex::SyntaxNode,
- full_range: Range,
-) -> Option<InternalSymbol> {
- let symbol = match NumberedLabel::find(project, node) {
- Some(label) => {
- let name = match label.number {
- Some(number) => format!("Equation ({})", number),
- None => "Equation".to_string(),
- };
-
- InternalSymbol {
- name,
- label: Some(label.name.text),
- kind: InternalSymbolKind::Equation,
- deprecated: false,
- full_range,
- selection_range: document.line_index.line_col_lsp_range(label.range),
- children: Vec::new(),
- }
- }
- None => InternalSymbol {
- name: "Equation".to_string(),
- label: None,
- kind: InternalSymbolKind::Equation,
- deprecated: false,
- full_range,
- selection_range: full_range,
- children: Vec::new(),
- },
- };
-
- Some(symbol)
-}
-
-fn visit_enumeration(
- project: &Project,
- document: &Document,
- node: latex::SyntaxNode,
- env_name: &str,
-) -> Option<InternalSymbol> {
- let environment = latex::Environment::cast(node)?;
- let full_range = document
- .line_index
- .line_col_lsp_range(latex::small_range(&environment));
-
- let name = titlecase(env_name);
- let symbol = match NumberedLabel::find(project, environment.syntax()) {
- Some(label) => {
- let name = match label.number {
- Some(number) => format!("{} {}", name, number),
- None => name,
- };
-
- InternalSymbol {
- name,
- label: Some(label.name.text),
- kind: InternalSymbolKind::Enumeration,
- deprecated: false,
- full_range,
- selection_range: document.line_index.line_col_lsp_range(label.range),
- children: Vec::new(),
- }
- }
- None => InternalSymbol {
- name,
- label: None,
- kind: InternalSymbolKind::Enumeration,
- deprecated: false,
- full_range,
- selection_range: full_range,
- children: Vec::new(),
- },
- };
- Some(symbol)
-}
-
-fn visit_float(
- project: &Project,
- document: &Document,
- node: latex::SyntaxNode,
- float_kind: LabeledFloatKind,
-) -> Option<InternalSymbol> {
- let environment = latex::Environment::cast(node)?;
- let full_range = document
- .line_index
- .line_col_lsp_range(latex::small_range(&environment));
-
- let (float_kind, symbol_kind) = match float_kind {
- LabeledFloatKind::Algorithm => ("Algorithm", InternalSymbolKind::Algorithm),
- LabeledFloatKind::Figure => ("Figure", InternalSymbolKind::Figure),
- LabeledFloatKind::Listing => ("Listing", InternalSymbolKind::Listing),
- LabeledFloatKind::Table => ("Table", InternalSymbolKind::Table),
- };
-
- let caption = find_caption_by_parent(environment.syntax())?;
- let symbol = match NumberedLabel::find(project, environment.syntax()) {
- Some(label) => {
- let name = match label.number {
- Some(number) => format!("{} {}: {}", float_kind, number, caption),
- None => format!("{}: {}", float_kind, caption),
- };
-
- InternalSymbol {
- name,
- label: Some(label.name.text),
- kind: symbol_kind,
- deprecated: false,
- full_range,
- selection_range: document.line_index.line_col_lsp_range(label.range),
- children: Vec::new(),
- }
- }
- None => InternalSymbol {
- name: format!("{}: {}", float_kind, caption),
- label: None,
- kind: symbol_kind,
- deprecated: false,
- full_range,
- selection_range: full_range,
- children: Vec::new(),
- },
- };
-
- Some(symbol)
-}
-
-fn visit_theorem(
- project: &Project,
- document: &Document,
- node: latex::SyntaxNode,
- environment_name: &str,
-) -> Option<InternalSymbol> {
- let definition = project
- .documents
- .iter()
- .filter_map(|document| document.data.as_tex())
- .flat_map(|data| data.semantics.theorem_definitions.iter())
- .find(|theorem| theorem.name.text == environment_name)?;
-
- let node = latex::Environment::cast(node)?;
- let theorem_description = node
- .begin()?
- .options()
- .and_then(|option| option.content_text());
-
- let full_range = document
- .line_index
- .line_col_lsp_range(latex::small_range(&node));
-
- let symbol = match NumberedLabel::find(project, node.syntax()) {
- Some(label) => {
- let name = match (label.number, theorem_description) {
- (Some(number), Some(desc)) => {
- format!("{} {} ({})", definition.description, number, desc)
- }
- (Some(number), None) => format!("{} {}", definition.description, number),
- (None, Some(desc)) => format!("{} ({})", definition.description, desc),
- (None, None) => definition.description.clone(),
- };
-
- InternalSymbol {
- name,
- label: Some(label.name.text),
- kind: InternalSymbolKind::Theorem,
- deprecated: false,
- full_range,
- selection_range: document.line_index.line_col_lsp_range(label.range),
- children: Vec::new(),
- }
- }
- None => {
- let name = match theorem_description {
- Some(desc) => format!("{} ({})", definition.description, desc),
- None => definition.description.clone(),
- };
-
- InternalSymbol {
- name,
- label: None,
- kind: InternalSymbolKind::Theorem,
- deprecated: false,
- full_range,
- selection_range: full_range,
- children: Vec::new(),
- }
- }
- };
-
- Some(symbol)
-}
-
-#[derive(Debug)]
-struct NumberedLabel<'a> {
- name: Span,
- range: TextRange,
- number: Option<&'a str>,
-}
-
-impl<'a> NumberedLabel<'a> {
- fn find(project: &Project<'a>, parent: &latex::SyntaxNode) -> Option<Self> {
- let label = parent.children().find_map(latex::LabelDefinition::cast)?;
- let name = Span::from(&label.name()?.key()?);
- let number = project
- .documents
- .iter()
- .filter_map(|document| document.data.as_aux())
- .find_map(|data| data.semantics.label_numbers.get(&name.text))
- .map(|number| number.as_str());
-
- Some(NumberedLabel {
- name,
- range: latex::small_range(&label),
- number,
- })
- }
-}
diff --git a/support/texlab/crates/texlab/src/features/symbol/types.rs b/support/texlab/crates/texlab/src/features/symbol/types.rs
deleted file mode 100644
index b8fc9b462f..0000000000
--- a/support/texlab/crates/texlab/src/features/symbol/types.rs
+++ /dev/null
@@ -1,133 +0,0 @@
-use base_db::SymbolConfig;
-use lsp_types::{DocumentSymbol, Location, Range, SymbolInformation, SymbolKind, Url};
-
-use crate::util::{self, lang_data::BibtexEntryTypeCategory, lsp_enums::Structure};
-
-#[derive(Debug, PartialEq, Eq, Clone, Copy)]
-pub enum InternalSymbolKind {
- Section,
- Figure,
- Algorithm,
- Table,
- Listing,
- Enumeration,
- EnumerationItem,
- Theorem,
- Equation,
- Entry(BibtexEntryTypeCategory),
- Field,
- String,
-}
-
-impl InternalSymbolKind {
- pub fn into_symbol_kind(self) -> SymbolKind {
- match self {
- Self::Section => Structure::Section.symbol_kind(),
- Self::Figure | Self::Algorithm | Self::Table | Self::Listing => {
- Structure::Float.symbol_kind()
- }
- Self::Enumeration => Structure::Environment.symbol_kind(),
- Self::EnumerationItem => Structure::Item.symbol_kind(),
- Self::Theorem => Structure::Theorem.symbol_kind(),
- Self::Equation => Structure::Equation.symbol_kind(),
- Self::Entry(category) => Structure::Entry(category).symbol_kind(),
- Self::Field => Structure::Field.symbol_kind(),
- Self::String => Structure::Entry(BibtexEntryTypeCategory::String).symbol_kind(),
- }
- }
-}
-
-#[derive(Debug, PartialEq, Eq, Clone)]
-pub struct InternalSymbol {
- pub name: String,
- pub label: Option<String>,
- pub kind: InternalSymbolKind,
- pub deprecated: bool,
- pub full_range: Range,
- pub selection_range: Range,
- pub children: Vec<InternalSymbol>,
-}
-
-impl InternalSymbol {
- pub fn search_text(&self) -> String {
- let kind = match self.kind {
- InternalSymbolKind::Section => "latex section",
- InternalSymbolKind::Figure => "latex float figure",
- InternalSymbolKind::Algorithm => "latex float algorithm",
- InternalSymbolKind::Table => "latex float table",
- InternalSymbolKind::Listing => "latex float listing",
- InternalSymbolKind::Enumeration => "latex enumeration",
- InternalSymbolKind::EnumerationItem => "latex enumeration item",
- InternalSymbolKind::Theorem => "latex math",
- InternalSymbolKind::Equation => "latex math equation",
- InternalSymbolKind::Entry(_) => "bibtex entry",
- InternalSymbolKind::Field => "bibtex field",
- InternalSymbolKind::String => "bibtex string",
- };
- format!("{} {}", kind, self.name).to_lowercase()
- }
-
- pub fn flatten(mut self, buffer: &mut Vec<Self>) {
- if self.kind == InternalSymbolKind::Field {
- return;
- }
- for symbol in self.children.drain(..) {
- symbol.flatten(buffer);
- }
- buffer.push(self);
- }
-
- pub fn filter(container: &mut Vec<InternalSymbol>, config: &SymbolConfig) {
- let mut i = 0;
- while i < container.len() {
- let symbol = &mut container[i];
-
- if !symbol.name.is_empty()
- && util::regex_filter::filter(
- &symbol.name,
- &config.allowed_patterns,
- &config.ignored_patterns,
- )
- {
- Self::filter(&mut symbol.children, config);
- i += 1;
- } else {
- drop(symbol);
- let mut symbol = container.remove(i);
- container.append(&mut symbol.children);
- }
- }
- }
-
- pub fn into_document_symbol(self) -> DocumentSymbol {
- let children = self
- .children
- .into_iter()
- .map(|child| child.into_document_symbol())
- .collect();
-
- #[allow(deprecated)]
- DocumentSymbol {
- name: self.name,
- detail: self.label,
- kind: self.kind.into_symbol_kind(),
- deprecated: Some(self.deprecated),
- range: self.full_range,
- selection_range: self.selection_range,
- children: Some(children),
- tags: None,
- }
- }
-
- pub fn into_symbol_info(self, uri: Url) -> SymbolInformation {
- #[allow(deprecated)]
- SymbolInformation {
- name: self.name,
- kind: self.kind.into_symbol_kind(),
- deprecated: Some(self.deprecated),
- location: Location::new(uri, self.full_range),
- container_name: None,
- tags: None,
- }
- }
-}
diff --git a/support/texlab/crates/texlab/src/features/symbols.rs b/support/texlab/crates/texlab/src/features/symbols.rs
new file mode 100644
index 0000000000..170705e05c
--- /dev/null
+++ b/support/texlab/crates/texlab/src/features/symbols.rs
@@ -0,0 +1,107 @@
+use base_db::{data::BibtexEntryTypeCategory, Document, Workspace};
+use lsp_types::{
+ ClientCapabilities, DocumentSymbol, DocumentSymbolResponse, Location, WorkspaceSymbolResponse,
+};
+
+use crate::util::{capabilities::ClientCapabilitiesExt, line_index_ext::LineIndexExt};
+
+pub fn document_symbols(
+ workspace: &Workspace,
+ document: &Document,
+ capabilities: &ClientCapabilities,
+) -> DocumentSymbolResponse {
+ let symbols = symbols::document_symbols(workspace, document);
+ if capabilities.has_hierarchical_document_symbol_support() {
+ let results = symbols
+ .into_iter()
+ .map(|symbol| convert_to_nested_symbol(symbol, document))
+ .collect();
+
+ DocumentSymbolResponse::Nested(results)
+ } else {
+ let mut results = Vec::new();
+ for symbol in symbols {
+ convert_to_flat_symbols(symbol, document, &mut results);
+ }
+
+ DocumentSymbolResponse::Flat(results)
+ }
+}
+
+pub fn workspace_symbols(workspace: &Workspace, query: &str) -> WorkspaceSymbolResponse {
+ let symbols = symbols::workspace_symbols(workspace, query);
+ let mut results = Vec::new();
+ for symbols::SymbolLocation { symbol, document } in symbols {
+ convert_to_flat_symbols(symbol, document, &mut results);
+ }
+
+ WorkspaceSymbolResponse::Flat(results)
+}
+
+fn convert_to_nested_symbol(symbol: symbols::Symbol, document: &Document) -> DocumentSymbol {
+ let children = symbol
+ .children
+ .into_iter()
+ .map(|child| convert_to_nested_symbol(child, document))
+ .collect();
+
+ #[allow(deprecated)]
+ DocumentSymbol {
+ name: symbol.name,
+ detail: symbol.label.map(|label| label.text),
+ kind: convert_symbol_kind(symbol.kind),
+ deprecated: Some(false),
+ range: document.line_index.line_col_lsp_range(symbol.full_range),
+ selection_range: document
+ .line_index
+ .line_col_lsp_range(symbol.selection_range),
+ children: Some(children),
+ tags: None,
+ }
+}
+
+fn convert_to_flat_symbols(
+ symbol: symbols::Symbol,
+ document: &Document,
+ results: &mut Vec<lsp_types::SymbolInformation>,
+) {
+ let range = document.line_index.line_col_lsp_range(symbol.full_range);
+
+ #[allow(deprecated)]
+ results.push(lsp_types::SymbolInformation {
+ name: symbol.name,
+ kind: convert_symbol_kind(symbol.kind),
+ deprecated: Some(false),
+ location: Location::new(document.uri.clone(), range),
+ tags: None,
+ container_name: None,
+ });
+
+ for child in symbol.children {
+ convert_to_flat_symbols(child, document, results);
+ }
+}
+
+fn convert_symbol_kind(value: symbols::SymbolKind) -> lsp_types::SymbolKind {
+ match value {
+ symbols::SymbolKind::Section => lsp_types::SymbolKind::MODULE,
+ symbols::SymbolKind::Figure => lsp_types::SymbolKind::METHOD,
+ symbols::SymbolKind::Algorithm => lsp_types::SymbolKind::METHOD,
+ symbols::SymbolKind::Table => lsp_types::SymbolKind::METHOD,
+ symbols::SymbolKind::Listing => lsp_types::SymbolKind::METHOD,
+ symbols::SymbolKind::Enumeration => lsp_types::SymbolKind::ENUM,
+ symbols::SymbolKind::EnumerationItem => lsp_types::SymbolKind::ENUM_MEMBER,
+ symbols::SymbolKind::Theorem => lsp_types::SymbolKind::VARIABLE,
+ symbols::SymbolKind::Equation => lsp_types::SymbolKind::CONSTANT,
+ symbols::SymbolKind::Entry(category) => match category {
+ BibtexEntryTypeCategory::Misc => lsp_types::SymbolKind::INTERFACE,
+ BibtexEntryTypeCategory::String => lsp_types::SymbolKind::STRING,
+ BibtexEntryTypeCategory::Article => lsp_types::SymbolKind::EVENT,
+ BibtexEntryTypeCategory::Thesis => lsp_types::SymbolKind::OBJECT,
+ BibtexEntryTypeCategory::Book => lsp_types::SymbolKind::STRUCT,
+ BibtexEntryTypeCategory::Part => lsp_types::SymbolKind::OPERATOR,
+ BibtexEntryTypeCategory::Collection => lsp_types::SymbolKind::TYPE_PARAMETER,
+ },
+ symbols::SymbolKind::Field => lsp_types::SymbolKind::FIELD,
+ }
+}
diff --git a/support/texlab/crates/texlab/src/server.rs b/support/texlab/crates/texlab/src/server.rs
index 9cc0575e28..6b118655bc 100644
--- a/support/texlab/crates/texlab/src/server.rs
+++ b/support/texlab/crates/texlab/src/server.rs
@@ -11,10 +11,10 @@ use std::{
use anyhow::Result;
use base_db::{Config, Owner, Workspace};
-use base_feature::normalize_uri;
use commands::{BuildCommand, CleanCommand, CleanTarget, ForwardSearch};
use crossbeam_channel::{Receiver, Sender};
use distro::{Distro, Language};
+use itertools::{FoldWhile, Itertools};
use lsp_server::{Connection, ErrorCode, Message, RequestId};
use lsp_types::{notification::*, request::*, *};
use parking_lot::{Mutex, RwLock};
@@ -29,11 +29,11 @@ use crate::{
features::{
completion::{self, builder::CompletionItemData},
definition, folding, formatting, highlight, hover, inlay_hint, link, reference, rename,
- symbol,
+ symbols,
},
util::{
self, capabilities::ClientCapabilitiesExt, components::COMPONENT_DATABASE,
- line_index_ext::LineIndexExt,
+ line_index_ext::LineIndexExt, normalize_uri,
},
};
@@ -388,13 +388,27 @@ impl Server {
}
None => {
let language = document.language;
+ let line_col = document.line_index.line_col(document.cursor);
+
+ let (_, new_cursor) = change
+ .text
+ .lines()
+ .fold_while((0, 0), |(number, index), line| {
+ if number == line_col.line {
+ FoldWhile::Done((number, index))
+ } else {
+ itertools::FoldWhile::Continue((number + 1, index + line.len()))
+ }
+ })
+ .into_inner();
+
drop(document);
workspace.open(
uri.clone(),
change.text,
language,
Owner::Client,
- TextSize::default(),
+ TextSize::from(new_cursor as u32),
);
}
};
@@ -468,15 +482,24 @@ impl Server {
fn document_symbols(&self, id: RequestId, params: DocumentSymbolParams) -> Result<()> {
let mut uri = params.text_document.uri;
normalize_uri(&mut uri);
- let client_capabilities = Arc::clone(&self.client_capabilities);
+
+ let capabilities = Arc::clone(&self.client_capabilities);
self.run_query(id, move |workspace| {
- symbol::find_document_symbols(workspace, &uri, &client_capabilities)
+ let Some(document) = workspace.lookup(&uri) else {
+ return DocumentSymbolResponse::Flat(vec![]);
+ };
+
+ symbols::document_symbols(workspace, document, &capabilities)
});
+
Ok(())
}
fn workspace_symbols(&self, id: RequestId, params: WorkspaceSymbolParams) -> Result<()> {
- self.run_query(id, move |db| symbol::find_workspace_symbols(db, &params));
+ self.run_query(id, move |workspace| {
+ symbols::workspace_symbols(workspace, &params.query)
+ });
+
Ok(())
}
diff --git a/support/texlab/crates/texlab/src/util.rs b/support/texlab/crates/texlab/src/util.rs
index 5eed8a3357..b1e1adc396 100644
--- a/support/texlab/crates/texlab/src/util.rs
+++ b/support/texlab/crates/texlab/src/util.rs
@@ -3,14 +3,67 @@ pub mod chktex;
pub mod components;
pub mod cursor;
pub mod diagnostics;
-pub mod label;
-pub mod lang_data;
pub mod line_index_ext;
pub mod lsp_enums;
-pub mod regex_filter;
use std::path::PathBuf;
+use lsp_types::Url;
use once_cell::sync::Lazy;
pub static HOME_DIR: Lazy<Option<PathBuf>> = Lazy::new(dirs::home_dir);
+
+pub fn normalize_uri(uri: &mut Url) {
+ if let Some(mut segments) = uri.path_segments() {
+ if let Some(mut path) = segments.next().and_then(fix_drive_letter) {
+ for segment in segments {
+ path.push('/');
+ path.push_str(segment);
+ }
+
+ uri.set_path(&path);
+ }
+ }
+
+ uri.set_fragment(None);
+}
+
+fn fix_drive_letter(text: &str) -> Option<String> {
+ if !text.is_ascii() {
+ return None;
+ }
+
+ match &text[1..] {
+ ":" => Some(text.to_ascii_uppercase()),
+ "%3A" | "%3a" => Some(format!("{}:", text[0..1].to_ascii_uppercase())),
+ _ => None,
+ }
+}
+
+#[cfg(test)]
+mod tests {
+ use lsp_types::Url;
+
+ use super::normalize_uri;
+
+ #[test]
+ fn test_lowercase_drive_letter() {
+ let mut uri = Url::parse("file://c:/foo/bar.txt").unwrap();
+ normalize_uri(&mut uri);
+ assert_eq!(uri.as_str(), "file:///C:/foo/bar.txt");
+ }
+
+ #[test]
+ fn test_uppercase_drive_letter() {
+ let mut uri = Url::parse("file://C:/foo/bar.txt").unwrap();
+ normalize_uri(&mut uri);
+ assert_eq!(uri.as_str(), "file:///C:/foo/bar.txt");
+ }
+
+ #[test]
+ fn test_fragment() {
+ let mut uri = Url::parse("foo:///bar/baz.txt#qux").unwrap();
+ normalize_uri(&mut uri);
+ assert_eq!(uri.as_str(), "foo:///bar/baz.txt");
+ }
+}
diff --git a/support/texlab/crates/texlab/src/util/cursor.rs b/support/texlab/crates/texlab/src/util/cursor.rs
index 8db642c0bf..b03036386c 100644
--- a/support/texlab/crates/texlab/src/util/cursor.rs
+++ b/support/texlab/crates/texlab/src/util/cursor.rs
@@ -229,14 +229,14 @@ impl<'a, T> CursorContext<'a, T> {
}
}
- pub fn find_environment_name(&self) -> Option<(String, TextRange)> {
- let (name, range, group) = self.find_curly_group_word()?;
+ pub fn find_environment_name(&self) -> Option<TextRange> {
+ let (_, range, group) = self.find_curly_group_word()?;
if !matches!(group.syntax().parent()?.kind(), latex::BEGIN | latex::END) {
return None;
}
- Some((name, range))
+ Some(range)
}
pub fn find_environment(&self) -> Option<(latex::Key, latex::Key)> {
diff --git a/support/texlab/crates/texlab/src/util/diagnostics.rs b/support/texlab/crates/texlab/src/util/diagnostics.rs
index 9bac4df44e..b6f1efbce9 100644
--- a/support/texlab/crates/texlab/src/util/diagnostics.rs
+++ b/support/texlab/crates/texlab/src/util/diagnostics.rs
@@ -1,11 +1,9 @@
-use base_db::{diagnostics::ErrorCode, Document, Workspace};
+use base_db::{diagnostics::ErrorCode, util::filter_regex_patterns, Document, Workspace};
use distro::Language;
use lsp_types::{DiagnosticSeverity, NumberOrString};
use rustc_hash::FxHashMap;
use syntax::BuildErrorLevel;
-use crate::util;
-
use super::line_index_ext::LineIndexExt;
pub fn collect(workspace: &Workspace) -> FxHashMap<&Document, Vec<lsp_types::Diagnostic>> {
@@ -110,7 +108,7 @@ pub fn filter(
let config = &workspace.config().diagnostics;
for diagnostics in all_diagnostics.values_mut() {
diagnostics.retain(|diagnostic| {
- util::regex_filter::filter(
+ filter_regex_patterns(
&diagnostic.message,
&config.allowed_patterns,
&config.ignored_patterns,
diff --git a/support/texlab/crates/texlab/src/util/lang_data.rs b/support/texlab/crates/texlab/src/util/lang_data.rs
deleted file mode 100644
index 734ceb6df2..0000000000
--- a/support/texlab/crates/texlab/src/util/lang_data.rs
+++ /dev/null
@@ -1,68 +0,0 @@
-use once_cell::sync::Lazy;
-use serde::{Deserialize, Serialize};
-
-#[derive(Debug, PartialEq, Eq, Clone, Copy, Serialize, Deserialize)]
-#[serde(rename_all = "camelCase")]
-pub enum BibtexEntryTypeCategory {
- Misc,
- String,
- Article,
- Book,
- Collection,
- Part,
- Thesis,
-}
-
-#[derive(Debug, PartialEq, Eq, Clone, Serialize, Deserialize)]
-#[serde(rename_all = "camelCase")]
-pub struct BibtexEntryTypeDoc {
- pub name: String,
- pub category: BibtexEntryTypeCategory,
- pub documentation: Option<String>,
-}
-
-#[derive(Debug, PartialEq, Eq, Clone, Serialize, Deserialize)]
-#[serde(rename_all = "camelCase")]
-pub struct BibtexFieldDoc {
- pub name: String,
- pub documentation: String,
-}
-
-#[derive(Debug, PartialEq, Eq, Clone, Default, Serialize, Deserialize)]
-#[serde(rename_all = "camelCase")]
-pub struct LanguageData {
- pub colors: Vec<String>,
- pub entry_types: Vec<BibtexEntryTypeDoc>,
- pub fields: Vec<BibtexFieldDoc>,
- pub pgf_libraries: Vec<String>,
- pub tikz_libraries: Vec<String>,
-}
-
-impl LanguageData {
- #[must_use]
- pub fn find_entry_type(&self, name: &str) -> Option<&BibtexEntryTypeDoc> {
- let name = name.to_lowercase();
- self.entry_types
- .iter()
- .find(|ty| ty.name.to_lowercase() == name)
- }
-
- #[must_use]
- pub fn entry_type_documentation(&self, name: &str) -> Option<&str> {
- self.find_entry_type(name)
- .and_then(|ty| ty.documentation.as_ref().map(AsRef::as_ref))
- }
-
- #[must_use]
- pub fn field_documentation(&self, name: &str) -> Option<&str> {
- self.fields
- .iter()
- .find(|field| field.name.to_lowercase() == name.to_lowercase())
- .map(|field| field.documentation.as_ref())
- }
-}
-
-pub static LANGUAGE_DATA: Lazy<LanguageData> = Lazy::new(|| {
- const JSON: &str = include_str!("../../data/lang_data.json");
- serde_json::from_str(JSON).expect("Failed to deserialize language.json")
-});
diff --git a/support/texlab/crates/texlab/src/util/line_index_ext.rs b/support/texlab/crates/texlab/src/util/line_index_ext.rs
index bf4d9fa422..a7b0fa8953 100644
--- a/support/texlab/crates/texlab/src/util/line_index_ext.rs
+++ b/support/texlab/crates/texlab/src/util/line_index_ext.rs
@@ -1,4 +1,4 @@
-use base_db::{LineCol, LineColUtf16, LineIndex};
+use base_db::util::{LineCol, LineColUtf16, LineIndex};
use lsp_types::{Position, Range};
use rowan::{TextRange, TextSize};
diff --git a/support/texlab/crates/texlab/src/util/lsp_enums.rs b/support/texlab/crates/texlab/src/util/lsp_enums.rs
index 75b97097c5..e79297af8a 100644
--- a/support/texlab/crates/texlab/src/util/lsp_enums.rs
+++ b/support/texlab/crates/texlab/src/util/lsp_enums.rs
@@ -1,7 +1,6 @@
+use base_db::data::BibtexEntryTypeCategory;
use lsp_types::{CompletionItemKind, SymbolKind};
-use super::lang_data::BibtexEntryTypeCategory;
-
#[derive(Debug, PartialEq, Eq, Clone, Copy)]
pub enum Structure {
Command,
diff --git a/support/texlab/crates/texlab/tests/lsp/fixture.rs b/support/texlab/crates/texlab/tests/lsp/fixture.rs
index 02bed8c38a..a10105eb7f 100644
--- a/support/texlab/crates/texlab/tests/lsp/fixture.rs
+++ b/support/texlab/crates/texlab/tests/lsp/fixture.rs
@@ -26,14 +26,16 @@ impl Fixture {
let mut documents = Vec::new();
let mut start = 0;
- for end in input
- .match_indices("%!")
- .skip(1)
- .map(|(i, _)| i)
- .chain(std::iter::once(input.len()))
- {
- documents.push(Document::parse(&input[start..end]));
- start = end;
+ if !input.is_empty() {
+ for end in input
+ .match_indices("%!")
+ .skip(1)
+ .map(|(i, _)| i)
+ .chain(std::iter::once(input.len()))
+ {
+ documents.push(Document::parse(&input[start..end]));
+ start = end;
+ }
}
Self { documents }
diff --git a/support/texlab/crates/texlab/tests/lsp/text_document/completion.rs b/support/texlab/crates/texlab/tests/lsp/text_document/completion.rs
index 3c2e7962d4..78df56c583 100644
--- a/support/texlab/crates/texlab/tests/lsp/text_document/completion.rs
+++ b/support/texlab/crates/texlab/tests/lsp/text_document/completion.rs
@@ -852,3 +852,15 @@ fn issue_864() {
\end{document}"#
))
}
+
+#[test]
+fn issue_883() {
+ assert_json_snapshot!(complete(
+ r#"
+%! bug.tex
+\begin{doc
+ |
+ ^^^
+% Comment"#
+ ))
+}
diff --git a/support/texlab/crates/texlab/tests/lsp/text_document/document_symbol.rs b/support/texlab/crates/texlab/tests/lsp/text_document/document_symbol.rs
index 6ac00176b9..e22c9374ad 100644
--- a/support/texlab/crates/texlab/tests/lsp/text_document/document_symbol.rs
+++ b/support/texlab/crates/texlab/tests/lsp/text_document/document_symbol.rs
@@ -1,441 +1,45 @@
-use insta::assert_json_snapshot;
-use lsp_types::{
- notification::DidChangeConfiguration, request::DocumentSymbolRequest,
- DidChangeConfigurationParams, DocumentSymbolParams, DocumentSymbolResponse,
-};
+use insta::assert_debug_snapshot;
+use lsp_types::{notification::DidOpenTextDocument, request::DocumentSymbolRequest, *};
use crate::fixture::TestBed;
-fn find_symbols(
- fixture: &str,
- capabilities: serde_json::Value,
- settings: serde_json::Value,
-) -> DocumentSymbolResponse {
- let test_bed = TestBed::new(fixture).unwrap();
-
+#[test]
+fn test_smoke() {
+ let test_bed = TestBed::new("").unwrap();
test_bed
- .initialize(serde_json::from_value(capabilities).unwrap())
+ .initialize(ClientCapabilities {
+ text_document: Some(TextDocumentClientCapabilities {
+ document_symbol: Some(DocumentSymbolClientCapabilities {
+ hierarchical_document_symbol_support: Some(true),
+ ..Default::default()
+ }),
+ ..Default::default()
+ }),
+ ..Default::default()
+ })
.unwrap();
+ let uri = Url::parse("file:///texlab/main.tex").unwrap();
test_bed
.client()
- .send_notification::<DidChangeConfiguration>(DidChangeConfigurationParams { settings })
+ .send_notification::<DidOpenTextDocument>(DidOpenTextDocumentParams {
+ text_document: TextDocumentItem::new(
+ uri.clone(),
+ "latex".into(),
+ 0,
+ r#"\section{Foo} \subsection{Bar} \section{Baz}"#.into(),
+ ),
+ })
.unwrap();
- let text_document = test_bed.cursor().unwrap().text_document;
-
- let mut response = test_bed
+ let Some(DocumentSymbolResponse::Nested(symbols)) = test_bed
.client()
.send_request::<DocumentSymbolRequest>(DocumentSymbolParams {
- text_document,
- work_done_progress_params: Default::default(),
+ text_document: TextDocumentIdentifier { uri },
partial_result_params: Default::default(),
+ work_done_progress_params: Default::default(),
})
- .unwrap()
- .unwrap_or_else(|| DocumentSymbolResponse::Flat(vec![]));
-
- if let DocumentSymbolResponse::Flat(symbols) = &mut response {
- for symbol in symbols {
- symbol.location.uri = test_bed.redact(&symbol.location.uri);
- }
- }
-
- response
-}
-
-#[test]
-fn enumerate_nested() {
- assert_json_snapshot!(find_symbols(
- r#"
-%! main.tex
-\documentclass{article}
-
-\begin{document}
-
-\begin{enumerate}
- \item\label{it:foo} Foo
- \item\label{it:bar} Bar
- \item[Baz] Baz
- \item[Qux]\label{it:qux} Qux
-\end{enumerate}
-
-\end{document}
-|
-
-%! main.aux
-\relax
-\newlabel{it:foo}{{1}{1}}
-\newlabel{it:qux}{{2}{1}}"#,
- serde_json::json!({
- "textDocument": {
- "documentSymbol": {
- "hierarchicalDocumentSymbolSupport": true,
- },
- },
- }),
- serde_json::Value::Null,
- ));
-}
-
-#[test]
-fn enumerate_flat() {
- assert_json_snapshot!(find_symbols(
- r#"
-%! main.tex
-\documentclass{article}
-
-\begin{document}
-
-\begin{enumerate}
- \item\label{it:foo} Foo
- \item\label{it:bar} Bar
- \item[Baz] Baz
- \item[Qux]\label{it:qux} Qux
-\end{enumerate}
-
-\end{document}
-|
-
-%! main.aux
-\relax
-\newlabel{it:foo}{{1}{1}}
-\newlabel{it:qux}{{2}{1}}"#,
- serde_json::json!({}),
- serde_json::Value::Null,
- ));
-}
-
-#[test]
-fn equation_nested() {
- assert_json_snapshot!(find_symbols(
- r#"
-%! main.tex
-\documentclass{article}
-
-\begin{document}
-
-\begin{equation}\label{eq:foo}
- Foo
-\end{equation}
-
-\begin{equation}\label{eq:bar}
- Bar
-\end{equation}
-
-\begin{equation}
- Baz
-\end{equation}
-
-\end{document}
-|
-
-%! main.aux
-\relax
-\newlabel{eq:foo}{{1}{1}}"#,
- serde_json::json!({
- "textDocument": {
- "documentSymbol": {
- "hierarchicalDocumentSymbolSupport": true,
- },
- },
- }),
- serde_json::Value::Null,
- ));
-}
-
-#[test]
-fn equation_flat() {
- assert_json_snapshot!(find_symbols(
- r#"
-%! main.tex
-\documentclass{article}
-
-\begin{document}
-
-\begin{equation}\label{eq:foo}
- Foo
-\end{equation}
-
-\begin{equation}\label{eq:bar}
- Bar
-\end{equation}
-
-\begin{equation}
- Baz
-\end{equation}
-
-\end{document}
-|
-
-%! main.aux
-\relax
-\newlabel{eq:foo}{{1}{1}}"#,
- serde_json::json!({}),
- serde_json::Value::Null,
- ));
-}
-
-#[test]
-fn float_nested() {
- assert_json_snapshot!(find_symbols(
- r#"
-%! main.tex
-\documentclass{article}
-
-\begin{document}
-
-\begin{figure}
- Foo
- \caption{Foo}\label{fig:foo}
-\end{figure}
-
-\begin{figure}
- Bar
- \caption{Bar}\label{fig:bar}
-\end{figure}
-
-\begin{figure}
- Baz
- \caption{Baz}
-\end{figure}
-
-\begin{figure}
- Qux
-\end{figure}
-
-\end{document}
-|
-
-%! main.aux
-\relax
-\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Foo}}{1}\protected@file@percent }
-\newlabel{fig:foo}{{1}{1}}
-\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Bar}}{1}\protected@file@percent }
-\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces Baz}}{1}\protected@file@percent }"#,
- serde_json::json!({
- "textDocument": {
- "documentSymbol": {
- "hierarchicalDocumentSymbolSupport": true,
- },
- },
- }),
- serde_json::Value::Null,
- ));
-}
-
-#[test]
-fn float_flat() {
- assert_json_snapshot!(find_symbols(
- r#"
-%! main.tex
-\documentclass{article}
-
-\begin{document}
-
-\begin{figure}
- Foo
- \caption{Foo}\label{fig:foo}
-\end{figure}
-
-\begin{figure}
- Bar
- \caption{Bar}\label{fig:bar}
-\end{figure}
-
-\begin{figure}
- Baz
- \caption{Baz}
-\end{figure}
-
-\begin{figure}
- Qux
-\end{figure}
-
-\end{document}
-|
-
-%! main.aux
-\relax
-\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Foo}}{1}\protected@file@percent }
-\newlabel{fig:foo}{{1}{1}}
-\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Bar}}{1}\protected@file@percent }
-\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces Baz}}{1}\protected@file@percent }"#,
- serde_json::json!({}),
- serde_json::Value::Null,
- ));
-}
-
-#[test]
-fn section_nested() {
- assert_json_snapshot!(find_symbols(
- r#"
-%! main.tex
-\documentclass{article}
-
-\begin{document}
-
-\section{Foo}
-
-\section{Bar}\label{sec:bar}
-
-\subsection{Baz}\label{sec:baz}
-
-\end{document}
-|
-
-%! main.aux
-\relax
-\@writefile{toc}{\contentsline {section}{\numberline {1}Foo}{1}\protected@file@percent }
-\@writefile{toc}{\contentsline {section}{\numberline {2}Bar}{1}\protected@file@percent }
-\newlabel{sec:bar}{{2}{1}}"#,
- serde_json::json!({
- "textDocument": {
- "documentSymbol": {
- "hierarchicalDocumentSymbolSupport": true,
- },
- },
- }),
- serde_json::Value::Null,
- ));
-}
-
-#[test]
-fn section_flat() {
- assert_json_snapshot!(find_symbols(
- r#"
-%! main.tex
-\documentclass{article}
-
-\begin{document}
-
-\section{Foo}
-
-\section{Bar}\label{sec:bar}
-
-\subsection{Baz}\label{sec:baz}
-
-\end{document}
-|
-
-%! main.aux
-\relax
-\@writefile{toc}{\contentsline {section}{\numberline {1}Foo}{1}\protected@file@percent }
-\@writefile{toc}{\contentsline {section}{\numberline {2}Bar}{1}\protected@file@percent }
-\newlabel{sec:bar}{{2}{1}}"#,
- serde_json::json!({}),
- serde_json::Value::Null,
- ));
-}
-
-#[test]
-fn theorem_nested() {
- assert_json_snapshot!(find_symbols(
- r#"
-%! main.tex
-\documentclass{article}
-\usepackage{amsthm}
-\newtheorem{lemma}{Lemma}
-
-\begin{document}
-
-\begin{lemma}[Foo]\label{thm:foo}
- Foo
-\end{lemma}
-
-\begin{lemma}\label{thm:bar}
- Bar
-\end{lemma}
-
-\begin{lemma}\label{thm:baz}
- Baz
-\end{lemma}
-
-\begin{lemma}[Qux]
- Qux
-\end{lemma}
-
-\end{document}
-|
-
-%! main.aux
-\relax
-\newlabel{thm:foo}{{1}{1}}
-\newlabel{thm:bar}{{2}{1}}"#,
- serde_json::json!({
- "textDocument": {
- "documentSymbol": {
- "hierarchicalDocumentSymbolSupport": true,
- },
- },
- }),
- serde_json::Value::Null,
- ));
-}
-
-#[test]
-fn theorem_flat() {
- assert_json_snapshot!(find_symbols(
- r#"
-%! main.tex
-\documentclass{article}
-\usepackage{amsthm}
-\newtheorem{lemma}{Lemma}
-
-\begin{document}
-
-\begin{lemma}[Foo]\label{thm:foo}
- Foo
-\end{lemma}
-
-\begin{lemma}\label{thm:bar}
- Bar
-\end{lemma}
-
-\begin{lemma}\label{thm:baz}
- Baz
-\end{lemma}
-
-\begin{lemma}[Qux]
- Qux
-\end{lemma}
-
-\end{document}
-|
-
-%! main.aux
-\relax
-\newlabel{thm:foo}{{1}{1}}
-\newlabel{thm:bar}{{2}{1}}"#,
- serde_json::json!({}),
- serde_json::Value::Null,
- ));
-}
-
-#[test]
-fn ignored_patterns() {
- assert_json_snapshot!(find_symbols(
- r#"
-%! main.tex
-\documentclass{article}
-
-\begin{document}
-
-\begin{equation}\label{eq:foo}
- Foo
-\end{equation}
-
-\begin{enumerate}
- \item Foo
- \item Bar
-\end{enumerate}
+ .unwrap() else { unreachable!() };
-\end{document}
-|"#,
- serde_json::json!({}),
- serde_json::json!({
- "symbols": {
- "ignoredPatterns": ["Item", "Enumerate"]
- }
- }),
- ));
+ assert_debug_snapshot!(symbols);
}
diff --git a/support/texlab/crates/texlab/tests/lsp/text_document/formatting.rs b/support/texlab/crates/texlab/tests/lsp/text_document/formatting.rs
index 65200b1d84..05f8f768de 100644
--- a/support/texlab/crates/texlab/tests/lsp/text_document/formatting.rs
+++ b/support/texlab/crates/texlab/tests/lsp/text_document/formatting.rs
@@ -1,4 +1,4 @@
-use base_db::LineIndex;
+use base_db::util::LineIndex;
use insta::assert_snapshot;
use lsp_types::{
request::Formatting, ClientCapabilities, DocumentFormattingParams, FormattingOptions,
diff --git a/support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__issue_883.snap b/support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__issue_883.snap
new file mode 100644
index 0000000000..2f17e08bdb
--- /dev/null
+++ b/support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__issue_883.snap
@@ -0,0 +1,11 @@
+---
+source: crates/texlab/tests/lsp/text_document/completion.rs
+expression: "complete(r#\"\n%! bug.tex\n\\begin{doc\n |\n ^^^\n% Comment\"#)"
+---
+[
+ {
+ "label": "document",
+ "detail": "built-in",
+ "preselect": false
+ }
+]
diff --git a/support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__enumerate_flat.snap b/support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__enumerate_flat.snap
deleted file mode 100644
index b160196d26..0000000000
--- a/support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__enumerate_flat.snap
+++ /dev/null
@@ -1,96 +0,0 @@
----
-source: crates/texlab/tests/lsp/text_document/document_symbol.rs
-expression: "find_symbols(r#\"\n%! main.tex\n\\documentclass{article}\n\n\\begin{document}\n\n\\begin{enumerate}\n \\item\\label{it:foo} Foo\n \\item\\label{it:bar} Bar\n \\item[Baz] Baz\n \\item[Qux]\\label{it:qux} Qux\n\\end{enumerate}\n\n\\end{document}\n|\n\n%! main.aux\n\\relax\n\\newlabel{it:foo}{{1}{1}}\n\\newlabel{it:qux}{{2}{1}}\"#,\n serde_json::json!({}), serde_json::Value::Null)"
----
-[
- {
- "name": "Enumerate",
- "kind": 10,
- "deprecated": false,
- "location": {
- "uri": "redacted://main.tex",
- "range": {
- "start": {
- "line": 4,
- "character": 0
- },
- "end": {
- "line": 9,
- "character": 15
- }
- }
- }
- },
- {
- "name": "1",
- "kind": 22,
- "deprecated": false,
- "location": {
- "uri": "redacted://main.tex",
- "range": {
- "start": {
- "line": 5,
- "character": 4
- },
- "end": {
- "line": 5,
- "character": 27
- }
- }
- }
- },
- {
- "name": "Item",
- "kind": 22,
- "deprecated": false,
- "location": {
- "uri": "redacted://main.tex",
- "range": {
- "start": {
- "line": 6,
- "character": 4
- },
- "end": {
- "line": 6,
- "character": 27
- }
- }
- }
- },
- {
- "name": "Baz",
- "kind": 22,
- "deprecated": false,
- "location": {
- "uri": "redacted://main.tex",
- "range": {
- "start": {
- "line": 7,
- "character": 4
- },
- "end": {
- "line": 7,
- "character": 18
- }
- }
- }
- },
- {
- "name": "2",
- "kind": 22,
- "deprecated": false,
- "location": {
- "uri": "redacted://main.tex",
- "range": {
- "start": {
- "line": 8,
- "character": 4
- },
- "end": {
- "line": 8,
- "character": 32
- }
- }
- }
- }
-]
diff --git a/support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__enumerate_nested.snap b/support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__enumerate_nested.snap
deleted file mode 100644
index 8f777b6d8f..0000000000
--- a/support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__enumerate_nested.snap
+++ /dev/null
@@ -1,140 +0,0 @@
----
-source: tests/lsp/text_document/document_symbol.rs
-expression: "find_symbols(r#\"\n%! main.tex\n\\documentclass{article}\n\n\\begin{document}\n\n\\begin{enumerate}\n \\item\\label{it:foo} Foo\n \\item\\label{it:bar} Bar\n \\item[Baz] Baz\n \\item[Qux]\\label{it:qux} Qux\n\\end{enumerate}\n\n\\end{document}\n|\n\n%! main.aux\n\\relax\n\\newlabel{it:foo}{{1}{1}}\n\\newlabel{it:qux}{{2}{1}}\"#,\n serde_json::json!({\n \"textDocument\" :\n {\n \"documentSymbol\" :\n { \"hierarchicalDocumentSymbolSupport\" : true, },\n },\n }), serde_json::Value::Null)"
----
-[
- {
- "name": "Enumerate",
- "kind": 10,
- "deprecated": false,
- "range": {
- "start": {
- "line": 4,
- "character": 0
- },
- "end": {
- "line": 9,
- "character": 15
- }
- },
- "selectionRange": {
- "start": {
- "line": 4,
- "character": 0
- },
- "end": {
- "line": 9,
- "character": 15
- }
- },
- "children": [
- {
- "name": "1",
- "detail": "it:foo",
- "kind": 22,
- "deprecated": false,
- "range": {
- "start": {
- "line": 5,
- "character": 4
- },
- "end": {
- "line": 5,
- "character": 27
- }
- },
- "selectionRange": {
- "start": {
- "line": 5,
- "character": 9
- },
- "end": {
- "line": 5,
- "character": 23
- }
- },
- "children": []
- },
- {
- "name": "Item",
- "detail": "it:bar",
- "kind": 22,
- "deprecated": false,
- "range": {
- "start": {
- "line": 6,
- "character": 4
- },
- "end": {
- "line": 6,
- "character": 27
- }
- },
- "selectionRange": {
- "start": {
- "line": 6,
- "character": 9
- },
- "end": {
- "line": 6,
- "character": 23
- }
- },
- "children": []
- },
- {
- "name": "Baz",
- "kind": 22,
- "deprecated": false,
- "range": {
- "start": {
- "line": 7,
- "character": 4
- },
- "end": {
- "line": 7,
- "character": 18
- }
- },
- "selectionRange": {
- "start": {
- "line": 7,
- "character": 4
- },
- "end": {
- "line": 7,
- "character": 18
- }
- },
- "children": []
- },
- {
- "name": "2",
- "detail": "it:qux",
- "kind": 22,
- "deprecated": false,
- "range": {
- "start": {
- "line": 8,
- "character": 4
- },
- "end": {
- "line": 8,
- "character": 32
- }
- },
- "selectionRange": {
- "start": {
- "line": 8,
- "character": 14
- },
- "end": {
- "line": 8,
- "character": 28
- }
- },
- "children": []
- }
- ]
- }
-]
diff --git a/support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__equation_flat.snap b/support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__equation_flat.snap
deleted file mode 100644
index 6ff985fa81..0000000000
--- a/support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__equation_flat.snap
+++ /dev/null
@@ -1,60 +0,0 @@
----
-source: crates/texlab/tests/lsp/text_document/document_symbol.rs
-expression: "find_symbols(r#\"\n%! main.tex\n\\documentclass{article}\n\n\\begin{document}\n\n\\begin{equation}\\label{eq:foo}\n Foo\n\\end{equation}\n\n\\begin{equation}\\label{eq:bar}\n Bar\n\\end{equation}\n\n\\begin{equation}\n Baz\n\\end{equation}\n\n\\end{document}\n|\n\n%! main.aux\n\\relax\n\\newlabel{eq:foo}{{1}{1}}\"#,\n serde_json::json!({}), serde_json::Value::Null)"
----
-[
- {
- "name": "Equation (1)",
- "kind": 14,
- "deprecated": false,
- "location": {
- "uri": "redacted://main.tex",
- "range": {
- "start": {
- "line": 4,
- "character": 0
- },
- "end": {
- "line": 6,
- "character": 14
- }
- }
- }
- },
- {
- "name": "Equation",
- "kind": 14,
- "deprecated": false,
- "location": {
- "uri": "redacted://main.tex",
- "range": {
- "start": {
- "line": 8,
- "character": 0
- },
- "end": {
- "line": 10,
- "character": 14
- }
- }
- }
- },
- {
- "name": "Equation",
- "kind": 14,
- "deprecated": false,
- "location": {
- "uri": "redacted://main.tex",
- "range": {
- "start": {
- "line": 12,
- "character": 0
- },
- "end": {
- "line": 14,
- "character": 14
- }
- }
- }
- }
-]
diff --git a/support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__equation_nested.snap b/support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__equation_nested.snap
deleted file mode 100644
index 5965400814..0000000000
--- a/support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__equation_nested.snap
+++ /dev/null
@@ -1,86 +0,0 @@
----
-source: tests/lsp/text_document/document_symbol.rs
-expression: "find_symbols(r#\"\n%! main.tex\n\\documentclass{article}\n\n\\begin{document}\n\n\\begin{equation}\\label{eq:foo}\n Foo\n\\end{equation}\n\n\\begin{equation}\\label{eq:bar}\n Bar\n\\end{equation}\n\n\\begin{equation}\n Baz\n\\end{equation}\n\n\\end{document}\n|\n\n%! main.aux\n\\relax\n\\newlabel{eq:foo}{{1}{1}}\"#,\n serde_json::json!({\n \"textDocument\" :\n {\n \"documentSymbol\" :\n { \"hierarchicalDocumentSymbolSupport\" : true, },\n },\n }), serde_json::Value::Null)"
----
-[
- {
- "name": "Equation (1)",
- "detail": "eq:foo",
- "kind": 14,
- "deprecated": false,
- "range": {
- "start": {
- "line": 4,
- "character": 0
- },
- "end": {
- "line": 6,
- "character": 14
- }
- },
- "selectionRange": {
- "start": {
- "line": 4,
- "character": 16
- },
- "end": {
- "line": 4,
- "character": 30
- }
- },
- "children": []
- },
- {
- "name": "Equation",
- "detail": "eq:bar",
- "kind": 14,
- "deprecated": false,
- "range": {
- "start": {
- "line": 8,
- "character": 0
- },
- "end": {
- "line": 10,
- "character": 14
- }
- },
- "selectionRange": {
- "start": {
- "line": 8,
- "character": 16
- },
- "end": {
- "line": 8,
- "character": 30
- }
- },
- "children": []
- },
- {
- "name": "Equation",
- "kind": 14,
- "deprecated": false,
- "range": {
- "start": {
- "line": 12,
- "character": 0
- },
- "end": {
- "line": 14,
- "character": 14
- }
- },
- "selectionRange": {
- "start": {
- "line": 12,
- "character": 0
- },
- "end": {
- "line": 14,
- "character": 14
- }
- },
- "children": []
- }
-]
diff --git a/support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__float_flat.snap b/support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__float_flat.snap
deleted file mode 100644
index 742e405e0f..0000000000
--- a/support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__float_flat.snap
+++ /dev/null
@@ -1,60 +0,0 @@
----
-source: crates/texlab/tests/lsp/text_document/document_symbol.rs
-expression: "find_symbols(r#\"\n%! main.tex\n\\documentclass{article}\n\n\\begin{document}\n\n\\begin{figure}\n Foo\n \\caption{Foo}\\label{fig:foo}\n\\end{figure}\n\n\\begin{figure}\n Bar\n \\caption{Bar}\\label{fig:bar}\n\\end{figure}\n\n\\begin{figure}\n Baz\n \\caption{Baz}\n\\end{figure}\n\n\\begin{figure}\n Qux\n\\end{figure}\n\n\\end{document}\n|\n\n%! main.aux\n\\relax\n\\@writefile{lof}{\\contentsline {figure}{\\numberline {1}{\\ignorespaces Foo}}{1}\\protected@file@percent }\n\\newlabel{fig:foo}{{1}{1}}\n\\@writefile{lof}{\\contentsline {figure}{\\numberline {2}{\\ignorespaces Bar}}{1}\\protected@file@percent }\n\\@writefile{lof}{\\contentsline {figure}{\\numberline {3}{\\ignorespaces Baz}}{1}\\protected@file@percent }\"#,\n serde_json::json!({}), serde_json::Value::Null)"
----
-[
- {
- "name": "Figure 1: Foo",
- "kind": 6,
- "deprecated": false,
- "location": {
- "uri": "redacted://main.tex",
- "range": {
- "start": {
- "line": 4,
- "character": 0
- },
- "end": {
- "line": 7,
- "character": 12
- }
- }
- }
- },
- {
- "name": "Figure: Bar",
- "kind": 6,
- "deprecated": false,
- "location": {
- "uri": "redacted://main.tex",
- "range": {
- "start": {
- "line": 9,
- "character": 0
- },
- "end": {
- "line": 12,
- "character": 12
- }
- }
- }
- },
- {
- "name": "Figure: Baz",
- "kind": 6,
- "deprecated": false,
- "location": {
- "uri": "redacted://main.tex",
- "range": {
- "start": {
- "line": 14,
- "character": 0
- },
- "end": {
- "line": 17,
- "character": 12
- }
- }
- }
- }
-]
diff --git a/support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__float_nested.snap b/support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__float_nested.snap
deleted file mode 100644
index a625beb1fb..0000000000
--- a/support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__float_nested.snap
+++ /dev/null
@@ -1,86 +0,0 @@
----
-source: tests/lsp/text_document/document_symbol.rs
-expression: "find_symbols(r#\"\n%! main.tex\n\\documentclass{article}\n\n\\begin{document}\n\n\\begin{figure}\n Foo\n \\caption{Foo}\\label{fig:foo}\n\\end{figure}\n\n\\begin{figure}\n Bar\n \\caption{Bar}\\label{fig:bar}\n\\end{figure}\n\n\\begin{figure}\n Baz\n \\caption{Baz}\n\\end{figure}\n\n\\begin{figure}\n Qux\n\\end{figure}\n\n\\end{document}\n|\n\n%! main.aux\n\\relax\n\\@writefile{lof}{\\contentsline {figure}{\\numberline {1}{\\ignorespaces Foo}}{1}\\protected@file@percent }\n\\newlabel{fig:foo}{{1}{1}}\n\\@writefile{lof}{\\contentsline {figure}{\\numberline {2}{\\ignorespaces Bar}}{1}\\protected@file@percent }\n\\@writefile{lof}{\\contentsline {figure}{\\numberline {3}{\\ignorespaces Baz}}{1}\\protected@file@percent }\"#,\n serde_json::json!({\n \"textDocument\" :\n {\n \"documentSymbol\" :\n { \"hierarchicalDocumentSymbolSupport\" : true, },\n },\n }), serde_json::Value::Null)"
----
-[
- {
- "name": "Figure 1: Foo",
- "detail": "fig:foo",
- "kind": 6,
- "deprecated": false,
- "range": {
- "start": {
- "line": 4,
- "character": 0
- },
- "end": {
- "line": 7,
- "character": 12
- }
- },
- "selectionRange": {
- "start": {
- "line": 6,
- "character": 17
- },
- "end": {
- "line": 6,
- "character": 32
- }
- },
- "children": []
- },
- {
- "name": "Figure: Bar",
- "detail": "fig:bar",
- "kind": 6,
- "deprecated": false,
- "range": {
- "start": {
- "line": 9,
- "character": 0
- },
- "end": {
- "line": 12,
- "character": 12
- }
- },
- "selectionRange": {
- "start": {
- "line": 11,
- "character": 17
- },
- "end": {
- "line": 11,
- "character": 32
- }
- },
- "children": []
- },
- {
- "name": "Figure: Baz",
- "kind": 6,
- "deprecated": false,
- "range": {
- "start": {
- "line": 14,
- "character": 0
- },
- "end": {
- "line": 17,
- "character": 12
- }
- },
- "selectionRange": {
- "start": {
- "line": 14,
- "character": 0
- },
- "end": {
- "line": 17,
- "character": 12
- }
- },
- "children": []
- }
-]
diff --git a/support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__ignored_patterns.snap b/support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__ignored_patterns.snap
deleted file mode 100644
index c1981e9db2..0000000000
--- a/support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__ignored_patterns.snap
+++ /dev/null
@@ -1,24 +0,0 @@
----
-source: crates/texlab/tests/lsp/text_document/document_symbol.rs
-expression: "find_symbols(r#\"\n%! main.tex\n\\documentclass{article}\n\n\\begin{document}\n\n\\begin{equation}\\label{eq:foo}\n Foo\n\\end{equation}\n \n\\begin{enumerate}\n \\item Foo\n \\item Bar\n\\end{enumerate}\n\n\\end{document}\n|\"#,\n serde_json::json!({}),\n serde_json::json!({\n \"symbols\" : { \"ignoredPatterns\" : [\"Item\", \"Enumerate\"] }\n }))"
----
-[
- {
- "name": "Equation",
- "kind": 14,
- "deprecated": false,
- "location": {
- "uri": "redacted://main.tex",
- "range": {
- "start": {
- "line": 4,
- "character": 0
- },
- "end": {
- "line": 6,
- "character": 14
- }
- }
- }
- }
-]
diff --git a/support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__section_flat.snap b/support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__section_flat.snap
deleted file mode 100644
index 5ab04f4e60..0000000000
--- a/support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__section_flat.snap
+++ /dev/null
@@ -1,60 +0,0 @@
----
-source: crates/texlab/tests/lsp/text_document/document_symbol.rs
-expression: "find_symbols(r#\"\n%! main.tex\n\\documentclass{article}\n\n\\begin{document}\n\n\\section{Foo}\n\n\\section{Bar}\\label{sec:bar}\n\n\\subsection{Baz}\\label{sec:baz}\n\n\\end{document}\n|\n\n%! main.aux\n\\relax\n\\@writefile{toc}{\\contentsline {section}{\\numberline {1}Foo}{1}\\protected@file@percent }\n\\@writefile{toc}{\\contentsline {section}{\\numberline {2}Bar}{1}\\protected@file@percent }\n\\newlabel{sec:bar}{{2}{1}}\"#,\n serde_json::json!({}), serde_json::Value::Null)"
----
-[
- {
- "name": "Foo",
- "kind": 2,
- "deprecated": false,
- "location": {
- "uri": "redacted://main.tex",
- "range": {
- "start": {
- "line": 4,
- "character": 0
- },
- "end": {
- "line": 4,
- "character": 13
- }
- }
- }
- },
- {
- "name": "2 Bar",
- "kind": 2,
- "deprecated": false,
- "location": {
- "uri": "redacted://main.tex",
- "range": {
- "start": {
- "line": 6,
- "character": 0
- },
- "end": {
- "line": 8,
- "character": 31
- }
- }
- }
- },
- {
- "name": "Baz",
- "kind": 2,
- "deprecated": false,
- "location": {
- "uri": "redacted://main.tex",
- "range": {
- "start": {
- "line": 8,
- "character": 0
- },
- "end": {
- "line": 8,
- "character": 31
- }
- }
- }
- }
-]
diff --git a/support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__section_nested.snap b/support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__section_nested.snap
deleted file mode 100644
index bac292bf01..0000000000
--- a/support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__section_nested.snap
+++ /dev/null
@@ -1,87 +0,0 @@
----
-source: tests/lsp/text_document/document_symbol.rs
-expression: "find_symbols(r#\"\n%! main.tex\n\\documentclass{article}\n\n\\begin{document}\n\n\\section{Foo}\n\n\\section{Bar}\\label{sec:bar}\n\n\\subsection{Baz}\\label{sec:baz}\n\n\\end{document}\n|\n\n%! main.aux\n\\relax\n\\@writefile{toc}{\\contentsline {section}{\\numberline {1}Foo}{1}\\protected@file@percent }\n\\@writefile{toc}{\\contentsline {section}{\\numberline {2}Bar}{1}\\protected@file@percent }\n\\newlabel{sec:bar}{{2}{1}}\"#,\n serde_json::json!({\n \"textDocument\" :\n {\n \"documentSymbol\" :\n { \"hierarchicalDocumentSymbolSupport\" : true, },\n },\n }), serde_json::Value::Null)"
----
-[
- {
- "name": "Foo",
- "kind": 2,
- "deprecated": false,
- "range": {
- "start": {
- "line": 4,
- "character": 0
- },
- "end": {
- "line": 4,
- "character": 13
- }
- },
- "selectionRange": {
- "start": {
- "line": 4,
- "character": 0
- },
- "end": {
- "line": 4,
- "character": 13
- }
- },
- "children": []
- },
- {
- "name": "2 Bar",
- "detail": "sec:bar",
- "kind": 2,
- "deprecated": false,
- "range": {
- "start": {
- "line": 6,
- "character": 0
- },
- "end": {
- "line": 8,
- "character": 31
- }
- },
- "selectionRange": {
- "start": {
- "line": 6,
- "character": 13
- },
- "end": {
- "line": 6,
- "character": 28
- }
- },
- "children": [
- {
- "name": "Baz",
- "detail": "sec:baz",
- "kind": 2,
- "deprecated": false,
- "range": {
- "start": {
- "line": 8,
- "character": 0
- },
- "end": {
- "line": 8,
- "character": 31
- }
- },
- "selectionRange": {
- "start": {
- "line": 8,
- "character": 16
- },
- "end": {
- "line": 8,
- "character": 31
- }
- },
- "children": []
- }
- ]
- }
-]
diff --git a/support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__smoke.snap b/support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__smoke.snap
new file mode 100644
index 0000000000..061fc93c95
--- /dev/null
+++ b/support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__smoke.snap
@@ -0,0 +1,103 @@
+---
+source: crates/texlab/tests/lsp/text_document/document_symbol.rs
+expression: symbols
+---
+[
+ DocumentSymbol {
+ name: "Foo",
+ detail: None,
+ kind: Module,
+ tags: None,
+ deprecated: Some(
+ false,
+ ),
+ range: Range {
+ start: Position {
+ line: 0,
+ character: 0,
+ },
+ end: Position {
+ line: 0,
+ character: 30,
+ },
+ },
+ selection_range: Range {
+ start: Position {
+ line: 0,
+ character: 0,
+ },
+ end: Position {
+ line: 0,
+ character: 30,
+ },
+ },
+ children: Some(
+ [
+ DocumentSymbol {
+ name: "Bar",
+ detail: None,
+ kind: Module,
+ tags: None,
+ deprecated: Some(
+ false,
+ ),
+ range: Range {
+ start: Position {
+ line: 0,
+ character: 14,
+ },
+ end: Position {
+ line: 0,
+ character: 30,
+ },
+ },
+ selection_range: Range {
+ start: Position {
+ line: 0,
+ character: 14,
+ },
+ end: Position {
+ line: 0,
+ character: 30,
+ },
+ },
+ children: Some(
+ [],
+ ),
+ },
+ ],
+ ),
+ },
+ DocumentSymbol {
+ name: "Baz",
+ detail: None,
+ kind: Module,
+ tags: None,
+ deprecated: Some(
+ false,
+ ),
+ range: Range {
+ start: Position {
+ line: 0,
+ character: 31,
+ },
+ end: Position {
+ line: 0,
+ character: 44,
+ },
+ },
+ selection_range: Range {
+ start: Position {
+ line: 0,
+ character: 31,
+ },
+ end: Position {
+ line: 0,
+ character: 44,
+ },
+ },
+ children: Some(
+ [],
+ ),
+ },
+]
diff --git a/support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__theorem_flat.snap b/support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__theorem_flat.snap
deleted file mode 100644
index a20b9bb236..0000000000
--- a/support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__theorem_flat.snap
+++ /dev/null
@@ -1,78 +0,0 @@
----
-source: crates/texlab/tests/lsp/text_document/document_symbol.rs
-expression: "find_symbols(r#\"\n%! main.tex\n\\documentclass{article}\n\\usepackage{amsthm}\n\\newtheorem{lemma}{Lemma}\n\n\\begin{document}\n\n\\begin{lemma}[Foo]\\label{thm:foo}\n Foo\n\\end{lemma}\n\n\\begin{lemma}\\label{thm:bar}\n Bar\n\\end{lemma}\n\n\\begin{lemma}\\label{thm:baz}\n Baz\n\\end{lemma}\n\n\\begin{lemma}[Qux]\n Qux\n\\end{lemma}\n\n\\end{document}\n|\n\n%! main.aux\n\\relax\n\\newlabel{thm:foo}{{1}{1}}\n\\newlabel{thm:bar}{{2}{1}}\"#,\n serde_json::json!({}), serde_json::Value::Null)"
----
-[
- {
- "name": "Lemma 1 (Foo)",
- "kind": 13,
- "deprecated": false,
- "location": {
- "uri": "redacted://main.tex",
- "range": {
- "start": {
- "line": 6,
- "character": 0
- },
- "end": {
- "line": 8,
- "character": 11
- }
- }
- }
- },
- {
- "name": "Lemma 2",
- "kind": 13,
- "deprecated": false,
- "location": {
- "uri": "redacted://main.tex",
- "range": {
- "start": {
- "line": 10,
- "character": 0
- },
- "end": {
- "line": 12,
- "character": 11
- }
- }
- }
- },
- {
- "name": "Lemma",
- "kind": 13,
- "deprecated": false,
- "location": {
- "uri": "redacted://main.tex",
- "range": {
- "start": {
- "line": 14,
- "character": 0
- },
- "end": {
- "line": 16,
- "character": 11
- }
- }
- }
- },
- {
- "name": "Lemma (Qux)",
- "kind": 13,
- "deprecated": false,
- "location": {
- "uri": "redacted://main.tex",
- "range": {
- "start": {
- "line": 18,
- "character": 0
- },
- "end": {
- "line": 20,
- "character": 11
- }
- }
- }
- }
-]
diff --git a/support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__theorem_nested.snap b/support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__theorem_nested.snap
deleted file mode 100644
index 82bdd6d1d9..0000000000
--- a/support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__theorem_nested.snap
+++ /dev/null
@@ -1,113 +0,0 @@
----
-source: tests/lsp/text_document/document_symbol.rs
-expression: "find_symbols(r#\"\n%! main.tex\n\\documentclass{article}\n\\usepackage{amsthm}\n\\newtheorem{lemma}{Lemma}\n\n\\begin{document}\n\n\\begin{lemma}[Foo]\\label{thm:foo}\n Foo\n\\end{lemma}\n\n\\begin{lemma}\\label{thm:bar}\n Bar\n\\end{lemma}\n\n\\begin{lemma}\\label{thm:baz}\n Baz\n\\end{lemma}\n\n\\begin{lemma}[Qux]\n Qux\n\\end{lemma}\n\n\\end{document}\n|\n\n%! main.aux\n\\relax\n\\newlabel{thm:foo}{{1}{1}}\n\\newlabel{thm:bar}{{2}{1}}\"#,\n serde_json::json!({\n \"textDocument\" :\n {\n \"documentSymbol\" :\n { \"hierarchicalDocumentSymbolSupport\" : true, },\n },\n }), serde_json::Value::Null)"
----
-[
- {
- "name": "Lemma 1 (Foo)",
- "detail": "thm:foo",
- "kind": 13,
- "deprecated": false,
- "range": {
- "start": {
- "line": 6,
- "character": 0
- },
- "end": {
- "line": 8,
- "character": 11
- }
- },
- "selectionRange": {
- "start": {
- "line": 6,
- "character": 18
- },
- "end": {
- "line": 6,
- "character": 33
- }
- },
- "children": []
- },
- {
- "name": "Lemma 2",
- "detail": "thm:bar",
- "kind": 13,
- "deprecated": false,
- "range": {
- "start": {
- "line": 10,
- "character": 0
- },
- "end": {
- "line": 12,
- "character": 11
- }
- },
- "selectionRange": {
- "start": {
- "line": 10,
- "character": 13
- },
- "end": {
- "line": 10,
- "character": 28
- }
- },
- "children": []
- },
- {
- "name": "Lemma",
- "detail": "thm:baz",
- "kind": 13,
- "deprecated": false,
- "range": {
- "start": {
- "line": 14,
- "character": 0
- },
- "end": {
- "line": 16,
- "character": 11
- }
- },
- "selectionRange": {
- "start": {
- "line": 14,
- "character": 13
- },
- "end": {
- "line": 14,
- "character": 28
- }
- },
- "children": []
- },
- {
- "name": "Lemma (Qux)",
- "kind": 13,
- "deprecated": false,
- "range": {
- "start": {
- "line": 18,
- "character": 0
- },
- "end": {
- "line": 20,
- "character": 11
- }
- },
- "selectionRange": {
- "start": {
- "line": 18,
- "character": 0
- },
- "end": {
- "line": 20,
- "character": 11
- }
- },
- "children": []
- }
-]
diff --git a/support/texlab/crates/texlab/tests/lsp/workspace/snapshots/lsp__workspace__symbol__filter_bibtex.snap b/support/texlab/crates/texlab/tests/lsp/workspace/snapshots/lsp__workspace__symbol__filter_bibtex.snap
deleted file mode 100644
index 3e74634e7b..0000000000
--- a/support/texlab/crates/texlab/tests/lsp/workspace/snapshots/lsp__workspace__symbol__filter_bibtex.snap
+++ /dev/null
@@ -1,42 +0,0 @@
----
-source: crates/texlab/tests/lsp/workspace/symbol.rs
-expression: "find_symbols(FIXTURE, \"bibtex\")"
----
-[
- {
- "name": "foo",
- "kind": 24,
- "deprecated": false,
- "location": {
- "uri": "redacted://main.bib",
- "range": {
- "start": {
- "line": 0,
- "character": 0
- },
- "end": {
- "line": 0,
- "character": 14
- }
- }
- }
- },
- {
- "name": "bar",
- "kind": 15,
- "deprecated": false,
- "location": {
- "uri": "redacted://main.bib",
- "range": {
- "start": {
- "line": 2,
- "character": 0
- },
- "end": {
- "line": 2,
- "character": 20
- }
- }
- }
- }
-]
diff --git a/support/texlab/crates/texlab/tests/lsp/workspace/snapshots/lsp__workspace__symbol__filter_type_figure.snap b/support/texlab/crates/texlab/tests/lsp/workspace/snapshots/lsp__workspace__symbol__filter_type_figure.snap
deleted file mode 100644
index 66758aa90e..0000000000
--- a/support/texlab/crates/texlab/tests/lsp/workspace/snapshots/lsp__workspace__symbol__filter_type_figure.snap
+++ /dev/null
@@ -1,24 +0,0 @@
----
-source: crates/texlab/tests/lsp/workspace/symbol.rs
-expression: "find_symbols(FIXTURE, \"figure\")"
----
-[
- {
- "name": "Figure 1: Bar",
- "kind": 6,
- "deprecated": false,
- "location": {
- "uri": "redacted://main.tex",
- "range": {
- "start": {
- "line": 15,
- "character": 0
- },
- "end": {
- "line": 19,
- "character": 12
- }
- }
- }
- }
-]
diff --git a/support/texlab/crates/texlab/tests/lsp/workspace/snapshots/lsp__workspace__symbol__filter_type_item.snap b/support/texlab/crates/texlab/tests/lsp/workspace/snapshots/lsp__workspace__symbol__filter_type_item.snap
deleted file mode 100644
index fdc506b308..0000000000
--- a/support/texlab/crates/texlab/tests/lsp/workspace/snapshots/lsp__workspace__symbol__filter_type_item.snap
+++ /dev/null
@@ -1,60 +0,0 @@
----
-source: crates/texlab/tests/lsp/workspace/symbol.rs
-expression: "find_symbols(FIXTURE, \"item\")"
----
-[
- {
- "name": "1",
- "kind": 22,
- "deprecated": false,
- "location": {
- "uri": "redacted://main.tex",
- "range": {
- "start": {
- "line": 24,
- "character": 4
- },
- "end": {
- "line": 24,
- "character": 28
- }
- }
- }
- },
- {
- "name": "2",
- "kind": 22,
- "deprecated": false,
- "location": {
- "uri": "redacted://main.tex",
- "range": {
- "start": {
- "line": 25,
- "character": 4
- },
- "end": {
- "line": 25,
- "character": 28
- }
- }
- }
- },
- {
- "name": "3",
- "kind": 22,
- "deprecated": false,
- "location": {
- "uri": "redacted://main.tex",
- "range": {
- "start": {
- "line": 26,
- "character": 4
- },
- "end": {
- "line": 26,
- "character": 28
- }
- }
- }
- }
-]
diff --git a/support/texlab/crates/texlab/tests/lsp/workspace/snapshots/lsp__workspace__symbol__filter_type_math.snap b/support/texlab/crates/texlab/tests/lsp/workspace/snapshots/lsp__workspace__symbol__filter_type_math.snap
deleted file mode 100644
index 2dc59f021b..0000000000
--- a/support/texlab/crates/texlab/tests/lsp/workspace/snapshots/lsp__workspace__symbol__filter_type_math.snap
+++ /dev/null
@@ -1,42 +0,0 @@
----
-source: crates/texlab/tests/lsp/workspace/symbol.rs
-expression: "find_symbols(FIXTURE, \"math\")"
----
-[
- {
- "name": "Equation (1)",
- "kind": 14,
- "deprecated": false,
- "location": {
- "uri": "redacted://main.tex",
- "range": {
- "start": {
- "line": 9,
- "character": 0
- },
- "end": {
- "line": 11,
- "character": 14
- }
- }
- }
- },
- {
- "name": "Lemma 1 (Qux)",
- "kind": 13,
- "deprecated": false,
- "location": {
- "uri": "redacted://main.tex",
- "range": {
- "start": {
- "line": 33,
- "character": 0
- },
- "end": {
- "line": 35,
- "character": 11
- }
- }
- }
- }
-]
diff --git a/support/texlab/crates/texlab/tests/lsp/workspace/snapshots/lsp__workspace__symbol__filter_type_section.snap b/support/texlab/crates/texlab/tests/lsp/workspace/snapshots/lsp__workspace__symbol__filter_type_section.snap
deleted file mode 100644
index eff280251a..0000000000
--- a/support/texlab/crates/texlab/tests/lsp/workspace/snapshots/lsp__workspace__symbol__filter_type_section.snap
+++ /dev/null
@@ -1,78 +0,0 @@
----
-source: crates/texlab/tests/lsp/workspace/symbol.rs
-expression: "find_symbols(FIXTURE, \"section\")"
----
-[
- {
- "name": "1 Foo",
- "kind": 2,
- "deprecated": false,
- "location": {
- "uri": "redacted://main.tex",
- "range": {
- "start": {
- "line": 7,
- "character": 0
- },
- "end": {
- "line": 11,
- "character": 14
- }
- }
- }
- },
- {
- "name": "2 Bar",
- "kind": 2,
- "deprecated": false,
- "location": {
- "uri": "redacted://main.tex",
- "range": {
- "start": {
- "line": 13,
- "character": 0
- },
- "end": {
- "line": 19,
- "character": 12
- }
- }
- }
- },
- {
- "name": "3 Baz",
- "kind": 2,
- "deprecated": false,
- "location": {
- "uri": "redacted://main.tex",
- "range": {
- "start": {
- "line": 21,
- "character": 0
- },
- "end": {
- "line": 27,
- "character": 15
- }
- }
- }
- },
- {
- "name": "4 Qux",
- "kind": 2,
- "deprecated": false,
- "location": {
- "uri": "redacted://main.tex",
- "range": {
- "start": {
- "line": 29,
- "character": 0
- },
- "end": {
- "line": 35,
- "character": 11
- }
- }
- }
- }
-]
diff --git a/support/texlab/crates/texlab/tests/lsp/workspace/snapshots/lsp__workspace__symbol__smoke.snap b/support/texlab/crates/texlab/tests/lsp/workspace/snapshots/lsp__workspace__symbol__smoke.snap
new file mode 100644
index 0000000000..20c012bec9
--- /dev/null
+++ b/support/texlab/crates/texlab/tests/lsp/workspace/snapshots/lsp__workspace__symbol__smoke.snap
@@ -0,0 +1,78 @@
+---
+source: crates/texlab/tests/lsp/workspace/symbol.rs
+expression: symbols
+---
+[
+ SymbolInformation {
+ name: "Foo",
+ kind: Module,
+ tags: None,
+ deprecated: Some(
+ false,
+ ),
+ location: Location {
+ uri: Url {
+ scheme: "redacted",
+ cannot_be_a_base: false,
+ username: "",
+ password: None,
+ host: Some(
+ Domain(
+ "main.tex",
+ ),
+ ),
+ port: None,
+ path: "",
+ query: None,
+ fragment: None,
+ },
+ range: Range {
+ start: Position {
+ line: 7,
+ character: 0,
+ },
+ end: Position {
+ line: 8,
+ character: 3,
+ },
+ },
+ },
+ container_name: None,
+ },
+ SymbolInformation {
+ name: "Bar",
+ kind: Module,
+ tags: None,
+ deprecated: Some(
+ false,
+ ),
+ location: Location {
+ uri: Url {
+ scheme: "redacted",
+ cannot_be_a_base: false,
+ username: "",
+ password: None,
+ host: Some(
+ Domain(
+ "main.tex",
+ ),
+ ),
+ port: None,
+ path: "",
+ query: None,
+ fragment: None,
+ },
+ range: Range {
+ start: Position {
+ line: 10,
+ character: 0,
+ },
+ end: Position {
+ line: 11,
+ character: 3,
+ },
+ },
+ },
+ container_name: None,
+ },
+]
diff --git a/support/texlab/crates/texlab/tests/lsp/workspace/symbol.rs b/support/texlab/crates/texlab/tests/lsp/workspace/symbol.rs
index e726ed6860..8deae20a44 100644
--- a/support/texlab/crates/texlab/tests/lsp/workspace/symbol.rs
+++ b/support/texlab/crates/texlab/tests/lsp/workspace/symbol.rs
@@ -1,38 +1,15 @@
-use insta::assert_json_snapshot;
+use insta::assert_debug_snapshot;
use lsp_types::{
- request::WorkspaceSymbolRequest, ClientCapabilities, SymbolInformation, WorkspaceSymbolParams,
+ request::WorkspaceSymbolRequest, ClientCapabilities, WorkspaceSymbolParams,
WorkspaceSymbolResponse,
};
use crate::fixture::TestBed;
-fn find_symbols(fixture: &str, query: &str) -> Vec<SymbolInformation> {
- let test_bed = TestBed::new(fixture).unwrap();
-
- test_bed.initialize(ClientCapabilities::default()).unwrap();
-
- let mut symbols = match test_bed
- .client()
- .send_request::<WorkspaceSymbolRequest>(WorkspaceSymbolParams {
- query: query.to_string(),
- work_done_progress_params: Default::default(),
- partial_result_params: Default::default(),
- })
- .unwrap()
- {
- Some(WorkspaceSymbolResponse::Flat(symbols)) => symbols,
- Some(WorkspaceSymbolResponse::Nested(_)) => unreachable!(),
- None => Vec::new(),
- };
-
- for symbol in &mut symbols {
- symbol.location.uri = test_bed.redact(&symbol.location.uri);
- }
-
- symbols
-}
-
-const FIXTURE: &str = r#"
+#[test]
+fn test_smoke() {
+ let test_bed = TestBed::new(
+ r#"
%! main.tex
\documentclass{article}
\usepackage{caption}
@@ -42,83 +19,30 @@ const FIXTURE: &str = r#"
\begin{document}
\section{Foo}\label{sec:foo}
+Foo
-\begin{equation}\label{eq:foo}
- Foo
-\end{equation}
-
-\section{Bar}\label{sec:bar}
-
-\begin{figure}
- Bar
- \caption{Bar}
- \label{fig:bar}
-\end{figure}
-
-\section{Baz}\label{sec:baz}
-
-\begin{enumerate}
- \item\label{itm:foo} Foo
- \item\label{itm:bar} Bar
- \item\label{itm:baz} Baz
-\end{enumerate}
-
-\section{Qux}\label{sec:qux}
-
-\newtheorem{lemma}{Lemma}
-
-\begin{lemma}[Qux]\label{thm:qux}
- Qux
-\end{lemma}
+\section{Bar}
+Bar
\end{document}
-|
+"#,
+ )
+ .unwrap();
-%! main.aux
-\relax
-\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Bar\relax }}{1}\protected@file@percent }
-\providecommand*\caption@xref[2]{\@setref\relax\@undefined{#1}}
-\newlabel{fig:bar}{{1}{1}}
-\@writefile{toc}{\contentsline {section}{\numberline {1}Foo}{1}\protected@file@percent }
-\newlabel{sec:foo}{{1}{1}}
-\newlabel{eq:foo}{{1}{1}}
-\@writefile{toc}{\contentsline {section}{\numberline {2}Bar}{1}\protected@file@percent }
-\newlabel{sec:bar}{{2}{1}}
-\@writefile{toc}{\contentsline {section}{\numberline {3}Baz}{1}\protected@file@percent }
-\newlabel{sec:baz}{{3}{1}}
-\newlabel{itm:foo}{{1}{1}}
-\newlabel{itm:bar}{{2}{1}}
-\newlabel{itm:baz}{{3}{1}}
-\@writefile{toc}{\contentsline {section}{\numberline {4}Qux}{1}\protected@file@percent }
-\newlabel{sec:qux}{{4}{1}}
-\newlabel{thm:qux}{{1}{1}}
-
-%! main.bib
-@article{foo,}
-
-@string{bar = "bar"}"#;
-
-#[test]
-fn filter_type_section() {
- assert_json_snapshot!(find_symbols(FIXTURE, "section"));
-}
-
-#[test]
-fn filter_type_figure() {
- assert_json_snapshot!(find_symbols(FIXTURE, "figure"));
-}
+ test_bed.initialize(ClientCapabilities::default()).unwrap();
-#[test]
-fn filter_type_item() {
- assert_json_snapshot!(find_symbols(FIXTURE, "item"));
-}
+ let Some(WorkspaceSymbolResponse::Flat(mut symbols)) = test_bed
+ .client()
+ .send_request::<WorkspaceSymbolRequest>(WorkspaceSymbolParams {
+ query: String::new(),
+ work_done_progress_params: Default::default(),
+ partial_result_params: Default::default(),
+ })
+ .unwrap() else { unreachable!() };
-#[test]
-fn filter_type_math() {
- assert_json_snapshot!(find_symbols(FIXTURE, "math"));
-}
+ for symbol in &mut symbols {
+ symbol.location.uri = test_bed.redact(&symbol.location.uri);
+ }
-#[test]
-fn filter_bibtex() {
- assert_json_snapshot!(find_symbols(FIXTURE, "bibtex"));
+ assert_debug_snapshot!(symbols);
}
diff --git a/support/texlab/texlab.1 b/support/texlab/texlab.1
index a4a563f3fe..2cab4ed096 100644
--- a/support/texlab/texlab.1
+++ b/support/texlab/texlab.1
@@ -1,7 +1,7 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.13.
-.TH TEXLAB "1" "April 2023" "texlab 5.5.0" "User Commands"
+.TH TEXLAB "1" "May 2023" "texlab 5.5.1" "User Commands"
.SH NAME
-texlab \- manual page for texlab 5.5.0
+texlab \- manual page for texlab 5.5.1
.SH SYNOPSIS
.B texlab
[\fI\,OPTIONS\/\fR]
diff --git a/support/texlab/texlab.pdf b/support/texlab/texlab.pdf
index 64e29c3d65..14c3fc7c54 100644
--- a/support/texlab/texlab.pdf
+++ b/support/texlab/texlab.pdf
Binary files differ
diff --git a/systems/win32/miktex/setup/deb/dists/bullseye/InRelease b/systems/win32/miktex/setup/deb/dists/bullseye/InRelease
index 63731220b0..7fbcba999e 100644
--- a/systems/win32/miktex/setup/deb/dists/bullseye/InRelease
+++ b/systems/win32/miktex/setup/deb/dists/bullseye/InRelease
@@ -5,36 +5,36 @@ Origin: . bullseye
Label: . bullseye
Suite: bullseye
Codename: bullseye
-Date: Sun, 16 Apr 2023 16:38:09 UTC
+Date: Sat, 6 May 2023 09:26:34 UTC
Architectures: amd64
Components: universe
Description: Generated by aptly
MD5Sum:
- 464bfd302e18dc6df5eaf2406f630575 6524 universe/binary-amd64/Packages
- cc9728d5a75155c4fe8a0d5f3a1a02f1 1262 universe/binary-amd64/Packages.gz
- 12992b8ee1a19ddf56ceeb1af27ff365 1608 universe/binary-amd64/Packages.bz2
c112a811f1a24aca2169c4684b27edb2 1556 universe/Contents-amd64.gz
d630e46f9a206fda57eb7516ef9c5949 95 universe/binary-amd64/Release
+ a55b809007bf974a7e79a7d9996a5558 8153 universe/binary-amd64/Packages
+ 50b832877953635eab358776c1f29d39 1378 universe/binary-amd64/Packages.gz
+ a5f80e0161fc0586928ab6d38d124f36 1877 universe/binary-amd64/Packages.bz2
SHA1:
- 04c02a2063cd942fefc87ab198d2ab156ca4f24a 6524 universe/binary-amd64/Packages
- 23f2827d148ab4dcbd2cd9003f52826bb9e763ce 1262 universe/binary-amd64/Packages.gz
- df32ab8d92e567cced76b4e28298c55d48ce45b7 1608 universe/binary-amd64/Packages.bz2
e983535502e0d0dd18a313805e9a60419182f105 1556 universe/Contents-amd64.gz
85c74faf7f5721590c70058933c4b9bcd48579b2 95 universe/binary-amd64/Release
+ 59945c029e68359aef7b482870015404d134974a 8153 universe/binary-amd64/Packages
+ f2250b1e512e75f6c5061831f2809f38dd8b46ef 1378 universe/binary-amd64/Packages.gz
+ dd3a7e3d2947e85d011f7b562255bd90ccbfc9f1 1877 universe/binary-amd64/Packages.bz2
SHA256:
- 805fad34fb537f12383eba8123a9b39752bcc12de20a4547455d52b98eb71f80 6524 universe/binary-amd64/Packages
- dd88135d94b309ed98488cbaabf61e451c824cff93b14e7536a6ac11c8d5b5c9 1262 universe/binary-amd64/Packages.gz
- 5a612fdbe7a1f43e4f3ebefdfa60247c260f15190cb756d978f9a5723de82bfa 1608 universe/binary-amd64/Packages.bz2
2c68d9f9a4ab50660a6e7fd43d97ea5ce5b9b1edcfab1afca9f63d36c4d9ce8a 1556 universe/Contents-amd64.gz
c30d5a35292bf6736d703a93e26f5e74df0df1292727c65250c3e076a105f300 95 universe/binary-amd64/Release
+ e1c4e7bb1bdf1b9733975b54c3dca0e039eb17e54146926f480fa1354d6882ee 8153 universe/binary-amd64/Packages
+ 6fe1709c2be1ca6788935f7eee992361a2caf41a84d455e1db62167da0267fad 1378 universe/binary-amd64/Packages.gz
+ d0afaf5bee8e95678558871f50fc520b9f1f6eb8a94c3c45945f6687bc45000a 1877 universe/binary-amd64/Packages.bz2
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
-iQEcBAEBCAAGBQJkPCRyAAoJECd6cpP1nkiJOLwIAKclmF2r2NvjVV0I75AQuYQd
-+0pmKHB02MsO/xVP3pqWPyYkjt0jb52cPlTasxvaiJde55HCEV9aa4P3TkYmkSg/
-+ZLSuVWB/j7yFtv3SXKljQYqD7reHuQ5fX1PtOkC4a03wzQrcGOMwylByHppm1bX
-pTHb8GY7cZEztMon/8kfmsHP4a/0SyrgS657gnVPQTNQ61tG5YisVLOEA9tIi4nI
-G+MuO//xHE7h+sdh8h30I48RvPuYhMBm0UtuY5N98qZvKPS+9VDSbEXXdi5H6X5+
-MBBTjJLWRCEkh7Li3gBuKTn+QQnOc0QGZHzDuc+P0B3y7iVtGnU9SXEjbfx1trE=
-=IY6l
+iQEcBAEBCAAGBQJkVh1KAAoJECd6cpP1nkiJ9OIH/A1wYqh5lnNNG0CJjwKFy3yi
+Ucn/V0YelVtayI6n5HTSNOgnFAX3WEBV6wMcbdM6GltLetVjCssRZiVDimEOEbqx
+HuxTnNO+Ba0wfWgZrrWZUSaDoPQ95btanF7g48c2xCb7dLkPwhtQRI2qgeEgK9Eg
++sfrfbxCc4SfYS/oiaaYvrt6jfaBs+NJ4/cxtdTbQLGjEix6l3oJBlwz7QsJdCNE
+FJVziia40uEy9XwsgXfV6u0Mk3atCUyELPJRQjw0SxdlkDoIvPr7Q/D0lDclhIx6
+lU+oeJ5ZIAJGuVjzvouGWZvLX2Ur7TesxhSotMtMG8w2UHAFxXwgCtQcNffmb28=
+=lOAn
-----END PGP SIGNATURE-----
diff --git a/systems/win32/miktex/setup/deb/dists/bullseye/Release b/systems/win32/miktex/setup/deb/dists/bullseye/Release
index 6ae22db426..3f15aa1804 100644
--- a/systems/win32/miktex/setup/deb/dists/bullseye/Release
+++ b/systems/win32/miktex/setup/deb/dists/bullseye/Release
@@ -2,25 +2,25 @@ Origin: . bullseye
Label: . bullseye
Suite: bullseye
Codename: bullseye
-Date: Sun, 16 Apr 2023 16:38:09 UTC
+Date: Sat, 6 May 2023 09:26:34 UTC
Architectures: amd64
Components: universe
Description: Generated by aptly
MD5Sum:
- 464bfd302e18dc6df5eaf2406f630575 6524 universe/binary-amd64/Packages
- cc9728d5a75155c4fe8a0d5f3a1a02f1 1262 universe/binary-amd64/Packages.gz
- 12992b8ee1a19ddf56ceeb1af27ff365 1608 universe/binary-amd64/Packages.bz2
c112a811f1a24aca2169c4684b27edb2 1556 universe/Contents-amd64.gz
d630e46f9a206fda57eb7516ef9c5949 95 universe/binary-amd64/Release
+ a55b809007bf974a7e79a7d9996a5558 8153 universe/binary-amd64/Packages
+ 50b832877953635eab358776c1f29d39 1378 universe/binary-amd64/Packages.gz
+ a5f80e0161fc0586928ab6d38d124f36 1877 universe/binary-amd64/Packages.bz2
SHA1:
- 04c02a2063cd942fefc87ab198d2ab156ca4f24a 6524 universe/binary-amd64/Packages
- 23f2827d148ab4dcbd2cd9003f52826bb9e763ce 1262 universe/binary-amd64/Packages.gz
- df32ab8d92e567cced76b4e28298c55d48ce45b7 1608 universe/binary-amd64/Packages.bz2
e983535502e0d0dd18a313805e9a60419182f105 1556 universe/Contents-amd64.gz
85c74faf7f5721590c70058933c4b9bcd48579b2 95 universe/binary-amd64/Release
+ 59945c029e68359aef7b482870015404d134974a 8153 universe/binary-amd64/Packages
+ f2250b1e512e75f6c5061831f2809f38dd8b46ef 1378 universe/binary-amd64/Packages.gz
+ dd3a7e3d2947e85d011f7b562255bd90ccbfc9f1 1877 universe/binary-amd64/Packages.bz2
SHA256:
- 805fad34fb537f12383eba8123a9b39752bcc12de20a4547455d52b98eb71f80 6524 universe/binary-amd64/Packages
- dd88135d94b309ed98488cbaabf61e451c824cff93b14e7536a6ac11c8d5b5c9 1262 universe/binary-amd64/Packages.gz
- 5a612fdbe7a1f43e4f3ebefdfa60247c260f15190cb756d978f9a5723de82bfa 1608 universe/binary-amd64/Packages.bz2
2c68d9f9a4ab50660a6e7fd43d97ea5ce5b9b1edcfab1afca9f63d36c4d9ce8a 1556 universe/Contents-amd64.gz
c30d5a35292bf6736d703a93e26f5e74df0df1292727c65250c3e076a105f300 95 universe/binary-amd64/Release
+ e1c4e7bb1bdf1b9733975b54c3dca0e039eb17e54146926f480fa1354d6882ee 8153 universe/binary-amd64/Packages
+ 6fe1709c2be1ca6788935f7eee992361a2caf41a84d455e1db62167da0267fad 1378 universe/binary-amd64/Packages.gz
+ d0afaf5bee8e95678558871f50fc520b9f1f6eb8a94c3c45945f6687bc45000a 1877 universe/binary-amd64/Packages.bz2
diff --git a/systems/win32/miktex/setup/deb/dists/bullseye/Release.gpg b/systems/win32/miktex/setup/deb/dists/bullseye/Release.gpg
index 7258ff1f04..05e50078d3 100644
--- a/systems/win32/miktex/setup/deb/dists/bullseye/Release.gpg
+++ b/systems/win32/miktex/setup/deb/dists/bullseye/Release.gpg
@@ -1,11 +1,11 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
-iQEcBAABCAAGBQJkPCRxAAoJECd6cpP1nkiJp/EH/0rPBPxuV/DOIFj3Me2vyfQb
-BSaR1LROyciXuHT4yrGfeYnC8Y8rzhD82JPHJYHkrEfbcrKeNFqH7DjEa37zUYtC
-Vx04/MTgC2Lxof2Z32FMmRGCl6F26gpknz5TyzVTnA76CqvrUZ8HbLWJa+RQkoQC
-jES6kHX/F/Wf8fLKkznr9o9NSuJb2ous2+V5LwnG09ysrh5wOMau3WEnJPSKwqiW
-0A7eF1uBPoKCrZPbyXt4KAh3l/65wxiSuEQs8DnHJ7lNy2p65rjA6PdiTvhCBORQ
-3vvYTAHc70Vesq7NQpf2aFI2+ZBepsRsAwPl3DXpJnjBx7fKqn6O01H1p3HA7XE=
-=Q6z9
+iQEcBAABCAAGBQJkVh1KAAoJECd6cpP1nkiJ0ZwH/R5NAiLNkr+TB1jC2kz2qLXw
+g3rFrMwJW6TXe0OLr+v9VQPmCv5ISJ7skGOaDX6iahY0C96/tAVd+6cjAcpuzZ3F
+dQSGHqCfgo5lRWb+hZOY9cHFegNvo1tfWfCa1ddqX9adjmlH3DROQLA56alHPYf6
+3T4gil/DkxTjYLwPY7EWFpnnNFYKjIYD5w38em6PJFFiFmWg1IGbVPvDj3W2aOVX
+3Vq470ybBUJ5UpOxCqCHsD1dfSCnOatEjFdc1MKx3nA7miEEMvU+Xe1na5RtUSIt
+Bj996gnDKH3JSgHYbcTlL35xdJKBh8vxQfCjuPm2OtCJw3sADXjbfmWLJTgLsLY=
+=isDe
-----END PGP SIGNATURE-----
diff --git a/systems/win32/miktex/setup/deb/dists/bullseye/universe/binary-amd64/Packages b/systems/win32/miktex/setup/deb/dists/bullseye/universe/binary-amd64/Packages
index 10ac44b50b..e2a39b0566 100644
--- a/systems/win32/miktex/setup/deb/dists/bullseye/universe/binary-amd64/Packages
+++ b/systems/win32/miktex/setup/deb/dists/bullseye/universe/binary-amd64/Packages
@@ -1,6 +1,27 @@
Package: miktex
Priority: optional
Section: tex
+Installed-Size: 101140
+Maintainer: Christian Schenk <cs@miktex.org>
+Architecture: amd64
+Version: 23.5-bullseye1
+Depends: debconf (>= 0.2.17), fontconfig, libboost-locale1.74.0 (>= 1.74.0), libbz2-1.0, libc6 (>= 2.29), libcairo2 (>= 1.12.0), libcurl4 (>= 7.16.2), libexpat1 (>= 2.0.1), libfontconfig1 (>= 2.12.6), libfreetype6 (>= 2.3.9), libfribidi0 (>= 0.19.2), libgcc-s1 (>= 4.0), libgd3 (>= 2.1.0~alpha~), libgraphite2-3 (>= 1.2.2), libhunspell-1.7-0, libicu67 (>= 67.1-1~), libjpeg62-turbo (>= 1.3.1), liblog4cxx11 (>= 0.11.0), liblzma5 (>= 5.1.1alpha+20120614), libmpfr6 (>= 3.1.3), libmspack0 (>= 0.4), libpng16-16 (>= 1.6.2-1), libpopt0 (>= 1.14), libqt5concurrent5 (>= 5.6.0~rc), libqt5core5a (>= 5.15.1), libqt5dbus5 (>= 5.14.1), libqt5gui5 (>= 5.14.1) | libqt5gui5-gles (>= 5.14.1), libqt5qml5 (>= 5.6.0~beta), libqt5script5 (>= 5.6.0~beta), libqt5scripttools5 (>= 5.6.0~beta), libqt5widgets5 (>= 5.15.1), libqt5xml5 (>= 5.0.2), libssl1.1 (>= 1.1.0), libstdc++6 (>= 9), liburiparser1 (>= 0.6.0), libzzip-0-13 (>= 0.13.56), zlib1g (>= 1:1.2.0)
+Filename: pool/universe/m/miktex/miktex_23.5-bullseye1_amd64.deb
+Size: 32038106
+MD5sum: a50745724d8956f9992e0f14b8cd18a7
+SHA1: 3400ef927b02e7d1815d417e026308b1e4e65fc8
+SHA256: a30f51190c280821a99b7b23b1dd523c653a4b071577ff0ba9b5abd7243aacbd
+Description: MiKTeX: a scalable TeX distribution
+ MiKTeX is a scalable TeX distribution. The bare installation is &quot;just
+ enough TeX&quot; to get you going.
+ .
+ For more information about the MiKTeX project, visit the project page:
+ https://miktex.org
+Homepage: https://miktex.org
+
+Package: miktex
+Priority: optional
+Section: tex
Installed-Size: 101123
Maintainer: Christian Schenk <cs@miktex.org>
Architecture: amd64
diff --git a/systems/win32/miktex/setup/deb/dists/bullseye/universe/binary-amd64/Packages.bz2 b/systems/win32/miktex/setup/deb/dists/bullseye/universe/binary-amd64/Packages.bz2
index c436eda769..5e0479abee 100644
--- a/systems/win32/miktex/setup/deb/dists/bullseye/universe/binary-amd64/Packages.bz2
+++ b/systems/win32/miktex/setup/deb/dists/bullseye/universe/binary-amd64/Packages.bz2
Binary files differ
diff --git a/systems/win32/miktex/setup/deb/dists/bullseye/universe/binary-amd64/Packages.gz b/systems/win32/miktex/setup/deb/dists/bullseye/universe/binary-amd64/Packages.gz
index cc7c86d97b..88ccf1a43e 100644
--- a/systems/win32/miktex/setup/deb/dists/bullseye/universe/binary-amd64/Packages.gz
+++ b/systems/win32/miktex/setup/deb/dists/bullseye/universe/binary-amd64/Packages.gz
Binary files differ
diff --git a/systems/win32/miktex/setup/deb/dists/focal/InRelease b/systems/win32/miktex/setup/deb/dists/focal/InRelease
index 40f72a18a0..302a8bbed3 100644
--- a/systems/win32/miktex/setup/deb/dists/focal/InRelease
+++ b/systems/win32/miktex/setup/deb/dists/focal/InRelease
@@ -5,36 +5,36 @@ Origin: . focal
Label: . focal
Suite: focal
Codename: focal
-Date: Sun, 16 Apr 2023 16:37:56 UTC
+Date: Sat, 6 May 2023 09:26:20 UTC
Architectures: amd64
Components: universe
Description: Generated by aptly
MD5Sum:
- 56310ca75b5d61e415390d853fb9825c 25492 universe/binary-amd64/Packages
- b95dbcc19ea4bb2d20108b46bbab5fe5 2709 universe/binary-amd64/Packages.gz
- 21b8c22d02cc72061c46ca01ac38d4b9 3047 universe/binary-amd64/Packages.bz2
+ ce600a419c1b6231f9f7fb47d1d00c7f 27105 universe/binary-amd64/Packages
+ 0f40bfa93479e8f8595b02307d34b1a9 2824 universe/binary-amd64/Packages.gz
+ 873ab543415c43f9f51d89cfdc0b0696 3282 universe/binary-amd64/Packages.bz2
69d81b4898eefd3cad8b5c7c2397aadf 1838 universe/Contents-amd64.gz
09b400a6dee090b2b112c0ee33f5afc5 86 universe/binary-amd64/Release
SHA1:
- c79c53f650cfced954a92ce54d37281bacedcd46 25492 universe/binary-amd64/Packages
- ece988d266c394ff898118a97c053183f282fe0a 2709 universe/binary-amd64/Packages.gz
- 71ca1f0179cc27b888f73dfab30618fb415729c8 3047 universe/binary-amd64/Packages.bz2
+ f484c010f7ea6922ebea1eb27925985faac5683b 27105 universe/binary-amd64/Packages
+ 17798d67289cefb1c09986be2b1ed6bf08c967f6 2824 universe/binary-amd64/Packages.gz
+ 153126b3e9aaf206924df310adf530a5dbb169b3 3282 universe/binary-amd64/Packages.bz2
bccabdedbf3248946cbfbc17000e6a9c13481a31 1838 universe/Contents-amd64.gz
c942f34f42baa19293a2f2287f3a0b88aee6a9dd 86 universe/binary-amd64/Release
SHA256:
- 08e066d7ebf39dac54669058c105f750ed99a14e40b778a18c7ea49e4384281e 25492 universe/binary-amd64/Packages
- 053a0493b1ea3f7b96e61747b3076c7b3352642036f088ae8460a1376a74430d 2709 universe/binary-amd64/Packages.gz
- eaaf1778693379be76d63af780df5064c677d64cee62957fb53b819998aa40d3 3047 universe/binary-amd64/Packages.bz2
+ dfe1622864f8cfc8d2c01c0d6e49d339e5a2ba108a7b0686856c573831dbd24b 27105 universe/binary-amd64/Packages
+ 8be5f0cb65b39d4168e590dc080ded6e034a1a94d989ae1f15493cd28bfdaf27 2824 universe/binary-amd64/Packages.gz
+ fd05cf47ada93ba5e9911a61f5c14de24ceab1a917a8a301241e2c9345aebb51 3282 universe/binary-amd64/Packages.bz2
35b6e33a6a8c06fbc3f0fb46181157a7d6fe3940b30d9aab4be104ae18e39520 1838 universe/Contents-amd64.gz
e2014a195f0b591b178bdf4c80c703b7562b069e881c17e128c39ecaa88949c3 86 universe/binary-amd64/Release
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
-iQEcBAEBCAAGBQJkPCRkAAoJECd6cpP1nkiJwqoH/3iFiVn8K+2RETpBKewWdYgw
-DE7dWiGCPBUBYjlIJ0k6bDKqGU/n0eEGXNiGjDq6FEfEPpXsseCJvhmZ+LO2lHOj
-8ShvyLA9XT9pvt4EQOWqNUsxnN8M54U9j3dJrRvBfS6YHkUi5bFmtftMxJ2ERDPm
-Nfxt2vIHwhEhG5WYyylPFwDZ27xLL1n3F6ocxiESIEPiYcvTnrVHVkxekhRtrdUQ
-Nm4i/cSGXJv4o3N/HA5+lMef23GExUG+lQ8j/ZuY5+9ZArdrxepp0TEuaTvOs9Z8
-vqsfcPTWnd4q2B/uzYFNb0duXvZ74Oaqs2+gwsb3qrPsGmDb0gyUp4Ssfpl+6xE=
-=/5Ec
+iQEcBAEBCAAGBQJkVh08AAoJECd6cpP1nkiJp6gIAId6DMad3SY5PD64Fn+PdbTm
+gdxiTBQwJ7o4lOri9QvQtYhuqxO5s+6ziXgm8Xmtu7Da59RrKFADKZH69YxLZ7cl
+BmM2hP43Ly4PeiYowuazUHEBXYDvUeBW72BtFhyhOZpJOn/38low4aDGbHpcIyqI
+nT49ad9734X3b6bcSSKWKSFvld2XD2JQjpGibNtkT/D9MDsDPXCOeXBMWmKL253r
+kDYIdRXrhyp5Tx/u8B8S+38gtyNfCmtteyMqD6HzUC1HEL7wb5at3DzCxx5cNwBN
+2fuyNpa07VcvlIftO0Ul3/hrxmNAKwawLUMOhqpVSTa5ja4rIMPHg51NWxHeYVs=
+=oIS+
-----END PGP SIGNATURE-----
diff --git a/systems/win32/miktex/setup/deb/dists/focal/Release b/systems/win32/miktex/setup/deb/dists/focal/Release
index 8f8e142b79..759a68da4e 100644
--- a/systems/win32/miktex/setup/deb/dists/focal/Release
+++ b/systems/win32/miktex/setup/deb/dists/focal/Release
@@ -2,25 +2,25 @@ Origin: . focal
Label: . focal
Suite: focal
Codename: focal
-Date: Sun, 16 Apr 2023 16:37:56 UTC
+Date: Sat, 6 May 2023 09:26:20 UTC
Architectures: amd64
Components: universe
Description: Generated by aptly
MD5Sum:
- 56310ca75b5d61e415390d853fb9825c 25492 universe/binary-amd64/Packages
- b95dbcc19ea4bb2d20108b46bbab5fe5 2709 universe/binary-amd64/Packages.gz
- 21b8c22d02cc72061c46ca01ac38d4b9 3047 universe/binary-amd64/Packages.bz2
+ ce600a419c1b6231f9f7fb47d1d00c7f 27105 universe/binary-amd64/Packages
+ 0f40bfa93479e8f8595b02307d34b1a9 2824 universe/binary-amd64/Packages.gz
+ 873ab543415c43f9f51d89cfdc0b0696 3282 universe/binary-amd64/Packages.bz2
69d81b4898eefd3cad8b5c7c2397aadf 1838 universe/Contents-amd64.gz
09b400a6dee090b2b112c0ee33f5afc5 86 universe/binary-amd64/Release
SHA1:
- c79c53f650cfced954a92ce54d37281bacedcd46 25492 universe/binary-amd64/Packages
- ece988d266c394ff898118a97c053183f282fe0a 2709 universe/binary-amd64/Packages.gz
- 71ca1f0179cc27b888f73dfab30618fb415729c8 3047 universe/binary-amd64/Packages.bz2
+ f484c010f7ea6922ebea1eb27925985faac5683b 27105 universe/binary-amd64/Packages
+ 17798d67289cefb1c09986be2b1ed6bf08c967f6 2824 universe/binary-amd64/Packages.gz
+ 153126b3e9aaf206924df310adf530a5dbb169b3 3282 universe/binary-amd64/Packages.bz2
bccabdedbf3248946cbfbc17000e6a9c13481a31 1838 universe/Contents-amd64.gz
c942f34f42baa19293a2f2287f3a0b88aee6a9dd 86 universe/binary-amd64/Release
SHA256:
- 08e066d7ebf39dac54669058c105f750ed99a14e40b778a18c7ea49e4384281e 25492 universe/binary-amd64/Packages
- 053a0493b1ea3f7b96e61747b3076c7b3352642036f088ae8460a1376a74430d 2709 universe/binary-amd64/Packages.gz
- eaaf1778693379be76d63af780df5064c677d64cee62957fb53b819998aa40d3 3047 universe/binary-amd64/Packages.bz2
+ dfe1622864f8cfc8d2c01c0d6e49d339e5a2ba108a7b0686856c573831dbd24b 27105 universe/binary-amd64/Packages
+ 8be5f0cb65b39d4168e590dc080ded6e034a1a94d989ae1f15493cd28bfdaf27 2824 universe/binary-amd64/Packages.gz
+ fd05cf47ada93ba5e9911a61f5c14de24ceab1a917a8a301241e2c9345aebb51 3282 universe/binary-amd64/Packages.bz2
35b6e33a6a8c06fbc3f0fb46181157a7d6fe3940b30d9aab4be104ae18e39520 1838 universe/Contents-amd64.gz
e2014a195f0b591b178bdf4c80c703b7562b069e881c17e128c39ecaa88949c3 86 universe/binary-amd64/Release
diff --git a/systems/win32/miktex/setup/deb/dists/focal/Release.gpg b/systems/win32/miktex/setup/deb/dists/focal/Release.gpg
index b6bd18bbae..7963ce03ac 100644
--- a/systems/win32/miktex/setup/deb/dists/focal/Release.gpg
+++ b/systems/win32/miktex/setup/deb/dists/focal/Release.gpg
@@ -1,11 +1,11 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
-iQEcBAABCAAGBQJkPCRkAAoJECd6cpP1nkiJ9LIH/jXx3UnEMaMW2OgEhWCKyTYJ
-xdUuGJFutPDhb0ANbwtdI67zEpMn5iqd1M9wiBiyNO/VGnFXPHoXEdQl2tqJEhvb
-aWKjHlm/p42oNXjxaSVwHU9TO8c1hynkwSlbsz5CqR3kjIl9b8ZBgcTUJ1j72M79
-FuD3ZK6QOCMAF9r7IhEkV6vMvB46fJqBIlWk2YpzdOQQ+FrPAl4FsI+UZqnWhSX7
-y6PJRu82n3aIYCuo65zM25bAdypvsaAAggRxC1deMKAeLQZohadzeaa3rs6KDQwC
-VwAf/So0xSe2SNWufWOWdqLE/knqXC95RoWBrBtZU65QAckcBnOrcGMYj77VETg=
-=rs/r
+iQEcBAABCAAGBQJkVh08AAoJECd6cpP1nkiJgZgH/RW9wq7ikDihc+o19nSMjAH2
+RSRxKjJgM4dVfdcmAsUbQvLwZPmFf0JvFyytLHaSZ7njasSkLCaHIP00PxWfur/v
+XSHyyd42jEy5kUURPMAPHSpIaF1YOb0AYRbdIcugg3c/xbMBT2XPll81KdQ99bz7
+rdYcjtVZkXye6jBvd7B8YZbYITvYMOMWTj7UhVqIdmRib2yDNgVRgY768bIaJuBF
+7kaB2/2Sl2+370L7FinSIrTOH7Tqk2eRolXRuG9O9JzSa42ij6v9erqcBIV9dNmF
+kjIfGZR3C0FSy0u7xxWibrsYol8qKSF37qc88V+qRRNzuA3ek9TaVznHRw52vBw=
+=Z3fA
-----END PGP SIGNATURE-----
diff --git a/systems/win32/miktex/setup/deb/dists/focal/universe/binary-amd64/Packages b/systems/win32/miktex/setup/deb/dists/focal/universe/binary-amd64/Packages
index db1da10171..e46e43366f 100644
--- a/systems/win32/miktex/setup/deb/dists/focal/universe/binary-amd64/Packages
+++ b/systems/win32/miktex/setup/deb/dists/focal/universe/binary-amd64/Packages
@@ -1,6 +1,28 @@
Package: miktex
Priority: optional
Section: tex
+Installed-Size: 102862
+Maintainer: Christian Schenk <cs@miktex.org>
+Architecture: amd64
+Version: 23.5-focal1
+Depends: debconf (>= 0.2.17), fontconfig, libboost-locale1.71.0, libbz2-1.0, libc6 (>= 2.29), libcairo2 (>= 1.12.0), libcurl4 (>= 7.16.2), libexpat1 (>= 2.0.1), libfontconfig1 (>= 2.12.6), libfreetype6 (>= 2.3.9), libfribidi0 (>= 0.19.2), libgcc-s1 (>= 4.0), libgd3 (>= 2.1.0~alpha~), libgraphite2-3 (>= 1.2.2), libhunspell-1.7-0, libicu66 (>= 66.1-1~), libjpeg8 (>= 8c), liblog4cxx10v5 (>= 0.10.0), liblzma5 (>= 5.1.1alpha+20120614), libmpfr6 (>= 3.1.3), libmspack0 (>= 0.4), libpng16-16 (>= 1.6.2-1), libpopt0 (>= 1.14), libqt5concurrent5 (>= 5.6.0~rc), libqt5core5a (>= 5.12.2), libqt5dbus5 (>= 5.0.2), libqt5gui5 (>= 5.11.0~rc1) | libqt5gui5-gles (>= 5.11.0~rc1), libqt5qml5 (>= 5.6.0~beta), libqt5script5 (>= 5.6.0~beta), libqt5scripttools5 (>= 5.6.0~beta), libqt5widgets5 (>= 5.12.2), libqt5xml5 (>= 5.0.2), libssl1.1 (>= 1.1.0), libstdc++6 (>= 9), liburiparser1 (>= 0.6.0), libzzip-0-13 (>= 0.13.56), zlib1g (>= 1:1.2.0)
+Filename: pool/universe/m/miktex/miktex_23.5-focal1_amd64.deb
+Size: 32408028
+MD5sum: e1accd931f26e43fc144e8af85d1e73c
+SHA1: f782a39a455fea7c0d93cbce2e028290a686033c
+SHA256: 6d944010c0295603d5d09bb99dfbcede5902bab20413d963642439750aa9ef2e
+Description: MiKTeX: a scalable TeX distribution
+ MiKTeX is a scalable TeX distribution. The bare installation is &quot;just
+ enough TeX&quot; to get you going.
+ .
+ For more information about the MiKTeX project, visit the project page:
+ https://miktex.org
+ .
+Homepage: https://miktex.org
+
+Package: miktex
+Priority: optional
+Section: tex
Installed-Size: 102853
Maintainer: Christian Schenk <cs@miktex.org>
Architecture: amd64
diff --git a/systems/win32/miktex/setup/deb/dists/focal/universe/binary-amd64/Packages.bz2 b/systems/win32/miktex/setup/deb/dists/focal/universe/binary-amd64/Packages.bz2
index 16dbb233db..359953bec0 100644
--- a/systems/win32/miktex/setup/deb/dists/focal/universe/binary-amd64/Packages.bz2
+++ b/systems/win32/miktex/setup/deb/dists/focal/universe/binary-amd64/Packages.bz2
Binary files differ
diff --git a/systems/win32/miktex/setup/deb/dists/focal/universe/binary-amd64/Packages.gz b/systems/win32/miktex/setup/deb/dists/focal/universe/binary-amd64/Packages.gz
index e0375f87e3..55cf4c49cd 100644
--- a/systems/win32/miktex/setup/deb/dists/focal/universe/binary-amd64/Packages.gz
+++ b/systems/win32/miktex/setup/deb/dists/focal/universe/binary-amd64/Packages.gz
Binary files differ
diff --git a/systems/win32/miktex/setup/deb/dists/jammy/InRelease b/systems/win32/miktex/setup/deb/dists/jammy/InRelease
index 248b62d7e3..7dba58bdc8 100644
--- a/systems/win32/miktex/setup/deb/dists/jammy/InRelease
+++ b/systems/win32/miktex/setup/deb/dists/jammy/InRelease
@@ -5,36 +5,36 @@ Origin: . jammy
Label: . jammy
Suite: jammy
Codename: jammy
-Date: Sun, 16 Apr 2023 16:38:03 UTC
+Date: Sat, 6 May 2023 09:26:27 UTC
Architectures: amd64
Components: universe
Description: Generated by aptly
MD5Sum:
+ a53f724fa1b2d49529d52330a6d013be 1973 universe/binary-amd64/Packages.bz2
c112a811f1a24aca2169c4684b27edb2 1556 universe/Contents-amd64.gz
fce7aed5ff5bd0870e2f6d397345b1fc 86 universe/binary-amd64/Release
- 942dbc9ff69c3fa70b929c2e6af01fc3 8110 universe/binary-amd64/Packages
- bb1ef0ac98d5e45097fab07a24c4c63b 1384 universe/binary-amd64/Packages.gz
- a7906bd46a675a8afebb753cb7aa3c59 1867 universe/binary-amd64/Packages.bz2
+ 068bb89ee524fe2f8fbf2ce93049ef79 9730 universe/binary-amd64/Packages
+ d09f84f282d1298c1bd61e7fcf188df9 1499 universe/binary-amd64/Packages.gz
SHA1:
+ f68d8429dc14cb3712615d7398e2503c4a27f3e5 1973 universe/binary-amd64/Packages.bz2
e983535502e0d0dd18a313805e9a60419182f105 1556 universe/Contents-amd64.gz
967fbe8b39e2f28269b7e4c4a272e04a51e80148 86 universe/binary-amd64/Release
- 0c8af9ef397fef7398297ff25b7fdec9553d0f23 8110 universe/binary-amd64/Packages
- f241c10c36ea8c693e5285e11ee9541d4bdba1f4 1384 universe/binary-amd64/Packages.gz
- 5ca4b316d075773e94b7e53707a99882854c0022 1867 universe/binary-amd64/Packages.bz2
+ 75217f56d1c4145d489fca07f9490591ba0697ff 9730 universe/binary-amd64/Packages
+ 095c9356b632613b0271e8dd35c4c9f40cba129a 1499 universe/binary-amd64/Packages.gz
SHA256:
+ 761c42bba198ea89673a9e10cca7d5c32a517933536fd6780f804e235e74473c 1973 universe/binary-amd64/Packages.bz2
2c68d9f9a4ab50660a6e7fd43d97ea5ce5b9b1edcfab1afca9f63d36c4d9ce8a 1556 universe/Contents-amd64.gz
c176ba4c8a1ed8f2fcf295c50cb0002126ad68b9f4dfd4f9f45b11fff6941050 86 universe/binary-amd64/Release
- 3aa87329d0a5925cc4939fc7aa012cbad161d8cb1e26bc4a7dc13538712dc8d3 8110 universe/binary-amd64/Packages
- a8de121caf5bd96caf01a01a54687c3954e091511dd745ef870998ede728dd7d 1384 universe/binary-amd64/Packages.gz
- 8b0d37848455df975ab3a46f0c5e3f1ba348fb4d47fb756a19e52bf99221751f 1867 universe/binary-amd64/Packages.bz2
+ ea66dcaaf9a1ff1413d605927933d52b6a298cd4aca8b04e9954e3f835f05709 9730 universe/binary-amd64/Packages
+ 1fd4b07358208d30d8d717e00967a9e6bee138c0f7b0d0ea5600ba2ba62671dd 1499 universe/binary-amd64/Packages.gz
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
-iQEcBAEBCAAGBQJkPCRrAAoJECd6cpP1nkiJfp8H/3j+zoJqJJPf4KvFwdZ81Cvv
-t47FHoPkr0i83QQ4hgz00duqt6EpR1+s1jOMiT3A102REPu7YOjFqecf3wFzr9Nj
-F+5ItpShla210x+6isXgH/KfGwpgFjOQHl50PakYniG3Xr6ze/FuP+fjgh7jpct4
-FmZFkZylD1LHssptUZdb1fy4nD+l7DEStUNEb0P16DTPsr4tb0RtAG7uLAyGQXe1
-VGWVzOFlemJlohqkjyfALVHtWzJhfo6Cf3Shy4FDwTk4dfqLkFQj9yxgObDHbZ9J
-LBahD0RLGdR2gLbt/u5HnbviSCIodB2NMniWn93+2d4x7ijLnc7bXwX79J6Ra9o=
-=ShZ9
+iQEcBAEBCAAGBQJkVh1DAAoJECd6cpP1nkiJCmIIAIC6GWWT9ldoixA5kO+lSFXK
+ar3BvV5PqZlMat2wToieyzN78ZSLk9+J6/5XAvxNb5X2CaOwQjJE/uyJAK7QJV7c
+UVLxKxmS3h0zY5U7ZfwJYz6ZwMsabDMZnW8bF1ejL7dd/BhCS2Av25V8OSZhAOzY
+jX9PWu9JvPUKAN/J0tdPjLicL/W1U6zG27OVTR0V0XwBRtj66MOQhDNxz2EhcTDL
+/5/oWb6HGqYzmXl4JaIOtfOGA1ml6NIQz3qW40x9WWpzZX5hUf7TnTZwnwgAgQ6v
+s/U5BNiuDwfuNAZstSudlvUUtCq/NR6DofSO0ju3hBHmC2gxkPC2VCnaztNzfI4=
+=GxGE
-----END PGP SIGNATURE-----
diff --git a/systems/win32/miktex/setup/deb/dists/jammy/Release b/systems/win32/miktex/setup/deb/dists/jammy/Release
index 63393db5fe..e8e750fab4 100644
--- a/systems/win32/miktex/setup/deb/dists/jammy/Release
+++ b/systems/win32/miktex/setup/deb/dists/jammy/Release
@@ -2,25 +2,25 @@ Origin: . jammy
Label: . jammy
Suite: jammy
Codename: jammy
-Date: Sun, 16 Apr 2023 16:38:03 UTC
+Date: Sat, 6 May 2023 09:26:27 UTC
Architectures: amd64
Components: universe
Description: Generated by aptly
MD5Sum:
+ a53f724fa1b2d49529d52330a6d013be 1973 universe/binary-amd64/Packages.bz2
c112a811f1a24aca2169c4684b27edb2 1556 universe/Contents-amd64.gz
fce7aed5ff5bd0870e2f6d397345b1fc 86 universe/binary-amd64/Release
- 942dbc9ff69c3fa70b929c2e6af01fc3 8110 universe/binary-amd64/Packages
- bb1ef0ac98d5e45097fab07a24c4c63b 1384 universe/binary-amd64/Packages.gz
- a7906bd46a675a8afebb753cb7aa3c59 1867 universe/binary-amd64/Packages.bz2
+ 068bb89ee524fe2f8fbf2ce93049ef79 9730 universe/binary-amd64/Packages
+ d09f84f282d1298c1bd61e7fcf188df9 1499 universe/binary-amd64/Packages.gz
SHA1:
+ f68d8429dc14cb3712615d7398e2503c4a27f3e5 1973 universe/binary-amd64/Packages.bz2
e983535502e0d0dd18a313805e9a60419182f105 1556 universe/Contents-amd64.gz
967fbe8b39e2f28269b7e4c4a272e04a51e80148 86 universe/binary-amd64/Release
- 0c8af9ef397fef7398297ff25b7fdec9553d0f23 8110 universe/binary-amd64/Packages
- f241c10c36ea8c693e5285e11ee9541d4bdba1f4 1384 universe/binary-amd64/Packages.gz
- 5ca4b316d075773e94b7e53707a99882854c0022 1867 universe/binary-amd64/Packages.bz2
+ 75217f56d1c4145d489fca07f9490591ba0697ff 9730 universe/binary-amd64/Packages
+ 095c9356b632613b0271e8dd35c4c9f40cba129a 1499 universe/binary-amd64/Packages.gz
SHA256:
+ 761c42bba198ea89673a9e10cca7d5c32a517933536fd6780f804e235e74473c 1973 universe/binary-amd64/Packages.bz2
2c68d9f9a4ab50660a6e7fd43d97ea5ce5b9b1edcfab1afca9f63d36c4d9ce8a 1556 universe/Contents-amd64.gz
c176ba4c8a1ed8f2fcf295c50cb0002126ad68b9f4dfd4f9f45b11fff6941050 86 universe/binary-amd64/Release
- 3aa87329d0a5925cc4939fc7aa012cbad161d8cb1e26bc4a7dc13538712dc8d3 8110 universe/binary-amd64/Packages
- a8de121caf5bd96caf01a01a54687c3954e091511dd745ef870998ede728dd7d 1384 universe/binary-amd64/Packages.gz
- 8b0d37848455df975ab3a46f0c5e3f1ba348fb4d47fb756a19e52bf99221751f 1867 universe/binary-amd64/Packages.bz2
+ ea66dcaaf9a1ff1413d605927933d52b6a298cd4aca8b04e9954e3f835f05709 9730 universe/binary-amd64/Packages
+ 1fd4b07358208d30d8d717e00967a9e6bee138c0f7b0d0ea5600ba2ba62671dd 1499 universe/binary-amd64/Packages.gz
diff --git a/systems/win32/miktex/setup/deb/dists/jammy/Release.gpg b/systems/win32/miktex/setup/deb/dists/jammy/Release.gpg
index 88cf9edddb..4007522107 100644
--- a/systems/win32/miktex/setup/deb/dists/jammy/Release.gpg
+++ b/systems/win32/miktex/setup/deb/dists/jammy/Release.gpg
@@ -1,11 +1,11 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
-iQEcBAABCAAGBQJkPCRrAAoJECd6cpP1nkiJ94YH/3/zCIWmiNoQT6ZeZnB7Fl1H
-ffHxFzORnvzMc7Pha5w1EXlYsJYL/+NcJJlGYaRGHIn8rFCuMCivHPJ4kgnpiBif
-+iHhc5x6RuAFu3KFF8N0Zma/gNVVl3zCid7uBWPIlJM8M7pbQO6w2FijOv7Qu0se
-XEC/cy99nfiopIcalslY9+SehhoIynkK0Vp2AjtkCJSdi2879OZYLYqr6WanznwS
-Fk93zI8aFb3HaAS0Q/GISktG/L5zi8kQ2X/fe1JUFDp/Zj3k6Gbe5AL7sXmdEKkf
-iKCdESnasS6HZ4WpTsWFqGvR3GnxJKm9rFlSnfBKSZ4td4Udhmq/GfHLwOkr3gc=
-=lo18
+iQEcBAABCAAGBQJkVh1DAAoJECd6cpP1nkiJuSEH/ilJ8zrz01w0/qUhwMcEUBnA
+Cg1a7ZAF1UxrFOGqq42Qdq2i5TqVbM063tPO8D0YoTmGicLNFUjNj0jlVJjHS0du
+S/4zILqGUkxy1W2dqvXlwj2YuJnbuOFcfjuJkFjm9DEkMJVJOUSlEoxGaIZShc3B
+NjJFA5ipURFMdbPlo1ihh4IAsrOcmLZV9DfqB7SD3RNM0FTvNb3SAvTAy6qgJVAr
+SLiyesLRifPnQCSbKnpDiYv3pBLLtjWg6IxoyguW9a8nUclGD/QGr/ASuJ+7UOm8
+4fM79KYyTY05RvNHt58nKwdSzKJojyPqsEJ0vSLRaQuAf5fxu/NQR5WluSh5F9s=
+=n5TD
-----END PGP SIGNATURE-----
diff --git a/systems/win32/miktex/setup/deb/dists/jammy/universe/binary-amd64/Packages b/systems/win32/miktex/setup/deb/dists/jammy/universe/binary-amd64/Packages
index 7428ed0c13..853a9c2d1a 100644
--- a/systems/win32/miktex/setup/deb/dists/jammy/universe/binary-amd64/Packages
+++ b/systems/win32/miktex/setup/deb/dists/jammy/universe/binary-amd64/Packages
@@ -1,6 +1,27 @@
Package: miktex
Priority: optional
Section: tex
+Installed-Size: 102889
+Maintainer: Christian Schenk <cs@miktex.org>
+Architecture: amd64
+Version: 23.5-jammy1
+Depends: debconf (>= 0.2.17), fontconfig, libboost-locale1.74.0 (>= 1.74.0), libbz2-1.0, libc6 (>= 2.35), libcairo2 (>= 1.12.0), libcurl4 (>= 7.16.2), libexpat1 (>= 2.0.1), libfontconfig1 (>= 2.12.6), libfreetype6 (>= 2.3.9), libfribidi0 (>= 0.19.2), libgcc-s1 (>= 4.0), libgd3 (>= 2.1.0~alpha~), libgraphite2-3 (>= 1.2.2), libhunspell-1.7-0, libicu70 (>= 70.1-1~), libjpeg8 (>= 8c), liblog4cxx12 (>= 0.12.1), liblzma5 (>= 5.1.1alpha+20120614), libmpfr6 (>= 3.1.3), libmspack0 (>= 0.4), libpng16-16 (>= 1.6.2-1), libpopt0 (>= 1.14), libqt5concurrent5 (>= 5.6.0~rc), libqt5core5a (>= 5.15.1), libqt5dbus5 (>= 5.14.1), libqt5gui5 (>= 5.14.1) | libqt5gui5-gles (>= 5.14.1), libqt5qml5 (>= 5.6.0~beta), libqt5script5 (>= 5.6.0~beta), libqt5scripttools5 (>= 5.6.0~beta), libqt5widgets5 (>= 5.15.1), libqt5xml5 (>= 5.0.2), libssl3 (>= 3.0.0~~alpha1), libstdc++6 (>= 12), liburiparser1 (>= 0.6.0), libzzip-0-13 (>= 0.13.56), zlib1g (>= 1:1.2.0)
+Filename: pool/universe/m/miktex/miktex_23.5-jammy1_amd64.deb
+Size: 32337578
+MD5sum: 2e5eb872945a1f7d32e9c6507f97b7df
+SHA1: d1dc64998f91ae4f6783fcaf8de5c2970bc07ed6
+SHA256: de8d5413e1a47aba14c96edf8221fcd13f06a7640b2baa918f55957a483fcafd
+Description: MiKTeX: a scalable TeX distribution
+ MiKTeX is a scalable TeX distribution. The bare installation is &quot;just
+ enough TeX&quot; to get you going.
+ .
+ For more information about the MiKTeX project, visit the project page:
+ https://miktex.org
+Homepage: https://miktex.org
+
+Package: miktex
+Priority: optional
+Section: tex
Installed-Size: 102876
Maintainer: Christian Schenk <cs@miktex.org>
Architecture: amd64
diff --git a/systems/win32/miktex/setup/deb/dists/jammy/universe/binary-amd64/Packages.bz2 b/systems/win32/miktex/setup/deb/dists/jammy/universe/binary-amd64/Packages.bz2
index b6580b25f6..5c1d795802 100644
--- a/systems/win32/miktex/setup/deb/dists/jammy/universe/binary-amd64/Packages.bz2
+++ b/systems/win32/miktex/setup/deb/dists/jammy/universe/binary-amd64/Packages.bz2
Binary files differ
diff --git a/systems/win32/miktex/setup/deb/dists/jammy/universe/binary-amd64/Packages.gz b/systems/win32/miktex/setup/deb/dists/jammy/universe/binary-amd64/Packages.gz
index d2fbd5ea79..20faa03631 100644
--- a/systems/win32/miktex/setup/deb/dists/jammy/universe/binary-amd64/Packages.gz
+++ b/systems/win32/miktex/setup/deb/dists/jammy/universe/binary-amd64/Packages.gz
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/fedora/35/repodata/11b4513fd63c23a0ee172473b4e09ce13cd1d5c8981fb2e6ac1d4a8c4869d34f-primary.xml.gz b/systems/win32/miktex/setup/rpm/fedora/35/repodata/11b4513fd63c23a0ee172473b4e09ce13cd1d5c8981fb2e6ac1d4a8c4869d34f-primary.xml.gz
deleted file mode 100644
index d889ff5cc6..0000000000
--- a/systems/win32/miktex/setup/rpm/fedora/35/repodata/11b4513fd63c23a0ee172473b4e09ce13cd1d5c8981fb2e6ac1d4a8c4869d34f-primary.xml.gz
+++ /dev/null
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/fedora/35/repodata/13e8b8fdf9a10c0a96919cb65ed1b5f4ef2716fc17842cf983557d6655dd1ddf-other.xml.gz b/systems/win32/miktex/setup/rpm/fedora/35/repodata/13e8b8fdf9a10c0a96919cb65ed1b5f4ef2716fc17842cf983557d6655dd1ddf-other.xml.gz
new file mode 100644
index 0000000000..15da4bc87c
--- /dev/null
+++ b/systems/win32/miktex/setup/rpm/fedora/35/repodata/13e8b8fdf9a10c0a96919cb65ed1b5f4ef2716fc17842cf983557d6655dd1ddf-other.xml.gz
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/fedora/35/repodata/540edea06ba8efb87631ad1fec4fa3d5cb253d6f47db59182530506a772224d5-other.sqlite.bz2 b/systems/win32/miktex/setup/rpm/fedora/35/repodata/540edea06ba8efb87631ad1fec4fa3d5cb253d6f47db59182530506a772224d5-other.sqlite.bz2
new file mode 100644
index 0000000000..e1cf402137
--- /dev/null
+++ b/systems/win32/miktex/setup/rpm/fedora/35/repodata/540edea06ba8efb87631ad1fec4fa3d5cb253d6f47db59182530506a772224d5-other.sqlite.bz2
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/fedora/35/repodata/5cd4f64240d2b915ee33e3adc7cdb68ef826b0ec8341f29afb2611936248d99c-filelists.sqlite.bz2 b/systems/win32/miktex/setup/rpm/fedora/35/repodata/5cd4f64240d2b915ee33e3adc7cdb68ef826b0ec8341f29afb2611936248d99c-filelists.sqlite.bz2
deleted file mode 100644
index 36257b0bc3..0000000000
--- a/systems/win32/miktex/setup/rpm/fedora/35/repodata/5cd4f64240d2b915ee33e3adc7cdb68ef826b0ec8341f29afb2611936248d99c-filelists.sqlite.bz2
+++ /dev/null
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/fedora/35/repodata/6b30530ad5dde494bffca85b7c21e622ab273a343fe952f3bff04128f7d37875-filelists.sqlite.bz2 b/systems/win32/miktex/setup/rpm/fedora/35/repodata/6b30530ad5dde494bffca85b7c21e622ab273a343fe952f3bff04128f7d37875-filelists.sqlite.bz2
new file mode 100644
index 0000000000..3a02836541
--- /dev/null
+++ b/systems/win32/miktex/setup/rpm/fedora/35/repodata/6b30530ad5dde494bffca85b7c21e622ab273a343fe952f3bff04128f7d37875-filelists.sqlite.bz2
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/fedora/35/repodata/758919a9fb067c55b8387b0a84d4ff37b2a3006ab54d87a15eb4ca52a222fc9c-primary.sqlite.bz2 b/systems/win32/miktex/setup/rpm/fedora/35/repodata/758919a9fb067c55b8387b0a84d4ff37b2a3006ab54d87a15eb4ca52a222fc9c-primary.sqlite.bz2
new file mode 100644
index 0000000000..bcb1dacd2a
--- /dev/null
+++ b/systems/win32/miktex/setup/rpm/fedora/35/repodata/758919a9fb067c55b8387b0a84d4ff37b2a3006ab54d87a15eb4ca52a222fc9c-primary.sqlite.bz2
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/fedora/35/repodata/7a5607eedca1edc31e94af29a00ebac31d28bf417b0b55eacc3a12bb8077838a-other.xml.gz b/systems/win32/miktex/setup/rpm/fedora/35/repodata/7a5607eedca1edc31e94af29a00ebac31d28bf417b0b55eacc3a12bb8077838a-other.xml.gz
deleted file mode 100644
index 4a88cc0e06..0000000000
--- a/systems/win32/miktex/setup/rpm/fedora/35/repodata/7a5607eedca1edc31e94af29a00ebac31d28bf417b0b55eacc3a12bb8077838a-other.xml.gz
+++ /dev/null
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/fedora/35/repodata/bb2de283fd59675e422f67210428099ab5cdc4e637238f3ab7da8e78ebf87962-primary.xml.gz b/systems/win32/miktex/setup/rpm/fedora/35/repodata/bb2de283fd59675e422f67210428099ab5cdc4e637238f3ab7da8e78ebf87962-primary.xml.gz
new file mode 100644
index 0000000000..e4df8df2e7
--- /dev/null
+++ b/systems/win32/miktex/setup/rpm/fedora/35/repodata/bb2de283fd59675e422f67210428099ab5cdc4e637238f3ab7da8e78ebf87962-primary.xml.gz
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/fedora/35/repodata/311935f4f2955b7ae33d22ac3f3d8e5c588fe5007f0c0fbd281859f5dd884e00-filelists.xml.gz b/systems/win32/miktex/setup/rpm/fedora/35/repodata/dbf95f7558533dff24020b9d14fc216b2872467819489dabd1c1175fee4470c6-filelists.xml.gz
index 27fb393bb1..0d81c0ac06 100644
--- a/systems/win32/miktex/setup/rpm/fedora/35/repodata/311935f4f2955b7ae33d22ac3f3d8e5c588fe5007f0c0fbd281859f5dd884e00-filelists.xml.gz
+++ b/systems/win32/miktex/setup/rpm/fedora/35/repodata/dbf95f7558533dff24020b9d14fc216b2872467819489dabd1c1175fee4470c6-filelists.xml.gz
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/fedora/35/repodata/dc183dd4b8f0e638515b104fd2a80b0c7c8f42e897e5a6c683fada49efc0f326-primary.sqlite.bz2 b/systems/win32/miktex/setup/rpm/fedora/35/repodata/dc183dd4b8f0e638515b104fd2a80b0c7c8f42e897e5a6c683fada49efc0f326-primary.sqlite.bz2
deleted file mode 100644
index 30a536406a..0000000000
--- a/systems/win32/miktex/setup/rpm/fedora/35/repodata/dc183dd4b8f0e638515b104fd2a80b0c7c8f42e897e5a6c683fada49efc0f326-primary.sqlite.bz2
+++ /dev/null
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/fedora/35/repodata/df47d3864eedc017d24ed20a221d8788a7282af4c1ec3fee439f283f2af8d316-other.sqlite.bz2 b/systems/win32/miktex/setup/rpm/fedora/35/repodata/df47d3864eedc017d24ed20a221d8788a7282af4c1ec3fee439f283f2af8d316-other.sqlite.bz2
deleted file mode 100644
index 8feaa59e8f..0000000000
--- a/systems/win32/miktex/setup/rpm/fedora/35/repodata/df47d3864eedc017d24ed20a221d8788a7282af4c1ec3fee439f283f2af8d316-other.sqlite.bz2
+++ /dev/null
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/fedora/35/repodata/repomd.xml b/systems/win32/miktex/setup/rpm/fedora/35/repodata/repomd.xml
index 25792abf78..dad0bea516 100644
--- a/systems/win32/miktex/setup/rpm/fedora/35/repodata/repomd.xml
+++ b/systems/win32/miktex/setup/rpm/fedora/35/repodata/repomd.xml
@@ -1,55 +1,55 @@
<?xml version="1.0" encoding="UTF-8"?>
<repomd xmlns="http://linux.duke.edu/metadata/repo" xmlns:rpm="http://linux.duke.edu/metadata/rpm">
- <revision>1681663096</revision>
+ <revision>1683365200</revision>
<data type="filelists">
- <checksum type="sha256">311935f4f2955b7ae33d22ac3f3d8e5c588fe5007f0c0fbd281859f5dd884e00</checksum>
- <open-checksum type="sha256">af1038b71fa656ff156d350d5774e8a0d4585bc6bcf87cccb23655b3e28dcb5b</open-checksum>
- <location href="repodata/311935f4f2955b7ae33d22ac3f3d8e5c588fe5007f0c0fbd281859f5dd884e00-filelists.xml.gz"/>
- <timestamp>1681663098</timestamp>
- <size>29638</size>
- <open-size>188548</open-size>
+ <checksum type="sha256">dbf95f7558533dff24020b9d14fc216b2872467819489dabd1c1175fee4470c6</checksum>
+ <open-checksum type="sha256">609be205135fc4d0e3a49a65cf6a0536e4e88597ae5e78a4305d9b82269fe2a3</open-checksum>
+ <location href="repodata/dbf95f7558533dff24020b9d14fc216b2872467819489dabd1c1175fee4470c6-filelists.xml.gz"/>
+ <timestamp>1683365202</timestamp>
+ <size>30645</size>
+ <open-size>219728</open-size>
</data>
<data type="primary">
- <checksum type="sha256">11b4513fd63c23a0ee172473b4e09ce13cd1d5c8981fb2e6ac1d4a8c4869d34f</checksum>
- <open-checksum type="sha256">4b96fd6c0d45e844c4127573fde0d8dcbd8a5350cf183d2ba27ce2366b0608f7</open-checksum>
- <location href="repodata/11b4513fd63c23a0ee172473b4e09ce13cd1d5c8981fb2e6ac1d4a8c4869d34f-primary.xml.gz"/>
- <timestamp>1681663098</timestamp>
- <size>3538</size>
- <open-size>78654</open-size>
+ <checksum type="sha256">bb2de283fd59675e422f67210428099ab5cdc4e637238f3ab7da8e78ebf87962</checksum>
+ <open-checksum type="sha256">ff1efa9454145cf768969c7a21a94e1353d39538f43fdda42f545974a2de6169</open-checksum>
+ <location href="repodata/bb2de283fd59675e422f67210428099ab5cdc4e637238f3ab7da8e78ebf87962-primary.xml.gz"/>
+ <timestamp>1683365202</timestamp>
+ <size>3755</size>
+ <open-size>91645</open-size>
</data>
<data type="primary_db">
- <checksum type="sha256">dc183dd4b8f0e638515b104fd2a80b0c7c8f42e897e5a6c683fada49efc0f326</checksum>
- <open-checksum type="sha256">3142eb834443edacc51b513146e20fead397f0f8279487d448084362dd791faf</open-checksum>
- <location href="repodata/dc183dd4b8f0e638515b104fd2a80b0c7c8f42e897e5a6c683fada49efc0f326-primary.sqlite.bz2"/>
- <timestamp>1681663098</timestamp>
+ <checksum type="sha256">758919a9fb067c55b8387b0a84d4ff37b2a3006ab54d87a15eb4ca52a222fc9c</checksum>
+ <open-checksum type="sha256">269e92ea8ef7777bbad3b4433c98583422d9951569fbaffb3b0aacc62a51ad47</open-checksum>
+ <location href="repodata/758919a9fb067c55b8387b0a84d4ff37b2a3006ab54d87a15eb4ca52a222fc9c-primary.sqlite.bz2"/>
+ <timestamp>1683365202</timestamp>
<database_version>10</database_version>
- <size>30200</size>
- <open-size>249856</open-size>
+ <size>34153</size>
+ <open-size>270336</open-size>
</data>
<data type="other_db">
- <checksum type="sha256">df47d3864eedc017d24ed20a221d8788a7282af4c1ec3fee439f283f2af8d316</checksum>
- <open-checksum type="sha256">5dfc8f78968844b486e629cce5b381f154d1a590ec6ee67c4ecb94f1dd2b8435</open-checksum>
- <location href="repodata/df47d3864eedc017d24ed20a221d8788a7282af4c1ec3fee439f283f2af8d316-other.sqlite.bz2"/>
- <timestamp>1681663098</timestamp>
+ <checksum type="sha256">540edea06ba8efb87631ad1fec4fa3d5cb253d6f47db59182530506a772224d5</checksum>
+ <open-checksum type="sha256">fd06cdcb1dcdd8d2d8ac6bf27af4643e080f6dba0c2d58b7f60029db03be20a3</open-checksum>
+ <location href="repodata/540edea06ba8efb87631ad1fec4fa3d5cb253d6f47db59182530506a772224d5-other.sqlite.bz2"/>
+ <timestamp>1683365202</timestamp>
<database_version>10</database_version>
- <size>1282</size>
+ <size>1382</size>
<open-size>24576</open-size>
</data>
<data type="other">
- <checksum type="sha256">7a5607eedca1edc31e94af29a00ebac31d28bf417b0b55eacc3a12bb8077838a</checksum>
- <open-checksum type="sha256">c6d25ce6da53abc6b412c14ac26326a37e3603dc20b8b445fd960f1452140a83</open-checksum>
- <location href="repodata/7a5607eedca1edc31e94af29a00ebac31d28bf417b0b55eacc3a12bb8077838a-other.xml.gz"/>
- <timestamp>1681663098</timestamp>
- <size>601</size>
- <open-size>2145</open-size>
+ <checksum type="sha256">13e8b8fdf9a10c0a96919cb65ed1b5f4ef2716fc17842cf983557d6655dd1ddf</checksum>
+ <open-checksum type="sha256">accf3558d06b9ce4bc64195ae867c3164205482a1aec2a59a8f854c78a05b451</open-checksum>
+ <location href="repodata/13e8b8fdf9a10c0a96919cb65ed1b5f4ef2716fc17842cf983557d6655dd1ddf-other.xml.gz"/>
+ <timestamp>1683365202</timestamp>
+ <size>650</size>
+ <open-size>2481</open-size>
</data>
<data type="filelists_db">
- <checksum type="sha256">5cd4f64240d2b915ee33e3adc7cdb68ef826b0ec8341f29afb2611936248d99c</checksum>
- <open-checksum type="sha256">114d9c37a93c98321a04f9576b40f16a8e3a5503e6ffcdcb29bebf3b416321be</open-checksum>
- <location href="repodata/5cd4f64240d2b915ee33e3adc7cdb68ef826b0ec8341f29afb2611936248d99c-filelists.sqlite.bz2"/>
- <timestamp>1681663098</timestamp>
+ <checksum type="sha256">6b30530ad5dde494bffca85b7c21e622ab273a343fe952f3bff04128f7d37875</checksum>
+ <open-checksum type="sha256">060bf218d9bbaeb86ca6dbea4c082ebd82200dcb399323225d20316877161cd5</open-checksum>
+ <location href="repodata/6b30530ad5dde494bffca85b7c21e622ab273a343fe952f3bff04128f7d37875-filelists.sqlite.bz2"/>
+ <timestamp>1683365202</timestamp>
<database_version>10</database_version>
- <size>39859</size>
- <open-size>172032</open-size>
+ <size>44470</size>
+ <open-size>200704</open-size>
</data>
</repomd>
diff --git a/systems/win32/miktex/setup/rpm/fedora/35/repodata/repomd.xml.asc b/systems/win32/miktex/setup/rpm/fedora/35/repodata/repomd.xml.asc
index 2a93ec06da..fb619e600b 100644
--- a/systems/win32/miktex/setup/rpm/fedora/35/repodata/repomd.xml.asc
+++ b/systems/win32/miktex/setup/rpm/fedora/35/repodata/repomd.xml.asc
@@ -1,11 +1,11 @@
-----BEGIN PGP SIGNATURE-----
-iQEzBAABCAAdFiEE1rwkNWWyCHvD+JfJJ3pyk/WeSIkFAmQ8JHoACgkQJ3pyk/We
-SIkS0gf+LW4nOwZ9VcBd+nDXW56sjW5wbW47/8hTWbR0PZwCWISsmrzdskQWMw2G
-G8fNxnvLJfBX3iZ3fzwxnLJudl2Csl2Z/TBvPV5xqhCiJ6PRV+9WzRfIeGed18n4
-4pkHWjUTngzfXsyphxn4OqLkgeBAcI2hqXWlpiu6SXuXPOP4SXpBsbQRlkSW7opS
-o6VfBIigG7AIzV1PofKW0Fbck436lJo7Yt63T2qk5JwdV1545dNsdFtBZkHDuMgq
-2WBm5bHE/IkfpE56P+n8B+tjeB9Rxgx/NWZVjpFE7R3t9+1skggcP3ZKKEzqQm+l
-21yqVsw1GZhtEE8ZOZiV2OZ5IU2d4A==
-=/WF8
+iQEzBAABCAAdFiEE1rwkNWWyCHvD+JfJJ3pyk/WeSIkFAmRWHVIACgkQJ3pyk/We
+SInY3wf/aq1Lbyp7LAQufpBj9GM6+n4g8mPNLZJyNYYFXI/QAR/g8A2DCP35xAUE
+f9AYV+LhmEtvgFAVRNEITrwg8ZH0IfYZpnB0Qzn+1gchU3c+hSh3wX12yL378/6M
+bW5udqpn+aQhn1WgOpexvZkCwGGmVnTaVrq9goDtb9j52ggFxBRHrjlUVksClKsA
+4KnoD1Er+eI72GMxpENaxCR1CgdctpsOsKoL5LgHXOWbA1gJEpu6I3CU0CVTrSYw
+mLs15QLHaOvs+9ah2DXlQ99VnMzmvSwbqXYOijmNn28nJjwGOk554HKA+SHxRiaM
+C7L6Ejie5VnA+VZGBc8cnyLYUcNeWQ==
+=e93g
-----END PGP SIGNATURE-----
diff --git a/systems/win32/miktex/setup/rpm/fedora/36/repodata/10bc961ea8715a716e4ebad30b2eeb683640f33c1e392927405ffe6b0852856d-primary.sqlite.bz2 b/systems/win32/miktex/setup/rpm/fedora/36/repodata/10bc961ea8715a716e4ebad30b2eeb683640f33c1e392927405ffe6b0852856d-primary.sqlite.bz2
deleted file mode 100644
index bfa6708a84..0000000000
--- a/systems/win32/miktex/setup/rpm/fedora/36/repodata/10bc961ea8715a716e4ebad30b2eeb683640f33c1e392927405ffe6b0852856d-primary.sqlite.bz2
+++ /dev/null
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/fedora/36/repodata/13336fbf633f4e10794430628cc9707f93af626e52359aa9d80ddadece64c9da-primary.xml.gz b/systems/win32/miktex/setup/rpm/fedora/36/repodata/13336fbf633f4e10794430628cc9707f93af626e52359aa9d80ddadece64c9da-primary.xml.gz
deleted file mode 100644
index 01f300f42b..0000000000
--- a/systems/win32/miktex/setup/rpm/fedora/36/repodata/13336fbf633f4e10794430628cc9707f93af626e52359aa9d80ddadece64c9da-primary.xml.gz
+++ /dev/null
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/fedora/36/repodata/1658bd180f4cb09a9920664a0fdd3534b7fbf8fab1f4bd86e0ba1df4e3318e76-other.sqlite.bz2 b/systems/win32/miktex/setup/rpm/fedora/36/repodata/1658bd180f4cb09a9920664a0fdd3534b7fbf8fab1f4bd86e0ba1df4e3318e76-other.sqlite.bz2
deleted file mode 100644
index 4b34a0b2a2..0000000000
--- a/systems/win32/miktex/setup/rpm/fedora/36/repodata/1658bd180f4cb09a9920664a0fdd3534b7fbf8fab1f4bd86e0ba1df4e3318e76-other.sqlite.bz2
+++ /dev/null
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/fedora/36/repodata/49f2800e2b2426186a57ab5d8cf39d4d332eb735c23dfa3e642e700ab72d92dd-filelists.xml.gz b/systems/win32/miktex/setup/rpm/fedora/36/repodata/49f2800e2b2426186a57ab5d8cf39d4d332eb735c23dfa3e642e700ab72d92dd-filelists.xml.gz
deleted file mode 100644
index ae7ce00e18..0000000000
--- a/systems/win32/miktex/setup/rpm/fedora/36/repodata/49f2800e2b2426186a57ab5d8cf39d4d332eb735c23dfa3e642e700ab72d92dd-filelists.xml.gz
+++ /dev/null
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/fedora/36/repodata/4afdb650ab52361f0b6df660339390263026d1d3ea621d1a1d4c966221ec91b2-other.sqlite.bz2 b/systems/win32/miktex/setup/rpm/fedora/36/repodata/4afdb650ab52361f0b6df660339390263026d1d3ea621d1a1d4c966221ec91b2-other.sqlite.bz2
new file mode 100644
index 0000000000..6f4fa2b319
--- /dev/null
+++ b/systems/win32/miktex/setup/rpm/fedora/36/repodata/4afdb650ab52361f0b6df660339390263026d1d3ea621d1a1d4c966221ec91b2-other.sqlite.bz2
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/fedora/36/repodata/5e7659a859483de996c76f0d8884d09e901a000e5f624e3e3aa21109b0914d54-filelists.sqlite.bz2 b/systems/win32/miktex/setup/rpm/fedora/36/repodata/5e7659a859483de996c76f0d8884d09e901a000e5f624e3e3aa21109b0914d54-filelists.sqlite.bz2
new file mode 100644
index 0000000000..d2a52a57c4
--- /dev/null
+++ b/systems/win32/miktex/setup/rpm/fedora/36/repodata/5e7659a859483de996c76f0d8884d09e901a000e5f624e3e3aa21109b0914d54-filelists.sqlite.bz2
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/fedora/36/repodata/aedac3c2e523f0dad68b6a9db06cb477698017c0957cdcf4dcd6dfeef833eb66-other.xml.gz b/systems/win32/miktex/setup/rpm/fedora/36/repodata/aedac3c2e523f0dad68b6a9db06cb477698017c0957cdcf4dcd6dfeef833eb66-other.xml.gz
deleted file mode 100644
index 9bcf72ff1d..0000000000
--- a/systems/win32/miktex/setup/rpm/fedora/36/repodata/aedac3c2e523f0dad68b6a9db06cb477698017c0957cdcf4dcd6dfeef833eb66-other.xml.gz
+++ /dev/null
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/fedora/36/repodata/b989520bd75b806148361e89d48b63556c7f74eb070e3f4ed759800b67419cb2-filelists.xml.gz b/systems/win32/miktex/setup/rpm/fedora/36/repodata/b989520bd75b806148361e89d48b63556c7f74eb070e3f4ed759800b67419cb2-filelists.xml.gz
new file mode 100644
index 0000000000..1079237565
--- /dev/null
+++ b/systems/win32/miktex/setup/rpm/fedora/36/repodata/b989520bd75b806148361e89d48b63556c7f74eb070e3f4ed759800b67419cb2-filelists.xml.gz
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/fedora/36/repodata/d8f453f31b478b7db42cc98527fcc9cdf66964347b6f97059c4addffc54d9b91-other.xml.gz b/systems/win32/miktex/setup/rpm/fedora/36/repodata/d8f453f31b478b7db42cc98527fcc9cdf66964347b6f97059c4addffc54d9b91-other.xml.gz
new file mode 100644
index 0000000000..ccddcc5bdd
--- /dev/null
+++ b/systems/win32/miktex/setup/rpm/fedora/36/repodata/d8f453f31b478b7db42cc98527fcc9cdf66964347b6f97059c4addffc54d9b91-other.xml.gz
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/fedora/36/repodata/e4cc168bd311cb0ae06d7e3c9cc2b97186446d3bdf7411d7ae03a43f588d1f03-primary.xml.gz b/systems/win32/miktex/setup/rpm/fedora/36/repodata/e4cc168bd311cb0ae06d7e3c9cc2b97186446d3bdf7411d7ae03a43f588d1f03-primary.xml.gz
new file mode 100644
index 0000000000..25d461d3fe
--- /dev/null
+++ b/systems/win32/miktex/setup/rpm/fedora/36/repodata/e4cc168bd311cb0ae06d7e3c9cc2b97186446d3bdf7411d7ae03a43f588d1f03-primary.xml.gz
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/fedora/36/repodata/f2ee192a4baa66631434f22f88c270172d877d441819391941ecaee292dbecc1-primary.sqlite.bz2 b/systems/win32/miktex/setup/rpm/fedora/36/repodata/f2ee192a4baa66631434f22f88c270172d877d441819391941ecaee292dbecc1-primary.sqlite.bz2
new file mode 100644
index 0000000000..ea4583b61f
--- /dev/null
+++ b/systems/win32/miktex/setup/rpm/fedora/36/repodata/f2ee192a4baa66631434f22f88c270172d877d441819391941ecaee292dbecc1-primary.sqlite.bz2
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/fedora/36/repodata/f5f59ac9428e894d589bc69caa7eebfcc09529345db76b0c792f50953d681c21-filelists.sqlite.bz2 b/systems/win32/miktex/setup/rpm/fedora/36/repodata/f5f59ac9428e894d589bc69caa7eebfcc09529345db76b0c792f50953d681c21-filelists.sqlite.bz2
deleted file mode 100644
index 2aaa2d8b5f..0000000000
--- a/systems/win32/miktex/setup/rpm/fedora/36/repodata/f5f59ac9428e894d589bc69caa7eebfcc09529345db76b0c792f50953d681c21-filelists.sqlite.bz2
+++ /dev/null
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/fedora/36/repodata/repomd.xml b/systems/win32/miktex/setup/rpm/fedora/36/repodata/repomd.xml
index 08d8bbf42c..096638a537 100644
--- a/systems/win32/miktex/setup/rpm/fedora/36/repodata/repomd.xml
+++ b/systems/win32/miktex/setup/rpm/fedora/36/repodata/repomd.xml
@@ -1,55 +1,55 @@
<?xml version="1.0" encoding="UTF-8"?>
<repomd xmlns="http://linux.duke.edu/metadata/repo" xmlns:rpm="http://linux.duke.edu/metadata/rpm">
- <revision>1681663102</revision>
+ <revision>1683365205</revision>
<data type="filelists">
- <checksum type="sha256">49f2800e2b2426186a57ab5d8cf39d4d332eb735c23dfa3e642e700ab72d92dd</checksum>
- <open-checksum type="sha256">f4ec8bb3a6ff0f40e42bbbaa3d33ddee98859b08f51d76c941463155959ae77f</open-checksum>
- <location href="repodata/49f2800e2b2426186a57ab5d8cf39d4d332eb735c23dfa3e642e700ab72d92dd-filelists.xml.gz"/>
- <timestamp>1681663103</timestamp>
- <size>17614</size>
- <open-size>125116</open-size>
+ <checksum type="sha256">b989520bd75b806148361e89d48b63556c7f74eb070e3f4ed759800b67419cb2</checksum>
+ <open-checksum type="sha256">54bf20c5b63afe1708aae768ac82e56a2aae381c71f38fe9181b419b44b36c42</open-checksum>
+ <location href="repodata/b989520bd75b806148361e89d48b63556c7f74eb070e3f4ed759800b67419cb2-filelists.xml.gz"/>
+ <timestamp>1683365207</timestamp>
+ <size>18643</size>
+ <open-size>156008</open-size>
</data>
<data type="primary">
- <checksum type="sha256">13336fbf633f4e10794430628cc9707f93af626e52359aa9d80ddadece64c9da</checksum>
- <open-checksum type="sha256">679a1b3e82f8afc6d722d4d8e4e64771546c40e108dc5a57d85fdc694e23bb00</open-checksum>
- <location href="repodata/13336fbf633f4e10794430628cc9707f93af626e52359aa9d80ddadece64c9da-primary.xml.gz"/>
- <timestamp>1681663103</timestamp>
- <size>3058</size>
- <open-size>52944</open-size>
+ <checksum type="sha256">e4cc168bd311cb0ae06d7e3c9cc2b97186446d3bdf7411d7ae03a43f588d1f03</checksum>
+ <open-checksum type="sha256">33af8e78846e3f02400cf983977b1d662b322514cb71cd5baf2e4bd947becf16</open-checksum>
+ <location href="repodata/e4cc168bd311cb0ae06d7e3c9cc2b97186446d3bdf7411d7ae03a43f588d1f03-primary.xml.gz"/>
+ <timestamp>1683365207</timestamp>
+ <size>3285</size>
+ <open-size>66050</open-size>
</data>
<data type="primary_db">
- <checksum type="sha256">10bc961ea8715a716e4ebad30b2eeb683640f33c1e392927405ffe6b0852856d</checksum>
- <open-checksum type="sha256">5db5545bbda0c2876e1b3d4f429a3707e818e9f8a8e5e22389461479324da681</open-checksum>
- <location href="repodata/10bc961ea8715a716e4ebad30b2eeb683640f33c1e392927405ffe6b0852856d-primary.sqlite.bz2"/>
- <timestamp>1681663103</timestamp>
+ <checksum type="sha256">f2ee192a4baa66631434f22f88c270172d877d441819391941ecaee292dbecc1</checksum>
+ <open-checksum type="sha256">89007d29a58ea246500839ce020bf96347acdc1f15f6ce77e6412ece254eb899</open-checksum>
+ <location href="repodata/f2ee192a4baa66631434f22f88c270172d877d441819391941ecaee292dbecc1-primary.sqlite.bz2"/>
+ <timestamp>1683365207</timestamp>
<database_version>10</database_version>
- <size>21823</size>
- <open-size>204800</open-size>
+ <size>26076</size>
+ <open-size>229376</open-size>
</data>
<data type="other_db">
- <checksum type="sha256">1658bd180f4cb09a9920664a0fdd3534b7fbf8fab1f4bd86e0ba1df4e3318e76</checksum>
- <open-checksum type="sha256">e6d7f01a1087663549fb0d311f5b4999b13d4e150b3525e02462e4cd394f74ab</open-checksum>
- <location href="repodata/1658bd180f4cb09a9920664a0fdd3534b7fbf8fab1f4bd86e0ba1df4e3318e76-other.sqlite.bz2"/>
- <timestamp>1681663103</timestamp>
+ <checksum type="sha256">4afdb650ab52361f0b6df660339390263026d1d3ea621d1a1d4c966221ec91b2</checksum>
+ <open-checksum type="sha256">c63b9d4eefa4fb2e7667a365621f245f550f82c054993def82c717e4ee3295a8</open-checksum>
+ <location href="repodata/4afdb650ab52361f0b6df660339390263026d1d3ea621d1a1d4c966221ec91b2-other.sqlite.bz2"/>
+ <timestamp>1683365207</timestamp>
<database_version>10</database_version>
- <size>1111</size>
+ <size>1195</size>
<open-size>24576</open-size>
</data>
<data type="other">
- <checksum type="sha256">aedac3c2e523f0dad68b6a9db06cb477698017c0957cdcf4dcd6dfeef833eb66</checksum>
- <open-checksum type="sha256">8061438b1b9748db8cfdf2ee157422c9912bd3c3089674af7ce7ca497820f165</open-checksum>
- <location href="repodata/aedac3c2e523f0dad68b6a9db06cb477698017c0957cdcf4dcd6dfeef833eb66-other.xml.gz"/>
- <timestamp>1681663103</timestamp>
- <size>509</size>
- <open-size>1473</open-size>
+ <checksum type="sha256">d8f453f31b478b7db42cc98527fcc9cdf66964347b6f97059c4addffc54d9b91</checksum>
+ <open-checksum type="sha256">dce53c275188cd9ef4603f54d3777027669925490ddeede78e3327f38224f5bd</open-checksum>
+ <location href="repodata/d8f453f31b478b7db42cc98527fcc9cdf66964347b6f97059c4addffc54d9b91-other.xml.gz"/>
+ <timestamp>1683365207</timestamp>
+ <size>557</size>
+ <open-size>1809</open-size>
</data>
<data type="filelists_db">
- <checksum type="sha256">f5f59ac9428e894d589bc69caa7eebfcc09529345db76b0c792f50953d681c21</checksum>
- <open-checksum type="sha256">f4bbb772450aa47856a0667a9d4e417c783e76e570dd36cf8ce24fafe991d46b</open-checksum>
- <location href="repodata/f5f59ac9428e894d589bc69caa7eebfcc09529345db76b0c792f50953d681c21-filelists.sqlite.bz2"/>
- <timestamp>1681663103</timestamp>
+ <checksum type="sha256">5e7659a859483de996c76f0d8884d09e901a000e5f624e3e3aa21109b0914d54</checksum>
+ <open-checksum type="sha256">5bd0498e6613c9d5b0a0dd8fce992a8d351ac0140a939d852a2e2d5fd2cb9dc1</open-checksum>
+ <location href="repodata/5e7659a859483de996c76f0d8884d09e901a000e5f624e3e3aa21109b0914d54-filelists.sqlite.bz2"/>
+ <timestamp>1683365207</timestamp>
<database_version>10</database_version>
- <size>27536</size>
- <open-size>126976</open-size>
+ <size>32251</size>
+ <open-size>151552</open-size>
</data>
</repomd>
diff --git a/systems/win32/miktex/setup/rpm/fedora/36/repodata/repomd.xml.asc b/systems/win32/miktex/setup/rpm/fedora/36/repodata/repomd.xml.asc
index 77e7ae4b53..c1ed503d27 100644
--- a/systems/win32/miktex/setup/rpm/fedora/36/repodata/repomd.xml.asc
+++ b/systems/win32/miktex/setup/rpm/fedora/36/repodata/repomd.xml.asc
@@ -1,11 +1,11 @@
-----BEGIN PGP SIGNATURE-----
-iQEzBAABCAAdFiEE1rwkNWWyCHvD+JfJJ3pyk/WeSIkFAmQ8JH8ACgkQJ3pyk/We
-SInnPQf8CPRF8LObYBseGVM+0KuCg3ONekhRUS3sDk754h08Meq6ryMxDTqC80TY
-Axy4nCcIsCAFY2KL/WtMolp0Stia3cPsUcsfMrUug/6eTHgiqmX2b5XSmVnz/wdF
-xLsZDvI26lWOQy0BlS6+9r0TQqnaExPdhvETies4XB7zIJI7qQLpDTmUfAa4bnMS
-hQzinbFzME+ILp5pdbDsyshk4LD6DE+FQCpzW4H8Hyj9By8Yunr1jl4mMtS44Kce
-UjoZAMvc6NG1vBOYTTUQDeXLXaQKWZXlIYkxoggz3i18EhCTfV6NwUQWlzUKI/vJ
-+xBM43zLgWlM9PzxIIx9Cu3gXZ41FQ==
-=CIhf
+iQEzBAABCAAdFiEE1rwkNWWyCHvD+JfJJ3pyk/WeSIkFAmRWHVcACgkQJ3pyk/We
+SIlhMQf/V7lP+kbKZWeOTgjRa7VdPlp76evPDdmlPCpTWPF11Q06aw3HrwpDgS7V
+GcYOf71rj822Z+HpDxbkGN3fvIdHpfGVuQBPlKrEgKt+ypSpRdaBYTStkJB51fCH
+bW8+STJhwosacZHInrMk+aRIHjA84gpiF31MFA4hFv9y3M6KYSFb4uzuU15DX24P
+i5eBW0048AGdl8d+cph1/bfJkuvQrnBOKH0LkJRC0jql3uuyKgLcwGft6ecR4ZbA
+7bVIG88pHcEdfMAw+9SP2q/ZBV7QrCRIw2EQWd70IoRzq/kEO0cNozYYDUR5P7Q9
+7XcNSaSEr/mW7v2gYHpv2dUmQYAs5w==
+=D6o+
-----END PGP SIGNATURE-----
diff --git a/systems/win32/miktex/setup/rpm/fedora/37/repodata/024a9a38b8dfafedbe5cdbd8ceff72a0643d105ce0959a04bebef981230dfa8d-filelists.xml.gz b/systems/win32/miktex/setup/rpm/fedora/37/repodata/024a9a38b8dfafedbe5cdbd8ceff72a0643d105ce0959a04bebef981230dfa8d-filelists.xml.gz
deleted file mode 100644
index 29bd6fb09e..0000000000
--- a/systems/win32/miktex/setup/rpm/fedora/37/repodata/024a9a38b8dfafedbe5cdbd8ceff72a0643d105ce0959a04bebef981230dfa8d-filelists.xml.gz
+++ /dev/null
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/fedora/37/repodata/076b6225333f4b5b39219cdcfe176c86436a5df909e1d76981d0ed44aebbcef5-other.xml.gz b/systems/win32/miktex/setup/rpm/fedora/37/repodata/076b6225333f4b5b39219cdcfe176c86436a5df909e1d76981d0ed44aebbcef5-other.xml.gz
deleted file mode 100644
index eafab3fb9e..0000000000
--- a/systems/win32/miktex/setup/rpm/fedora/37/repodata/076b6225333f4b5b39219cdcfe176c86436a5df909e1d76981d0ed44aebbcef5-other.xml.gz
+++ /dev/null
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/fedora/37/repodata/358b3cca6370ffa2956e5559dca06a4be3ec2dce3bb84946590a1e60e71184d0-primary.xml.gz b/systems/win32/miktex/setup/rpm/fedora/37/repodata/358b3cca6370ffa2956e5559dca06a4be3ec2dce3bb84946590a1e60e71184d0-primary.xml.gz
new file mode 100644
index 0000000000..2a59cf97d7
--- /dev/null
+++ b/systems/win32/miktex/setup/rpm/fedora/37/repodata/358b3cca6370ffa2956e5559dca06a4be3ec2dce3bb84946590a1e60e71184d0-primary.xml.gz
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/fedora/37/repodata/6d63025f2e738b866fa633138b5f4db27f9994db6ce736e54fd3aeb88ee2c456-primary.sqlite.bz2 b/systems/win32/miktex/setup/rpm/fedora/37/repodata/6d63025f2e738b866fa633138b5f4db27f9994db6ce736e54fd3aeb88ee2c456-primary.sqlite.bz2
new file mode 100644
index 0000000000..5f906cd810
--- /dev/null
+++ b/systems/win32/miktex/setup/rpm/fedora/37/repodata/6d63025f2e738b866fa633138b5f4db27f9994db6ce736e54fd3aeb88ee2c456-primary.sqlite.bz2
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/fedora/37/repodata/7f86d1036320ef58f44df6018dcd4407147a11a4a04c964fe191a105d2375e67-primary.xml.gz b/systems/win32/miktex/setup/rpm/fedora/37/repodata/7f86d1036320ef58f44df6018dcd4407147a11a4a04c964fe191a105d2375e67-primary.xml.gz
deleted file mode 100644
index 58b0c2b707..0000000000
--- a/systems/win32/miktex/setup/rpm/fedora/37/repodata/7f86d1036320ef58f44df6018dcd4407147a11a4a04c964fe191a105d2375e67-primary.xml.gz
+++ /dev/null
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/fedora/37/repodata/8fd7940768cb81f896206f57a16245aace5f71a581beac509b35632fe3c56fdd-filelists.sqlite.bz2 b/systems/win32/miktex/setup/rpm/fedora/37/repodata/8fd7940768cb81f896206f57a16245aace5f71a581beac509b35632fe3c56fdd-filelists.sqlite.bz2
deleted file mode 100644
index 835c85ea59..0000000000
--- a/systems/win32/miktex/setup/rpm/fedora/37/repodata/8fd7940768cb81f896206f57a16245aace5f71a581beac509b35632fe3c56fdd-filelists.sqlite.bz2
+++ /dev/null
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/fedora/37/repodata/98435dda014ed76ca356de7fe7f353db442d7a125b92f634539b1717798f8ac2-primary.sqlite.bz2 b/systems/win32/miktex/setup/rpm/fedora/37/repodata/98435dda014ed76ca356de7fe7f353db442d7a125b92f634539b1717798f8ac2-primary.sqlite.bz2
deleted file mode 100644
index 40c8f80520..0000000000
--- a/systems/win32/miktex/setup/rpm/fedora/37/repodata/98435dda014ed76ca356de7fe7f353db442d7a125b92f634539b1717798f8ac2-primary.sqlite.bz2
+++ /dev/null
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/fedora/37/repodata/9d2b687617379b61dc1ce9cd1f2ddcc46368b07ca8be0d7bde7f911c2c6d91b2-other.sqlite.bz2 b/systems/win32/miktex/setup/rpm/fedora/37/repodata/9d2b687617379b61dc1ce9cd1f2ddcc46368b07ca8be0d7bde7f911c2c6d91b2-other.sqlite.bz2
new file mode 100644
index 0000000000..3c005e9b47
--- /dev/null
+++ b/systems/win32/miktex/setup/rpm/fedora/37/repodata/9d2b687617379b61dc1ce9cd1f2ddcc46368b07ca8be0d7bde7f911c2c6d91b2-other.sqlite.bz2
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/fedora/37/repodata/b447d60ba53efb618c948122b7c9f4813f475ab3dde2a314664bfe09197a525f-other.xml.gz b/systems/win32/miktex/setup/rpm/fedora/37/repodata/b447d60ba53efb618c948122b7c9f4813f475ab3dde2a314664bfe09197a525f-other.xml.gz
new file mode 100644
index 0000000000..204e191add
--- /dev/null
+++ b/systems/win32/miktex/setup/rpm/fedora/37/repodata/b447d60ba53efb618c948122b7c9f4813f475ab3dde2a314664bfe09197a525f-other.xml.gz
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/fedora/37/repodata/bd72d5e59b46e1c80b1442ec0618d9fe1ab3021379c3a39351f97bb5d895fcaf-filelists.xml.gz b/systems/win32/miktex/setup/rpm/fedora/37/repodata/bd72d5e59b46e1c80b1442ec0618d9fe1ab3021379c3a39351f97bb5d895fcaf-filelists.xml.gz
new file mode 100644
index 0000000000..2622e342c8
--- /dev/null
+++ b/systems/win32/miktex/setup/rpm/fedora/37/repodata/bd72d5e59b46e1c80b1442ec0618d9fe1ab3021379c3a39351f97bb5d895fcaf-filelists.xml.gz
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/fedora/37/repodata/c22d3c9c0dd8997d392d38e55d40659d6310d8ec4dc7bc55176ae7571c39b506-other.sqlite.bz2 b/systems/win32/miktex/setup/rpm/fedora/37/repodata/c22d3c9c0dd8997d392d38e55d40659d6310d8ec4dc7bc55176ae7571c39b506-other.sqlite.bz2
deleted file mode 100644
index 4299802fcf..0000000000
--- a/systems/win32/miktex/setup/rpm/fedora/37/repodata/c22d3c9c0dd8997d392d38e55d40659d6310d8ec4dc7bc55176ae7571c39b506-other.sqlite.bz2
+++ /dev/null
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/fedora/37/repodata/e815a622e789a39444ff63aedc6701b7c954a994e75b27bc02f1a2cbca68c526-filelists.sqlite.bz2 b/systems/win32/miktex/setup/rpm/fedora/37/repodata/e815a622e789a39444ff63aedc6701b7c954a994e75b27bc02f1a2cbca68c526-filelists.sqlite.bz2
new file mode 100644
index 0000000000..f708af0fc4
--- /dev/null
+++ b/systems/win32/miktex/setup/rpm/fedora/37/repodata/e815a622e789a39444ff63aedc6701b7c954a994e75b27bc02f1a2cbca68c526-filelists.sqlite.bz2
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/fedora/37/repodata/repomd.xml b/systems/win32/miktex/setup/rpm/fedora/37/repodata/repomd.xml
index 459c0c9d8b..5078e08add 100644
--- a/systems/win32/miktex/setup/rpm/fedora/37/repodata/repomd.xml
+++ b/systems/win32/miktex/setup/rpm/fedora/37/repodata/repomd.xml
@@ -1,55 +1,55 @@
<?xml version="1.0" encoding="UTF-8"?>
<repomd xmlns="http://linux.duke.edu/metadata/repo" xmlns:rpm="http://linux.duke.edu/metadata/rpm">
- <revision>1681663107</revision>
+ <revision>1683365210</revision>
<data type="filelists">
- <checksum type="sha256">024a9a38b8dfafedbe5cdbd8ceff72a0643d105ce0959a04bebef981230dfa8d</checksum>
- <open-checksum type="sha256">775f4340ecb4c75da327b82a73ce368c689ec500a19008dca1bebe34bcefb25a</open-checksum>
- <location href="repodata/024a9a38b8dfafedbe5cdbd8ceff72a0643d105ce0959a04bebef981230dfa8d-filelists.xml.gz"/>
- <timestamp>1681663107</timestamp>
- <size>15814</size>
- <open-size>92857</open-size>
+ <checksum type="sha256">bd72d5e59b46e1c80b1442ec0618d9fe1ab3021379c3a39351f97bb5d895fcaf</checksum>
+ <open-checksum type="sha256">51a5515ca49760acd0636e274671647fc05ecfd71e2719a30d75c740e436f13b</open-checksum>
+ <location href="repodata/bd72d5e59b46e1c80b1442ec0618d9fe1ab3021379c3a39351f97bb5d895fcaf-filelists.xml.gz"/>
+ <timestamp>1683365212</timestamp>
+ <size>16846</size>
+ <open-size>123173</open-size>
</data>
<data type="primary">
- <checksum type="sha256">7f86d1036320ef58f44df6018dcd4407147a11a4a04c964fe191a105d2375e67</checksum>
- <open-checksum type="sha256">5af4e4ea423b13040547fbf3b6e1b967eb020012d493ece7d76b3832343ed0b4</open-checksum>
- <location href="repodata/7f86d1036320ef58f44df6018dcd4407147a11a4a04c964fe191a105d2375e67-primary.xml.gz"/>
- <timestamp>1681663107</timestamp>
- <size>2808</size>
- <open-size>40155</open-size>
+ <checksum type="sha256">358b3cca6370ffa2956e5559dca06a4be3ec2dce3bb84946590a1e60e71184d0</checksum>
+ <open-checksum type="sha256">468b82bd0787dcc9576477447c6f71a88ec7cc63fed58c559f1a66e1552a12e9</open-checksum>
+ <location href="repodata/358b3cca6370ffa2956e5559dca06a4be3ec2dce3bb84946590a1e60e71184d0-primary.xml.gz"/>
+ <timestamp>1683365212</timestamp>
+ <size>3044</size>
+ <open-size>53444</open-size>
</data>
<data type="primary_db">
- <checksum type="sha256">98435dda014ed76ca356de7fe7f353db442d7a125b92f634539b1717798f8ac2</checksum>
- <open-checksum type="sha256">03c1bdc434e71227bb11e26eb3576808ecda0bd2fa3fec3bc99debde8d13b067</open-checksum>
- <location href="repodata/98435dda014ed76ca356de7fe7f353db442d7a125b92f634539b1717798f8ac2-primary.sqlite.bz2"/>
- <timestamp>1681663107</timestamp>
+ <checksum type="sha256">6d63025f2e738b866fa633138b5f4db27f9994db6ce736e54fd3aeb88ee2c456</checksum>
+ <open-checksum type="sha256">c68a4ab1d3af4e3146bb26c692465349a33735089b52ba9db88777befe97dde7</open-checksum>
+ <location href="repodata/6d63025f2e738b866fa633138b5f4db27f9994db6ce736e54fd3aeb88ee2c456-primary.sqlite.bz2"/>
+ <timestamp>1683365212</timestamp>
<database_version>10</database_version>
- <size>17511</size>
- <open-size>167936</open-size>
+ <size>21752</size>
+ <open-size>200704</open-size>
</data>
<data type="other_db">
- <checksum type="sha256">c22d3c9c0dd8997d392d38e55d40659d6310d8ec4dc7bc55176ae7571c39b506</checksum>
- <open-checksum type="sha256">80d1de31d5813bf382f7a721103c0cfa4dcdb84c82a05c451f1d6d5066bf7835</open-checksum>
- <location href="repodata/c22d3c9c0dd8997d392d38e55d40659d6310d8ec4dc7bc55176ae7571c39b506-other.sqlite.bz2"/>
- <timestamp>1681663107</timestamp>
+ <checksum type="sha256">9d2b687617379b61dc1ce9cd1f2ddcc46368b07ca8be0d7bde7f911c2c6d91b2</checksum>
+ <open-checksum type="sha256">b7a0339c20f936caa38f1100e1971389409adbb0c64c509ab0a5ad9d0943018e</open-checksum>
+ <location href="repodata/9d2b687617379b61dc1ce9cd1f2ddcc46368b07ca8be0d7bde7f911c2c6d91b2-other.sqlite.bz2"/>
+ <timestamp>1683365212</timestamp>
<database_version>10</database_version>
- <size>1012</size>
+ <size>1110</size>
<open-size>24576</open-size>
</data>
<data type="other">
- <checksum type="sha256">076b6225333f4b5b39219cdcfe176c86436a5df909e1d76981d0ed44aebbcef5</checksum>
- <open-checksum type="sha256">09aa048528b13eeef4e8e3304fe06323ca3336921db04ecfb97029b03efdd7f3</open-checksum>
- <location href="repodata/076b6225333f4b5b39219cdcfe176c86436a5df909e1d76981d0ed44aebbcef5-other.xml.gz"/>
- <timestamp>1681663107</timestamp>
- <size>456</size>
- <open-size>1131</open-size>
+ <checksum type="sha256">b447d60ba53efb618c948122b7c9f4813f475ab3dde2a314664bfe09197a525f</checksum>
+ <open-checksum type="sha256">da83bb3d7d95c73a042372a4e32cf5f7f17d41d6d255d130687ed8ba17a8ca5b</open-checksum>
+ <location href="repodata/b447d60ba53efb618c948122b7c9f4813f475ab3dde2a314664bfe09197a525f-other.xml.gz"/>
+ <timestamp>1683365212</timestamp>
+ <size>504</size>
+ <open-size>1467</open-size>
</data>
<data type="filelists_db">
- <checksum type="sha256">8fd7940768cb81f896206f57a16245aace5f71a581beac509b35632fe3c56fdd</checksum>
- <open-checksum type="sha256">ce4e6824e0e8015f7f339c37641df2ea13a1eac0fa9f0c17eae660a2cb236b42</open-checksum>
- <location href="repodata/8fd7940768cb81f896206f57a16245aace5f71a581beac509b35632fe3c56fdd-filelists.sqlite.bz2"/>
- <timestamp>1681663107</timestamp>
+ <checksum type="sha256">e815a622e789a39444ff63aedc6701b7c954a994e75b27bc02f1a2cbca68c526</checksum>
+ <open-checksum type="sha256">3dfb736f359e60153c1d628f2c1d27bd66e7aaf581026e33607f907e85eb3830</open-checksum>
+ <location href="repodata/e815a622e789a39444ff63aedc6701b7c954a994e75b27bc02f1a2cbca68c526-filelists.sqlite.bz2"/>
+ <timestamp>1683365212</timestamp>
<database_version>10</database_version>
- <size>22118</size>
- <open-size>98304</open-size>
+ <size>26738</size>
+ <open-size>122880</open-size>
</data>
</repomd>
diff --git a/systems/win32/miktex/setup/rpm/fedora/37/repodata/repomd.xml.asc b/systems/win32/miktex/setup/rpm/fedora/37/repodata/repomd.xml.asc
index 0cff6ec88b..eb06c96809 100644
--- a/systems/win32/miktex/setup/rpm/fedora/37/repodata/repomd.xml.asc
+++ b/systems/win32/miktex/setup/rpm/fedora/37/repodata/repomd.xml.asc
@@ -1,11 +1,11 @@
-----BEGIN PGP SIGNATURE-----
-iQEzBAABCAAdFiEE1rwkNWWyCHvD+JfJJ3pyk/WeSIkFAmQ8JIMACgkQJ3pyk/We
-SIkAWAf+PwKdg8rdMle5qzxZwfENeB9FHt6qBYh/RZob/mCMOzw6QHl1/EhzYs6j
-sUc94M6L6K4lib9mWVBvnvF4Z78MRBwSkf9rucmhP0Jlcq2gv/9+o+Os60bt4QQc
-QQ2nbl0ygk0muX4t9w1GOXYsLiNd5SUCRgMvbdExIsP74tZKAF411WFy3IPYVj1h
-mMNRhCtO0vS4D3P+I35kGSNo0PzSNlvVnDtb03xjUdQzkaViBZGPOAZcP0585tyd
-oL12ghhN1PldRn+aksesxDnWouyjnnZHtbqSFVJatJR/cXm2JfuNt3SVhbrXaNJm
-uO1T3QuJnCLaoS+1j1dxYIp3bS77Eg==
-=B7To
+iQEzBAABCAAdFiEE1rwkNWWyCHvD+JfJJ3pyk/WeSIkFAmRWHVwACgkQJ3pyk/We
+SIlTAwf+Mk2U7BTPewJX+WiMKp0UBXU4XZVkKhMOgHqkx4D/6TNUjWqA4yg9IyvM
+exQ+l+ymF6yGahtUbqaoWkvE+ndXkUJpKOkFhe+Y67N/LbujY3wR9i2poN3qBMxw
+UrGj8mjcDFBwjbbD43tNG9GWzvpHe9cdbD2o3PLbg+IGSTbIBFpJE5D+no2eMhsK
+XoyKZaXSWd0ropxr68JpayEdNMsP/w09S0Gb7fdB37E/QOJElwrIYel+kagc7gy7
+TmJ4T4W8NMFMPy3oohjq8jUpulPKlBW6ndDTXmvQurVjSOC+ADjw3vcB6IQbwVgn
+weK5fB0zY6uWKgyRlR7GsuOJR1Whlg==
+=IaGz
-----END PGP SIGNATURE-----
diff --git a/systems/win32/miktex/setup/rpm/opensuse/15/repodata/0dde4d25f81e9a66d49f901e43ad3e7a47ed8289c99c68cbdfdc97ba141a9325-filelists.xml.gz b/systems/win32/miktex/setup/rpm/opensuse/15/repodata/0dde4d25f81e9a66d49f901e43ad3e7a47ed8289c99c68cbdfdc97ba141a9325-filelists.xml.gz
deleted file mode 100644
index d3ff16f0e9..0000000000
--- a/systems/win32/miktex/setup/rpm/opensuse/15/repodata/0dde4d25f81e9a66d49f901e43ad3e7a47ed8289c99c68cbdfdc97ba141a9325-filelists.xml.gz
+++ /dev/null
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/opensuse/15/repodata/406282d7aa5704f8c5c983b94bdedd408ab0ed2da86f70620d79fcceafc4661a-filelists.sqlite.bz2 b/systems/win32/miktex/setup/rpm/opensuse/15/repodata/406282d7aa5704f8c5c983b94bdedd408ab0ed2da86f70620d79fcceafc4661a-filelists.sqlite.bz2
new file mode 100644
index 0000000000..a3c7939f69
--- /dev/null
+++ b/systems/win32/miktex/setup/rpm/opensuse/15/repodata/406282d7aa5704f8c5c983b94bdedd408ab0ed2da86f70620d79fcceafc4661a-filelists.sqlite.bz2
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/opensuse/15/repodata/5da9c702e314e0cac095003df5254322d1eec3ded0f145fbc6483cdc7defe9c5-other.xml.gz b/systems/win32/miktex/setup/rpm/opensuse/15/repodata/5da9c702e314e0cac095003df5254322d1eec3ded0f145fbc6483cdc7defe9c5-other.xml.gz
deleted file mode 100644
index 9c9e9992ee..0000000000
--- a/systems/win32/miktex/setup/rpm/opensuse/15/repodata/5da9c702e314e0cac095003df5254322d1eec3ded0f145fbc6483cdc7defe9c5-other.xml.gz
+++ /dev/null
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/opensuse/15/repodata/7aa4640f0438851b554c5f3ed28d7532cfe82444ed38f71b189bee8d67560382-primary.sqlite.bz2 b/systems/win32/miktex/setup/rpm/opensuse/15/repodata/7aa4640f0438851b554c5f3ed28d7532cfe82444ed38f71b189bee8d67560382-primary.sqlite.bz2
new file mode 100644
index 0000000000..ac3215b48f
--- /dev/null
+++ b/systems/win32/miktex/setup/rpm/opensuse/15/repodata/7aa4640f0438851b554c5f3ed28d7532cfe82444ed38f71b189bee8d67560382-primary.sqlite.bz2
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/opensuse/15/repodata/7ec03944fa9b8d2b1690005cbeb453783ae2ad37724da26991724e2d77296b25-other.sqlite.bz2 b/systems/win32/miktex/setup/rpm/opensuse/15/repodata/7ec03944fa9b8d2b1690005cbeb453783ae2ad37724da26991724e2d77296b25-other.sqlite.bz2
deleted file mode 100644
index 782f4c9b6d..0000000000
--- a/systems/win32/miktex/setup/rpm/opensuse/15/repodata/7ec03944fa9b8d2b1690005cbeb453783ae2ad37724da26991724e2d77296b25-other.sqlite.bz2
+++ /dev/null
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/opensuse/15/repodata/7f2e1a9132c7dc3dcddf8d4654939a913faceb4ac9477a903bd43c9fb9292ba1-primary.sqlite.bz2 b/systems/win32/miktex/setup/rpm/opensuse/15/repodata/7f2e1a9132c7dc3dcddf8d4654939a913faceb4ac9477a903bd43c9fb9292ba1-primary.sqlite.bz2
deleted file mode 100644
index d6a9f4a2f2..0000000000
--- a/systems/win32/miktex/setup/rpm/opensuse/15/repodata/7f2e1a9132c7dc3dcddf8d4654939a913faceb4ac9477a903bd43c9fb9292ba1-primary.sqlite.bz2
+++ /dev/null
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/opensuse/15/repodata/82da23c7becef35edae2c1d2af9dec00117fac98bc3c1b642476e11b02341fee-other.xml.gz b/systems/win32/miktex/setup/rpm/opensuse/15/repodata/82da23c7becef35edae2c1d2af9dec00117fac98bc3c1b642476e11b02341fee-other.xml.gz
new file mode 100644
index 0000000000..a61787720b
--- /dev/null
+++ b/systems/win32/miktex/setup/rpm/opensuse/15/repodata/82da23c7becef35edae2c1d2af9dec00117fac98bc3c1b642476e11b02341fee-other.xml.gz
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/opensuse/15/repodata/9db1dc1b96e5b7698b42a8c24b7b0109884dd00d3d7993a596d59b0436a1f056-filelists.sqlite.bz2 b/systems/win32/miktex/setup/rpm/opensuse/15/repodata/9db1dc1b96e5b7698b42a8c24b7b0109884dd00d3d7993a596d59b0436a1f056-filelists.sqlite.bz2
deleted file mode 100644
index a1f4feebe2..0000000000
--- a/systems/win32/miktex/setup/rpm/opensuse/15/repodata/9db1dc1b96e5b7698b42a8c24b7b0109884dd00d3d7993a596d59b0436a1f056-filelists.sqlite.bz2
+++ /dev/null
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/opensuse/15/repodata/9e15cc16418a2deea995073941a48de80a37c987368a765ece2036e77808422d-filelists.xml.gz b/systems/win32/miktex/setup/rpm/opensuse/15/repodata/9e15cc16418a2deea995073941a48de80a37c987368a765ece2036e77808422d-filelists.xml.gz
new file mode 100644
index 0000000000..6a5409a2b5
--- /dev/null
+++ b/systems/win32/miktex/setup/rpm/opensuse/15/repodata/9e15cc16418a2deea995073941a48de80a37c987368a765ece2036e77808422d-filelists.xml.gz
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/opensuse/15/repodata/aa0a506bfa79d8a665785f3e61faf5abac0c1609e4291a7cfc89fa5222d7b9d5-other.sqlite.bz2 b/systems/win32/miktex/setup/rpm/opensuse/15/repodata/aa0a506bfa79d8a665785f3e61faf5abac0c1609e4291a7cfc89fa5222d7b9d5-other.sqlite.bz2
new file mode 100644
index 0000000000..2a2b499812
--- /dev/null
+++ b/systems/win32/miktex/setup/rpm/opensuse/15/repodata/aa0a506bfa79d8a665785f3e61faf5abac0c1609e4291a7cfc89fa5222d7b9d5-other.sqlite.bz2
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/opensuse/15/repodata/e6a7f41ebfbc8e2d18b1e7c06cc145f0319f8a5fcd65bf8a8339ff58ff997c7b-primary.xml.gz b/systems/win32/miktex/setup/rpm/opensuse/15/repodata/e6a7f41ebfbc8e2d18b1e7c06cc145f0319f8a5fcd65bf8a8339ff58ff997c7b-primary.xml.gz
new file mode 100644
index 0000000000..2dbe40f6fc
--- /dev/null
+++ b/systems/win32/miktex/setup/rpm/opensuse/15/repodata/e6a7f41ebfbc8e2d18b1e7c06cc145f0319f8a5fcd65bf8a8339ff58ff997c7b-primary.xml.gz
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/opensuse/15/repodata/f1227ef18fbd0e2ead7dd7b7b74b640ea3eeb324f0788c2a8b373037dcfae80c-primary.xml.gz b/systems/win32/miktex/setup/rpm/opensuse/15/repodata/f1227ef18fbd0e2ead7dd7b7b74b640ea3eeb324f0788c2a8b373037dcfae80c-primary.xml.gz
deleted file mode 100644
index 0ce1dbf441..0000000000
--- a/systems/win32/miktex/setup/rpm/opensuse/15/repodata/f1227ef18fbd0e2ead7dd7b7b74b640ea3eeb324f0788c2a8b373037dcfae80c-primary.xml.gz
+++ /dev/null
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/opensuse/15/repodata/repomd.xml b/systems/win32/miktex/setup/rpm/opensuse/15/repodata/repomd.xml
index 74ca50b884..d125d4dbdd 100644
--- a/systems/win32/miktex/setup/rpm/opensuse/15/repodata/repomd.xml
+++ b/systems/win32/miktex/setup/rpm/opensuse/15/repodata/repomd.xml
@@ -1,55 +1,55 @@
<?xml version="1.0" encoding="UTF-8"?>
<repomd xmlns="http://linux.duke.edu/metadata/repo" xmlns:rpm="http://linux.duke.edu/metadata/rpm">
- <revision>1681663111</revision>
+ <revision>1683365215</revision>
<data type="filelists">
- <checksum type="sha256">0dde4d25f81e9a66d49f901e43ad3e7a47ed8289c99c68cbdfdc97ba141a9325</checksum>
- <open-checksum type="sha256">1877018c625b617a7fc8496b7575e77d5a94ae99bbc98fc3869888ce997ac5db</open-checksum>
- <location href="repodata/0dde4d25f81e9a66d49f901e43ad3e7a47ed8289c99c68cbdfdc97ba141a9325-filelists.xml.gz"/>
- <timestamp>1681663117</timestamp>
- <size>5354</size>
- <open-size>219307</open-size>
+ <checksum type="sha256">9e15cc16418a2deea995073941a48de80a37c987368a765ece2036e77808422d</checksum>
+ <open-checksum type="sha256">add2e549700a35b830c47593a43be27ee4f99577efe1cddfe7823d0380a67c98</open-checksum>
+ <location href="repodata/9e15cc16418a2deea995073941a48de80a37c987368a765ece2036e77808422d-filelists.xml.gz"/>
+ <timestamp>1683365221</timestamp>
+ <size>5494</size>
+ <open-size>231570</open-size>
</data>
<data type="primary">
- <checksum type="sha256">f1227ef18fbd0e2ead7dd7b7b74b640ea3eeb324f0788c2a8b373037dcfae80c</checksum>
- <open-checksum type="sha256">6573cedf351de57fd03c0d4cbd1e0f07409fd4c2366e96dc9f0aaa342396a982</open-checksum>
- <location href="repodata/f1227ef18fbd0e2ead7dd7b7b74b640ea3eeb324f0788c2a8b373037dcfae80c-primary.xml.gz"/>
- <timestamp>1681663117</timestamp>
- <size>6756</size>
- <open-size>236515</open-size>
+ <checksum type="sha256">e6a7f41ebfbc8e2d18b1e7c06cc145f0319f8a5fcd65bf8a8339ff58ff997c7b</checksum>
+ <open-checksum type="sha256">7487fb058e2f35e583042ce55b25c7f36fa93a016c3c9fce580128279d548002</open-checksum>
+ <location href="repodata/e6a7f41ebfbc8e2d18b1e7c06cc145f0319f8a5fcd65bf8a8339ff58ff997c7b-primary.xml.gz"/>
+ <timestamp>1683365221</timestamp>
+ <size>6958</size>
+ <open-size>249483</open-size>
</data>
<data type="primary_db">
- <checksum type="sha256">7f2e1a9132c7dc3dcddf8d4654939a913faceb4ac9477a903bd43c9fb9292ba1</checksum>
- <open-checksum type="sha256">65a789a0da7e247218909011b4dcb9c30487d2dbe53e37c27ec48dd08a318f55</open-checksum>
- <location href="repodata/7f2e1a9132c7dc3dcddf8d4654939a913faceb4ac9477a903bd43c9fb9292ba1-primary.sqlite.bz2"/>
- <timestamp>1681663117</timestamp>
+ <checksum type="sha256">7aa4640f0438851b554c5f3ed28d7532cfe82444ed38f71b189bee8d67560382</checksum>
+ <open-checksum type="sha256">ad9e213041de5b0191d39ca1d2ce23d6a1ac074b9b88e807f79fee1664358e94</open-checksum>
+ <location href="repodata/7aa4640f0438851b554c5f3ed28d7532cfe82444ed38f71b189bee8d67560382-primary.sqlite.bz2"/>
+ <timestamp>1683365221</timestamp>
<database_version>10</database_version>
- <size>73782</size>
- <open-size>520192</open-size>
+ <size>77325</size>
+ <open-size>540672</open-size>
</data>
<data type="other_db">
- <checksum type="sha256">7ec03944fa9b8d2b1690005cbeb453783ae2ad37724da26991724e2d77296b25</checksum>
- <open-checksum type="sha256">906473a2d9988cafc9c684c7cfe0652736c0a8cef719e7f1eae025946d51b566</open-checksum>
- <location href="repodata/7ec03944fa9b8d2b1690005cbeb453783ae2ad37724da26991724e2d77296b25-other.sqlite.bz2"/>
- <timestamp>1681663117</timestamp>
+ <checksum type="sha256">aa0a506bfa79d8a665785f3e61faf5abac0c1609e4291a7cfc89fa5222d7b9d5</checksum>
+ <open-checksum type="sha256">9dc585a0a5d24c3d9e643f88d9d2e6d1388bb7f9125a05d7179774666e7108b0</open-checksum>
+ <location href="repodata/aa0a506bfa79d8a665785f3e61faf5abac0c1609e4291a7cfc89fa5222d7b9d5-other.sqlite.bz2"/>
+ <timestamp>1683365221</timestamp>
<database_version>10</database_version>
- <size>2402</size>
+ <size>2517</size>
<open-size>24576</open-size>
</data>
<data type="other">
- <checksum type="sha256">5da9c702e314e0cac095003df5254322d1eec3ded0f145fbc6483cdc7defe9c5</checksum>
- <open-checksum type="sha256">4529dcde953f9531751a951078840e7b9874da40bbcee825f89a1d741411c819</open-checksum>
- <location href="repodata/5da9c702e314e0cac095003df5254322d1eec3ded0f145fbc6483cdc7defe9c5-other.xml.gz"/>
- <timestamp>1681663117</timestamp>
- <size>1242</size>
- <open-size>6370</open-size>
+ <checksum type="sha256">82da23c7becef35edae2c1d2af9dec00117fac98bc3c1b642476e11b02341fee</checksum>
+ <open-checksum type="sha256">5268ebabefcc9162a81a36fcb5e2306e6253cd4f923c412eb796ae15d2eb5b15</open-checksum>
+ <location href="repodata/82da23c7becef35edae2c1d2af9dec00117fac98bc3c1b642476e11b02341fee-other.xml.gz"/>
+ <timestamp>1683365221</timestamp>
+ <size>1289</size>
+ <open-size>6696</open-size>
</data>
<data type="filelists_db">
- <checksum type="sha256">9db1dc1b96e5b7698b42a8c24b7b0109884dd00d3d7993a596d59b0436a1f056</checksum>
- <open-checksum type="sha256">4a03c523a9f9c969685321f25e06b06cf3bb27b11788a1621f741a2e2417651a</open-checksum>
- <location href="repodata/9db1dc1b96e5b7698b42a8c24b7b0109884dd00d3d7993a596d59b0436a1f056-filelists.sqlite.bz2"/>
- <timestamp>1681663117</timestamp>
+ <checksum type="sha256">406282d7aa5704f8c5c983b94bdedd408ab0ed2da86f70620d79fcceafc4661a</checksum>
+ <open-checksum type="sha256">15ffe80c867067cc62cd315429c16d5875b20ba0a5a3eb022d770fa85e0e29cd</open-checksum>
+ <location href="repodata/406282d7aa5704f8c5c983b94bdedd408ab0ed2da86f70620d79fcceafc4661a-filelists.sqlite.bz2"/>
+ <timestamp>1683365221</timestamp>
<database_version>10</database_version>
- <size>12964</size>
- <open-size>163840</open-size>
+ <size>13253</size>
+ <open-size>172032</open-size>
</data>
</repomd>
diff --git a/systems/win32/miktex/setup/rpm/opensuse/15/repodata/repomd.xml.asc b/systems/win32/miktex/setup/rpm/opensuse/15/repodata/repomd.xml.asc
index 69b4ab5dd2..6b79e10ec4 100644
--- a/systems/win32/miktex/setup/rpm/opensuse/15/repodata/repomd.xml.asc
+++ b/systems/win32/miktex/setup/rpm/opensuse/15/repodata/repomd.xml.asc
@@ -1,11 +1,11 @@
-----BEGIN PGP SIGNATURE-----
-iQEzBAABCAAdFiEE1rwkNWWyCHvD+JfJJ3pyk/WeSIkFAmQ8JI0ACgkQJ3pyk/We
-SInAigf/fd6h/tMkATMS+na6MK1lzYM7eX7/HMiQWzhTK1zbY8GNAht7NZzEiWP5
-WxtkL+BIqRwwyNjdeUK0XJBzh2mG8M+EmNzoSZM30czqRFd9Tsd6gKY5/OEzSI7a
-h6Lm19yQuU9YiIFFY7h8+RzG1O/HzOVnAONU4vdyzCUcvdNkcOxbqYPKWp6/BKmA
-JtzNM14nmF18Cs0gjb6bfAZ1IC7A3/bMUzK/Vc1YTwkHj3yTPJ7rtEWDcbPU7/GS
-RZ2ZU7y9ZSy7Sr2AiFdDrIyVtqrNy5qHDHIHdeFwoU4aGPF2+9t1FugKhFcDX3aC
-UfWPco6qzfxej3o7zx/ZdeDyKwsGtg==
-=m07f
+iQEzBAABCAAdFiEE1rwkNWWyCHvD+JfJJ3pyk/WeSIkFAmRWHWUACgkQJ3pyk/We
+SInivwgAqqIfpFFp8zuGqPkMiHjLnwuayyETCvzG90Zfz3RptPnf6tbuk0zVw84g
+TBlpV7+MLMqxfAbd0dHkNJ0NqRQVtHnlzflKIVs8hcQ8OvzwJaxiIPrhNY8l/zPZ
+ORFAUjSuVC/kYRdYrBiIdzF7nYZ1KveVPDd1qt7e+aU6jgrWVBiuWA/Lbs7QKj6D
+ax1E6ik5lOfwkmlxMmORV0xnPjQT2ufcH2VxjxoFg6e3sYetz0QTx0FwWZrsuKpo
+8FGkq7nbQxC8WipvLVCOcV2msOsx8XiuyVgALVBVzfoIQ3BklH51SZp6ft/cArne
+TbL6TKRqpoz5B2lgrw8fQ+6E+MmI2w==
+=a20F
-----END PGP SIGNATURE-----
diff --git a/systems/win32/miktex/source/CHANGELOG.md b/systems/win32/miktex/source/CHANGELOG.md
index 6b1ccf53ae..6356cd225b 100644
--- a/systems/win32/miktex/source/CHANGELOG.md
+++ b/systems/win32/miktex/source/CHANGELOG.md
@@ -1,5 +1,12 @@
# MiKTeX Change Log
+## 23.5 - 2023-5-3
+
+### Upgraded programs
+
+* dvipdfmx 20230429
+* luatex 1.17.0
+
## 23.4 - 2023-4-15
### Upgraded programs
diff --git a/timestamp b/timestamp
index 5a37b0a431..f2bcb23f0c 100644
--- a/timestamp
+++ b/timestamp
@@ -2,4 +2,4 @@
# The source CTAN of this site's material:
dante.ctan.org
# The year-month-day-hour-minute of this site's material:
-2023-05-06-02-02
+2023-05-07-02-02