summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2024-01-28 03:00:53 +0000
committerNorbert Preining <norbert@preining.info>2024-01-28 03:00:53 +0000
commit7084e3008c8fc947579f46c6b8a08dfd180e72ef (patch)
tree9c99041cba4afefac3859d6a2fe4cea289458468
parentb93d257f657e619e22b8b7a27446118ce041727e (diff)
CTAN sync 202401280300
-rw-r--r--FILES.byname926
-rw-r--r--FILES.byname.gzbin2594052 -> 2594108 bytes
-rw-r--r--FILES.last07days1148
-rw-r--r--biblio/bibtex/bibtex-x/ChangeLog5
-rwxr-xr-xbiblio/bibtex/bibtex-x/tests/bibtexu-iscjk.test10
-rw-r--r--biblio/ctan-bibdata/ctan.bib51
-rw-r--r--macros/latex/contrib/babel-contrib/scottish/README.md15
-rw-r--r--macros/latex/contrib/babel-contrib/scottish/scottish.dtx70
-rw-r--r--macros/latex/contrib/babel-contrib/scottish/scottish.ins37
-rw-r--r--macros/latex/contrib/babel-contrib/scottish/scottish.pdfbin113507 -> 124268 bytes
-rw-r--r--macros/latex/contrib/regulatory/doc/example1-en.pdfbin25767 -> 25756 bytes
-rw-r--r--macros/latex/contrib/regulatory/doc/example1-nl.pdfbin25612 -> 25600 bytes
-rw-r--r--macros/latex/contrib/regulatory/doc/example2-en.pdfbin52584 -> 52555 bytes
-rw-r--r--macros/latex/contrib/regulatory/doc/example2-nl.pdfbin52617 -> 52599 bytes
-rw-r--r--macros/latex/contrib/regulatory/doc/regulatory-en.pdfbin224493 -> 227678 bytes
-rw-r--r--macros/latex/contrib/regulatory/doc/regulatory-en.tex2
-rw-r--r--macros/latex/contrib/regulatory/doc/regulatory-nl.pdfbin226188 -> 228133 bytes
-rw-r--r--macros/latex/contrib/regulatory/doc/regulatory-nl.tex2
-rw-r--r--macros/latex/contrib/regulatory/doc/regulatory.tex10
-rw-r--r--macros/latex/contrib/regulatory/tex/fc-dutch.def487
-rw-r--r--macros/latex/contrib/regulatory/tex/regulatory.sty2
-rw-r--r--support/texlab/CHANGELOG.md6
-rw-r--r--support/texlab/Cargo.lock21
-rw-r--r--support/texlab/crates/base-db/src/semantics/tex.rs8
-rw-r--r--support/texlab/crates/completion/src/providers/include.rs13
-rw-r--r--support/texlab/crates/definition/src/lib.rs6
-rw-r--r--support/texlab/crates/definition/src/tests.rs2
-rw-r--r--support/texlab/crates/diagnostics/Cargo.toml10
-rw-r--r--support/texlab/crates/diagnostics/src/build_log.rs104
-rw-r--r--support/texlab/crates/diagnostics/src/chktex.rs (renamed from support/texlab/crates/texlab/src/util/chktex.rs)49
-rw-r--r--support/texlab/crates/diagnostics/src/citations.rs91
-rw-r--r--support/texlab/crates/diagnostics/src/grammar.rs6
-rw-r--r--support/texlab/crates/diagnostics/src/grammar/bib.rs87
-rw-r--r--support/texlab/crates/diagnostics/src/grammar/tex.rs91
-rw-r--r--support/texlab/crates/diagnostics/src/labels.rs53
-rw-r--r--support/texlab/crates/diagnostics/src/lib.rs85
-rw-r--r--support/texlab/crates/diagnostics/src/manager.rs75
-rw-r--r--support/texlab/crates/diagnostics/src/tests.rs201
-rw-r--r--support/texlab/crates/diagnostics/src/types.rs65
-rw-r--r--support/texlab/crates/diagnostics/src/util.rs28
-rw-r--r--support/texlab/crates/highlights/src/lib.rs2
-rw-r--r--support/texlab/crates/highlights/src/tests.rs2
-rw-r--r--support/texlab/crates/hover/src/lib.rs2
-rw-r--r--support/texlab/crates/hover/src/tests.rs2
-rw-r--r--support/texlab/crates/inlay-hints/src/lib.rs6
-rw-r--r--support/texlab/crates/inlay-hints/src/tests.rs2
-rw-r--r--support/texlab/crates/links/src/include.rs2
-rw-r--r--support/texlab/crates/links/src/lib.rs2
-rw-r--r--support/texlab/crates/links/src/tests.rs2
-rw-r--r--support/texlab/crates/references/src/lib.rs15
-rw-r--r--support/texlab/crates/references/src/tests.rs16
-rw-r--r--support/texlab/crates/texlab/Cargo.toml2
-rw-r--r--support/texlab/crates/texlab/benches/bench_main.rs32
-rw-r--r--support/texlab/crates/texlab/src/features/completion.rs108
-rw-r--r--support/texlab/crates/texlab/src/features/definition.rs53
-rw-r--r--support/texlab/crates/texlab/src/features/folding.rs44
-rw-r--r--support/texlab/crates/texlab/src/features/formatting.rs7
-rw-r--r--support/texlab/crates/texlab/src/features/formatting/bibtex_internal.rs5
-rw-r--r--support/texlab/crates/texlab/src/features/formatting/latexindent.rs7
-rw-r--r--support/texlab/crates/texlab/src/features/highlight.rs24
-rw-r--r--support/texlab/crates/texlab/src/features/hover.rs45
-rw-r--r--support/texlab/crates/texlab/src/features/inlay_hint.rs69
-rw-r--r--support/texlab/crates/texlab/src/features/link.rs28
-rw-r--r--support/texlab/crates/texlab/src/features/reference.rs29
-rw-r--r--support/texlab/crates/texlab/src/features/rename.rs42
-rw-r--r--support/texlab/crates/texlab/src/features/symbols.rs115
-rw-r--r--support/texlab/crates/texlab/src/lib.rs4
-rw-r--r--support/texlab/crates/texlab/src/main.rs2
-rw-r--r--support/texlab/crates/texlab/src/server.rs342
-rw-r--r--support/texlab/crates/texlab/src/util.rs8
-rw-r--r--support/texlab/crates/texlab/src/util/capabilities.rs179
-rw-r--r--support/texlab/crates/texlab/src/util/client_flags.rs40
-rw-r--r--support/texlab/crates/texlab/src/util/diagnostics.rs201
-rw-r--r--support/texlab/crates/texlab/src/util/from_proto.rs223
-rw-r--r--support/texlab/crates/texlab/src/util/lsp_enums.rs36
-rw-r--r--support/texlab/crates/texlab/src/util/to_proto.rs459
-rw-r--r--support/texlab/texlab.14
-rw-r--r--support/texlab/texlab.pdfbin26384 -> 26470 bytes
-rw-r--r--systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl1
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb163
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.md52
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha5122
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc16
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.xzbin2523108 -> 2525068 bytes
-rw-r--r--systems/win32/miktex/tm/packages/files.csv.lzmabin790155 -> 790669 bytes
-rw-r--r--systems/win32/miktex/tm/packages/next/files.csv.lzmabin790413 -> 790334 bytes
-rw-r--r--systems/win32/miktex/tm/packages/next/pr.ini10
-rw-r--r--systems/win32/miktex/tm/packages/pr.ini12
-rw-r--r--timestamp2
89 files changed, 2914 insertions, 3221 deletions
diff --git a/FILES.byname b/FILES.byname
index 8ce1416bf0..bf3f3283e4 100644
--- a/FILES.byname
+++ b/FILES.byname
@@ -2077,12 +2077,12 @@
2023/10/05 | 1710 | biblio/citation-style-language/README.md
2023/10/05 | 12878 | biblio/citation-style-language/vancouver.csl
2023/10/05 | 4531754 | biblio/citation-style-language.zip
-2024/01/26 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2024/01/27 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
2022/10/08 | 127 | biblio/ctan-bibdata/biblatex-ctan/ctan.cbx
-2024/01/26 | 2842595 | biblio/ctan-bibdata/ctan.bib
-2024/01/26 | 3708800 | biblio/ctan-bibdata/ctan.pdf
+2024/01/27 | 2843107 | biblio/ctan-bibdata/ctan.bib
+2024/01/27 | 3708800 | biblio/ctan-bibdata/ctan.pdf
2023/01/16 | 1489 | biblio/ctan-bibdata/README
-2024/01/26 | 4116144 | biblio/ctan-bibdata.zip
+2024/01/27 | 4116271 | 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
@@ -5444,7 +5444,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
-2024/01/26 | 125597 | FILES.last07days
+2024/01/27 | 125736 | 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
@@ -217432,10 +217432,11 @@
2024/01/26 | 4036 | macros/latex/contrib/babel-contrib/samin/samin.ins
2024/01/26 | 137510 | macros/latex/contrib/babel-contrib/samin/samin.pdf
2024/01/26 | 137774 | macros/latex/contrib/babel-contrib/samin.zip
-2013/05/20 | 7418 | macros/latex/contrib/babel-contrib/scottish/scottish.dtx
-2013/05/20 | 4943 | macros/latex/contrib/babel-contrib/scottish/scottish.ins
-2013/05/20 | 113507 | macros/latex/contrib/babel-contrib/scottish/scottish.pdf
-2014/02/23 | 117242 | macros/latex/contrib/babel-contrib/scottish.zip
+2024/01/27 | 408 | macros/latex/contrib/babel-contrib/scottish/README.md
+2024/01/27 | 6858 | macros/latex/contrib/babel-contrib/scottish/scottish.dtx
+2024/01/27 | 4250 | macros/latex/contrib/babel-contrib/scottish/scottish.ins
+2024/01/27 | 124268 | macros/latex/contrib/babel-contrib/scottish/scottish.pdf
+2024/01/27 | 125296 | macros/latex/contrib/babel-contrib/scottish.zip
2022/09/30 | 1942 | macros/latex/contrib/babel-contrib/serbianc/README.md
2022/09/30 | 30709 | macros/latex/contrib/babel-contrib/serbianc/serbianc.dtx
2022/09/30 | 4158 | macros/latex/contrib/babel-contrib/serbianc/serbianc.ins
@@ -240484,29 +240485,29 @@
2023/04/04 | 474650 | macros/latex/contrib/regstats/regstats.pdf
2023/04/06 | 537416 | macros/latex/contrib/regstats.zip
2023/03/24 | 200 | macros/latex/contrib/regulatory/doc/example1.bib
-2024/01/16 | 25767 | macros/latex/contrib/regulatory/doc/example1-en.pdf
+2024/01/27 | 25756 | macros/latex/contrib/regulatory/doc/example1-en.pdf
2024/01/16 | 1205 | macros/latex/contrib/regulatory/doc/example1-en.tex
-2024/01/16 | 25612 | macros/latex/contrib/regulatory/doc/example1-nl.pdf
+2024/01/27 | 25600 | macros/latex/contrib/regulatory/doc/example1-nl.pdf
2024/01/16 | 1206 | macros/latex/contrib/regulatory/doc/example1-nl.tex
-2024/01/15 | 1077 | macros/latex/contrib/regulatory/doc/example1.tex
+2024/01/27 | 1077 | macros/latex/contrib/regulatory/doc/example1.tex
2023/03/26 | 72 | macros/latex/contrib/regulatory/doc/example2.bib
-2024/01/16 | 52584 | macros/latex/contrib/regulatory/doc/example2-en.pdf
+2024/01/27 | 52555 | macros/latex/contrib/regulatory/doc/example2-en.pdf
2024/01/16 | 1427 | macros/latex/contrib/regulatory/doc/example2-en.tex
-2024/01/16 | 52617 | macros/latex/contrib/regulatory/doc/example2-nl.pdf
+2024/01/27 | 52599 | macros/latex/contrib/regulatory/doc/example2-nl.pdf
2024/01/16 | 1436 | macros/latex/contrib/regulatory/doc/example2-nl.tex
2024/01/15 | 676 | macros/latex/contrib/regulatory/doc/example2.tex
-2023/03/24 | 772 | macros/latex/contrib/regulatory/doc/example.md
-2024/01/16 | 455 | macros/latex/contrib/regulatory/doc/md-example.tex
-2024/01/16 | 224493 | macros/latex/contrib/regulatory/doc/regulatory-en.pdf
-2024/01/16 | 1504 | macros/latex/contrib/regulatory/doc/regulatory-en.tex
-2024/01/16 | 226188 | macros/latex/contrib/regulatory/doc/regulatory-nl.pdf
-2024/01/16 | 1701 | macros/latex/contrib/regulatory/doc/regulatory-nl.tex
+2024/01/26 | 772 | macros/latex/contrib/regulatory/doc/example.md
+2024/01/26 | 455 | macros/latex/contrib/regulatory/doc/md-example.tex
+2024/01/27 | 227678 | macros/latex/contrib/regulatory/doc/regulatory-en.pdf
+2024/01/26 | 1500 | macros/latex/contrib/regulatory/doc/regulatory-en.tex
+2024/01/27 | 228133 | macros/latex/contrib/regulatory/doc/regulatory-nl.pdf
+2024/01/26 | 1697 | macros/latex/contrib/regulatory/doc/regulatory-nl.tex
2024/01/16 | 3404 | macros/latex/contrib/regulatory/doc/regulatory-preamble.tex
-2024/01/16 | 44104 | macros/latex/contrib/regulatory/doc/regulatory.tex
+2024/01/27 | 44475 | macros/latex/contrib/regulatory/doc/regulatory.tex
2024/01/16 | 1248 | macros/latex/contrib/regulatory/README.md
-2024/01/16 | 10740 | macros/latex/contrib/regulatory/tex/fc-dutch.def
-2024/01/16 | 22194 | macros/latex/contrib/regulatory/tex/regulatory.sty
-2024/01/16 | 618605 | macros/latex/contrib/regulatory.zip
+2024/01/27 | 8888 | macros/latex/contrib/regulatory/tex/fc-dutch.def
+2024/01/27 | 22200 | macros/latex/contrib/regulatory/tex/regulatory.sty
+2024/01/27 | 623161 | macros/latex/contrib/regulatory.zip
2023/06/23 | 24795 | macros/latex/contrib/reledmac/doc-include/migrate-mac.dtx
2023/06/23 | 5602 | macros/latex/contrib/reledmac/doc-include/migrate-par.dtx
2023/06/23 | 16 | macros/latex/contrib/reledmac/doc-more/latexmkrc
@@ -292579,211 +292580,212 @@
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
-2024/01/20 | 43766 | support/texlab/Cargo.lock
-2024/01/20 | 347 | support/texlab/Cargo.toml
-2024/01/20 | 33757 | support/texlab/CHANGELOG.md
-2024/01/20 | 181 | support/texlab/CONTRIBUTING.md
-2024/01/20 | 555 | support/texlab/crates/base-db/Cargo.toml
-2024/01/20 | 4387 | support/texlab/crates/base-db/src/config.rs
-2024/01/20 | 58408 | support/texlab/crates/base-db/src/data.rs
-2024/01/20 | 6210 | support/texlab/crates/base-db/src/document.rs
-2024/01/20 | 5942 | support/texlab/crates/base-db/src/graph.rs
-2024/01/20 | 560 | support/texlab/crates/base-db/src/lib.rs
-2024/01/20 | 1170 | support/texlab/crates/base-db/src/semantics/auxiliary.rs
-2024/01/20 | 2371 | support/texlab/crates/base-db/src/semantics/bib.rs
-2024/01/20 | 1112 | support/texlab/crates/base-db/src/semantics.rs
-2024/01/20 | 11078 | support/texlab/crates/base-db/src/semantics/tex.rs
-2024/01/20 | 5900 | support/texlab/crates/base-db/src/util/label.rs
-2024/01/20 | 5553 | support/texlab/crates/base-db/src/util/queries.rs
-2024/01/20 | 445 | support/texlab/crates/base-db/src/util/regex_filter.rs
-2024/01/20 | 176 | support/texlab/crates/base-db/src/util.rs
-2024/01/20 | 11137 | support/texlab/crates/base-db/src/workspace.rs
-2024/01/20 | 352 | support/texlab/crates/bibfmt/Cargo.toml
-2024/01/20 | 6870 | support/texlab/crates/bibfmt/src/lib.rs
-2024/01/20 | 3486 | support/texlab/crates/bibfmt/src/tests.rs
-2024/01/20 | 492 | support/texlab/crates/bibtex-utils/Cargo.toml
-2024/01/20 | 2074 | support/texlab/crates/bibtex-utils/src/field/author.rs
-2024/01/20 | 2665 | support/texlab/crates/bibtex-utils/src/field/date.rs
-2024/01/20 | 1626 | support/texlab/crates/bibtex-utils/src/field/number.rs
-2024/01/20 | 60 | support/texlab/crates/bibtex-utils/src/field.rs
-2024/01/20 | 8955 | support/texlab/crates/bibtex-utils/src/field/text.rs
-2024/01/20 | 15 | support/texlab/crates/bibtex-utils/src/lib.rs
-2024/01/20 | 488 | support/texlab/crates/citeproc/Cargo.toml
-2024/01/20 | 22204 | support/texlab/crates/citeproc/src/driver.rs
-2024/01/20 | 4730 | support/texlab/crates/citeproc/src/entry.rs
-2024/01/20 | 875 | support/texlab/crates/citeproc/src/lib.rs
-2024/01/20 | 1760 | support/texlab/crates/citeproc/src/output.rs
-2024/01/20 | 15622 | support/texlab/crates/citeproc/src/tests.rs
-2024/01/20 | 559 | support/texlab/crates/commands/Cargo.toml
-2024/01/20 | 3838 | support/texlab/crates/commands/src/build.rs
-2024/01/20 | 987 | support/texlab/crates/commands/src/change_env.rs
-2024/01/20 | 1740 | support/texlab/crates/commands/src/clean.rs
-2024/01/20 | 1590 | support/texlab/crates/commands/src/dep_graph.rs
-2024/01/20 | 3093 | support/texlab/crates/commands/src/find_envs.rs
-2024/01/20 | 3901 | support/texlab/crates/commands/src/fwd_search.rs
-2024/01/20 | 389 | support/texlab/crates/commands/src/lib.rs
-2024/01/20 | 1583 | support/texlab/crates/commands/src/placeholders.rs
-2024/01/20 | 1033 | support/texlab/crates/completion/benches/bench_main.rs
-2024/01/20 | 691 | support/texlab/crates/completion/Cargo.toml
-2024/01/20 | 356 | support/texlab/crates/completion-data/Cargo.toml
-2024/01/20 | 6970534 | support/texlab/crates/completion-data/data/completion.json.gz
-2024/01/20 | 3265 | support/texlab/crates/completion-data/src/lib.rs
-2024/01/20 | 5533 | support/texlab/crates/completion/src/lib.rs
-2024/01/20 | 2493 | support/texlab/crates/completion/src/providers/argument.rs
-2024/01/20 | 2276 | support/texlab/crates/completion/src/providers/citations.rs
-2024/01/20 | 1553 | support/texlab/crates/completion/src/providers/color_model.rs
-2024/01/20 | 2107 | support/texlab/crates/completion/src/providers/color.rs
-2024/01/20 | 4254 | support/texlab/crates/completion/src/providers/command.rs
-2024/01/20 | 1118 | support/texlab/crates/completion/src/providers/entry_type.rs
-2024/01/20 | 4297 | support/texlab/crates/completion/src/providers/environment.rs
-2024/01/20 | 2369 | support/texlab/crates/completion/src/providers/field.rs
-2024/01/20 | 2612 | support/texlab/crates/completion/src/providers/glossary.rs
-2024/01/20 | 2481 | support/texlab/crates/completion/src/providers/import.rs
-2024/01/20 | 4755 | support/texlab/crates/completion/src/providers/include.rs
-2024/01/20 | 3501 | support/texlab/crates/completion/src/providers/label.rs
-2024/01/20 | 699 | support/texlab/crates/completion/src/providers.rs
-2024/01/20 | 3301 | support/texlab/crates/completion/src/providers/tikz_library.rs
-2024/01/20 | 44178 | support/texlab/crates/completion/src/tests.rs
-2024/01/20 | 1382 | support/texlab/crates/completion/src/util/builder.rs
-2024/01/20 | 1025 | support/texlab/crates/completion/src/util/matchers.rs
-2024/01/20 | 2320 | support/texlab/crates/completion/src/util/patterns.rs
-2024/01/20 | 967 | support/texlab/crates/completion/src/util.rs
-2024/01/20 | 378 | support/texlab/crates/definition/Cargo.toml
-2024/01/20 | 880 | support/texlab/crates/definition/src/citation.rs
-2024/01/20 | 1384 | support/texlab/crates/definition/src/command.rs
-2024/01/20 | 1078 | support/texlab/crates/definition/src/include.rs
-2024/01/20 | 1175 | support/texlab/crates/definition/src/label.rs
-2024/01/20 | 1104 | support/texlab/crates/definition/src/lib.rs
-2024/01/20 | 1077 | support/texlab/crates/definition/src/string_ref.rs
-2024/01/20 | 2600 | support/texlab/crates/definition/src/tests.rs
-2024/01/20 | 433 | support/texlab/crates/diagnostics/Cargo.toml
-2024/01/20 | 3298 | support/texlab/crates/diagnostics/src/build_log.rs
-2024/01/20 | 3060 | support/texlab/crates/diagnostics/src/citations.rs
-2024/01/20 | 3218 | support/texlab/crates/diagnostics/src/grammar/bib.rs
-2024/01/20 | 79 | support/texlab/crates/diagnostics/src/grammar.rs
-2024/01/20 | 4144 | support/texlab/crates/diagnostics/src/grammar/tex.rs
-2024/01/20 | 3021 | support/texlab/crates/diagnostics/src/labels.rs
-2024/01/20 | 2322 | support/texlab/crates/diagnostics/src/lib.rs
-2024/01/20 | 3274 | support/texlab/crates/diagnostics/src/tests.rs
-2024/01/20 | 770 | support/texlab/crates/diagnostics/src/types.rs
-2024/01/20 | 750 | support/texlab/crates/diagnostics/src/util.rs
-2024/01/20 | 227 | support/texlab/crates/distro/Cargo.toml
-2024/01/20 | 1917 | support/texlab/crates/distro/src/file_name_db.rs
-2024/01/20 | 710 | support/texlab/crates/distro/src/kpsewhich.rs
-2024/01/20 | 1287 | support/texlab/crates/distro/src/language.rs
-2024/01/20 | 2543 | support/texlab/crates/distro/src/lib.rs
-2024/01/20 | 2467 | support/texlab/crates/distro/src/miktex.rs
-2024/01/20 | 820 | support/texlab/crates/distro/src/texlive.rs
-2024/01/20 | 355 | support/texlab/crates/folding/Cargo.toml
-2024/01/20 | 3225 | support/texlab/crates/folding/src/lib.rs
-2024/01/20 | 1698 | support/texlab/crates/folding/src/tests.rs
-2024/01/20 | 326 | support/texlab/crates/highlights/Cargo.toml
-2024/01/20 | 806 | support/texlab/crates/highlights/src/label.rs
-2024/01/20 | 612 | support/texlab/crates/highlights/src/lib.rs
-2024/01/20 | 900 | support/texlab/crates/highlights/src/tests.rs
-2024/01/20 | 483 | support/texlab/crates/hover/Cargo.toml
-2024/01/20 | 1244 | support/texlab/crates/hover/src/citation.rs
-2024/01/20 | 541 | support/texlab/crates/hover/src/entry_type.rs
-2024/01/20 | 617 | support/texlab/crates/hover/src/field_type.rs
-2024/01/20 | 850 | support/texlab/crates/hover/src/label.rs
-2024/01/20 | 1044 | support/texlab/crates/hover/src/lib.rs
-2024/01/20 | 725 | support/texlab/crates/hover/src/package.rs
-2024/01/20 | 1064 | support/texlab/crates/hover/src/string_ref.rs
-2024/01/20 | 7091 | support/texlab/crates/hover/src/tests.rs
-2024/01/20 | 348 | support/texlab/crates/inlay-hints/Cargo.toml
-2024/01/20 | 1798 | support/texlab/crates/inlay-hints/src/label.rs
-2024/01/20 | 814 | support/texlab/crates/inlay-hints/src/lib.rs
-2024/01/20 | 3530 | support/texlab/crates/inlay-hints/src/tests.rs
-2024/01/20 | 233 | support/texlab/crates/line-index/Cargo.toml
-2024/01/20 | 6528 | support/texlab/crates/line-index/src/lib.rs
-2024/01/20 | 303 | support/texlab/crates/links/Cargo.toml
-2024/01/20 | 668 | support/texlab/crates/links/src/include.rs
-2024/01/20 | 251 | support/texlab/crates/links/src/lib.rs
-2024/01/20 | 1145 | support/texlab/crates/links/src/tests.rs
-2024/01/20 | 375 | support/texlab/crates/parser/Cargo.toml
-2024/01/20 | 11103 | support/texlab/crates/parser/src/bibtex.rs
-2024/01/20 | 158845 | support/texlab/crates/parser/src/bibtex/tests.rs
-2024/01/20 | 5385 | support/texlab/crates/parser/src/build_log.rs
-2024/01/20 | 44454 | support/texlab/crates/parser/src/build_log/tests.rs
-2024/01/20 | 3086 | support/texlab/crates/parser/src/config.rs
-2024/01/20 | 5386 | support/texlab/crates/parser/src/latex/lexer/commands.rs
-2024/01/20 | 2040 | support/texlab/crates/parser/src/latex/lexer.rs
-2024/01/20 | 3056 | support/texlab/crates/parser/src/latex/lexer/types.rs
-2024/01/20 | 1780 | support/texlab/crates/parser/src/latexmkrc.rs
-2024/01/20 | 34893 | support/texlab/crates/parser/src/latex.rs
-2024/01/20 | 100434 | support/texlab/crates/parser/src/latex/tests.rs
-2024/01/20 | 202 | support/texlab/crates/parser/src/lib.rs
-2024/01/20 | 336 | support/texlab/crates/references/Cargo.toml
-2024/01/20 | 1498 | support/texlab/crates/references/src/entry.rs
-2024/01/20 | 988 | support/texlab/crates/references/src/label.rs
-2024/01/20 | 899 | support/texlab/crates/references/src/lib.rs
-2024/01/20 | 1329 | support/texlab/crates/references/src/string_def.rs
-2024/01/20 | 3116 | support/texlab/crates/references/src/tests.rs
-2024/01/20 | 353 | support/texlab/crates/rename/Cargo.toml
-2024/01/20 | 1240 | support/texlab/crates/rename/src/command.rs
-2024/01/20 | 1510 | support/texlab/crates/rename/src/entry.rs
-2024/01/20 | 848 | support/texlab/crates/rename/src/label.rs
-2024/01/20 | 1046 | support/texlab/crates/rename/src/lib.rs
-2024/01/20 | 1247 | support/texlab/crates/rename/src/tests.rs
-2024/01/20 | 499 | support/texlab/crates/symbols/Cargo.toml
-2024/01/20 | 1974 | support/texlab/crates/symbols/src/document/bib.rs
-2024/01/20 | 1546 | support/texlab/crates/symbols/src/document.rs
-2024/01/20 | 14338 | support/texlab/crates/symbols/src/document/tests.rs
-2024/01/20 | 9070 | support/texlab/crates/symbols/src/document/tex.rs
-2024/01/20 | 175 | support/texlab/crates/symbols/src/lib.rs
-2024/01/20 | 2610 | support/texlab/crates/symbols/src/types.rs
-2024/01/20 | 1321 | support/texlab/crates/symbols/src/workspace.rs
-2024/01/20 | 5657 | support/texlab/crates/symbols/src/workspace/sort.rs
-2024/01/20 | 9194 | support/texlab/crates/symbols/src/workspace/tests.rs
-2024/01/20 | 227 | support/texlab/crates/syntax/Cargo.toml
-2024/01/20 | 6963 | support/texlab/crates/syntax/src/bibtex/cst.rs
-2024/01/20 | 616 | support/texlab/crates/syntax/src/bibtex/kind.rs
-2024/01/20 | 694 | support/texlab/crates/syntax/src/bibtex.rs
-2024/01/20 | 18098 | support/texlab/crates/syntax/src/latex/cst.rs
-2024/01/20 | 1708 | support/texlab/crates/syntax/src/latex/kind.rs
-2024/01/20 | 128 | support/texlab/crates/syntax/src/latexmkrc.rs
-2024/01/20 | 689 | support/texlab/crates/syntax/src/latex.rs
-2024/01/20 | 504 | support/texlab/crates/syntax/src/lib.rs
-2024/01/20 | 330 | support/texlab/crates/test-utils/Cargo.toml
-2024/01/20 | 5283 | support/texlab/crates/test-utils/src/fixture.rs
-2024/01/20 | 17 | support/texlab/crates/test-utils/src/lib.rs
-2024/01/20 | 1602 | support/texlab/crates/texlab/benches/bench_main.rs
-2024/01/20 | 1898 | support/texlab/crates/texlab/Cargo.toml
-2024/01/20 | 3223 | support/texlab/crates/texlab/src/client.rs
-2024/01/20 | 14836 | support/texlab/crates/texlab/src/features/completion.rs
-2024/01/20 | 1522 | support/texlab/crates/texlab/src/features/definition.rs
-2024/01/20 | 1432 | support/texlab/crates/texlab/src/features/folding.rs
-2024/01/20 | 828 | support/texlab/crates/texlab/src/features/formatting/bibtex_internal.rs
-2024/01/20 | 2069 | support/texlab/crates/texlab/src/features/formatting/latexindent.rs
-2024/01/20 | 1137 | support/texlab/crates/texlab/src/features/formatting.rs
-2024/01/20 | 1125 | support/texlab/crates/texlab/src/features/highlight.rs
-2024/01/20 | 1755 | support/texlab/crates/texlab/src/features/hover.rs
-2024/01/20 | 2470 | support/texlab/crates/texlab/src/features/inlay_hint.rs
-2024/01/20 | 644 | support/texlab/crates/texlab/src/features/link.rs
-2024/01/20 | 1166 | support/texlab/crates/texlab/src/features/reference.rs
-2024/01/20 | 1587 | support/texlab/crates/texlab/src/features/rename.rs
-2024/01/20 | 197 | support/texlab/crates/texlab/src/features.rs
-2024/01/20 | 4202 | support/texlab/crates/texlab/src/features/symbols.rs
-2024/01/20 | 108 | support/texlab/crates/texlab/src/lib.rs
-2024/01/20 | 1732 | support/texlab/crates/texlab/src/main.rs
-2024/01/20 | 2411 | support/texlab/crates/texlab/src/server/dispatch.rs
-2024/01/20 | 2609 | support/texlab/crates/texlab/src/server/extensions.rs
-2024/01/20 | 8847 | support/texlab/crates/texlab/src/server/options.rs
-2024/01/20 | 1412 | support/texlab/crates/texlab/src/server/progress.rs
-2024/01/20 | 42741 | support/texlab/crates/texlab/src/server.rs
-2024/01/20 | 6018 | support/texlab/crates/texlab/src/util/capabilities.rs
-2024/01/20 | 4047 | support/texlab/crates/texlab/src/util/chktex.rs
-2024/01/20 | 8251 | support/texlab/crates/texlab/src/util/diagnostics.rs
-2024/01/20 | 1732 | support/texlab/crates/texlab/src/util/line_index_ext.rs
-2024/01/20 | 4004 | support/texlab/crates/texlab/src/util/lsp_enums.rs
-2024/01/20 | 1496 | support/texlab/crates/texlab/src/util.rs
-2024/01/20 | 380190 | support/texlab/images/demo.gif
-2024/01/20 | 35149 | support/texlab/LICENSE
-2024/01/20 | 3828 | support/texlab/README.md
-2024/01/20 | 619 | support/texlab/texlab.1
-2024/01/20 | 26384 | support/texlab/texlab.pdf
-2024/01/20 | 2586 | support/texlab/texlab.tex
-2024/01/20 | 7582375 | support/texlab.zip
+2024/01/27 | 44119 | support/texlab/Cargo.lock
+2024/01/27 | 347 | support/texlab/Cargo.toml
+2024/01/27 | 33914 | support/texlab/CHANGELOG.md
+2024/01/27 | 181 | support/texlab/CONTRIBUTING.md
+2024/01/27 | 555 | support/texlab/crates/base-db/Cargo.toml
+2024/01/27 | 4387 | support/texlab/crates/base-db/src/config.rs
+2024/01/27 | 58408 | support/texlab/crates/base-db/src/data.rs
+2024/01/27 | 6210 | support/texlab/crates/base-db/src/document.rs
+2024/01/27 | 5942 | support/texlab/crates/base-db/src/graph.rs
+2024/01/27 | 560 | support/texlab/crates/base-db/src/lib.rs
+2024/01/27 | 1170 | support/texlab/crates/base-db/src/semantics/auxiliary.rs
+2024/01/27 | 2371 | support/texlab/crates/base-db/src/semantics/bib.rs
+2024/01/27 | 1112 | support/texlab/crates/base-db/src/semantics.rs
+2024/01/27 | 11450 | support/texlab/crates/base-db/src/semantics/tex.rs
+2024/01/27 | 5900 | support/texlab/crates/base-db/src/util/label.rs
+2024/01/27 | 5553 | support/texlab/crates/base-db/src/util/queries.rs
+2024/01/27 | 445 | support/texlab/crates/base-db/src/util/regex_filter.rs
+2024/01/27 | 176 | support/texlab/crates/base-db/src/util.rs
+2024/01/27 | 11137 | support/texlab/crates/base-db/src/workspace.rs
+2024/01/27 | 352 | support/texlab/crates/bibfmt/Cargo.toml
+2024/01/27 | 6870 | support/texlab/crates/bibfmt/src/lib.rs
+2024/01/27 | 3486 | support/texlab/crates/bibfmt/src/tests.rs
+2024/01/27 | 492 | support/texlab/crates/bibtex-utils/Cargo.toml
+2024/01/27 | 2074 | support/texlab/crates/bibtex-utils/src/field/author.rs
+2024/01/27 | 2665 | support/texlab/crates/bibtex-utils/src/field/date.rs
+2024/01/27 | 1626 | support/texlab/crates/bibtex-utils/src/field/number.rs
+2024/01/27 | 60 | support/texlab/crates/bibtex-utils/src/field.rs
+2024/01/27 | 8955 | support/texlab/crates/bibtex-utils/src/field/text.rs
+2024/01/27 | 15 | support/texlab/crates/bibtex-utils/src/lib.rs
+2024/01/27 | 488 | support/texlab/crates/citeproc/Cargo.toml
+2024/01/27 | 22204 | support/texlab/crates/citeproc/src/driver.rs
+2024/01/27 | 4730 | support/texlab/crates/citeproc/src/entry.rs
+2024/01/27 | 875 | support/texlab/crates/citeproc/src/lib.rs
+2024/01/27 | 1760 | support/texlab/crates/citeproc/src/output.rs
+2024/01/27 | 15622 | support/texlab/crates/citeproc/src/tests.rs
+2024/01/27 | 559 | support/texlab/crates/commands/Cargo.toml
+2024/01/27 | 3838 | support/texlab/crates/commands/src/build.rs
+2024/01/27 | 987 | support/texlab/crates/commands/src/change_env.rs
+2024/01/27 | 1740 | support/texlab/crates/commands/src/clean.rs
+2024/01/27 | 1590 | support/texlab/crates/commands/src/dep_graph.rs
+2024/01/27 | 3093 | support/texlab/crates/commands/src/find_envs.rs
+2024/01/27 | 3901 | support/texlab/crates/commands/src/fwd_search.rs
+2024/01/27 | 389 | support/texlab/crates/commands/src/lib.rs
+2024/01/27 | 1583 | support/texlab/crates/commands/src/placeholders.rs
+2024/01/27 | 1033 | support/texlab/crates/completion/benches/bench_main.rs
+2024/01/27 | 691 | support/texlab/crates/completion/Cargo.toml
+2024/01/27 | 356 | support/texlab/crates/completion-data/Cargo.toml
+2024/01/27 | 6970534 | support/texlab/crates/completion-data/data/completion.json.gz
+2024/01/27 | 3265 | support/texlab/crates/completion-data/src/lib.rs
+2024/01/27 | 5533 | support/texlab/crates/completion/src/lib.rs
+2024/01/27 | 2493 | support/texlab/crates/completion/src/providers/argument.rs
+2024/01/27 | 2276 | support/texlab/crates/completion/src/providers/citations.rs
+2024/01/27 | 1553 | support/texlab/crates/completion/src/providers/color_model.rs
+2024/01/27 | 2107 | support/texlab/crates/completion/src/providers/color.rs
+2024/01/27 | 4254 | support/texlab/crates/completion/src/providers/command.rs
+2024/01/27 | 1118 | support/texlab/crates/completion/src/providers/entry_type.rs
+2024/01/27 | 4297 | support/texlab/crates/completion/src/providers/environment.rs
+2024/01/27 | 2369 | support/texlab/crates/completion/src/providers/field.rs
+2024/01/27 | 2612 | support/texlab/crates/completion/src/providers/glossary.rs
+2024/01/27 | 2481 | support/texlab/crates/completion/src/providers/import.rs
+2024/01/27 | 4746 | support/texlab/crates/completion/src/providers/include.rs
+2024/01/27 | 3501 | support/texlab/crates/completion/src/providers/label.rs
+2024/01/27 | 699 | support/texlab/crates/completion/src/providers.rs
+2024/01/27 | 3301 | support/texlab/crates/completion/src/providers/tikz_library.rs
+2024/01/27 | 44178 | support/texlab/crates/completion/src/tests.rs
+2024/01/27 | 1382 | support/texlab/crates/completion/src/util/builder.rs
+2024/01/27 | 1025 | support/texlab/crates/completion/src/util/matchers.rs
+2024/01/27 | 2320 | support/texlab/crates/completion/src/util/patterns.rs
+2024/01/27 | 967 | support/texlab/crates/completion/src/util.rs
+2024/01/27 | 378 | support/texlab/crates/definition/Cargo.toml
+2024/01/27 | 880 | support/texlab/crates/definition/src/citation.rs
+2024/01/27 | 1384 | support/texlab/crates/definition/src/command.rs
+2024/01/27 | 1078 | support/texlab/crates/definition/src/include.rs
+2024/01/27 | 1175 | support/texlab/crates/definition/src/label.rs
+2024/01/27 | 1125 | support/texlab/crates/definition/src/lib.rs
+2024/01/27 | 1077 | support/texlab/crates/definition/src/string_ref.rs
+2024/01/27 | 2601 | support/texlab/crates/definition/src/tests.rs
+2024/01/27 | 631 | support/texlab/crates/diagnostics/Cargo.toml
+2024/01/27 | 2196 | support/texlab/crates/diagnostics/src/build_log.rs
+2024/01/27 | 3801 | support/texlab/crates/diagnostics/src/chktex.rs
+2024/01/27 | 2267 | support/texlab/crates/diagnostics/src/citations.rs
+2024/01/27 | 2652 | support/texlab/crates/diagnostics/src/grammar/bib.rs
+2024/01/27 | 26 | support/texlab/crates/diagnostics/src/grammar.rs
+2024/01/27 | 3636 | support/texlab/crates/diagnostics/src/grammar/tex.rs
+2024/01/27 | 2370 | support/texlab/crates/diagnostics/src/labels.rs
+2024/01/27 | 165 | support/texlab/crates/diagnostics/src/lib.rs
+2024/01/27 | 2768 | support/texlab/crates/diagnostics/src/manager.rs
+2024/01/27 | 5805 | support/texlab/crates/diagnostics/src/tests.rs
+2024/01/27 | 2364 | support/texlab/crates/diagnostics/src/types.rs
+2024/01/27 | 227 | support/texlab/crates/distro/Cargo.toml
+2024/01/27 | 1917 | support/texlab/crates/distro/src/file_name_db.rs
+2024/01/27 | 710 | support/texlab/crates/distro/src/kpsewhich.rs
+2024/01/27 | 1287 | support/texlab/crates/distro/src/language.rs
+2024/01/27 | 2543 | support/texlab/crates/distro/src/lib.rs
+2024/01/27 | 2467 | support/texlab/crates/distro/src/miktex.rs
+2024/01/27 | 820 | support/texlab/crates/distro/src/texlive.rs
+2024/01/27 | 355 | support/texlab/crates/folding/Cargo.toml
+2024/01/27 | 3225 | support/texlab/crates/folding/src/lib.rs
+2024/01/27 | 1698 | support/texlab/crates/folding/src/tests.rs
+2024/01/27 | 326 | support/texlab/crates/highlights/Cargo.toml
+2024/01/27 | 806 | support/texlab/crates/highlights/src/label.rs
+2024/01/27 | 613 | support/texlab/crates/highlights/src/lib.rs
+2024/01/27 | 901 | support/texlab/crates/highlights/src/tests.rs
+2024/01/27 | 483 | support/texlab/crates/hover/Cargo.toml
+2024/01/27 | 1244 | support/texlab/crates/hover/src/citation.rs
+2024/01/27 | 541 | support/texlab/crates/hover/src/entry_type.rs
+2024/01/27 | 617 | support/texlab/crates/hover/src/field_type.rs
+2024/01/27 | 850 | support/texlab/crates/hover/src/label.rs
+2024/01/27 | 1057 | support/texlab/crates/hover/src/lib.rs
+2024/01/27 | 725 | support/texlab/crates/hover/src/package.rs
+2024/01/27 | 1064 | support/texlab/crates/hover/src/string_ref.rs
+2024/01/27 | 7092 | support/texlab/crates/hover/src/tests.rs
+2024/01/27 | 348 | support/texlab/crates/inlay-hints/Cargo.toml
+2024/01/27 | 1798 | support/texlab/crates/inlay-hints/src/label.rs
+2024/01/27 | 827 | support/texlab/crates/inlay-hints/src/lib.rs
+2024/01/27 | 3531 | support/texlab/crates/inlay-hints/src/tests.rs
+2024/01/27 | 233 | support/texlab/crates/line-index/Cargo.toml
+2024/01/27 | 6528 | support/texlab/crates/line-index/src/lib.rs
+2024/01/27 | 303 | support/texlab/crates/links/Cargo.toml
+2024/01/27 | 669 | support/texlab/crates/links/src/include.rs
+2024/01/27 | 264 | support/texlab/crates/links/src/lib.rs
+2024/01/27 | 1146 | support/texlab/crates/links/src/tests.rs
+2024/01/27 | 375 | support/texlab/crates/parser/Cargo.toml
+2024/01/27 | 11103 | support/texlab/crates/parser/src/bibtex.rs
+2024/01/27 | 158845 | support/texlab/crates/parser/src/bibtex/tests.rs
+2024/01/27 | 5385 | support/texlab/crates/parser/src/build_log.rs
+2024/01/27 | 44454 | support/texlab/crates/parser/src/build_log/tests.rs
+2024/01/27 | 3086 | support/texlab/crates/parser/src/config.rs
+2024/01/27 | 5386 | support/texlab/crates/parser/src/latex/lexer/commands.rs
+2024/01/27 | 2040 | support/texlab/crates/parser/src/latex/lexer.rs
+2024/01/27 | 3056 | support/texlab/crates/parser/src/latex/lexer/types.rs
+2024/01/27 | 1780 | support/texlab/crates/parser/src/latexmkrc.rs
+2024/01/27 | 34893 | support/texlab/crates/parser/src/latex.rs
+2024/01/27 | 100434 | support/texlab/crates/parser/src/latex/tests.rs
+2024/01/27 | 202 | support/texlab/crates/parser/src/lib.rs
+2024/01/27 | 336 | support/texlab/crates/references/Cargo.toml
+2024/01/27 | 1498 | support/texlab/crates/references/src/entry.rs
+2024/01/27 | 988 | support/texlab/crates/references/src/label.rs
+2024/01/27 | 1139 | support/texlab/crates/references/src/lib.rs
+2024/01/27 | 1329 | support/texlab/crates/references/src/string_def.rs
+2024/01/27 | 3018 | support/texlab/crates/references/src/tests.rs
+2024/01/27 | 353 | support/texlab/crates/rename/Cargo.toml
+2024/01/27 | 1240 | support/texlab/crates/rename/src/command.rs
+2024/01/27 | 1510 | support/texlab/crates/rename/src/entry.rs
+2024/01/27 | 848 | support/texlab/crates/rename/src/label.rs
+2024/01/27 | 1046 | support/texlab/crates/rename/src/lib.rs
+2024/01/27 | 1247 | support/texlab/crates/rename/src/tests.rs
+2024/01/27 | 499 | support/texlab/crates/symbols/Cargo.toml
+2024/01/27 | 1974 | support/texlab/crates/symbols/src/document/bib.rs
+2024/01/27 | 1546 | support/texlab/crates/symbols/src/document.rs
+2024/01/27 | 14338 | support/texlab/crates/symbols/src/document/tests.rs
+2024/01/27 | 9070 | support/texlab/crates/symbols/src/document/tex.rs
+2024/01/27 | 175 | support/texlab/crates/symbols/src/lib.rs
+2024/01/27 | 2610 | support/texlab/crates/symbols/src/types.rs
+2024/01/27 | 1321 | support/texlab/crates/symbols/src/workspace.rs
+2024/01/27 | 5657 | support/texlab/crates/symbols/src/workspace/sort.rs
+2024/01/27 | 9194 | support/texlab/crates/symbols/src/workspace/tests.rs
+2024/01/27 | 227 | support/texlab/crates/syntax/Cargo.toml
+2024/01/27 | 6963 | support/texlab/crates/syntax/src/bibtex/cst.rs
+2024/01/27 | 616 | support/texlab/crates/syntax/src/bibtex/kind.rs
+2024/01/27 | 694 | support/texlab/crates/syntax/src/bibtex.rs
+2024/01/27 | 18098 | support/texlab/crates/syntax/src/latex/cst.rs
+2024/01/27 | 1708 | support/texlab/crates/syntax/src/latex/kind.rs
+2024/01/27 | 128 | support/texlab/crates/syntax/src/latexmkrc.rs
+2024/01/27 | 689 | support/texlab/crates/syntax/src/latex.rs
+2024/01/27 | 504 | support/texlab/crates/syntax/src/lib.rs
+2024/01/27 | 330 | support/texlab/crates/test-utils/Cargo.toml
+2024/01/27 | 5283 | support/texlab/crates/test-utils/src/fixture.rs
+2024/01/27 | 17 | support/texlab/crates/test-utils/src/lib.rs
+2024/01/27 | 444 | support/texlab/crates/texlab/benches/bench_main.rs
+2024/01/27 | 1898 | support/texlab/crates/texlab/Cargo.toml
+2024/01/27 | 3223 | support/texlab/crates/texlab/src/client.rs
+2024/01/27 | 14873 | support/texlab/crates/texlab/src/features/completion.rs
+2024/01/27 | 533 | support/texlab/crates/texlab/src/features/definition.rs
+2024/01/27 | 566 | support/texlab/crates/texlab/src/features/folding.rs
+2024/01/27 | 804 | support/texlab/crates/texlab/src/features/formatting/bibtex_internal.rs
+2024/01/27 | 2065 | support/texlab/crates/texlab/src/features/formatting/latexindent.rs
+2024/01/27 | 1119 | support/texlab/crates/texlab/src/features/formatting.rs
+2024/01/27 | 505 | support/texlab/crates/texlab/src/features/highlight.rs
+2024/01/27 | 334 | support/texlab/crates/texlab/src/features/hover.rs
+2024/01/27 | 460 | support/texlab/crates/texlab/src/features/inlay_hint.rs
+2024/01/27 | 467 | support/texlab/crates/texlab/src/features/link.rs
+2024/01/27 | 409 | support/texlab/crates/texlab/src/features/reference.rs
+2024/01/27 | 760 | support/texlab/crates/texlab/src/features/rename.rs
+2024/01/27 | 197 | support/texlab/crates/texlab/src/features.rs
+2024/01/27 | 927 | support/texlab/crates/texlab/src/features/symbols.rs
+2024/01/27 | 122 | support/texlab/crates/texlab/src/lib.rs
+2024/01/27 | 1727 | support/texlab/crates/texlab/src/main.rs
+2024/01/27 | 2411 | support/texlab/crates/texlab/src/server/dispatch.rs
+2024/01/27 | 2609 | support/texlab/crates/texlab/src/server/extensions.rs
+2024/01/27 | 8847 | support/texlab/crates/texlab/src/server/options.rs
+2024/01/27 | 1412 | support/texlab/crates/texlab/src/server/progress.rs
+2024/01/27 | 39988 | support/texlab/crates/texlab/src/server.rs
+2024/01/27 | 1713 | support/texlab/crates/texlab/src/util/client_flags.rs
+2024/01/27 | 6723 | support/texlab/crates/texlab/src/util/from_proto.rs
+2024/01/27 | 1732 | support/texlab/crates/texlab/src/util/line_index_ext.rs
+2024/01/27 | 2265 | support/texlab/crates/texlab/src/util/lsp_enums.rs
+2024/01/27 | 1535 | support/texlab/crates/texlab/src/util.rs
+2024/01/27 | 18115 | support/texlab/crates/texlab/src/util/to_proto.rs
+2024/01/27 | 380190 | support/texlab/images/demo.gif
+2024/01/27 | 35149 | support/texlab/LICENSE
+2024/01/27 | 3828 | support/texlab/README.md
+2024/01/27 | 619 | support/texlab/texlab.1
+2024/01/27 | 26470 | support/texlab/texlab.pdf
+2024/01/27 | 2586 | support/texlab/texlab.tex
+2024/01/27 | 7581234 | 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
@@ -296913,9 +296915,9 @@
2019/02/28 | 114256 | systems/texlive/tlnet/archive/babel-malay.doc.r43234.tar.xz
2019/02/28 | 2516 | systems/texlive/tlnet/archive/babel-malay.r43234.tar.xz
2019/02/28 | 5056 | systems/texlive/tlnet/archive/babel-malay.source.r43234.tar.xz
-2022/11/24 | 142428 | systems/texlive/tlnet/archive/babel-norsk.doc.r65093.tar.xz
-2022/11/24 | 2872 | systems/texlive/tlnet/archive/babel-norsk.r65093.tar.xz
-2022/11/24 | 6788 | systems/texlive/tlnet/archive/babel-norsk.source.r65093.tar.xz
+2024/01/27 | 152000 | systems/texlive/tlnet/archive/babel-norsk.doc.r69603.tar.xz
+2024/01/27 | 2504 | systems/texlive/tlnet/archive/babel-norsk.r69603.tar.xz
+2024/01/27 | 6364 | systems/texlive/tlnet/archive/babel-norsk.source.r69603.tar.xz
2019/02/28 | 411824 | systems/texlive/tlnet/archive/babel-occitan.doc.r39608.tar.xz
2019/02/28 | 2384 | systems/texlive/tlnet/archive/babel-occitan.r39608.tar.xz
2019/02/28 | 10520 | systems/texlive/tlnet/archive/babel-occitan.source.r39608.tar.xz
@@ -296938,9 +296940,9 @@
2021/01/11 | 137608 | systems/texlive/tlnet/archive/babel-russian.doc.r57376.tar.xz
2021/01/11 | 6352 | systems/texlive/tlnet/archive/babel-russian.r57376.tar.xz
2021/01/11 | 26068 | systems/texlive/tlnet/archive/babel-russian.source.r57376.tar.xz
-2019/02/28 | 125092 | systems/texlive/tlnet/archive/babel-samin.doc.r30288.tar.xz
-2019/02/28 | 2324 | systems/texlive/tlnet/archive/babel-samin.r30288.tar.xz
-2019/02/28 | 4384 | systems/texlive/tlnet/archive/babel-samin.source.r30288.tar.xz
+2024/01/27 | 134292 | systems/texlive/tlnet/archive/babel-samin.doc.r69604.tar.xz
+2024/01/27 | 1900 | systems/texlive/tlnet/archive/babel-samin.r69604.tar.xz
+2024/01/27 | 3944 | systems/texlive/tlnet/archive/babel-samin.source.r69604.tar.xz
2019/02/28 | 113832 | systems/texlive/tlnet/archive/babel-scottish.doc.r30289.tar.xz
2019/02/28 | 2260 | systems/texlive/tlnet/archive/babel-scottish.r30289.tar.xz
2019/02/28 | 4100 | systems/texlive/tlnet/archive/babel-scottish.source.r30289.tar.xz
@@ -303858,9 +303860,9 @@
2019/02/28 | 1836 | systems/texlive/tlnet/archive/memexsupp.r15878.tar.xz
2021/07/01 | 755384 | systems/texlive/tlnet/archive/memoirchapterstyles.doc.r59766.tar.xz
2021/07/01 | 572 | systems/texlive/tlnet/archive/memoirchapterstyles.r59766.tar.xz
-2023/08/22 | 3130588 | systems/texlive/tlnet/archive/memoir.doc.r68004.tar.xz
-2023/08/22 | 70116 | systems/texlive/tlnet/archive/memoir.r68004.tar.xz
-2023/08/22 | 212620 | systems/texlive/tlnet/archive/memoir.source.r68004.tar.xz
+2024/01/27 | 3127948 | systems/texlive/tlnet/archive/memoir.doc.r69600.tar.xz
+2024/01/27 | 69116 | systems/texlive/tlnet/archive/memoir.r69600.tar.xz
+2024/01/27 | 216500 | systems/texlive/tlnet/archive/memoir.source.r69600.tar.xz
2023/10/12 | 396 | systems/texlive/tlnet/archive/memoize.aarch64-linux.r68515.tar.xz
2023/10/12 | 396 | systems/texlive/tlnet/archive/memoize.amd64-freebsd.r68515.tar.xz
2023/10/12 | 392 | systems/texlive/tlnet/archive/memoize.amd64-netbsd.r68515.tar.xz
@@ -303932,9 +303934,9 @@
2019/02/28 | 77852 | systems/texlive/tlnet/archive/metalogo.doc.r18611.tar.xz
2019/02/28 | 2228 | systems/texlive/tlnet/archive/metalogo.r18611.tar.xz
2019/02/28 | 7148 | systems/texlive/tlnet/archive/metalogo.source.r18611.tar.xz
-2024/01/20 | 395396 | systems/texlive/tlnet/archive/metalogox.doc.r69497.tar.xz
-2024/01/20 | 4696 | systems/texlive/tlnet/archive/metalogox.r69497.tar.xz
-2024/01/20 | 9376 | systems/texlive/tlnet/archive/metalogox.source.r69497.tar.xz
+2024/01/27 | 398928 | systems/texlive/tlnet/archive/metalogox.doc.r69601.tar.xz
+2024/01/27 | 5056 | systems/texlive/tlnet/archive/metalogox.r69601.tar.xz
+2024/01/27 | 9844 | systems/texlive/tlnet/archive/metalogox.source.r69601.tar.xz
2020/05/05 | 84860 | systems/texlive/tlnet/archive/metanorma.doc.r55010.tar.xz
2020/05/05 | 7536 | systems/texlive/tlnet/archive/metanorma.r55010.tar.xz
2019/02/28 | 585804 | systems/texlive/tlnet/archive/metaobj.doc.r15878.tar.xz
@@ -304628,8 +304630,8 @@
2019/02/28 | 6804 | systems/texlive/tlnet/archive/newspaper.source.r15878.tar.xz
2024/01/12 | 969452 | systems/texlive/tlnet/archive/newtx.doc.r69381.tar.xz
2024/01/12 | 6054248 | systems/texlive/tlnet/archive/newtx.r69381.tar.xz
-2023/05/09 | 263224 | systems/texlive/tlnet/archive/newtxsf.doc.r67051.tar.xz
-2023/05/09 | 105976 | systems/texlive/tlnet/archive/newtxsf.r67051.tar.xz
+2024/01/27 | 263284 | systems/texlive/tlnet/archive/newtxsf.doc.r69597.tar.xz
+2024/01/27 | 106028 | systems/texlive/tlnet/archive/newtxsf.r69597.tar.xz
2024/01/17 | 194632 | systems/texlive/tlnet/archive/newtxtt.doc.r69451.tar.xz
2024/01/17 | 117944 | systems/texlive/tlnet/archive/newtxtt.r69451.tar.xz
2019/02/28 | 389624 | systems/texlive/tlnet/archive/newunicodechar.doc.r47382.tar.xz
@@ -305898,9 +305900,9 @@
2023/11/10 | 41424 | systems/texlive/tlnet/archive/projlib.doc.r68784.tar.xz
2023/11/10 | 26688 | systems/texlive/tlnet/archive/projlib.r68784.tar.xz
2023/11/10 | 26884 | systems/texlive/tlnet/archive/projlib.source.r68784.tar.xz
-2022/08/25 | 462080 | systems/texlive/tlnet/archive/proof-at-the-end.doc.r64188.tar.xz
-2022/08/25 | 7328 | systems/texlive/tlnet/archive/proof-at-the-end.r64188.tar.xz
-2022/08/25 | 20852 | systems/texlive/tlnet/archive/proof-at-the-end.source.r64188.tar.xz
+2024/01/27 | 464992 | systems/texlive/tlnet/archive/proof-at-the-end.doc.r69602.tar.xz
+2024/01/27 | 7344 | systems/texlive/tlnet/archive/proof-at-the-end.r69602.tar.xz
+2024/01/27 | 20872 | systems/texlive/tlnet/archive/proof-at-the-end.source.r69602.tar.xz
2022/01/24 | 290844 | systems/texlive/tlnet/archive/proofread.doc.r61719.tar.xz
2022/01/24 | 2588 | systems/texlive/tlnet/archive/proofread.r61719.tar.xz
2022/01/24 | 6352 | systems/texlive/tlnet/archive/proofread.source.r61719.tar.xz
@@ -306900,8 +306902,8 @@
2022/04/05 | 367028 | systems/texlive/tlnet/archive/scontents.doc.r62902.tar.xz
2022/04/05 | 8172 | systems/texlive/tlnet/archive/scontents.r62902.tar.xz
2022/04/05 | 29640 | systems/texlive/tlnet/archive/scontents.source.r62902.tar.xz
-2024/01/24 | 1019244 | systems/texlive/tlnet/archive/scrabble.doc.r69568.tar.xz
-2024/01/24 | 3992 | systems/texlive/tlnet/archive/scrabble.r69568.tar.xz
+2024/01/27 | 1009196 | systems/texlive/tlnet/archive/scrabble.doc.r69599.tar.xz
+2024/01/27 | 4156 | systems/texlive/tlnet/archive/scrabble.r69599.tar.xz
2021/09/27 | 193772 | systems/texlive/tlnet/archive/scrambledenvs.doc.r60615.tar.xz
2021/09/27 | 2408 | systems/texlive/tlnet/archive/scrambledenvs.r60615.tar.xz
2021/09/27 | 5752 | systems/texlive/tlnet/archive/scrambledenvs.source.r60615.tar.xz
@@ -307137,8 +307139,8 @@
2019/02/28 | 292656 | systems/texlive/tlnet/archive/simplecv.doc.r35537.tar.xz
2019/02/28 | 2112 | systems/texlive/tlnet/archive/simplecv.r35537.tar.xz
2019/02/28 | 5844 | systems/texlive/tlnet/archive/simplecv.source.r35537.tar.xz
-2024/01/20 | 2444808 | systems/texlive/tlnet/archive/simpleicons.doc.r69492.tar.xz
-2024/01/20 | 3340480 | systems/texlive/tlnet/archive/simpleicons.r69492.tar.xz
+2024/01/27 | 2459888 | systems/texlive/tlnet/archive/simpleicons.doc.r69598.tar.xz
+2024/01/27 | 3364016 | systems/texlive/tlnet/archive/simpleicons.r69598.tar.xz
2019/02/28 | 224844 | systems/texlive/tlnet/archive/simpleinvoice.doc.r45673.tar.xz
2019/02/28 | 2420 | systems/texlive/tlnet/archive/simpleinvoice.r45673.tar.xz
2023/10/03 | 142696 | systems/texlive/tlnet/archive/simplekv.doc.r68439.tar.xz
@@ -308107,7 +308109,7 @@
2022/09/13 | 600 | systems/texlive/tlnet/archive/texlive-scripts.amd64-freebsd.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.amd64-netbsd.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.armhf-linux.r64356.tar.xz
-2024/01/26 | 431996 | systems/texlive/tlnet/archive/texlive-scripts.doc.r69584.tar.xz
+2024/01/27 | 431996 | systems/texlive/tlnet/archive/texlive-scripts.doc.r69595.tar.xz
2020/01/27 | 916 | systems/texlive/tlnet/archive/texlive-scripts-extra.aarch64-linux.r53577.tar.xz
2020/01/27 | 924 | systems/texlive/tlnet/archive/texlive-scripts-extra.amd64-freebsd.r53577.tar.xz
2020/01/27 | 916 | systems/texlive/tlnet/archive/texlive-scripts-extra.amd64-netbsd.r53577.tar.xz
@@ -308129,7 +308131,7 @@
2022/09/13 | 592 | systems/texlive/tlnet/archive/texlive-scripts.i386-linux.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.i386-netbsd.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.i386-solaris.r64356.tar.xz
-2024/01/26 | 114280 | systems/texlive/tlnet/archive/texlive-scripts.r69584.tar.xz
+2024/01/27 | 114288 | systems/texlive/tlnet/archive/texlive-scripts.r69595.tar.xz
2022/09/13 | 580 | systems/texlive/tlnet/archive/texlive-scripts.universal-darwin.r64356.tar.xz
2023/05/14 | 60312 | systems/texlive/tlnet/archive/texlive-scripts.windows.r67095.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.x86_64-cygwin.r64356.tar.xz
@@ -310030,16 +310032,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
2024/01/07 | 125782 | systems/texlive/tlnet/install-tl
-2024/01/26 | 5745974 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2024/01/26 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2024/01/26 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2024/01/27 | 5746245 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2024/01/27 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2024/01/27 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2023/05/13 | 5083 | systems/texlive/tlnet/install-tl-windows.bat
-2024/01/26 | 21028164 | systems/texlive/tlnet/install-tl-windows.exe
-2024/01/26 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2024/01/26 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2024/01/26 | 26032780 | systems/texlive/tlnet/install-tl.zip
-2024/01/26 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2024/01/26 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2024/01/27 | 21028593 | systems/texlive/tlnet/install-tl-windows.exe
+2024/01/27 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2024/01/27 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2024/01/27 | 26032793 | systems/texlive/tlnet/install-tl.zip
+2024/01/27 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2024/01/27 | 488 | 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
2024/01/02 | 9011 | systems/texlive/tlnet/tlpkg/gpg/pubring.gpg
@@ -310049,7 +310051,7 @@
2024/01/02 | 1280 | systems/texlive/tlnet/tlpkg/gpg/trustdb.gpg
2024/01/16 | 50726 | systems/texlive/tlnet/tlpkg/installer/config.guess
2010/11/11 | 11651 | systems/texlive/tlnet/tlpkg/installer/COPYING.MinGW-runtime.txt
-2024/01/25 | 7315 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2024/01/26 | 7366 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2023/12/13 | 226639 | systems/texlive/tlnet/tlpkg/installer/curl/curl-ca-bundle.crt
2020/04/15 | 2606592 | systems/texlive/tlnet/tlpkg/installer/curl/curl.exe
2017/04/16 | 2629 | systems/texlive/tlnet/tlpkg/installer/installer-options.txt
@@ -310091,12 +310093,12 @@
2023/02/21 | 20371 | systems/texlive/tlnet/tlpkg/TeXLive/TLCrypto.pm
2024/01/07 | 5844 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm
2023/04/08 | 28167 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm
-2024/01/26 | 18817205 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2024/01/26 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2024/01/27 | 18817434 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2024/01/27 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2023/10/16 | 87924 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm
-2024/01/26 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2024/01/26 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2024/01/26 | 2523108 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2024/01/27 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2024/01/27 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2024/01/27 | 2525068 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2023/02/20 | 58928 | systems/texlive/tlnet/tlpkg/TeXLive/TLPOBJ.pm
2023/06/11 | 42749 | systems/texlive/tlnet/tlpkg/TeXLive/TLPSRC.pm
2023/02/21 | 16138 | systems/texlive/tlnet/tlpkg/TeXLive/TLTREE.pm
@@ -313624,7 +313626,7 @@
2023/12/28 | 2974 | systems/win32/miktex/setup/rpm/rockylinux/9/repodata/repomd.xml
2023/12/28 | 488 | systems/win32/miktex/setup/rpm/rockylinux/9/repodata/repomd.xml.asc
2023/10/05 | 141606664 | systems/win32/miktex/setup/windows-x64/basic-miktex-23.10-x64.exe
-2023/09/22 | 141565704 | systems/win32/miktex/setup/windows-x64/basic-miktex-23.9-x64.exe
+2024/01/27 | 144785672 | systems/win32/miktex/setup/windows-x64/basic-miktex-24.1-x64.exe
2023/04/16 | 2735743 | systems/win32/miktex/setup/windows-x64/miktexsetup-5.5.0+1763023-x64.zip
2023/04/16 | 25752328 | systems/win32/miktex/setup/windows-x64/setup-5.6.0+1763023-x64.exe
2023/10/05 | 25730824 | systems/win32/miktex/setup/windows-x64/setup-5.6.1+3f4a6a7-x64.exe
@@ -315864,7 +315866,7 @@
2022/11/01 | 5115 | systems/win32/miktex/tm/packages/filehook.tar.lzma
2012/12/04 | 924573 | systems/win32/miktex/tm/packages/fileinfo.tar.lzma
2011/09/21 | 281409 | systems/win32/miktex/tm/packages/filemod.tar.lzma
-2024/01/20 | 790155 | systems/win32/miktex/tm/packages/files.csv.lzma
+2024/01/27 | 790669 | systems/win32/miktex/tm/packages/files.csv.lzma
2001/05/14 | 5617 | systems/win32/miktex/tm/packages/finbib.tar.lzma
2015/10/20 | 44379 | systems/win32/miktex/tm/packages/findhyph.tar.lzma
2011/10/21 | 89323 | systems/win32/miktex/tm/packages/fink.tar.lzma
@@ -317628,241 +317630,241 @@
2016/07/16 | 344819 | systems/win32/miktex/tm/packages/midnight.tar.lzma
2010/03/16 | 190135 | systems/win32/miktex/tm/packages/midpage.tar.lzma
2022/07/26 | 51788 | systems/win32/miktex/tm/packages/miktex-arctrl-bin-2.9.tar.lzma
-2023/12/27 | 36951 | systems/win32/miktex/tm/packages/miktex-arctrl-bin-x64-2.9.tar.lzma
+2024/01/27 | 37350 | systems/win32/miktex/tm/packages/miktex-arctrl-bin-x64-2.9.tar.lzma
2022/07/26 | 1023495 | systems/win32/miktex/tm/packages/miktex-asymptote-bin-2.9.tar.lzma
-2023/12/27 | 1178116 | systems/win32/miktex/tm/packages/miktex-asymptote-bin-x64-2.9.tar.lzma
+2024/01/27 | 1180000 | systems/win32/miktex/tm/packages/miktex-asymptote-bin-x64-2.9.tar.lzma
2022/07/26 | 28812 | systems/win32/miktex/tm/packages/miktex-autosp-bin-2.9.tar.lzma
-2023/12/27 | 31953 | systems/win32/miktex/tm/packages/miktex-autosp-bin-x64-2.9.tar.lzma
+2024/01/27 | 31973 | systems/win32/miktex/tm/packages/miktex-autosp-bin-x64-2.9.tar.lzma
2022/07/26 | 30075 | systems/win32/miktex/tm/packages/miktex-axohelp-bin-2.9.tar.lzma
-2023/12/27 | 36903 | systems/win32/miktex/tm/packages/miktex-axohelp-bin-x64-2.9.tar.lzma
+2024/01/27 | 37577 | systems/win32/miktex/tm/packages/miktex-axohelp-bin-x64-2.9.tar.lzma
2022/07/26 | 56698 | systems/win32/miktex/tm/packages/miktex-bibarts-bin-2.9.tar.lzma
-2023/12/27 | 67284 | systems/win32/miktex/tm/packages/miktex-bibarts-bin-x64-2.9.tar.lzma
+2024/01/27 | 68114 | systems/win32/miktex/tm/packages/miktex-bibarts-bin-x64-2.9.tar.lzma
2022/07/26 | 83765 | systems/win32/miktex/tm/packages/miktex-bibtex8bit-bin-2.9.tar.lzma
-2023/12/27 | 103641 | systems/win32/miktex/tm/packages/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2024/01/27 | 104258 | systems/win32/miktex/tm/packages/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
2022/07/26 | 69127 | systems/win32/miktex/tm/packages/miktex-bibtex-bin-2.9.tar.lzma
-2023/12/27 | 78716 | systems/win32/miktex/tm/packages/miktex-bibtex-bin-x64-2.9.tar.lzma
+2024/01/27 | 79582 | systems/win32/miktex/tm/packages/miktex-bibtex-bin-x64-2.9.tar.lzma
2022/07/26 | 27365 | systems/win32/miktex/tm/packages/miktex-bzip2-bin-2.9.tar.lzma
-2023/12/27 | 31329 | systems/win32/miktex/tm/packages/miktex-bzip2-bin-x64-2.9.tar.lzma
+2024/01/27 | 31330 | systems/win32/miktex/tm/packages/miktex-bzip2-bin-x64-2.9.tar.lzma
2022/07/26 | 332598 | systems/win32/miktex/tm/packages/miktex-cairo-bin-2.9.tar.lzma
-2023/12/27 | 395111 | systems/win32/miktex/tm/packages/miktex-cairo-bin-x64-2.9.tar.lzma
+2024/01/27 | 395146 | systems/win32/miktex/tm/packages/miktex-cairo-bin-x64-2.9.tar.lzma
2013/06/24 | 447360 | systems/win32/miktex/tm/packages/miktex-cairo-bin-x86-2.9.tar.lzma
2022/07/26 | 32659 | systems/win32/miktex/tm/packages/miktex-chktex-bin-2.9.tar.lzma
-2023/12/27 | 40422 | systems/win32/miktex/tm/packages/miktex-chktex-bin-x64-2.9.tar.lzma
+2024/01/27 | 41169 | systems/win32/miktex/tm/packages/miktex-chktex-bin-x64-2.9.tar.lzma
2022/07/26 | 51394 | systems/win32/miktex/tm/packages/miktex-cjkutils-bin-2.9.tar.lzma
-2023/12/27 | 59447 | systems/win32/miktex/tm/packages/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2024/01/27 | 60916 | systems/win32/miktex/tm/packages/miktex-cjkutils-bin-x64-2.9.tar.lzma
2023/04/15 | 5262 | systems/win32/miktex/tm/packages/miktex-config-2.9.tar.lzma
2022/07/26 | 244550 | systems/win32/miktex/tm/packages/miktex-console-bin-2.9.tar.lzma
-2023/12/27 | 273149 | systems/win32/miktex/tm/packages/miktex-console-bin-x64-2.9.tar.lzma
+2024/01/27 | 275433 | systems/win32/miktex/tm/packages/miktex-console-bin-x64-2.9.tar.lzma
2022/07/26 | 179664 | systems/win32/miktex/tm/packages/miktex-curl-bin-2.9.tar.lzma
-2023/12/27 | 240156 | systems/win32/miktex/tm/packages/miktex-curl-bin-x64-2.9.tar.lzma
+2024/01/27 | 240116 | systems/win32/miktex/tm/packages/miktex-curl-bin-x64-2.9.tar.lzma
2022/07/26 | 93078 | systems/win32/miktex/tm/packages/miktex-cweb-bin-2.9.tar.lzma
-2023/12/27 | 106959 | systems/win32/miktex/tm/packages/miktex-cweb-bin-x64-2.9.tar.lzma
+2024/01/27 | 108608 | systems/win32/miktex/tm/packages/miktex-cweb-bin-x64-2.9.tar.lzma
2022/07/26 | 21304 | systems/win32/miktex/tm/packages/miktex-devnag-bin-2.9.tar.lzma
-2023/12/27 | 25719 | systems/win32/miktex/tm/packages/miktex-devnag-bin-x64-2.9.tar.lzma
+2024/01/27 | 26801 | systems/win32/miktex/tm/packages/miktex-devnag-bin-x64-2.9.tar.lzma
2020/02/07 | 785398 | systems/win32/miktex/tm/packages/miktex-dict-british.tar.lzma
2016/11/02 | 171725 | systems/win32/miktex/tm/packages/miktex-dict-english.tar.lzma
2016/11/02 | 292320 | systems/win32/miktex/tm/packages/miktex-dict-french.tar.lzma
2016/11/02 | 967418 | systems/win32/miktex/tm/packages/miktex-dict-german.tar.lzma
2020/05/17 | 460366 | systems/win32/miktex/tm/packages/miktex-doc-2.9.tar.lzma
-2023/12/27 | 473857 | systems/win32/miktex/tm/packages/miktex-doc.tar.lzma
+2024/01/27 | 473821 | systems/win32/miktex/tm/packages/miktex-doc.tar.lzma
2022/07/26 | 46387 | systems/win32/miktex/tm/packages/miktex-dvicopy-bin-2.9.tar.lzma
-2023/12/27 | 54180 | systems/win32/miktex/tm/packages/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2024/01/27 | 54784 | systems/win32/miktex/tm/packages/miktex-dvicopy-bin-x64-2.9.tar.lzma
2022/07/26 | 285874 | systems/win32/miktex/tm/packages/miktex-dvipdfmx-bin-2.9.tar.lzma
-2023/12/27 | 333365 | systems/win32/miktex/tm/packages/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2024/01/27 | 334484 | systems/win32/miktex/tm/packages/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
2021/11/30 | 5049 | systems/win32/miktex/tm/packages/miktex-dvipdfmx.tar.lzma
2022/07/26 | 41442 | systems/win32/miktex/tm/packages/miktex-dvipng-bin-2.9.tar.lzma
-2023/12/27 | 47464 | systems/win32/miktex/tm/packages/miktex-dvipng-bin-x64-2.9.tar.lzma
+2024/01/27 | 48200 | systems/win32/miktex/tm/packages/miktex-dvipng-bin-x64-2.9.tar.lzma
2022/07/26 | 120742 | systems/win32/miktex/tm/packages/miktex-dvips-bin-2.9.tar.lzma
-2023/12/27 | 137704 | systems/win32/miktex/tm/packages/miktex-dvips-bin-x64-2.9.tar.lzma
+2024/01/27 | 138639 | systems/win32/miktex/tm/packages/miktex-dvips-bin-x64-2.9.tar.lzma
2017/04/09 | 4195 | systems/win32/miktex/tm/packages/miktex-dvips.tar.lzma
2022/07/26 | 1311595 | systems/win32/miktex/tm/packages/miktex-dvisvgm-bin-2.9.tar.lzma
-2023/12/27 | 1439882 | systems/win32/miktex/tm/packages/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2024/01/27 | 1440564 | systems/win32/miktex/tm/packages/miktex-dvisvgm-bin-x64-2.9.tar.lzma
2022/07/26 | 99307 | systems/win32/miktex/tm/packages/miktex-epstopdf-bin-2.9.tar.lzma
-2023/12/27 | 104802 | systems/win32/miktex/tm/packages/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2024/01/27 | 105598 | systems/win32/miktex/tm/packages/miktex-epstopdf-bin-x64-2.9.tar.lzma
2016/11/03 | 672 | systems/win32/miktex/tm/packages/miktex-etex.tar.lzma
2022/07/26 | 43659 | systems/win32/miktex/tm/packages/miktex-expat-bin-2.9.tar.lzma
-2023/12/27 | 49945 | systems/win32/miktex/tm/packages/miktex-expat-bin-x64-2.9.tar.lzma
+2024/01/27 | 49966 | systems/win32/miktex/tm/packages/miktex-expat-bin-x64-2.9.tar.lzma
2022/07/26 | 25280 | systems/win32/miktex/tm/packages/miktex-findtexmf-bin-2.9.tar.lzma
-2023/12/27 | 29281 | systems/win32/miktex/tm/packages/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2024/01/27 | 29970 | systems/win32/miktex/tm/packages/miktex-findtexmf-bin-x64-2.9.tar.lzma
2022/07/26 | 56918 | systems/win32/miktex/tm/packages/miktex-fmt-bin-2.9.tar.lzma
-2023/12/27 | 79085 | systems/win32/miktex/tm/packages/miktex-fmt-bin-x64-2.9.tar.lzma
+2024/01/27 | 79035 | systems/win32/miktex/tm/packages/miktex-fmt-bin-x64-2.9.tar.lzma
2015/09/08 | 11241 | systems/win32/miktex/tm/packages/miktex-fontconfig-base.tar.lzma
2022/07/26 | 136111 | systems/win32/miktex/tm/packages/miktex-fontconfig-bin-2.9.tar.lzma
-2023/12/27 | 160309 | systems/win32/miktex/tm/packages/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2024/01/27 | 160407 | systems/win32/miktex/tm/packages/miktex-fontconfig-bin-x64-2.9.tar.lzma
2016/11/04 | 3555 | systems/win32/miktex/tm/packages/miktex-fontconfig.tar.lzma
2022/07/26 | 74078 | systems/win32/miktex/tm/packages/miktex-fonts-bin-2.9.tar.lzma
-2023/12/27 | 81880 | systems/win32/miktex/tm/packages/miktex-fonts-bin-x64-2.9.tar.lzma
+2024/01/27 | 82942 | systems/win32/miktex/tm/packages/miktex-fonts-bin-x64-2.9.tar.lzma
2022/07/26 | 71907 | systems/win32/miktex/tm/packages/miktex-freeglut-bin-2.9.tar.lzma
-2023/12/27 | 82139 | systems/win32/miktex/tm/packages/miktex-freeglut-bin-x64-2.9.tar.lzma
+2024/01/27 | 84360 | systems/win32/miktex/tm/packages/miktex-freeglut-bin-x64-2.9.tar.lzma
2022/07/26 | 259267 | systems/win32/miktex/tm/packages/miktex-freetype2-bin-2.9.tar.lzma
-2023/12/27 | 305609 | systems/win32/miktex/tm/packages/miktex-freetype2-bin-x64-2.9.tar.lzma
+2024/01/27 | 305357 | systems/win32/miktex/tm/packages/miktex-freetype2-bin-x64-2.9.tar.lzma
2022/07/26 | 22141 | systems/win32/miktex/tm/packages/miktex-fribidixetex-bin-2.9.tar.lzma
-2023/12/27 | 25409 | systems/win32/miktex/tm/packages/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2024/01/27 | 25417 | systems/win32/miktex/tm/packages/miktex-fribidixetex-bin-x64-2.9.tar.lzma
2022/07/26 | 97375 | systems/win32/miktex/tm/packages/miktex-gd-bin-2.9.tar.lzma
-2023/12/27 | 105502 | systems/win32/miktex/tm/packages/miktex-gd-bin-x64-2.9.tar.lzma
+2024/01/27 | 105711 | systems/win32/miktex/tm/packages/miktex-gd-bin-x64-2.9.tar.lzma
2018/09/25 | 10777812 | systems/win32/miktex/tm/packages/miktex-ghostscript-bin.tar.lzma
2018/09/25 | 11056498 | systems/win32/miktex/tm/packages/miktex-ghostscript-bin-x64.tar.lzma
2022/07/26 | 64580 | systems/win32/miktex/tm/packages/miktex-graphite2-bin-2.9.tar.lzma
-2023/12/27 | 73459 | systems/win32/miktex/tm/packages/miktex-graphite2-bin-x64-2.9.tar.lzma
+2024/01/27 | 73463 | systems/win32/miktex/tm/packages/miktex-graphite2-bin-x64-2.9.tar.lzma
2022/07/26 | 96681 | systems/win32/miktex/tm/packages/miktex-gregorio-bin-2.9.tar.lzma
-2023/12/27 | 117674 | systems/win32/miktex/tm/packages/miktex-gregorio-bin-x64-2.9.tar.lzma
+2024/01/27 | 118345 | systems/win32/miktex/tm/packages/miktex-gregorio-bin-x64-2.9.tar.lzma
2022/07/26 | 38665 | systems/win32/miktex/tm/packages/miktex-gsf2pk-bin-2.9.tar.lzma
-2023/12/27 | 44515 | systems/win32/miktex/tm/packages/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2024/01/27 | 44921 | systems/win32/miktex/tm/packages/miktex-gsf2pk-bin-x64-2.9.tar.lzma
2022/07/26 | 484112 | systems/win32/miktex/tm/packages/miktex-harfbuzz-bin-2.9.tar.lzma
-2023/12/27 | 780765 | systems/win32/miktex/tm/packages/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2024/01/27 | 780213 | systems/win32/miktex/tm/packages/miktex-harfbuzz-bin-x64-2.9.tar.lzma
2019/09/28 | 1103778 | systems/win32/miktex/tm/packages/miktex-harftex-bin-2.9.tar.lzma
2019/09/28 | 1272652 | systems/win32/miktex/tm/packages/miktex-harftex-bin-x64-2.9.tar.lzma
2022/07/26 | 204264 | systems/win32/miktex/tm/packages/miktex-hitex-bin.tar.lzma
-2023/12/27 | 255154 | systems/win32/miktex/tm/packages/miktex-hitex-bin-x64.tar.lzma
+2024/01/27 | 256704 | systems/win32/miktex/tm/packages/miktex-hitex-bin-x64.tar.lzma
2022/07/26 | 152533 | systems/win32/miktex/tm/packages/miktex-hunspell-bin-2.9.tar.lzma
-2023/12/27 | 215815 | systems/win32/miktex/tm/packages/miktex-hunspell-bin-x64-2.9.tar.lzma
+2024/01/27 | 210249 | systems/win32/miktex/tm/packages/miktex-hunspell-bin-x64-2.9.tar.lzma
2017/11/02 | 7484214 | systems/win32/miktex/tm/packages/miktex-icu-bin.tar.lzma
2023/12/28 | 9330226 | systems/win32/miktex/tm/packages/miktex-icu-bin-x64.tar.lzma
2022/07/26 | 95516 | systems/win32/miktex/tm/packages/miktex-jpeg-bin-2.9.tar.lzma
-2023/12/27 | 110306 | systems/win32/miktex/tm/packages/miktex-jpeg-bin-x64-2.9.tar.lzma
+2024/01/27 | 110304 | systems/win32/miktex/tm/packages/miktex-jpeg-bin-x64-2.9.tar.lzma
2022/07/26 | 16454 | systems/win32/miktex/tm/packages/miktex-kpathsea-bin-2.9.tar.lzma
-2023/12/27 | 20073 | systems/win32/miktex/tm/packages/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2024/01/27 | 20749 | systems/win32/miktex/tm/packages/miktex-kpathsea-bin-x64-2.9.tar.lzma
2022/07/26 | 28492 | systems/win32/miktex/tm/packages/miktex-lacheck-bin-2.9.tar.lzma
-2023/12/27 | 32983 | systems/win32/miktex/tm/packages/miktex-lacheck-bin-x64-2.9.tar.lzma
+2024/01/27 | 33635 | systems/win32/miktex/tm/packages/miktex-lacheck-bin-x64-2.9.tar.lzma
2023/11/16 | 932 | systems/win32/miktex/tm/packages/miktex-latex.tar.lzma
2022/07/26 | 631347 | systems/win32/miktex/tm/packages/miktex-lcdf-typetools-bin-2.9.tar.lzma
-2023/12/27 | 708690 | systems/win32/miktex/tm/packages/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2024/01/27 | 712416 | systems/win32/miktex/tm/packages/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
2022/07/26 | 532312 | systems/win32/miktex/tm/packages/miktex-libressl-bin-2.9.tar.lzma
-2023/12/27 | 609082 | systems/win32/miktex/tm/packages/miktex-libressl-bin-x64-2.9.tar.lzma
+2024/01/27 | 609839 | systems/win32/miktex/tm/packages/miktex-libressl-bin-x64-2.9.tar.lzma
2022/07/26 | 477940 | systems/win32/miktex/tm/packages/miktex-log4cxx-bin-2.9.tar.lzma
-2023/12/27 | 618862 | systems/win32/miktex/tm/packages/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2024/01/27 | 619586 | systems/win32/miktex/tm/packages/miktex-log4cxx-bin-x64-2.9.tar.lzma
2019/01/02 | 71265 | systems/win32/miktex/tm/packages/miktex-lua52-bin-2.9.tar.lzma
2019/01/02 | 80005 | systems/win32/miktex/tm/packages/miktex-lua52-bin-x64-2.9.tar.lzma
2022/07/26 | 94055 | systems/win32/miktex/tm/packages/miktex-lua53-bin-2.9.tar.lzma
-2023/12/27 | 103894 | systems/win32/miktex/tm/packages/miktex-lua53-bin-x64-2.9.tar.lzma
+2024/01/27 | 103594 | systems/win32/miktex/tm/packages/miktex-lua53-bin-x64-2.9.tar.lzma
2022/07/26 | 1733266 | systems/win32/miktex/tm/packages/miktex-luatex-bin-2.9.tar.lzma
-2023/12/27 | 2029178 | systems/win32/miktex/tm/packages/miktex-luatex-bin-x64-2.9.tar.lzma
+2024/01/27 | 2029330 | systems/win32/miktex/tm/packages/miktex-luatex-bin-x64-2.9.tar.lzma
2016/11/06 | 11511 | systems/win32/miktex/tm/packages/miktex-luatex.tar.lzma
2022/07/26 | 67910 | systems/win32/miktex/tm/packages/miktex-lzma-bin-2.9.tar.lzma
-2023/12/27 | 82047 | systems/win32/miktex/tm/packages/miktex-lzma-bin-x64-2.9.tar.lzma
+2024/01/27 | 82041 | systems/win32/miktex/tm/packages/miktex-lzma-bin-x64-2.9.tar.lzma
2022/07/26 | 27717 | systems/win32/miktex/tm/packages/miktex-makeindex-bin-2.9.tar.lzma
-2023/12/27 | 33941 | systems/win32/miktex/tm/packages/miktex-makeindex-bin-x64-2.9.tar.lzma
+2024/01/27 | 34596 | systems/win32/miktex/tm/packages/miktex-makeindex-bin-x64-2.9.tar.lzma
2022/07/26 | 7735 | systems/win32/miktex/tm/packages/miktex-md5-bin-2.9.tar.lzma
-2023/12/27 | 8855 | systems/win32/miktex/tm/packages/miktex-md5-bin-x64-2.9.tar.lzma
+2024/01/27 | 8840 | systems/win32/miktex/tm/packages/miktex-md5-bin-x64-2.9.tar.lzma
2022/07/26 | 190604 | systems/win32/miktex/tm/packages/miktex-metafont-bin-2.9.tar.lzma
-2023/12/27 | 238649 | systems/win32/miktex/tm/packages/miktex-metafont-bin-x64-2.9.tar.lzma
+2024/01/27 | 238556 | systems/win32/miktex/tm/packages/miktex-metafont-bin-x64-2.9.tar.lzma
2016/11/04 | 675 | systems/win32/miktex/tm/packages/miktex-metafont.tar.lzma
2022/07/26 | 251086 | systems/win32/miktex/tm/packages/miktex-metapost-bin-2.9.tar.lzma
-2023/12/27 | 288368 | systems/win32/miktex/tm/packages/miktex-metapost-bin-x64-2.9.tar.lzma
+2024/01/27 | 288890 | systems/win32/miktex/tm/packages/miktex-metapost-bin-x64-2.9.tar.lzma
2016/11/04 | 687 | systems/win32/miktex/tm/packages/miktex-metapost.tar.lzma
2022/07/26 | 99463 | systems/win32/miktex/tm/packages/miktex-mfware-bin-2.9.tar.lzma
-2023/12/27 | 109123 | systems/win32/miktex/tm/packages/miktex-mfware-bin-x64-2.9.tar.lzma
+2024/01/27 | 110203 | systems/win32/miktex/tm/packages/miktex-mfware-bin-x64-2.9.tar.lzma
2024/01/20 | 23309 | systems/win32/miktex/tm/packages/miktex-misc.tar.lzma
2021/12/09 | 64527 | systems/win32/miktex/tm/packages/miktex-mkfntmap-bin-2.9.tar.lzma
2021/12/09 | 74601 | systems/win32/miktex/tm/packages/miktex-mkfntmap-bin-x64-2.9.tar.lzma
2022/07/26 | 126901 | systems/win32/miktex/tm/packages/miktex-mktex-bin-2.9.tar.lzma
-2023/12/27 | 142945 | systems/win32/miktex/tm/packages/miktex-mktex-bin-x64-2.9.tar.lzma
+2024/01/27 | 142996 | systems/win32/miktex/tm/packages/miktex-mktex-bin-x64-2.9.tar.lzma
2022/07/26 | 287501 | systems/win32/miktex/tm/packages/miktex-mo-bin-2.9.tar.lzma
-2023/12/27 | 292996 | systems/win32/miktex/tm/packages/miktex-mo-bin-x64-2.9.tar.lzma
+2024/01/27 | 293316 | systems/win32/miktex/tm/packages/miktex-mo-bin-x64-2.9.tar.lzma
2022/07/26 | 199806 | systems/win32/miktex/tm/packages/miktex-mpfr-bin-2.9.tar.lzma
-2023/12/27 | 182338 | systems/win32/miktex/tm/packages/miktex-mpfr-bin-x64-2.9.tar.lzma
+2024/01/27 | 182345 | systems/win32/miktex/tm/packages/miktex-mpfr-bin-x64-2.9.tar.lzma
2022/07/26 | 49743 | systems/win32/miktex/tm/packages/miktex-mpmcli-bin-2.9.tar.lzma
-2023/12/27 | 56609 | systems/win32/miktex/tm/packages/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2024/01/27 | 57538 | systems/win32/miktex/tm/packages/miktex-mpmcli-bin-x64-2.9.tar.lzma
2022/07/26 | 31439 | systems/win32/miktex/tm/packages/miktex-mspack-bin-2.9.tar.lzma
-2023/12/27 | 35482 | systems/win32/miktex/tm/packages/miktex-mspack-bin-x64-2.9.tar.lzma
+2024/01/27 | 35482 | systems/win32/miktex/tm/packages/miktex-mspack-bin-x64-2.9.tar.lzma
2022/07/26 | 38309 | systems/win32/miktex/tm/packages/miktex-mthelp-bin-2.9.tar.lzma
-2023/12/27 | 44299 | systems/win32/miktex/tm/packages/miktex-mthelp-bin-x64-2.9.tar.lzma
+2024/01/27 | 45704 | systems/win32/miktex/tm/packages/miktex-mthelp-bin-x64-2.9.tar.lzma
2022/07/26 | 43447 | systems/win32/miktex/tm/packages/miktex-mtprint-bin-2.9.tar.lzma
-2023/12/27 | 48484 | systems/win32/miktex/tm/packages/miktex-mtprint-bin-x64-2.9.tar.lzma
+2024/01/27 | 49003 | systems/win32/miktex/tm/packages/miktex-mtprint-bin-x64-2.9.tar.lzma
2022/07/26 | 45780 | systems/win32/miktex/tm/packages/miktex-m-tx-bin-2.9.tar.lzma
-2023/12/27 | 52731 | systems/win32/miktex/tm/packages/miktex-m-tx-bin-x64-2.9.tar.lzma
+2024/01/27 | 52748 | systems/win32/miktex/tm/packages/miktex-m-tx-bin-x64-2.9.tar.lzma
2006/05/19 | 1267123 | systems/win32/miktex/tm/packages/miktex-omega-base.cab
2020/05/12 | 354540 | systems/win32/miktex/tm/packages/miktex-omega-bin-2.9.tar.lzma
2020/05/12 | 387734 | systems/win32/miktex/tm/packages/miktex-omega-bin-x64-2.9.tar.lzma
2016/11/04 | 746 | systems/win32/miktex/tm/packages/miktex-omega.tar.lzma
2022/07/26 | 197278 | systems/win32/miktex/tm/packages/miktex-omegaware-bin-2.9.tar.lzma
-2023/12/27 | 218599 | systems/win32/miktex/tm/packages/miktex-omegaware-bin-x64-2.9.tar.lzma
+2024/01/27 | 220970 | systems/win32/miktex/tm/packages/miktex-omegaware-bin-x64-2.9.tar.lzma
2022/07/26 | 36415 | systems/win32/miktex/tm/packages/miktex-patgen-bin.tar.lzma
-2023/12/27 | 43244 | systems/win32/miktex/tm/packages/miktex-patgen-bin-x64.tar.lzma
+2024/01/27 | 43854 | systems/win32/miktex/tm/packages/miktex-patgen-bin-x64.tar.lzma
2022/07/26 | 754258 | systems/win32/miktex/tm/packages/miktex-pdftex-bin-2.9.tar.lzma
-2023/12/27 | 833842 | systems/win32/miktex/tm/packages/miktex-pdftex-bin-x64-2.9.tar.lzma
+2024/01/27 | 834732 | systems/win32/miktex/tm/packages/miktex-pdftex-bin-x64-2.9.tar.lzma
2016/11/10 | 1683 | systems/win32/miktex/tm/packages/miktex-pdftex.tar.lzma
2022/07/26 | 200463 | systems/win32/miktex/tm/packages/miktex-pixman-bin-2.9.tar.lzma
-2023/12/27 | 204988 | systems/win32/miktex/tm/packages/miktex-pixman-bin-x64-2.9.tar.lzma
+2024/01/27 | 204944 | systems/win32/miktex/tm/packages/miktex-pixman-bin-x64-2.9.tar.lzma
2022/07/26 | 210552 | systems/win32/miktex/tm/packages/miktex-pmx-bin-2.9.tar.lzma
-2023/12/27 | 245870 | systems/win32/miktex/tm/packages/miktex-pmx-bin-x64-2.9.tar.lzma
+2024/01/27 | 245831 | systems/win32/miktex/tm/packages/miktex-pmx-bin-x64-2.9.tar.lzma
2022/07/26 | 79370 | systems/win32/miktex/tm/packages/miktex-png-bin-2.9.tar.lzma
-2023/12/27 | 89173 | systems/win32/miktex/tm/packages/miktex-png-bin-x64-2.9.tar.lzma
+2024/01/27 | 89179 | systems/win32/miktex/tm/packages/miktex-png-bin-x64-2.9.tar.lzma
2022/07/26 | 1180255 | systems/win32/miktex/tm/packages/miktex-poppler-bin-2.9.tar.lzma
-2023/12/27 | 1347839 | systems/win32/miktex/tm/packages/miktex-poppler-bin-x64-2.9.tar.lzma
+2024/01/27 | 1587974 | systems/win32/miktex/tm/packages/miktex-poppler-bin-x64-2.9.tar.lzma
2022/07/26 | 20173 | systems/win32/miktex/tm/packages/miktex-popt-bin-2.9.tar.lzma
-2023/12/27 | 24169 | systems/win32/miktex/tm/packages/miktex-popt-bin-x64-2.9.tar.lzma
+2024/01/27 | 24173 | systems/win32/miktex/tm/packages/miktex-popt-bin-x64-2.9.tar.lzma
2022/07/26 | 31551 | systems/win32/miktex/tm/packages/miktex-posix-bin-2.9.tar.lzma
-2023/12/27 | 37696 | systems/win32/miktex/tm/packages/miktex-posix-bin-x64-2.9.tar.lzma
+2024/01/27 | 37684 | systems/win32/miktex/tm/packages/miktex-posix-bin-x64-2.9.tar.lzma
2022/07/26 | 64801 | systems/win32/miktex/tm/packages/miktex-ps2pk-bin-2.9.tar.lzma
-2023/12/27 | 75128 | systems/win32/miktex/tm/packages/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2024/01/27 | 75544 | systems/win32/miktex/tm/packages/miktex-ps2pk-bin-x64-2.9.tar.lzma
2016/07/29 | 121451 | systems/win32/miktex/tm/packages/miktex-psutils-base.tar.lzma
2022/07/26 | 50923 | systems/win32/miktex/tm/packages/miktex-psutils-bin-2.9.tar.lzma
-2023/12/27 | 61818 | systems/win32/miktex/tm/packages/miktex-psutils-bin-x64-2.9.tar.lzma
+2024/01/27 | 61847 | systems/win32/miktex/tm/packages/miktex-psutils-bin-x64-2.9.tar.lzma
2022/07/26 | 699984 | systems/win32/miktex/tm/packages/miktex-ptex-bin.tar.lzma
-2023/12/27 | 502193 | systems/win32/miktex/tm/packages/miktex-ptex-bin-x64.tar.lzma
-2021/03/08 | 8242908 | systems/win32/miktex/tm/packages/miktex-qt5-bin.tar.lzma
-2021/03/08 | 9576187 | systems/win32/miktex/tm/packages/miktex-qt5-bin-x64.tar.lzma
+2024/01/27 | 503992 | systems/win32/miktex/tm/packages/miktex-ptex-bin-x64.tar.lzma
+2024/01/27 | 343420 | systems/win32/miktex/tm/packages/miktex-qt5-bin-x64.tar.lzma
+2024/01/27 | 9404814 | systems/win32/miktex/tm/packages/miktex-qt6-bin-x64.tar.lzma
2022/07/26 | 1355602 | systems/win32/miktex/tm/packages/miktex-runtime-bin-2.9.tar.lzma
-2023/12/27 | 1548342 | systems/win32/miktex/tm/packages/miktex-runtime-bin-x64-2.9.tar.lzma
+2024/01/27 | 1558821 | systems/win32/miktex/tm/packages/miktex-runtime-bin-x64-2.9.tar.lzma
2022/07/26 | 42689 | systems/win32/miktex/tm/packages/miktex-synctex-bin-2.9.tar.lzma
-2023/12/27 | 54602 | systems/win32/miktex/tm/packages/miktex-synctex-bin-x64-2.9.tar.lzma
+2024/01/27 | 55343 | systems/win32/miktex/tm/packages/miktex-synctex-bin-x64-2.9.tar.lzma
2020/05/17 | 74366 | systems/win32/miktex/tm/packages/miktex-tdsutil-bin-2.9.tar.lzma
2022/07/26 | 57357 | systems/win32/miktex/tm/packages/miktex-tdsutil-bin.tar.lzma
2020/05/17 | 82298 | systems/win32/miktex/tm/packages/miktex-tdsutil-bin-x64-2.9.tar.lzma
-2023/12/27 | 65170 | systems/win32/miktex/tm/packages/miktex-tdsutil-bin-x64.tar.lzma
+2024/01/27 | 65111 | systems/win32/miktex/tm/packages/miktex-tdsutil-bin-x64.tar.lzma
2022/07/26 | 25544 | systems/win32/miktex/tm/packages/miktex-teckit-bin-2.9.tar.lzma
-2023/12/27 | 27063 | systems/win32/miktex/tm/packages/miktex-teckit-bin-x64-2.9.tar.lzma
+2024/01/27 | 27187 | systems/win32/miktex/tm/packages/miktex-teckit-bin-x64-2.9.tar.lzma
2022/07/26 | 16512 | systems/win32/miktex/tm/packages/miktex-tex2xindy-bin-2.9.tar.lzma
-2023/12/27 | 20041 | systems/win32/miktex/tm/packages/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2024/01/27 | 20761 | systems/win32/miktex/tm/packages/miktex-tex2xindy-bin-x64-2.9.tar.lzma
2022/07/26 | 64457 | systems/win32/miktex/tm/packages/miktex-tex4ht-bin-2.9.tar.lzma
-2023/12/27 | 73263 | systems/win32/miktex/tm/packages/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2024/01/27 | 74165 | systems/win32/miktex/tm/packages/miktex-tex4ht-bin-x64-2.9.tar.lzma
2020/01/26 | 4527 | systems/win32/miktex/tm/packages/miktex-tex4ht.tar.lzma
2022/07/26 | 157170 | systems/win32/miktex/tm/packages/miktex-tex-bin-2.9.tar.lzma
-2023/12/27 | 175172 | systems/win32/miktex/tm/packages/miktex-tex-bin-x64-2.9.tar.lzma
+2024/01/27 | 175743 | systems/win32/miktex/tm/packages/miktex-tex-bin-x64-2.9.tar.lzma
2022/07/26 | 58378 | systems/win32/miktex/tm/packages/miktex-texify-bin-2.9.tar.lzma
-2023/12/27 | 69673 | systems/win32/miktex/tm/packages/miktex-texify-bin-x64-2.9.tar.lzma
+2024/01/27 | 70843 | systems/win32/miktex/tm/packages/miktex-texify-bin-x64-2.9.tar.lzma
2016/11/05 | 748 | systems/win32/miktex/tm/packages/miktex-texinfo.tar.lzma
2016/11/05 | 724 | systems/win32/miktex/tm/packages/miktex-tex.tar.lzma
2022/07/26 | 100549 | systems/win32/miktex/tm/packages/miktex-texware-bin-2.9.tar.lzma
-2023/12/27 | 112707 | systems/win32/miktex/tm/packages/miktex-texware-bin-x64-2.9.tar.lzma
+2024/01/27 | 114316 | systems/win32/miktex/tm/packages/miktex-texware-bin-x64-2.9.tar.lzma
2022/07/26 | 2697009 | systems/win32/miktex/tm/packages/miktex-texworks-bin-2.9.tar.lzma
-2023/12/27 | 2845203 | systems/win32/miktex/tm/packages/miktex-texworks-bin-x64-2.9.tar.lzma
+2024/01/27 | 2899139 | systems/win32/miktex/tm/packages/miktex-texworks-bin-x64-2.9.tar.lzma
2022/07/26 | 55433 | systems/win32/miktex/tm/packages/miktex-ttf2pk2-bin-2.9.tar.lzma
-2023/12/27 | 65132 | systems/win32/miktex/tm/packages/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2024/01/27 | 64793 | systems/win32/miktex/tm/packages/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
2022/07/30 | 466661 | systems/win32/miktex/tm/packages/miktex-ucrt-bin.tar.lzma
2021/12/05 | 474134 | systems/win32/miktex/tm/packages/miktex-ucrt-bin-x64.tar.lzma
2022/07/26 | 37062 | systems/win32/miktex/tm/packages/miktex-upmendex-bin.tar.lzma
-2023/12/27 | 44406 | systems/win32/miktex/tm/packages/miktex-upmendex-bin-x64.tar.lzma
+2024/01/27 | 45143 | systems/win32/miktex/tm/packages/miktex-upmendex-bin-x64.tar.lzma
2022/07/26 | 28691 | systems/win32/miktex/tm/packages/miktex-uriparser-bin-2.9.tar.lzma
-2023/12/27 | 34109 | systems/win32/miktex/tm/packages/miktex-uriparser-bin-x64-2.9.tar.lzma
+2024/01/27 | 34107 | systems/win32/miktex/tm/packages/miktex-uriparser-bin-x64-2.9.tar.lzma
2015/10/12 | 2312969 | systems/win32/miktex/tm/packages/miktex-vc120-bin.tar.lzma
2015/10/12 | 2544479 | systems/win32/miktex/tm/packages/miktex-vc120-bin-x64.tar.lzma
2022/07/30 | 2787012 | systems/win32/miktex/tm/packages/miktex-vc140-bin.tar.lzma
2021/12/05 | 3085218 | systems/win32/miktex/tm/packages/miktex-vc140-bin-x64.tar.lzma
2022/07/26 | 67924 | systems/win32/miktex/tm/packages/miktex-web-bin-2.9.tar.lzma
-2023/12/27 | 76629 | systems/win32/miktex/tm/packages/miktex-web-bin-x64-2.9.tar.lzma
+2024/01/27 | 77648 | systems/win32/miktex/tm/packages/miktex-web-bin-x64-2.9.tar.lzma
2016/04/19 | 634372 | systems/win32/miktex/tm/packages/miktex-xetex-base.tar.lzma
2022/07/26 | 316671 | systems/win32/miktex/tm/packages/miktex-xetex-bin-2.9.tar.lzma
-2023/12/27 | 355175 | systems/win32/miktex/tm/packages/miktex-xetex-bin-x64-2.9.tar.lzma
+2024/01/27 | 356081 | systems/win32/miktex/tm/packages/miktex-xetex-bin-x64-2.9.tar.lzma
2016/11/05 | 2089 | systems/win32/miktex/tm/packages/miktex-xetex.tar.lzma
2015/06/27 | 136065 | systems/win32/miktex/tm/packages/miktex-xindy-base.tar.lzma
2015/06/19 | 1712962 | systems/win32/miktex/tm/packages/miktex-xindy-bin.tar.lzma
2015/06/19 | 1714958 | systems/win32/miktex/tm/packages/miktex-xindy-bin-x64.tar.lzma
2015/06/19 | 369481 | systems/win32/miktex/tm/packages/miktex-xindy-doc.tar.lzma
2022/07/26 | 55762 | systems/win32/miktex/tm/packages/miktex-xml2pmx-bin.tar.lzma
-2023/12/27 | 59022 | systems/win32/miktex/tm/packages/miktex-xml2pmx-bin-x64.tar.lzma
+2024/01/27 | 59661 | systems/win32/miktex/tm/packages/miktex-xml2pmx-bin-x64.tar.lzma
2022/07/26 | 591407 | systems/win32/miktex/tm/packages/miktex-yap-bin-2.9.tar.lzma
-2023/12/27 | 607451 | systems/win32/miktex/tm/packages/miktex-yap-bin-x64-2.9.tar.lzma
+2024/01/27 | 609777 | systems/win32/miktex/tm/packages/miktex-yap-bin-x64-2.9.tar.lzma
2018/01/12 | 138155 | systems/win32/miktex/tm/packages/miktex-zip-bin.tar.lzma
2018/01/12 | 157226 | systems/win32/miktex/tm/packages/miktex-zip-bin-x64.tar.lzma
2022/07/26 | 39695 | systems/win32/miktex/tm/packages/miktex-zlib-bin-2.9.tar.lzma
-2023/12/27 | 46178 | systems/win32/miktex/tm/packages/miktex-zlib-bin-x64-2.9.tar.lzma
-2024/01/20 | 345432 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
-2024/01/20 | 2013943 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
-2024/01/20 | 1728613 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2024/01/27 | 46166 | systems/win32/miktex/tm/packages/miktex-zlib-bin-x64-2.9.tar.lzma
+2024/01/27 | 345488 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2024/01/27 | 2014544 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2024/01/27 | 1728353 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
2022/07/26 | 13519 | systems/win32/miktex/tm/packages/miktex-zzip-bin-2.9.tar.lzma
-2023/12/27 | 14551 | systems/win32/miktex/tm/packages/miktex-zzip-bin-x64-2.9.tar.lzma
+2024/01/27 | 14553 | systems/win32/miktex/tm/packages/miktex-zzip-bin-x64-2.9.tar.lzma
2016/07/15 | 35914 | systems/win32/miktex/tm/packages/mil3.tar.lzma
2004/11/11 | 10497 | systems/win32/miktex/tm/packages/miller.cab
2016/07/06 | 405919 | systems/win32/miktex/tm/packages/milog.tar.lzma
@@ -318144,102 +318146,102 @@
2022/11/01 | 230073 | systems/win32/miktex/tm/packages/newverbs__doc.tar.lzma
2022/11/01 | 7969 | systems/win32/miktex/tm/packages/newverbs__source.tar.lzma
2022/11/01 | 3030 | systems/win32/miktex/tm/packages/newverbs.tar.lzma
-2024/01/20 | 790413 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2024/01/20 | 36719 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
-2024/01/20 | 1172258 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
-2024/01/20 | 32082 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
-2024/01/20 | 36806 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
-2024/01/20 | 67403 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
-2024/01/20 | 103596 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
-2024/01/20 | 78370 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
-2024/01/20 | 31578 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
-2024/01/20 | 395674 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
-2024/01/20 | 40417 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
-2024/01/20 | 59283 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
-2024/01/20 | 272312 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
-2024/01/20 | 221437 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
-2024/01/20 | 106641 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
-2024/01/20 | 25673 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
-2024/01/20 | 473199 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
-2024/01/20 | 54222 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
-2024/01/20 | 329559 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
-2024/01/20 | 47354 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
-2024/01/20 | 137679 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
-2024/01/20 | 1442428 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
-2024/01/20 | 104451 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
-2024/01/20 | 49700 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
-2024/01/20 | 29150 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
-2024/01/20 | 77329 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
-2024/01/20 | 159755 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
-2024/01/20 | 81615 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
-2024/01/20 | 82245 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
-2024/01/20 | 305498 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
-2024/01/20 | 25616 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
-2024/01/20 | 105674 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
-2024/01/20 | 73393 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
-2024/01/20 | 117728 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
-2024/01/20 | 44399 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
-2024/01/20 | 698805 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
-2024/01/20 | 249310 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma
-2024/01/20 | 216981 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
-2024/01/20 | 109790 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
-2024/01/20 | 19989 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
-2024/01/20 | 32876 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
-2024/01/20 | 707451 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
-2024/01/20 | 603361 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
-2024/01/20 | 530551 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
-2024/01/20 | 104154 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
-2024/01/20 | 2000769 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
-2024/01/20 | 81967 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
-2024/01/20 | 33844 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
-2024/01/20 | 8881 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
-2024/01/20 | 232216 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
-2024/01/20 | 287524 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
-2024/01/20 | 108423 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
-2024/01/20 | 141953 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
-2024/01/20 | 291481 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
-2024/01/20 | 182747 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
-2024/01/20 | 55917 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
-2024/01/20 | 35344 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
-2024/01/20 | 44117 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
-2024/01/20 | 48293 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
-2024/01/20 | 52587 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
-2024/01/20 | 218927 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
-2024/01/20 | 43130 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
-2024/01/20 | 829827 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
-2024/01/20 | 203146 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
-2024/01/20 | 245919 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
-2024/01/20 | 88637 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
-2024/01/20 | 1342255 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
-2024/01/20 | 24128 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
-2024/01/20 | 37611 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
-2024/01/20 | 75120 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
-2024/01/20 | 61014 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
-2024/01/20 | 499814 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma
-2024/01/20 | 1530891 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
-2024/01/20 | 54777 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
-2024/01/20 | 65144 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
-2024/01/20 | 27136 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
-2024/01/20 | 19950 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
-2024/01/20 | 73434 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
-2024/01/20 | 174019 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
-2024/01/20 | 69688 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
-2024/01/20 | 112561 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
-2024/01/20 | 2844301 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
-2024/01/20 | 64563 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
-2024/01/20 | 44109 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
-2024/01/20 | 33877 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
-2024/01/20 | 76147 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
-2024/01/20 | 352625 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
-2024/01/20 | 58925 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
-2024/01/20 | 606520 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
-2024/01/20 | 45937 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
-2024/01/20 | 345412 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
-2024/01/20 | 2011890 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
-2024/01/20 | 1728756 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
-2024/01/20 | 14576 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2024/01/27 | 790334 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2024/01/27 | 36722 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2024/01/27 | 1171656 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2024/01/27 | 32066 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2024/01/27 | 36797 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2024/01/27 | 67420 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2024/01/27 | 103597 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2024/01/27 | 78377 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2024/01/27 | 31570 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2024/01/27 | 395577 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2024/01/27 | 40402 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2024/01/27 | 59288 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2024/01/27 | 272224 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2024/01/27 | 221376 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2024/01/27 | 106588 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2024/01/27 | 25628 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2024/01/27 | 473089 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
+2024/01/27 | 54219 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2024/01/27 | 330077 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2024/01/27 | 47313 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2024/01/27 | 137752 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2024/01/27 | 1439347 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2024/01/27 | 104446 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2024/01/27 | 49708 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2024/01/27 | 29132 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2024/01/27 | 77335 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2024/01/27 | 160002 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2024/01/27 | 81760 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2024/01/27 | 82134 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2024/01/27 | 305294 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2024/01/27 | 25610 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2024/01/27 | 105790 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2024/01/27 | 73338 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2024/01/27 | 117700 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2024/01/27 | 44386 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2024/01/27 | 698546 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2024/01/27 | 249257 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma
+2024/01/27 | 217256 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2024/01/27 | 109868 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2024/01/27 | 19989 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2024/01/27 | 32877 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2024/01/27 | 707363 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2024/01/27 | 605070 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2024/01/27 | 530215 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2024/01/27 | 104214 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2024/01/27 | 1996888 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2024/01/27 | 81993 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2024/01/27 | 33813 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2024/01/27 | 8884 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2024/01/27 | 232196 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2024/01/27 | 287535 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2024/01/27 | 108630 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2024/01/27 | 142100 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2024/01/27 | 291306 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2024/01/27 | 182608 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2024/01/27 | 56060 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2024/01/27 | 35356 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2024/01/27 | 44055 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2024/01/27 | 48221 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2024/01/27 | 52675 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2024/01/27 | 219158 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
+2024/01/27 | 43114 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
+2024/01/27 | 828873 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2024/01/27 | 203143 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2024/01/27 | 245979 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2024/01/27 | 88649 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2024/01/27 | 1341700 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2024/01/27 | 24139 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2024/01/27 | 37633 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2024/01/27 | 75063 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2024/01/27 | 60970 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2024/01/27 | 499460 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma
+2024/01/27 | 1531090 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2024/01/27 | 54812 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2024/01/27 | 65117 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
+2024/01/27 | 27187 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2024/01/27 | 19972 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2024/01/27 | 73413 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2024/01/27 | 174061 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2024/01/27 | 69693 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2024/01/27 | 112563 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2024/01/27 | 2844976 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2024/01/27 | 64943 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2024/01/27 | 44105 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
+2024/01/27 | 33920 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2024/01/27 | 76170 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2024/01/27 | 352037 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2024/01/27 | 58943 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
+2024/01/27 | 606630 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2024/01/27 | 45935 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2024/01/27 | 345448 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2024/01/27 | 2011945 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2024/01/27 | 1728733 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2024/01/27 | 14609 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
2019/03/12 | 1412 | systems/win32/miktex/tm/packages/nextpage.tar.lzma
-2024/01/20 | 1150 | systems/win32/miktex/tm/packages/next/pr.ini
+2024/01/27 | 1150 | systems/win32/miktex/tm/packages/next/pr.ini
2018/07/06 | 145915 | systems/win32/miktex/tm/packages/nexus-otf.tar.lzma
2017/03/30 | 191149 | systems/win32/miktex/tm/packages/nfssext-cfr.tar.lzma
2023/02/23 | 608421 | systems/win32/miktex/tm/packages/nicefilelist__doc.tar.lzma
@@ -318838,7 +318840,7 @@
2020/07/19 | 477070 | systems/win32/miktex/tm/packages/polytable.tar.lzma
2022/06/12 | 2674 | systems/win32/miktex/tm/packages/poormanlog__doc.tar.lzma
2022/06/12 | 4073 | systems/win32/miktex/tm/packages/poormanlog.tar.lzma
-2017/11/05 | 1472985 | systems/win32/miktex/tm/packages/poppler.tar.lzma
+2024/01/27 | 1644536 | systems/win32/miktex/tm/packages/poppler.tar.lzma
2020/08/09 | 526374 | systems/win32/miktex/tm/packages/popupmenu.tar.lzma
2018/06/04 | 314792 | systems/win32/miktex/tm/packages/postage.tar.lzma
2016/07/18 | 2930 | systems/win32/miktex/tm/packages/postcards.tar.lzma
@@ -318882,7 +318884,7 @@
2023/03/17 | 425296 | systems/win32/miktex/tm/packages/principia__doc.tar.lzma
2023/03/17 | 16206 | systems/win32/miktex/tm/packages/principia__source.tar.lzma
2023/03/17 | 8606 | systems/win32/miktex/tm/packages/principia.tar.lzma
-2024/01/20 | 950 | systems/win32/miktex/tm/packages/pr.ini
+2024/01/27 | 1132 | systems/win32/miktex/tm/packages/pr.ini
2010/09/27 | 248469 | systems/win32/miktex/tm/packages/printlen.tar.lzma
2008/06/17 | 77313 | systems/win32/miktex/tm/packages/proba.tar.lzma
2017/07/12 | 988486 | systems/win32/miktex/tm/packages/probsoln.tar.lzma
@@ -321200,7 +321202,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
-2024/01/27 | 186 | timestamp
+2024/01/28 | 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 2c0994ff25..5ba2a2e829 100644
--- a/FILES.byname.gz
+++ b/FILES.byname.gz
Binary files differ
diff --git a/FILES.last07days b/FILES.last07days
index 3fe5bed2cc..ccce742caa 100644
--- a/FILES.last07days
+++ b/FILES.last07days
@@ -1,3 +1,460 @@
+2024/01/27 | 988 | support/texlab/crates/references/src/label.rs
+2024/01/27 | 987 | support/texlab/crates/commands/src/change_env.rs
+2024/01/27 | 9844 | systems/texlive/tlnet/archive/metalogox.source.r69601.tar.xz
+2024/01/27 | 967 | support/texlab/crates/completion/src/util.rs
+2024/01/27 | 9404814 | systems/win32/miktex/tm/packages/miktex-qt6-bin-x64.tar.lzma
+2024/01/27 | 927 | support/texlab/crates/texlab/src/features/symbols.rs
+2024/01/27 | 9194 | support/texlab/crates/symbols/src/workspace/tests.rs
+2024/01/27 | 9070 | support/texlab/crates/symbols/src/document/tex.rs
+2024/01/27 | 901 | support/texlab/crates/highlights/src/tests.rs
+2024/01/27 | 8955 | support/texlab/crates/bibtex-utils/src/field/text.rs
+2024/01/27 | 89179 | systems/win32/miktex/tm/packages/miktex-png-bin-x64-2.9.tar.lzma
+2024/01/27 | 8888 | macros/latex/contrib/regulatory/tex/fc-dutch.def
+2024/01/27 | 8884 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2024/01/27 | 88649 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2024/01/27 | 8847 | support/texlab/crates/texlab/src/server/options.rs
+2024/01/27 | 8840 | systems/win32/miktex/tm/packages/miktex-md5-bin-x64-2.9.tar.lzma
+2024/01/27 | 880 | support/texlab/crates/definition/src/citation.rs
+2024/01/27 | 875 | support/texlab/crates/citeproc/src/lib.rs
+2024/01/27 | 850 | support/texlab/crates/hover/src/label.rs
+2024/01/27 | 848 | support/texlab/crates/rename/src/label.rs
+2024/01/27 | 84360 | systems/win32/miktex/tm/packages/miktex-freeglut-bin-x64-2.9.tar.lzma
+2024/01/27 | 834732 | systems/win32/miktex/tm/packages/miktex-pdftex-bin-x64-2.9.tar.lzma
+2024/01/27 | 82942 | systems/win32/miktex/tm/packages/miktex-fonts-bin-x64-2.9.tar.lzma
+2024/01/27 | 828873 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2024/01/27 | 827 | support/texlab/crates/inlay-hints/src/lib.rs
+2024/01/27 | 82134 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2024/01/27 | 820 | support/texlab/crates/distro/src/texlive.rs
+2024/01/27 | 82041 | systems/win32/miktex/tm/packages/miktex-lzma-bin-x64-2.9.tar.lzma
+2024/01/27 | 81993 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2024/01/27 | 81760 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2024/01/27 | 806 | support/texlab/crates/highlights/src/label.rs
+2024/01/27 | 804 | support/texlab/crates/texlab/src/features/formatting/bibtex_internal.rs
+2024/01/27 | 79582 | systems/win32/miktex/tm/packages/miktex-bibtex-bin-x64-2.9.tar.lzma
+2024/01/27 | 790669 | systems/win32/miktex/tm/packages/files.csv.lzma
+2024/01/27 | 79035 | systems/win32/miktex/tm/packages/miktex-fmt-bin-x64-2.9.tar.lzma
+2024/01/27 | 790334 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2024/01/27 | 78377 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2024/01/27 | 780213 | systems/win32/miktex/tm/packages/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2024/01/27 | 77648 | systems/win32/miktex/tm/packages/miktex-web-bin-x64-2.9.tar.lzma
+2024/01/27 | 77335 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2024/01/27 | 76170 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2024/01/27 | 760 | support/texlab/crates/texlab/src/features/rename.rs
+2024/01/27 | 7581234 | support/texlab.zip
+2024/01/27 | 75544 | systems/win32/miktex/tm/packages/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2024/01/27 | 75063 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2024/01/27 | 74165 | systems/win32/miktex/tm/packages/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2024/01/27 | 73463 | systems/win32/miktex/tm/packages/miktex-graphite2-bin-x64-2.9.tar.lzma
+2024/01/27 | 7344 | systems/texlive/tlnet/archive/proof-at-the-end.r69602.tar.xz
+2024/01/27 | 73413 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2024/01/27 | 73338 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2024/01/27 | 725 | support/texlab/crates/hover/src/package.rs
+2024/01/27 | 712416 | systems/win32/miktex/tm/packages/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2024/01/27 | 710 | support/texlab/crates/distro/src/kpsewhich.rs
+2024/01/27 | 7092 | support/texlab/crates/hover/src/tests.rs
+2024/01/27 | 70843 | systems/win32/miktex/tm/packages/miktex-texify-bin-x64-2.9.tar.lzma
+2024/01/27 | 707363 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2024/01/27 | 699 | support/texlab/crates/completion/src/providers.rs
+2024/01/27 | 698546 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2024/01/27 | 6970534 | support/texlab/crates/completion-data/data/completion.json.gz
+2024/01/27 | 69693 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2024/01/27 | 6963 | support/texlab/crates/syntax/src/bibtex/cst.rs
+2024/01/27 | 694 | support/texlab/crates/syntax/src/bibtex.rs
+2024/01/27 | 691 | support/texlab/crates/completion/Cargo.toml
+2024/01/27 | 69116 | systems/texlive/tlnet/archive/memoir.r69600.tar.xz
+2024/01/27 | 689 | support/texlab/crates/syntax/src/latex.rs
+2024/01/27 | 6870 | support/texlab/crates/bibfmt/src/lib.rs
+2024/01/27 | 6858 | macros/latex/contrib/babel-contrib/scottish/scottish.dtx
+2024/01/27 | 68114 | systems/win32/miktex/tm/packages/miktex-bibarts-bin-x64-2.9.tar.lzma
+2024/01/27 | 67420 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2024/01/27 | 6723 | support/texlab/crates/texlab/src/util/from_proto.rs
+2024/01/27 | 669 | support/texlab/crates/links/src/include.rs
+2024/01/27 | 6528 | support/texlab/crates/line-index/src/lib.rs
+2024/01/27 | 65117 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
+2024/01/27 | 65111 | systems/win32/miktex/tm/packages/miktex-tdsutil-bin-x64.tar.lzma
+2024/01/27 | 64943 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2024/01/27 | 64793 | systems/win32/miktex/tm/packages/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2024/01/27 | 6364 | systems/texlive/tlnet/archive/babel-norsk.source.r69603.tar.xz
+2024/01/27 | 631 | support/texlab/crates/diagnostics/Cargo.toml
+2024/01/27 | 623161 | macros/latex/contrib/regulatory.zip
+2024/01/27 | 6210 | support/texlab/crates/base-db/src/document.rs
+2024/01/27 | 619 | support/texlab/texlab.1
+2024/01/27 | 619586 | systems/win32/miktex/tm/packages/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2024/01/27 | 61847 | systems/win32/miktex/tm/packages/miktex-psutils-bin-x64-2.9.tar.lzma
+2024/01/27 | 617 | support/texlab/crates/hover/src/field_type.rs
+2024/01/27 | 616 | support/texlab/crates/syntax/src/bibtex/kind.rs
+2024/01/27 | 613 | support/texlab/crates/highlights/src/lib.rs
+2024/01/27 | 60 | support/texlab/crates/bibtex-utils/src/field.rs
+2024/01/27 | 609839 | systems/win32/miktex/tm/packages/miktex-libressl-bin-x64-2.9.tar.lzma
+2024/01/27 | 609777 | systems/win32/miktex/tm/packages/miktex-yap-bin-x64-2.9.tar.lzma
+2024/01/27 | 60970 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2024/01/27 | 60916 | systems/win32/miktex/tm/packages/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2024/01/27 | 606630 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2024/01/27 | 605070 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2024/01/27 | 59661 | systems/win32/miktex/tm/packages/miktex-xml2pmx-bin-x64.tar.lzma
+2024/01/27 | 5942 | support/texlab/crates/base-db/src/graph.rs
+2024/01/27 | 59288 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2024/01/27 | 5900 | support/texlab/crates/base-db/src/util/label.rs
+2024/01/27 | 58943 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
+2024/01/27 | 58408 | support/texlab/crates/base-db/src/data.rs
+2024/01/27 | 5805 | support/texlab/crates/diagnostics/src/tests.rs
+2024/01/27 | 57538 | systems/win32/miktex/tm/packages/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2024/01/27 | 5746245 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2024/01/27 | 566 | support/texlab/crates/texlab/src/features/folding.rs
+2024/01/27 | 5657 | support/texlab/crates/symbols/src/workspace/sort.rs
+2024/01/27 | 560 | support/texlab/crates/base-db/src/lib.rs
+2024/01/27 | 56060 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2024/01/27 | 559 | support/texlab/crates/commands/Cargo.toml
+2024/01/27 | 555 | support/texlab/crates/base-db/Cargo.toml
+2024/01/27 | 5553 | support/texlab/crates/base-db/src/util/queries.rs
+2024/01/27 | 55343 | systems/win32/miktex/tm/packages/miktex-synctex-bin-x64-2.9.tar.lzma
+2024/01/27 | 5533 | support/texlab/crates/completion/src/lib.rs
+2024/01/27 | 54812 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2024/01/27 | 54784 | systems/win32/miktex/tm/packages/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2024/01/27 | 54219 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2024/01/27 | 541 | support/texlab/crates/hover/src/entry_type.rs
+2024/01/27 | 5386 | support/texlab/crates/parser/src/latex/lexer/commands.rs
+2024/01/27 | 5385 | support/texlab/crates/parser/src/build_log.rs
+2024/01/27 | 533 | support/texlab/crates/texlab/src/features/definition.rs
+2024/01/27 | 530215 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2024/01/27 | 5283 | support/texlab/crates/test-utils/src/fixture.rs
+2024/01/27 | 52748 | systems/win32/miktex/tm/packages/miktex-m-tx-bin-x64-2.9.tar.lzma
+2024/01/27 | 52675 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2024/01/27 | 52599 | macros/latex/contrib/regulatory/doc/example2-nl.pdf
+2024/01/27 | 52555 | macros/latex/contrib/regulatory/doc/example2-en.pdf
+2024/01/27 | 505 | support/texlab/crates/texlab/src/features/highlight.rs
+2024/01/27 | 5056 | systems/texlive/tlnet/archive/metalogox.r69601.tar.xz
+2024/01/27 | 504 | support/texlab/crates/syntax/src/lib.rs
+2024/01/27 | 503992 | systems/win32/miktex/tm/packages/miktex-ptex-bin-x64.tar.lzma
+2024/01/27 | 499 | support/texlab/crates/symbols/Cargo.toml
+2024/01/27 | 49966 | systems/win32/miktex/tm/packages/miktex-expat-bin-x64-2.9.tar.lzma
+2024/01/27 | 499460 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma
+2024/01/27 | 49708 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2024/01/27 | 492 | support/texlab/crates/bibtex-utils/Cargo.toml
+2024/01/27 | 49003 | systems/win32/miktex/tm/packages/miktex-mtprint-bin-x64-2.9.tar.lzma
+2024/01/27 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2024/01/27 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2024/01/27 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2024/01/27 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2024/01/27 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2024/01/27 | 488 | support/texlab/crates/citeproc/Cargo.toml
+2024/01/27 | 483 | support/texlab/crates/hover/Cargo.toml
+2024/01/27 | 48221 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2024/01/27 | 48200 | systems/win32/miktex/tm/packages/miktex-dvipng-bin-x64-2.9.tar.lzma
+2024/01/27 | 4746 | support/texlab/crates/completion/src/providers/include.rs
+2024/01/27 | 473821 | systems/win32/miktex/tm/packages/miktex-doc.tar.lzma
+2024/01/27 | 47313 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2024/01/27 | 4730 | support/texlab/crates/citeproc/src/entry.rs
+2024/01/27 | 473089 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
+2024/01/27 | 467 | support/texlab/crates/texlab/src/features/link.rs
+2024/01/27 | 464992 | systems/texlive/tlnet/archive/proof-at-the-end.doc.r69602.tar.xz
+2024/01/27 | 46166 | systems/win32/miktex/tm/packages/miktex-zlib-bin-x64-2.9.tar.lzma
+2024/01/27 | 460 | support/texlab/crates/texlab/src/features/inlay_hint.rs
+2024/01/27 | 45935 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2024/01/27 | 45704 | systems/win32/miktex/tm/packages/miktex-mthelp-bin-x64-2.9.tar.lzma
+2024/01/27 | 45143 | systems/win32/miktex/tm/packages/miktex-upmendex-bin-x64.tar.lzma
+2024/01/27 | 44921 | systems/win32/miktex/tm/packages/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2024/01/27 | 445 | support/texlab/crates/base-db/src/util/regex_filter.rs
+2024/01/27 | 444 | support/texlab/crates/texlab/benches/bench_main.rs
+2024/01/27 | 44475 | macros/latex/contrib/regulatory/doc/regulatory.tex
+2024/01/27 | 44454 | support/texlab/crates/parser/src/build_log/tests.rs
+2024/01/27 | 44386 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2024/01/27 | 44178 | support/texlab/crates/completion/src/tests.rs
+2024/01/27 | 44119 | support/texlab/Cargo.lock
+2024/01/27 | 44105 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
+2024/01/27 | 44055 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2024/01/27 | 4387 | support/texlab/crates/base-db/src/config.rs
+2024/01/27 | 43854 | systems/win32/miktex/tm/packages/miktex-patgen-bin-x64.tar.lzma
+2024/01/27 | 431996 | systems/texlive/tlnet/archive/texlive-scripts.doc.r69595.tar.xz
+2024/01/27 | 43114 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
+2024/01/27 | 4297 | support/texlab/crates/completion/src/providers/environment.rs
+2024/01/27 | 4254 | support/texlab/crates/completion/src/providers/command.rs
+2024/01/27 | 4250 | macros/latex/contrib/babel-contrib/scottish/scottish.ins
+2024/01/27 | 4156 | systems/texlive/tlnet/archive/scrabble.r69599.tar.xz
+2024/01/27 | 41169 | systems/win32/miktex/tm/packages/miktex-chktex-bin-x64-2.9.tar.lzma
+2024/01/27 | 4116271 | biblio/ctan-bibdata.zip
+2024/01/27 | 409 | support/texlab/crates/texlab/src/features/reference.rs
+2024/01/27 | 408 | macros/latex/contrib/babel-contrib/scottish/README.md
+2024/01/27 | 40402 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2024/01/27 | 39988 | support/texlab/crates/texlab/src/server.rs
+2024/01/27 | 398928 | systems/texlive/tlnet/archive/metalogox.doc.r69601.tar.xz
+2024/01/27 | 395577 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2024/01/27 | 395146 | systems/win32/miktex/tm/packages/miktex-cairo-bin-x64-2.9.tar.lzma
+2024/01/27 | 3944 | systems/texlive/tlnet/archive/babel-samin.source.r69604.tar.xz
+2024/01/27 | 3901 | support/texlab/crates/commands/src/fwd_search.rs
+2024/01/27 | 389 | support/texlab/crates/commands/src/lib.rs
+2024/01/27 | 3838 | support/texlab/crates/commands/src/build.rs
+2024/01/27 | 3828 | support/texlab/README.md
+2024/01/27 | 3801 | support/texlab/crates/diagnostics/src/chktex.rs
+2024/01/27 | 380190 | support/texlab/images/demo.gif
+2024/01/27 | 378 | support/texlab/crates/definition/Cargo.toml
+2024/01/27 | 37684 | systems/win32/miktex/tm/packages/miktex-posix-bin-x64-2.9.tar.lzma
+2024/01/27 | 37633 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2024/01/27 | 375 | support/texlab/crates/parser/Cargo.toml
+2024/01/27 | 37577 | systems/win32/miktex/tm/packages/miktex-axohelp-bin-x64-2.9.tar.lzma
+2024/01/27 | 37350 | systems/win32/miktex/tm/packages/miktex-arctrl-bin-x64-2.9.tar.lzma
+2024/01/27 | 3708800 | biblio/ctan-bibdata/ctan.pdf
+2024/01/27 | 36797 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2024/01/27 | 36722 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2024/01/27 | 3636 | support/texlab/crates/diagnostics/src/grammar/tex.rs
+2024/01/27 | 356 | support/texlab/crates/completion-data/Cargo.toml
+2024/01/27 | 356081 | systems/win32/miktex/tm/packages/miktex-xetex-bin-x64-2.9.tar.lzma
+2024/01/27 | 355 | support/texlab/crates/folding/Cargo.toml
+2024/01/27 | 35482 | systems/win32/miktex/tm/packages/miktex-mspack-bin-x64-2.9.tar.lzma
+2024/01/27 | 353 | support/texlab/crates/rename/Cargo.toml
+2024/01/27 | 35356 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2024/01/27 | 3531 | support/texlab/crates/inlay-hints/src/tests.rs
+2024/01/27 | 352 | support/texlab/crates/bibfmt/Cargo.toml
+2024/01/27 | 352037 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2024/01/27 | 35149 | support/texlab/LICENSE
+2024/01/27 | 3501 | support/texlab/crates/completion/src/providers/label.rs
+2024/01/27 | 348 | support/texlab/crates/inlay-hints/Cargo.toml
+2024/01/27 | 34893 | support/texlab/crates/parser/src/latex.rs
+2024/01/27 | 3486 | support/texlab/crates/bibfmt/src/tests.rs
+2024/01/27 | 347 | support/texlab/Cargo.toml
+2024/01/27 | 34596 | systems/win32/miktex/tm/packages/miktex-makeindex-bin-x64-2.9.tar.lzma
+2024/01/27 | 345488 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2024/01/27 | 345448 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2024/01/27 | 343420 | systems/win32/miktex/tm/packages/miktex-qt5-bin-x64.tar.lzma
+2024/01/27 | 34107 | systems/win32/miktex/tm/packages/miktex-uriparser-bin-x64-2.9.tar.lzma
+2024/01/27 | 33920 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2024/01/27 | 33914 | support/texlab/CHANGELOG.md
+2024/01/27 | 33813 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2024/01/27 | 336 | support/texlab/crates/references/Cargo.toml
+2024/01/27 | 3364016 | systems/texlive/tlnet/archive/simpleicons.r69598.tar.xz
+2024/01/27 | 33635 | systems/win32/miktex/tm/packages/miktex-lacheck-bin-x64-2.9.tar.lzma
+2024/01/27 | 334 | support/texlab/crates/texlab/src/features/hover.rs
+2024/01/27 | 334484 | systems/win32/miktex/tm/packages/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2024/01/27 | 330 | support/texlab/crates/test-utils/Cargo.toml
+2024/01/27 | 3301 | support/texlab/crates/completion/src/providers/tikz_library.rs
+2024/01/27 | 330077 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2024/01/27 | 32877 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2024/01/27 | 326 | support/texlab/crates/highlights/Cargo.toml
+2024/01/27 | 3265 | support/texlab/crates/completion-data/src/lib.rs
+2024/01/27 | 3225 | support/texlab/crates/folding/src/lib.rs
+2024/01/27 | 3223 | support/texlab/crates/texlab/src/client.rs
+2024/01/27 | 32066 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2024/01/27 | 31973 | systems/win32/miktex/tm/packages/miktex-autosp-bin-x64-2.9.tar.lzma
+2024/01/27 | 31570 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2024/01/27 | 31330 | systems/win32/miktex/tm/packages/miktex-bzip2-bin-x64-2.9.tar.lzma
+2024/01/27 | 3127948 | systems/texlive/tlnet/archive/memoir.doc.r69600.tar.xz
+2024/01/27 | 3093 | support/texlab/crates/commands/src/find_envs.rs
+2024/01/27 | 3086 | support/texlab/crates/parser/src/config.rs
+2024/01/27 | 3056 | support/texlab/crates/parser/src/latex/lexer/types.rs
+2024/01/27 | 305357 | systems/win32/miktex/tm/packages/miktex-freetype2-bin-x64-2.9.tar.lzma
+2024/01/27 | 305294 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2024/01/27 | 303 | support/texlab/crates/links/Cargo.toml
+2024/01/27 | 3018 | support/texlab/crates/references/src/tests.rs
+2024/01/27 | 29970 | systems/win32/miktex/tm/packages/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2024/01/27 | 293316 | systems/win32/miktex/tm/packages/miktex-mo-bin-x64-2.9.tar.lzma
+2024/01/27 | 29132 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2024/01/27 | 291306 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2024/01/27 | 2899139 | systems/win32/miktex/tm/packages/miktex-texworks-bin-x64-2.9.tar.lzma
+2024/01/27 | 288890 | systems/win32/miktex/tm/packages/miktex-metapost-bin-x64-2.9.tar.lzma
+2024/01/27 | 287535 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2024/01/27 | 2844976 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2024/01/27 | 2843107 | biblio/ctan-bibdata/ctan.bib
+2024/01/27 | 2768 | support/texlab/crates/diagnostics/src/manager.rs
+2024/01/27 | 275433 | systems/win32/miktex/tm/packages/miktex-console-bin-x64-2.9.tar.lzma
+2024/01/27 | 272224 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2024/01/27 | 27187 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2024/01/27 | 27187 | systems/win32/miktex/tm/packages/miktex-teckit-bin-x64-2.9.tar.lzma
+2024/01/27 | 26 | support/texlab/crates/diagnostics/src/grammar.rs
+2024/01/27 | 26801 | systems/win32/miktex/tm/packages/miktex-devnag-bin-x64-2.9.tar.lzma
+2024/01/27 | 2665 | support/texlab/crates/bibtex-utils/src/field/date.rs
+2024/01/27 | 2652 | support/texlab/crates/diagnostics/src/grammar/bib.rs
+2024/01/27 | 264 | support/texlab/crates/links/src/lib.rs
+2024/01/27 | 26470 | support/texlab/texlab.pdf
+2024/01/27 | 263284 | systems/texlive/tlnet/archive/newtxsf.doc.r69597.tar.xz
+2024/01/27 | 2612 | support/texlab/crates/completion/src/providers/glossary.rs
+2024/01/27 | 2610 | support/texlab/crates/symbols/src/types.rs
+2024/01/27 | 2609 | support/texlab/crates/texlab/src/server/extensions.rs
+2024/01/27 | 26032793 | systems/texlive/tlnet/install-tl.zip
+2024/01/27 | 2601 | support/texlab/crates/definition/src/tests.rs
+2024/01/27 | 2586 | support/texlab/texlab.tex
+2024/01/27 | 25756 | macros/latex/contrib/regulatory/doc/example1-en.pdf
+2024/01/27 | 256704 | systems/win32/miktex/tm/packages/miktex-hitex-bin-x64.tar.lzma
+2024/01/27 | 25628 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2024/01/27 | 25610 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2024/01/27 | 25600 | macros/latex/contrib/regulatory/doc/example1-nl.pdf
+2024/01/27 | 2543 | support/texlab/crates/distro/src/lib.rs
+2024/01/27 | 25417 | systems/win32/miktex/tm/packages/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2024/01/27 | 2525068 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2024/01/27 | 2504 | systems/texlive/tlnet/archive/babel-norsk.r69603.tar.xz
+2024/01/27 | 2493 | support/texlab/crates/completion/src/providers/argument.rs
+2024/01/27 | 249257 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma
+2024/01/27 | 2481 | support/texlab/crates/completion/src/providers/import.rs
+2024/01/27 | 2467 | support/texlab/crates/distro/src/miktex.rs
+2024/01/27 | 2459888 | systems/texlive/tlnet/archive/simpleicons.doc.r69598.tar.xz
+2024/01/27 | 245979 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2024/01/27 | 245831 | systems/win32/miktex/tm/packages/miktex-pmx-bin-x64-2.9.tar.lzma
+2024/01/27 | 24173 | systems/win32/miktex/tm/packages/miktex-popt-bin-x64-2.9.tar.lzma
+2024/01/27 | 24139 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2024/01/27 | 2411 | support/texlab/crates/texlab/src/server/dispatch.rs
+2024/01/27 | 240116 | systems/win32/miktex/tm/packages/miktex-curl-bin-x64-2.9.tar.lzma
+2024/01/27 | 238556 | systems/win32/miktex/tm/packages/miktex-metafont-bin-x64-2.9.tar.lzma
+2024/01/27 | 2371 | support/texlab/crates/base-db/src/semantics/bib.rs
+2024/01/27 | 2370 | support/texlab/crates/diagnostics/src/labels.rs
+2024/01/27 | 2369 | support/texlab/crates/completion/src/providers/field.rs
+2024/01/27 | 2364 | support/texlab/crates/diagnostics/src/types.rs
+2024/01/27 | 233 | support/texlab/crates/line-index/Cargo.toml
+2024/01/27 | 232196 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2024/01/27 | 2320 | support/texlab/crates/completion/src/util/patterns.rs
+2024/01/27 | 228133 | macros/latex/contrib/regulatory/doc/regulatory-nl.pdf
+2024/01/27 | 227 | support/texlab/crates/syntax/Cargo.toml
+2024/01/27 | 227 | support/texlab/crates/distro/Cargo.toml
+2024/01/27 | 2276 | support/texlab/crates/completion/src/providers/citations.rs
+2024/01/27 | 227678 | macros/latex/contrib/regulatory/doc/regulatory-en.pdf
+2024/01/27 | 2267 | support/texlab/crates/diagnostics/src/citations.rs
+2024/01/27 | 2265 | support/texlab/crates/texlab/src/util/lsp_enums.rs
+2024/01/27 | 22204 | support/texlab/crates/citeproc/src/driver.rs
+2024/01/27 | 22200 | macros/latex/contrib/regulatory/tex/regulatory.sty
+2024/01/27 | 221376 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2024/01/27 | 220970 | systems/win32/miktex/tm/packages/miktex-omegaware-bin-x64-2.9.tar.lzma
+2024/01/27 | 2196 | support/texlab/crates/diagnostics/src/build_log.rs
+2024/01/27 | 219158 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
+2024/01/27 | 217256 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2024/01/27 | 216500 | systems/texlive/tlnet/archive/memoir.source.r69600.tar.xz
+2024/01/27 | 2107 | support/texlab/crates/completion/src/providers/color.rs
+2024/01/27 | 21028593 | systems/texlive/tlnet/install-tl-windows.exe
+2024/01/27 | 210249 | systems/win32/miktex/tm/packages/miktex-hunspell-bin-x64-2.9.tar.lzma
+2024/01/27 | 20872 | systems/texlive/tlnet/archive/proof-at-the-end.source.r69602.tar.xz
+2024/01/27 | 20761 | systems/win32/miktex/tm/packages/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2024/01/27 | 2074 | support/texlab/crates/bibtex-utils/src/field/author.rs
+2024/01/27 | 20749 | systems/win32/miktex/tm/packages/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2024/01/27 | 2065 | support/texlab/crates/texlab/src/features/formatting/latexindent.rs
+2024/01/27 | 204944 | systems/win32/miktex/tm/packages/miktex-pixman-bin-x64-2.9.tar.lzma
+2024/01/27 | 2040 | support/texlab/crates/parser/src/latex/lexer.rs
+2024/01/27 | 203143 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2024/01/27 | 202 | support/texlab/crates/parser/src/lib.rs
+2024/01/27 | 2029330 | systems/win32/miktex/tm/packages/miktex-luatex-bin-x64-2.9.tar.lzma
+2024/01/27 | 2014544 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2024/01/27 | 2011945 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2024/01/27 | 19989 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2024/01/27 | 19972 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2024/01/27 | 1996888 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2024/01/27 | 197 | support/texlab/crates/texlab/src/features.rs
+2024/01/27 | 1974 | support/texlab/crates/symbols/src/document/bib.rs
+2024/01/27 | 1917 | support/texlab/crates/distro/src/file_name_db.rs
+2024/01/27 | 1900 | systems/texlive/tlnet/archive/babel-samin.r69604.tar.xz
+2024/01/27 | 1898 | support/texlab/crates/texlab/Cargo.toml
+2024/01/27 | 18817434 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2024/01/27 | 182608 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2024/01/27 | 182345 | systems/win32/miktex/tm/packages/miktex-mpfr-bin-x64-2.9.tar.lzma
+2024/01/27 | 181 | support/texlab/CONTRIBUTING.md
+2024/01/27 | 18115 | support/texlab/crates/texlab/src/util/to_proto.rs
+2024/01/27 | 18098 | support/texlab/crates/syntax/src/latex/cst.rs
+2024/01/27 | 17 | support/texlab/crates/test-utils/src/lib.rs
+2024/01/27 | 1798 | support/texlab/crates/inlay-hints/src/label.rs
+2024/01/27 | 1780 | support/texlab/crates/parser/src/latexmkrc.rs
+2024/01/27 | 176 | support/texlab/crates/base-db/src/util.rs
+2024/01/27 | 1760 | support/texlab/crates/citeproc/src/output.rs
+2024/01/27 | 175 | support/texlab/crates/symbols/src/lib.rs
+2024/01/27 | 175743 | systems/win32/miktex/tm/packages/miktex-tex-bin-x64-2.9.tar.lzma
+2024/01/27 | 1740 | support/texlab/crates/commands/src/clean.rs
+2024/01/27 | 174061 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2024/01/27 | 1732 | support/texlab/crates/texlab/src/util/line_index_ext.rs
+2024/01/27 | 1728733 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2024/01/27 | 1728353 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2024/01/27 | 1727 | support/texlab/crates/texlab/src/main.rs
+2024/01/27 | 1713 | support/texlab/crates/texlab/src/util/client_flags.rs
+2024/01/27 | 1708 | support/texlab/crates/syntax/src/latex/kind.rs
+2024/01/27 | 1698 | support/texlab/crates/folding/src/tests.rs
+2024/01/27 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2024/01/27 | 165 | support/texlab/crates/diagnostics/src/lib.rs
+2024/01/27 | 1644536 | systems/win32/miktex/tm/packages/poppler.tar.lzma
+2024/01/27 | 1626 | support/texlab/crates/bibtex-utils/src/field/number.rs
+2024/01/27 | 160407 | systems/win32/miktex/tm/packages/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2024/01/27 | 160002 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2024/01/27 | 15 | support/texlab/crates/bibtex-utils/src/lib.rs
+2024/01/27 | 1590 | support/texlab/crates/commands/src/dep_graph.rs
+2024/01/27 | 158845 | support/texlab/crates/parser/src/bibtex/tests.rs
+2024/01/27 | 1587974 | systems/win32/miktex/tm/packages/miktex-poppler-bin-x64-2.9.tar.lzma
+2024/01/27 | 1583 | support/texlab/crates/commands/src/placeholders.rs
+2024/01/27 | 15622 | support/texlab/crates/citeproc/src/tests.rs
+2024/01/27 | 1558821 | systems/win32/miktex/tm/packages/miktex-runtime-bin-x64-2.9.tar.lzma
+2024/01/27 | 1553 | support/texlab/crates/completion/src/providers/color_model.rs
+2024/01/27 | 1546 | support/texlab/crates/symbols/src/document.rs
+2024/01/27 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2024/01/27 | 1535 | support/texlab/crates/texlab/src/util.rs
+2024/01/27 | 1531090 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2024/01/27 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2024/01/27 | 152000 | systems/texlive/tlnet/archive/babel-norsk.doc.r69603.tar.xz
+2024/01/27 | 1510 | support/texlab/crates/rename/src/entry.rs
+2024/01/27 | 1498 | support/texlab/crates/references/src/entry.rs
+2024/01/27 | 14873 | support/texlab/crates/texlab/src/features/completion.rs
+2024/01/27 | 14609 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2024/01/27 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2024/01/27 | 14553 | systems/win32/miktex/tm/packages/miktex-zzip-bin-x64-2.9.tar.lzma
+2024/01/27 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2024/01/27 | 144785672 | systems/win32/miktex/setup/windows-x64/basic-miktex-24.1-x64.exe
+2024/01/27 | 1440564 | systems/win32/miktex/tm/packages/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2024/01/27 | 1439347 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2024/01/27 | 14338 | support/texlab/crates/symbols/src/document/tests.rs
+2024/01/27 | 142996 | systems/win32/miktex/tm/packages/miktex-mktex-bin-x64-2.9.tar.lzma
+2024/01/27 | 142100 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2024/01/27 | 1412 | support/texlab/crates/texlab/src/server/progress.rs
+2024/01/27 | 138639 | systems/win32/miktex/tm/packages/miktex-dvips-bin-x64-2.9.tar.lzma
+2024/01/27 | 1384 | support/texlab/crates/definition/src/command.rs
+2024/01/27 | 1382 | support/texlab/crates/completion/src/util/builder.rs
+2024/01/27 | 137752 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2024/01/27 | 134292 | systems/texlive/tlnet/archive/babel-samin.doc.r69604.tar.xz
+2024/01/27 | 1341700 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2024/01/27 | 1329 | support/texlab/crates/references/src/string_def.rs
+2024/01/27 | 1321 | support/texlab/crates/symbols/src/workspace.rs
+2024/01/27 | 128 | support/texlab/crates/syntax/src/latexmkrc.rs
+2024/01/27 | 1287 | support/texlab/crates/distro/src/language.rs
+2024/01/27 | 125296 | macros/latex/contrib/babel-contrib/scottish.zip
+2024/01/27 | 1247 | support/texlab/crates/rename/src/tests.rs
+2024/01/27 | 1244 | support/texlab/crates/hover/src/citation.rs
+2024/01/27 | 124268 | macros/latex/contrib/babel-contrib/scottish/scottish.pdf
+2024/01/27 | 1240 | support/texlab/crates/rename/src/command.rs
+2024/01/27 | 122 | support/texlab/crates/texlab/src/lib.rs
+2024/01/27 | 118345 | systems/win32/miktex/tm/packages/miktex-gregorio-bin-x64-2.9.tar.lzma
+2024/01/27 | 1180000 | systems/win32/miktex/tm/packages/miktex-asymptote-bin-x64-2.9.tar.lzma
+2024/01/27 | 117700 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2024/01/27 | 1175 | support/texlab/crates/definition/src/label.rs
+2024/01/27 | 1171656 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2024/01/27 | 1170 | support/texlab/crates/base-db/src/semantics/auxiliary.rs
+2024/01/27 | 1150 | systems/win32/miktex/tm/packages/next/pr.ini
+2024/01/27 | 1146 | support/texlab/crates/links/src/tests.rs
+2024/01/27 | 11450 | support/texlab/crates/base-db/src/semantics/tex.rs
+2024/01/27 | 114316 | systems/win32/miktex/tm/packages/miktex-texware-bin-x64-2.9.tar.lzma
+2024/01/27 | 114288 | systems/texlive/tlnet/archive/texlive-scripts.r69595.tar.xz
+2024/01/27 | 1139 | support/texlab/crates/references/src/lib.rs
+2024/01/27 | 1132 | systems/win32/miktex/tm/packages/pr.ini
+2024/01/27 | 1125 | support/texlab/crates/definition/src/lib.rs
+2024/01/27 | 112563 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2024/01/27 | 1119 | support/texlab/crates/texlab/src/features/formatting.rs
+2024/01/27 | 1118 | support/texlab/crates/completion/src/providers/entry_type.rs
+2024/01/27 | 11137 | support/texlab/crates/base-db/src/workspace.rs
+2024/01/27 | 1112 | support/texlab/crates/base-db/src/semantics.rs
+2024/01/27 | 11103 | support/texlab/crates/parser/src/bibtex.rs
+2024/01/27 | 110304 | systems/win32/miktex/tm/packages/miktex-jpeg-bin-x64-2.9.tar.lzma
+2024/01/27 | 110203 | systems/win32/miktex/tm/packages/miktex-mfware-bin-x64-2.9.tar.lzma
+2024/01/27 | 109868 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2024/01/27 | 108630 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2024/01/27 | 108608 | systems/win32/miktex/tm/packages/miktex-cweb-bin-x64-2.9.tar.lzma
+2024/01/27 | 1078 | support/texlab/crates/definition/src/include.rs
+2024/01/27 | 1077 | support/texlab/crates/definition/src/string_ref.rs
+2024/01/27 | 1077 | macros/latex/contrib/regulatory/doc/example1.tex
+2024/01/27 | 106588 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2024/01/27 | 1064 | support/texlab/crates/hover/src/string_ref.rs
+2024/01/27 | 106028 | systems/texlive/tlnet/archive/newtxsf.r69597.tar.xz
+2024/01/27 | 1057 | support/texlab/crates/hover/src/lib.rs
+2024/01/27 | 105790 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2024/01/27 | 105711 | systems/win32/miktex/tm/packages/miktex-gd-bin-x64-2.9.tar.lzma
+2024/01/27 | 105598 | systems/win32/miktex/tm/packages/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2024/01/27 | 1046 | support/texlab/crates/rename/src/lib.rs
+2024/01/27 | 104446 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2024/01/27 | 104258 | systems/win32/miktex/tm/packages/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2024/01/27 | 104214 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2024/01/27 | 103597 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2024/01/27 | 103594 | systems/win32/miktex/tm/packages/miktex-lua53-bin-x64-2.9.tar.lzma
+2024/01/27 | 1033 | support/texlab/crates/completion/benches/bench_main.rs
+2024/01/27 | 1025 | support/texlab/crates/completion/src/util/matchers.rs
+2024/01/27 | 1009196 | systems/texlive/tlnet/archive/scrabble.doc.r69599.tar.xz
+2024/01/27 | 100434 | support/texlab/crates/parser/src/latex/tests.rs
2024/01/26 | 961 | macros/latex/contrib/proof-at-the-end/proof-at-the-end.ins
2024/01/26 | 950 | macros/latex/contrib/tagpdf/ex-formula-problem.tex
2024/01/26 | 90400 | systems/texlive/tlnet/archive/nicematrix.source.r69588.tar.xz
@@ -6,8 +463,10 @@
2024/01/26 | 8281 | macros/latex/contrib/tagpdf/global-ex.png
2024/01/26 | 827 | macros/latex/contrib/tagpdf/ex-softhyphen.tex
2024/01/26 | 7854 | macros/latex/contrib/tagpdf/ex-formula-problem-luatex.pdf
+2024/01/26 | 772 | macros/latex/contrib/regulatory/doc/example.md
2024/01/26 | 7580 | macros/latex/contrib/babel-contrib/samin/samin.dtx
2024/01/26 | 7423 | macros/latex/contrib/memoir/doc-src/memnoidxnum.tex
+2024/01/26 | 7366 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2024/01/26 | 73552 | systems/texlive/tlnet/archive/cweb.doc.r69586.tar.xz
2024/01/26 | 72398 | macros/latex/contrib/tagpdf/tagpdf-struct.dtx
2024/01/26 | 700 | macros/latex/contrib/tagpdf/ex-spaceglyph-listings.tex
@@ -18,7 +477,6 @@
2024/01/26 | 6132896 | fonts/simpleicons.zip
2024/01/26 | 587285 | graphics/pgf/contrib/scrabble/doc/Scrabble-doc-fr.pdf
2024/01/26 | 586 | macros/latex/contrib/memoir/doc-src/trims-example.tex
-2024/01/26 | 5745974 | systems/texlive/tlnet/install-tl-unx.tar.gz
2024/01/26 | 5519 | macros/latex/contrib/memoir/doc-src/memfonts.sty
2024/01/26 | 550554 | graphics/pgf/contrib/scrabble/doc/Scrabble-doc-en.pdf
2024/01/26 | 54940 | macros/latex/contrib/memoir/README
@@ -27,21 +485,15 @@
2024/01/26 | 51438 | macros/musictex/undar-digitacion/undar-digitacion-doc.tex
2024/01/26 | 5106 | macros/latex/contrib/tagpdf/tagpdf-space.dtx
2024/01/26 | 490609 | macros/latex/contrib/proof-at-the-end.zip
-2024/01/26 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
-2024/01/26 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2024/01/26 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
-2024/01/26 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2024/01/26 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2024/01/26 | 48758 | macros/latex/contrib/metalogox/metalogox.dtx
2024/01/26 | 464 | systems/texlive/tlnet/archive/dtxtut.r69587.tar.xz
2024/01/26 | 45666 | macros/latex/contrib/tagpdf/tagpdf-roles.dtx
+2024/01/26 | 455 | macros/latex/contrib/regulatory/doc/md-example.tex
2024/01/26 | 44422 | macros/latex/contrib/tagpdf/tagpdf-backend.dtx
2024/01/26 | 432 | macros/latex/contrib/memoir/doc-src/memman.gst
-2024/01/26 | 431996 | systems/texlive/tlnet/archive/texlive-scripts.doc.r69584.tar.xz
2024/01/26 | 4285 | macros/latex/contrib/babel-contrib/norsk/norsk.ins
2024/01/26 | 42378 | macros/latex/contrib/memoir/doc-src/memsty.sty
2024/01/26 | 41844 | systems/texlive/tlnet/archive/nicematrix.r69588.tar.xz
-2024/01/26 | 4116144 | biblio/ctan-bibdata.zip
2024/01/26 | 4102 | macros/latex/contrib/tagpdf/ex-alt-actualtext.tex
2024/01/26 | 408360 | macros/latex/contrib/metalogox.zip
2024/01/26 | 404029 | macros/latex/contrib/metalogox/metalogox.pdf
@@ -57,7 +509,6 @@
2024/01/26 | 37436 | macros/latex/contrib/memoir/mempatch.dtx
2024/01/26 | 3725 | fonts/simpleicons/enc/simpleiconseight.enc
2024/01/26 | 3720 | fonts/simpleicons/enc/simpleiconsthree.enc
-2024/01/26 | 3708800 | biblio/ctan-bibdata/ctan.pdf
2024/01/26 | 3663 | fonts/simpleicons/enc/simpleiconsseven.enc
2024/01/26 | 3652 | fonts/simpleicons/enc/simpleiconsonezero.enc
2024/01/26 | 3640 | fonts/simpleicons/enc/simpleiconsoneone.enc
@@ -78,7 +529,6 @@
2024/01/26 | 286138 | fonts/simpleicons/tex/simpleiconsglyphs-pdftex.tex
2024/01/26 | 28595 | macros/latex/contrib/tagpdf/tagpdf-mc-generic.dtx
2024/01/26 | 2852 | macros/latex/contrib/memoir/mempatch.ins
-2024/01/26 | 2842595 | biblio/ctan-bibdata/ctan.bib
2024/01/26 | 2824552 | macros/latex/contrib/memoir/memman.pdf
2024/01/26 | 279922 | fonts/simpleicons/tex/simpleiconsglyphs-xeluatex.tex
2024/01/26 | 274 | fonts/simpleicons/tex/usimpleiconsonezero.fd
@@ -89,14 +539,12 @@
2024/01/26 | 264 | fonts/simpleicons/tex/usimpleiconsthree.fd
2024/01/26 | 264 | fonts/simpleicons/tex/usimpleiconsseven.fd
2024/01/26 | 264 | fonts/simpleicons/tex/usimpleiconseight.fd
-2024/01/26 | 26032780 | systems/texlive/tlnet/install-tl.zip
2024/01/26 | 259 | fonts/simpleicons/tex/usimpleiconsnine.fd
2024/01/26 | 259 | fonts/simpleicons/tex/usimpleiconsfour.fd
2024/01/26 | 259 | fonts/simpleicons/tex/usimpleiconsfive.fd
2024/01/26 | 254 | fonts/simpleicons/tex/usimpleiconstwo.fd
2024/01/26 | 254 | fonts/simpleicons/tex/usimpleiconssix.fd
2024/01/26 | 254 | fonts/simpleicons/tex/usimpleiconsone.fd
-2024/01/26 | 2523108 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2024/01/26 | 24880 | macros/latex/contrib/tagpdf/ex-mc-manual-para-split-obsolete.pdf
2024/01/26 | 24806 | macros/latex/contrib/tagpdf/ex-structure-obsolete.pdf
2024/01/26 | 2448965 | fonts/simpleicons/doc/simpleicons.pdf
@@ -109,7 +557,6 @@
2024/01/26 | 2186885 | fonts/simpleicons/type1/SimpleIcons.pfb
2024/01/26 | 2179612 | systems/texlive/tlnet/archive/nicematrix.doc.r69588.tar.xz
2024/01/26 | 2115 | macros/latex/contrib/tagpdf/ex-mc-manual-para-split-obsolete.tex
-2024/01/26 | 21028164 | systems/texlive/tlnet/install-tl-windows.exe
2024/01/26 | 206 | macros/latex/contrib/memoir/doc-src/Makeidxglo
2024/01/26 | 203838 | macros/latex/contrib/memoir/doc-src/setpage-example.pdf
2024/01/26 | 2022 | macros/latex/contrib/tagpdf/link-figure-input.tex
@@ -117,7 +564,6 @@
2024/01/26 | 19592 | macros/latex/contrib/tagpdf/ex-tagpdf-template.pdf
2024/01/26 | 19236 | macros/latex/contrib/tagpdf/ex-softhyphen.pdf
2024/01/26 | 19014 | macros/latex/contrib/tagpdf/ex-attribute.pdf
-2024/01/26 | 18817205 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
2024/01/26 | 18461 | macros/latex/contrib/tagpdf/ex-patch-sectioning-koma-luatex.pdf
2024/01/26 | 1812 | fonts/simpleicons/doc/simpleicons.tex
2024/01/26 | 17742 | macros/latex/contrib/tagpdf/ex-alt-actualtext-luatex.pdf
@@ -128,8 +574,8 @@
2024/01/26 | 170542 | fonts/simpleicons/doc/bindings.tex
2024/01/26 | 17038 | macros/latex/contrib/tagpdf/tagpdf-tree.dtx
2024/01/26 | 17036 | systems/texlive/tlnet/archive/unicode-math-input.r69591.tar.xz
+2024/01/26 | 1697 | macros/latex/contrib/regulatory/doc/regulatory-nl.tex
2024/01/26 | 169105 | macros/musictex/undar-digitacion.zip
-2024/01/26 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
2024/01/26 | 1674 | macros/latex/contrib/metalogox/metalogox.ins
2024/01/26 | 1662036 | macros/latex/contrib/tagpdf/tagpdf-code.pdf
2024/01/26 | 165863 | macros/musictex/undar-digitacion/undar-digitacion-doc.pdf
@@ -140,16 +586,13 @@
2024/01/26 | 158067 | macros/latex/contrib/babel-contrib/norsk.zip
2024/01/26 | 156840 | systems/texlive/tlnet/archive/luamplib.doc.r69592.tar.xz
2024/01/26 | 154485 | macros/latex/contrib/babel-contrib/norsk/norsk.pdf
-2024/01/26 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
2024/01/26 | 1536602 | macros/latex/contrib/memoir/doc-src/memman.tex
-2024/01/26 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
2024/01/26 | 1518 | macros/latex/contrib/memoir/doc-src/anvil2.mps
+2024/01/26 | 1500 | macros/latex/contrib/regulatory/doc/regulatory-en.tex
2024/01/26 | 14896 | graphics/pgf/contrib/scrabble/doc/Scrabble-doc-fr.tex
2024/01/26 | 1483624 | systems/texlive/tlnet/archive/tex4ht.source.r69593.tar.xz
2024/01/26 | 146932 | macros/musictex/undar-digitacion/undar-digitacion.dtx
-2024/01/26 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
2024/01/26 | 14597 | macros/latex/contrib/memoir/doc-src/memlays.sty
-2024/01/26 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
2024/01/26 | 1445 | macros/latex/contrib/tagpdf/ex-structure-obsolete.tex
2024/01/26 | 141163 | macros/latex/contrib/tagpdf/pac3.PNG
2024/01/26 | 137774 | macros/latex/contrib/babel-contrib/samin.zip
@@ -181,7 +624,6 @@
2024/01/26 | 1160 | macros/latex/contrib/tagpdf/ex-AF-file.tex
2024/01/26 | 11561 | macros/latex/contrib/proof-at-the-end/proof-at-the-end_demo.tex
2024/01/26 | 1148046 | macros/latex/contrib/memoir/memoir.dtx
-2024/01/26 | 114280 | systems/texlive/tlnet/archive/texlive-scripts.r69584.tar.xz
2024/01/26 | 1118844 | systems/texlive/tlnet/archive/tex4ht.r69593.tar.xz
2024/01/26 | 1112781 | graphics/pgf/contrib/scrabble.zip
2024/01/26 | 1095221 | macros/latex/contrib/tagpdf/tagpdf.pdf
@@ -194,7 +636,6 @@
2024/01/25 | 87044 | systems/texlive/tlnet/archive/hvlogos.doc.r69581.tar.xz
2024/01/25 | 832 | macros/latex/contrib/unicode-math-input/README
2024/01/25 | 78903 | macros/latex/contrib/siunitx/CHANGELOG.md
-2024/01/25 | 7315 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2024/01/25 | 7100 | systems/texlive/tlnet/archive/collection-latexextra.r69580.tar.xz
2024/01/25 | 705443 | macros/latex/contrib/siunitx/siunitx.pdf
2024/01/25 | 69980 | info/dtxtut/dtxtut.tex
@@ -337,7 +778,6 @@
2024/01/24 | 4058 | graphics/bclogo/tex/bc-feurouge.mps
2024/01/24 | 4048 | graphics/bclogo/tex/bc-feujaune.mps
2024/01/24 | 4032 | graphics/bclogo/tex/bc-feuvert.mps
-2024/01/24 | 3992 | systems/texlive/tlnet/archive/scrabble.r69568.tar.xz
2024/01/24 | 3944 | systems/texlive/tlnet/archive/latino-sine-flexione.doc.r69568.tar.xz
2024/01/24 | 3894 | graphics/bclogo/tex/bc-octaedre.mps
2024/01/24 | 38933 | graphics/bclogo/doc/losanges.mps
@@ -457,7 +897,6 @@
2024/01/24 | 10428 | graphics/bclogo/metapost/bc-dbulgarie.mp
2024/01/24 | 10399 | graphics/bclogo/metapost/bc-dallemagne.mp
2024/01/24 | 10389 | graphics/bclogo/metapost/bc-ours.mp
-2024/01/24 | 1019244 | systems/texlive/tlnet/archive/scrabble.doc.r69568.tar.xz
2024/01/23 | 94352 | macros/latex/contrib/ppt-slides/socrates.jpg
2024/01/23 | 935972 | macros/latex/contrib/ppt-slides/ppt-slides.pdf
2024/01/23 | 88359 | macros/latex/contrib/easybook/easybook.tex
@@ -965,666 +1404,3 @@
2024/01/21 | 1068160 | graphics/mcf2graph.zip
2024/01/21 | 105710 | graphics/mcf2graph/main_lib.mcf
2024/01/21 | 1030 | macros/latex/contrib/hyperref/doc/hyperref-doc4.html
-2024/01/20 | 9965 | systems/win32/miktex/tm/packages/tikzquads.tar.lzma
-2024/01/20 | 996503 | systems/win32/miktex/tm/packages/texinfo__source.tar.lzma
-2024/01/20 | 99339 | systems/win32/miktex/tm/packages/iran-bibtex__doc.tar.lzma
-2024/01/20 | 988 | support/texlab/crates/references/src/label.rs
-2024/01/20 | 987 | support/texlab/crates/commands/src/change_env.rs
-2024/01/20 | 98382 | usergrps/dante/dtk.zip
-2024/01/20 | 98026 | systems/win32/miktex/tm/packages/pyluatex__doc.tar.lzma
-2024/01/20 | 97470 | macros/latex/contrib/wrapfig2/wrapfig2.dtx
-2024/01/20 | 9741 | macros/latex/contrib/lettrine/doc/lettrine-demo-de.tex
-2024/01/20 | 9739 | systems/win32/miktex/tm/packages/metalogox__source.tar.lzma
-2024/01/20 | 968970 | macros/latex/contrib/wrapfig2.zip
-2024/01/20 | 9682 | macros/latex/contrib/lettrine/lettrine-2023-04-18.sty
-2024/01/20 | 967 | support/texlab/crates/completion/src/util.rs
-2024/01/20 | 965672 | systems/win32/miktex/tm/packages/texshade__doc.tar.lzma
-2024/01/20 | 9629 | systems/win32/miktex/tm/packages/minim-pdf__source.tar.lzma
-2024/01/20 | 96156 | systems/win32/miktex/tm/packages/minim-math__doc.tar.lzma
-2024/01/20 | 960579 | macros/latex/contrib/tocdata.zip
-2024/01/20 | 958822 | macros/latex/contrib/tocdata/tocdata.pdf
-2024/01/20 | 953980 | systems/win32/miktex/tm/packages/tocdata__doc.tar.lzma
-2024/01/20 | 950 | systems/win32/miktex/tm/packages/pr.ini
-2024/01/20 | 9376 | systems/texlive/tlnet/archive/metalogox.source.r69497.tar.xz
-2024/01/20 | 936085 | systems/win32/miktex/tm/packages/newtx__doc.tar.lzma
-2024/01/20 | 9317 | systems/win32/miktex/tm/packages/verifycommand__source.tar.lzma
-2024/01/20 | 928 | macros/latex/contrib/dtxdescribe/README.txt
-2024/01/20 | 91992 | macros/latex/contrib/attachfile2/attachfile2.dtx
-2024/01/20 | 9194 | support/texlab/crates/symbols/src/workspace/tests.rs
-2024/01/20 | 9119 | macros/latex/contrib/lettrine/lettrine-2018-08-18.sty
-2024/01/20 | 9118 | systems/win32/miktex/tm/packages/pmdraw__source.tar.lzma
-2024/01/20 | 9086 | systems/win32/miktex/tm/packages/minim-mp__source.tar.lzma
-2024/01/20 | 9070 | support/texlab/crates/symbols/src/document/tex.rs
-2024/01/20 | 90439 | systems/win32/miktex/tm/packages/isphysicalmath__doc.tar.lzma
-2024/01/20 | 90406335 | systems/win32/miktex/tm/packages/junicode.tar.lzma
-2024/01/20 | 900 | support/texlab/crates/highlights/src/tests.rs
-2024/01/20 | 899 | support/texlab/crates/references/src/lib.rs
-2024/01/20 | 8955 | support/texlab/crates/bibtex-utils/src/field/text.rs
-2024/01/20 | 893881 | systems/win32/miktex/tm/packages/kaytannollista-latexia.tar.lzma
-2024/01/20 | 8881 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
-2024/01/20 | 886582 | systems/win32/miktex/tm/packages/babel__source.tar.lzma
-2024/01/20 | 88637 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
-2024/01/20 | 8847 | support/texlab/crates/texlab/src/server/options.rs
-2024/01/20 | 880 | support/texlab/crates/definition/src/citation.rs
-2024/01/20 | 875 | support/texlab/crates/citeproc/src/lib.rs
-2024/01/20 | 850 | support/texlab/crates/hover/src/label.rs
-2024/01/20 | 85013 | systems/win32/miktex/tm/packages/spbmark__doc.tar.lzma
-2024/01/20 | 848 | support/texlab/crates/rename/src/label.rs
-2024/01/20 | 8459 | systems/win32/miktex/tm/packages/braids.tar.lzma
-2024/01/20 | 8413 | systems/win32/miktex/tm/packages/texlogsieve__source.tar.lzma
-2024/01/20 | 8393 | systems/win32/miktex/tm/packages/bibcop.tar.lzma
-2024/01/20 | 838594 | macros/latex/contrib/wrapfig2/wrapfig2.pdf
-2024/01/20 | 829827 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
-2024/01/20 | 828 | support/texlab/crates/texlab/src/features/formatting/bibtex_internal.rs
-2024/01/20 | 8260 | systems/win32/miktex/tm/packages/fontsetup.tar.lzma
-2024/01/20 | 8251 | support/texlab/crates/texlab/src/util/diagnostics.rs
-2024/01/20 | 82245 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
-2024/01/20 | 820 | support/texlab/crates/distro/src/texlive.rs
-2024/01/20 | 820108 | macros/latex/contrib/babel-contrib/german.zip
-2024/01/20 | 81967 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
-2024/01/20 | 81760 | systems/win32/miktex/tm/packages/tkz-euclide__source.tar.lzma
-2024/01/20 | 8171 | systems/win32/miktex/tm/packages/dtxdescribe.tar.lzma
-2024/01/20 | 81615 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
-2024/01/20 | 814 | support/texlab/crates/inlay-hints/src/lib.rs
-2024/01/20 | 8127 | macros/latex/contrib/lettrine/lettrine-2015-08-31.sty
-2024/01/20 | 809058 | systems/win32/miktex/tm/packages/piton__doc.tar.lzma
-2024/01/20 | 806 | support/texlab/crates/highlights/src/label.rs
-2024/01/20 | 803 | macros/latex/contrib/mcmthesis/code/mcmthesis-sudoku.cpp
-2024/01/20 | 8018 | systems/win32/miktex/tm/packages/superiors__source.tar.lzma
-2024/01/20 | 79 | support/texlab/crates/diagnostics/src/grammar.rs
-2024/01/20 | 7946 | systems/win32/miktex/tm/packages/pythonimmediate__source.tar.lzma
-2024/01/20 | 794072 | systems/win32/miktex/tm/packages/ppt-slides__doc.tar.lzma
-2024/01/20 | 7911 | systems/win32/miktex/tm/packages/eolang.tar.lzma
-2024/01/20 | 790413 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2024/01/20 | 790155 | systems/win32/miktex/tm/packages/files.csv.lzma
-2024/01/20 | 78370 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
-2024/01/20 | 7768 | systems/win32/miktex/tm/packages/tikzquads__source.tar.lzma
-2024/01/20 | 775846 | systems/win32/miktex/tm/packages/braids__doc.tar.lzma
-2024/01/20 | 77329 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
-2024/01/20 | 770 | support/texlab/crates/diagnostics/src/types.rs
-2024/01/20 | 7684 | systems/win32/miktex/tm/packages/tutodoc.tar.lzma
-2024/01/20 | 7632 | systems/win32/miktex/tm/packages/docshots__source.tar.lzma
-2024/01/20 | 76147 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
-2024/01/20 | 7582375 | support/texlab.zip
-2024/01/20 | 75359 | usergrps/dante/dtk/doc/beispiel.pdf
-2024/01/20 | 753054 | systems/win32/miktex/tm/packages/ltxbase__source.tar.lzma
-2024/01/20 | 752832 | systems/texlive/tlnet/archive/l3build.doc.r69495.tar.xz
-2024/01/20 | 75120 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
-2024/01/20 | 750 | support/texlab/crates/diagnostics/src/util.rs
-2024/01/20 | 74899 | systems/win32/miktex/tm/packages/texlogsieve__doc.tar.lzma
-2024/01/20 | 74560 | systems/win32/miktex/tm/packages/latexindent.tar.lzma
-2024/01/20 | 743283 | systems/win32/miktex/tm/packages/l3build__doc.tar.lzma
-2024/01/20 | 7346 | systems/win32/miktex/tm/packages/changebar.tar.lzma
-2024/01/20 | 73434 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
-2024/01/20 | 73393 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
-2024/01/20 | 73166 | macros/latex/contrib/lettrine/doc/lettrine-demo-lua.pdf
-2024/01/20 | 7304 | systems/win32/miktex/tm/packages/keyfloat.tar.lzma
-2024/01/20 | 725 | support/texlab/crates/hover/src/package.rs
-2024/01/20 | 7249 | systems/win32/miktex/tm/packages/regulatory.tar.lzma
-2024/01/20 | 7153 | systems/win32/miktex/tm/packages/tikzquests__source.tar.lzma
-2024/01/20 | 710 | support/texlab/crates/distro/src/kpsewhich.rs
-2024/01/20 | 7091 | support/texlab/crates/hover/src/tests.rs
-2024/01/20 | 7074 | systems/win32/miktex/tm/packages/ppt-slides__source.tar.lzma
-2024/01/20 | 707451 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
-2024/01/20 | 7063 | systems/win32/miktex/tm/packages/physics2.tar.lzma
-2024/01/20 | 7009 | systems/win32/miktex/tm/packages/minim__source.tar.lzma
-2024/01/20 | 699 | support/texlab/crates/completion/src/providers.rs
-2024/01/20 | 698805 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
-2024/01/20 | 6970534 | support/texlab/crates/completion-data/data/completion.json.gz
-2024/01/20 | 69688 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
-2024/01/20 | 6963 | support/texlab/crates/syntax/src/bibtex/cst.rs
-2024/01/20 | 694 | support/texlab/crates/syntax/src/bibtex.rs
-2024/01/20 | 691 | support/texlab/crates/completion/Cargo.toml
-2024/01/20 | 689 | support/texlab/crates/syntax/src/latex.rs
-2024/01/20 | 688619 | systems/win32/miktex/tm/packages/tkz-elements__doc.tar.lzma
-2024/01/20 | 6870 | support/texlab/crates/bibfmt/src/lib.rs
-2024/01/20 | 68292 | systems/texlive/tlnet/archive/tagpdf.source.r69496.tar.xz
-2024/01/20 | 6823 | systems/win32/miktex/tm/packages/preview.tar.lzma
-2024/01/20 | 67403 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
-2024/01/20 | 668 | support/texlab/crates/links/src/include.rs
-2024/01/20 | 6679 | macros/latex/contrib/lettrine/lettrine-2006-03-17.sty
-2024/01/20 | 66721 | systems/win32/miktex/tm/packages/piton__source.tar.lzma
-2024/01/20 | 6624 | systems/win32/miktex/tm/packages/hebrew-fonts.tar.lzma
-2024/01/20 | 6612 | systems/win32/miktex/tm/packages/iexec__source.tar.lzma
-2024/01/20 | 6612 | systems/win32/miktex/tm/packages/bibcop__source.tar.lzma
-2024/01/20 | 6598 | systems/win32/miktex/tm/packages/isphysicalmath__source.tar.lzma
-2024/01/20 | 6591 | systems/win32/miktex/tm/packages/pmdraw.tar.lzma
-2024/01/20 | 6541 | usergrps/dante/dtk/dtk.bbx
-2024/01/20 | 6528 | support/texlab/crates/line-index/src/lib.rs
-2024/01/20 | 6527 | systems/win32/miktex/tm/packages/minim-xmp.tar.lzma
-2024/01/20 | 65144 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
-2024/01/20 | 64563 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
-2024/01/20 | 644 | support/texlab/crates/texlab/src/features/link.rs
-2024/01/20 | 6432 | systems/win32/miktex/tm/packages/fontsetup__source.tar.lzma
-2024/01/20 | 6413485 | systems/win32/miktex/tm/packages/newcomputermodern.tar.lzma
-2024/01/20 | 63094 | systems/win32/miktex/tm/packages/texshade.tar.lzma
-2024/01/20 | 630688 | systems/win32/miktex/tm/packages/changebar__doc.tar.lzma
-2024/01/20 | 6210 | support/texlab/crates/base-db/src/document.rs
-2024/01/20 | 619 | support/texlab/texlab.1
-2024/01/20 | 617 | support/texlab/crates/hover/src/field_type.rs
-2024/01/20 | 61739 | systems/win32/miktex/tm/packages/tkz-elements__source.tar.lzma
-2024/01/20 | 616 | support/texlab/crates/syntax/src/bibtex/kind.rs
-2024/01/20 | 612 | support/texlab/crates/highlights/src/lib.rs
-2024/01/20 | 61014 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
-2024/01/20 | 6100535 | systems/win32/miktex/tm/packages/newtx.tar.lzma
-2024/01/20 | 60 | support/texlab/crates/bibtex-utils/src/field.rs
-2024/01/20 | 606520 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
-2024/01/20 | 603361 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
-2024/01/20 | 601974 | systems/win32/miktex/tm/packages/easybook__doc.tar.lzma
-2024/01/20 | 6018 | support/texlab/crates/texlab/src/util/capabilities.rs
-2024/01/20 | 5970 | systems/win32/miktex/tm/packages/bodeplot.tar.lzma
-2024/01/20 | 59700 | macros/latex/contrib/profmaquette/doc/ProfMaquette-doc.tex
-2024/01/20 | 59534 | systems/win32/miktex/tm/packages/minim-xmp__doc.tar.lzma
-2024/01/20 | 5942 | support/texlab/crates/base-db/src/graph.rs
-2024/01/20 | 5935 | systems/win32/miktex/tm/packages/runcode.tar.lzma
-2024/01/20 | 59283 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
-2024/01/20 | 592586 | systems/win32/miktex/tm/packages/fontsetup__doc.tar.lzma
-2024/01/20 | 5900 | support/texlab/crates/base-db/src/util/label.rs
-2024/01/20 | 58925 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
-2024/01/20 | 58408 | support/texlab/crates/base-db/src/data.rs
-2024/01/20 | 5781 | systems/win32/miktex/tm/packages/pst-magneticfield.tar.lzma
-2024/01/20 | 5666 | systems/win32/miktex/tm/packages/pst-magneticfield__source.tar.lzma
-2024/01/20 | 5657 | support/texlab/crates/symbols/src/workspace/sort.rs
-2024/01/20 | 5619 | systems/win32/miktex/tm/packages/minim-math__source.tar.lzma
-2024/01/20 | 56133 | systems/win32/miktex/tm/packages/tkz-base__source.tar.lzma
-2024/01/20 | 560 | support/texlab/crates/base-db/src/lib.rs
-2024/01/20 | 559 | support/texlab/crates/commands/Cargo.toml
-2024/01/20 | 55917 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
-2024/01/20 | 55775 | systems/win32/miktex/tm/packages/robust-externalize__source.tar.lzma
-2024/01/20 | 5569 | systems/win32/miktex/tm/packages/lua-placeholders__source.tar.lzma
-2024/01/20 | 5567 | systems/win32/miktex/tm/packages/lua-placeholders.tar.lzma
-2024/01/20 | 555 | support/texlab/crates/base-db/Cargo.toml
-2024/01/20 | 5553 | support/texlab/crates/base-db/src/util/queries.rs
-2024/01/20 | 555112 | systems/win32/miktex/tm/packages/bodeplot__doc.tar.lzma
-2024/01/20 | 5533 | support/texlab/crates/completion/src/lib.rs
-2024/01/20 | 5508 | systems/texlive/tlnet/archive/pst-magneticfield.r69493.tar.xz
-2024/01/20 | 5506 | systems/win32/miktex/tm/packages/amnestyreport.tar.lzma
-2024/01/20 | 54777 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
-2024/01/20 | 543 | macros/latex/contrib/attachfile2/README.md
-2024/01/20 | 54222 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
-2024/01/20 | 541 | support/texlab/crates/hover/src/entry_type.rs
-2024/01/20 | 540523 | macros/latex/contrib/lettrine.zip
-2024/01/20 | 5386 | support/texlab/crates/parser/src/latex/lexer/commands.rs
-2024/01/20 | 5385 | support/texlab/crates/parser/src/build_log.rs
-2024/01/20 | 5340 | systems/win32/miktex/tm/packages/ukbill.tar.lzma
-2024/01/20 | 5336 | systems/win32/miktex/tm/packages/ffcode__source.tar.lzma
-2024/01/20 | 5327 | systems/win32/miktex/tm/packages/pyluatex.tar.lzma
-2024/01/20 | 53158 | systems/win32/miktex/tm/packages/zx-calculus__source.tar.lzma
-2024/01/20 | 530551 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
-2024/01/20 | 5283 | support/texlab/crates/test-utils/src/fixture.rs
-2024/01/20 | 528184 | systems/win32/miktex/tm/packages/armtex.tar.lzma
-2024/01/20 | 52587 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
-2024/01/20 | 5184339 | systems/win32/miktex/tm/packages/tcolorbox__doc.tar.lzma
-2024/01/20 | 51785 | systems/win32/miktex/tm/packages/proflycee.tar.lzma
-2024/01/20 | 5159 | macros/latex/contrib/lettrine/contrib/lettrine-padl.cfl
-2024/01/20 | 51438 | macros/latex/contrib/tocdata/tocdata.dtx
-2024/01/20 | 5136 | macros/latex/contrib/lettrine/contrib/lettrine-pacl.cfl
-2024/01/20 | 505654 | systems/win32/miktex/tm/packages/ffcode__doc.tar.lzma
-2024/01/20 | 504 | support/texlab/crates/syntax/src/lib.rs
-2024/01/20 | 50422 | macros/latex/contrib/lettrine/lettrine.dtx
-2024/01/20 | 499 | support/texlab/crates/symbols/Cargo.toml
-2024/01/20 | 499814 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma
-2024/01/20 | 49700 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
-2024/01/20 | 4967 | systems/win32/miktex/tm/packages/pyluatex__source.tar.lzma
-2024/01/20 | 496168 | systems/win32/miktex/tm/packages/exsol__doc.tar.lzma
-2024/01/20 | 49564 | macros/latex/contrib/randexam/randexam-b-answer.pdf
-2024/01/20 | 49561 | macros/latex/contrib/randexam/randexam-a-answer.pdf
-2024/01/20 | 4932 | systems/win32/miktex/tm/packages/thematicpuzzle__source.tar.lzma
-2024/01/20 | 492 | support/texlab/crates/bibtex-utils/Cargo.toml
-2024/01/20 | 492597 | install/macros/latex/contrib/attachfile2.tds.zip
-2024/01/20 | 4917 | systems/win32/miktex/tm/packages/spbmark__source.tar.lzma
-2024/01/20 | 4895 | systems/win32/miktex/tm/packages/metalogox.tar.lzma
-2024/01/20 | 488 | support/texlab/crates/citeproc/Cargo.toml
-2024/01/20 | 48834 | systems/win32/miktex/tm/packages/tuda-ci.tar.lzma
-2024/01/20 | 487036 | macros/latex/contrib/dtxdescribe.zip
-2024/01/20 | 483 | support/texlab/crates/hover/Cargo.toml
-2024/01/20 | 48293 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
-2024/01/20 | 4786374 | systems/win32/miktex/tm/packages/newpx.tar.lzma
-2024/01/20 | 4779 | systems/win32/miktex/tm/packages/medmath.tar.lzma
-2024/01/20 | 4768 | systems/win32/miktex/tm/packages/pythonimmediate.tar.lzma
-2024/01/20 | 4755 | support/texlab/crates/completion/src/providers/include.rs
-2024/01/20 | 473642 | macros/latex/contrib/attachfile2/attachfile2.pdf
-2024/01/20 | 473576 | macros/latex/contrib/attachfile2.zip
-2024/01/20 | 47354 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
-2024/01/20 | 473199 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
-2024/01/20 | 4730 | support/texlab/crates/citeproc/src/entry.rs
-2024/01/20 | 473099 | systems/win32/miktex/tm/packages/lwarp__source.tar.lzma
-2024/01/20 | 47201 | systems/win32/miktex/tm/packages/texlogsieve.tar.lzma
-2024/01/20 | 471 | macros/latex/contrib/lettrine/doc/lettrine-xetex-bidi.def
-2024/01/20 | 470125 | macros/latex/contrib/dtxdescribe/dtxdescribe.pdf
-2024/01/20 | 4696 | systems/texlive/tlnet/archive/metalogox.r69497.tar.xz
-2024/01/20 | 463848 | systems/win32/miktex/tm/packages/dtxdescribe__doc.tar.lzma
-2024/01/20 | 4606 | systems/win32/miktex/tm/packages/labelschanged__source.tar.lzma
-2024/01/20 | 45937 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
-2024/01/20 | 458721 | systems/win32/miktex/tm/packages/newpx__doc.tar.lzma
-2024/01/20 | 4585015 | systems/win32/miktex/tm/packages/pagelayout__doc.tar.lzma
-2024/01/20 | 45833 | macros/latex/contrib/babel-contrib/german/germanb.dtx
-2024/01/20 | 45202 | macros/latex/contrib/randexam/randexam.pdf
-2024/01/20 | 44989 | systems/win32/miktex/tm/packages/arabi__source.tar.lzma
-2024/01/20 | 446181 | systems/win32/miktex/tm/packages/regulatory__doc.tar.lzma
-2024/01/20 | 445 | support/texlab/crates/base-db/src/util/regex_filter.rs
-2024/01/20 | 44454 | support/texlab/crates/parser/src/build_log/tests.rs
-2024/01/20 | 44399 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
-2024/01/20 | 4433 | systems/win32/miktex/tm/packages/tikzdotncross__source.tar.lzma
-2024/01/20 | 442320 | systems/win32/miktex/tm/packages/beamerthemeconcrete__doc.tar.lzma
-2024/01/20 | 44178 | support/texlab/crates/completion/src/tests.rs
-2024/01/20 | 44117 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
-2024/01/20 | 44109 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
-2024/01/20 | 439712 | systems/win32/miktex/tm/packages/pythonimmediate__doc.tar.lzma
-2024/01/20 | 43963 | macros/latex/contrib/fancyvrb/doc/fancyvrb-doc.tex
-2024/01/20 | 4387 | support/texlab/crates/base-db/src/config.rs
-2024/01/20 | 43766 | support/texlab/Cargo.lock
-2024/01/20 | 43712 | macros/latex/contrib/fancyvrb/latex/fancyvrb.sty
-2024/01/20 | 433 | support/texlab/crates/diagnostics/Cargo.toml
-2024/01/20 | 433263 | systems/win32/miktex/tm/packages/armtex__doc.tar.lzma
-2024/01/20 | 43130 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
-2024/01/20 | 4300 | systems/win32/miktex/tm/packages/ppt-slides.tar.lzma
-2024/01/20 | 4298 | macros/latex/contrib/lettrine/doc/lettrine-demo-lua.tex
-2024/01/20 | 4297 | support/texlab/crates/completion/src/providers/environment.rs
-2024/01/20 | 42741 | support/texlab/crates/texlab/src/server.rs
-2024/01/20 | 4254 | support/texlab/crates/completion/src/providers/command.rs
-2024/01/20 | 424794 | systems/win32/miktex/tm/packages/tikzquads__doc.tar.lzma
-2024/01/20 | 4228 | systems/win32/miktex/tm/packages/tikzquests.tar.lzma
-2024/01/20 | 42240 | systems/win32/miktex/tm/packages/tkz-euclide.tar.lzma
-2024/01/20 | 4202 | support/texlab/crates/texlab/src/features/symbols.rs
-2024/01/20 | 4178 | systems/win32/miktex/tm/packages/iran-bibtex__source.tar.lzma
-2024/01/20 | 4175 | systems/win32/miktex/tm/packages/newtxtt__source.tar.lzma
-2024/01/20 | 4165 | macros/latex/contrib/lettrine/contrib/lettrine-pzc3.cfl
-2024/01/20 | 4161 | systems/win32/miktex/tm/packages/minim-xmp__source.tar.lzma
-2024/01/20 | 4144 | support/texlab/crates/diagnostics/src/grammar/tex.rs
-2024/01/20 | 41354 | macros/latex/contrib/randexam/randexam-a-blank.pdf
-2024/01/20 | 41312 | macros/latex/contrib/randexam/randexam-b-blank.pdf
-2024/01/20 | 410715 | macros/latex/contrib/babel-contrib/german/germanb.pdf
-2024/01/20 | 406389 | systems/win32/miktex/tm/packages/hebrew-fonts__doc.tar.lzma
-2024/01/20 | 40563 | macros/latex/contrib/babel-contrib/german/ngermanb.dtx
-2024/01/20 | 405548 | systems/win32/miktex/tm/packages/thematicpuzzle__doc.tar.lzma
-2024/01/20 | 40549 | systems/win32/miktex/tm/packages/easybook__source.tar.lzma
-2024/01/20 | 405208 | systems/win32/miktex/tm/packages/runcode__doc.tar.lzma
-2024/01/20 | 4047 | support/texlab/crates/texlab/src/util/chktex.rs
-2024/01/20 | 40417 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
-2024/01/20 | 4004 | support/texlab/crates/texlab/src/util/lsp_enums.rs
-2024/01/20 | 39986 | systems/win32/miktex/tm/packages/newtx__source.tar.lzma
-2024/01/20 | 397891 | systems/win32/miktex/tm/packages/metalogox__doc.tar.lzma
-2024/01/20 | 3961 | macros/latex/contrib/lettrine/contrib/lettrine-pzc2.cfl
-2024/01/20 | 395674 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
-2024/01/20 | 395396 | systems/texlive/tlnet/archive/metalogox.doc.r69497.tar.xz
-2024/01/20 | 39403 | systems/win32/miktex/tm/packages/memoize__source.tar.lzma
-2024/01/20 | 39082 | systems/win32/miktex/tm/packages/keyfloat__source.tar.lzma
-2024/01/20 | 3901 | support/texlab/crates/commands/src/fwd_search.rs
-2024/01/20 | 389 | support/texlab/crates/commands/src/lib.rs
-2024/01/20 | 388947 | macros/latex/contrib/babel-contrib/german/ngermanb.pdf
-2024/01/20 | 3880 | systems/win32/miktex/tm/packages/exsol.tar.lzma
-2024/01/20 | 38596 | systems/win32/miktex/tm/packages/zx-calculus.tar.lzma
-2024/01/20 | 3838 | support/texlab/crates/commands/src/build.rs
-2024/01/20 | 3828 | support/texlab/README.md
-2024/01/20 | 380190 | support/texlab/images/demo.gif
-2024/01/20 | 379122 | systems/win32/miktex/tm/packages/lni__doc.tar.lzma
-2024/01/20 | 378 | support/texlab/crates/definition/Cargo.toml
-2024/01/20 | 37611 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
-2024/01/20 | 375 | support/texlab/crates/parser/Cargo.toml
-2024/01/20 | 372176 | systems/win32/miktex/tm/packages/pmdraw__doc.tar.lzma
-2024/01/20 | 37010 | systems/win32/miktex/tm/packages/l3build.tar.lzma
-2024/01/20 | 36957 | systems/win32/miktex/tm/packages/tagpdf.tar.lzma
-2024/01/20 | 36806 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
-2024/01/20 | 36796 | systems/texlive/tlnet/archive/tagpdf.r69496.tar.xz
-2024/01/20 | 36768 | systems/texlive/tlnet/archive/l3build.r69495.tar.xz
-2024/01/20 | 36719 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
-2024/01/20 | 3650 | systems/win32/miktex/tm/packages/spbmark.tar.lzma
-2024/01/20 | 363957 | macros/latex/contrib/profmaquette.zip
-2024/01/20 | 36216627 | systems/win32/miktex/tm/packages/ltxbase__doc.tar.lzma
-2024/01/20 | 3582 | systems/win32/miktex/tm/packages/tocdata.tar.lzma
-2024/01/20 | 356 | support/texlab/crates/completion-data/Cargo.toml
-2024/01/20 | 355 | support/texlab/crates/folding/Cargo.toml
-2024/01/20 | 353 | support/texlab/crates/rename/Cargo.toml
-2024/01/20 | 35344 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
-2024/01/20 | 3530 | support/texlab/crates/inlay-hints/src/tests.rs
-2024/01/20 | 352 | support/texlab/crates/bibfmt/Cargo.toml
-2024/01/20 | 352625 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
-2024/01/20 | 3525 | macros/latex/contrib/babel-contrib/german/german.ins
-2024/01/20 | 35208 | systems/win32/miktex/tm/packages/robust-externalize.tar.lzma
-2024/01/20 | 351753 | systems/win32/miktex/tm/packages/bibcop__doc.tar.lzma
-2024/01/20 | 35149 | support/texlab/LICENSE
-2024/01/20 | 3501 | support/texlab/crates/completion/src/providers/label.rs
-2024/01/20 | 348 | support/texlab/crates/inlay-hints/Cargo.toml
-2024/01/20 | 34893 | support/texlab/crates/parser/src/latex.rs
-2024/01/20 | 3486 | support/texlab/crates/bibfmt/src/tests.rs
-2024/01/20 | 3484 | systems/win32/miktex/tm/packages/odesandpdes.tar.lzma
-2024/01/20 | 347 | support/texlab/Cargo.toml
-2024/01/20 | 345876 | systems/win32/miktex/tm/packages/tkz-base__doc.tar.lzma
-2024/01/20 | 345432 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
-2024/01/20 | 345412 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
-2024/01/20 | 34259 | systems/win32/miktex/tm/packages/minim-math.tar.lzma
-2024/01/20 | 3421 | systems/win32/miktex/tm/packages/href-ul__source.tar.lzma
-2024/01/20 | 340416 | systems/win32/miktex/tm/packages/docshots__doc.tar.lzma
-2024/01/20 | 339723 | systems/win32/miktex/tm/packages/iexec__doc.tar.lzma
-2024/01/20 | 339590 | systems/win32/miktex/tm/packages/minim__doc.tar.lzma
-2024/01/20 | 33877 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
-2024/01/20 | 33851 | systems/win32/miktex/tm/packages/changebar__source.tar.lzma
-2024/01/20 | 33844 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
-2024/01/20 | 337751 | systems/win32/miktex/tm/packages/preview__doc.tar.lzma
-2024/01/20 | 33757 | support/texlab/CHANGELOG.md
-2024/01/20 | 3374205 | systems/win32/miktex/tm/packages/simpleicons.tar.lzma
-2024/01/20 | 336 | support/texlab/crates/references/Cargo.toml
-2024/01/20 | 3345 | graphics/mcf2graph/README
-2024/01/20 | 33442 | macros/latex/contrib/medmath.zip
-2024/01/20 | 3340480 | systems/texlive/tlnet/archive/simpleicons.r69492.tar.xz
-2024/01/20 | 3320168 | systems/win32/miktex/tm/packages/lwarp__doc.tar.lzma
-2024/01/20 | 330 | support/texlab/crates/test-utils/Cargo.toml
-2024/01/20 | 3301 | support/texlab/crates/completion/src/providers/tikz_library.rs
-2024/01/20 | 3298 | support/texlab/crates/diagnostics/src/build_log.rs
-2024/01/20 | 329559 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
-2024/01/20 | 3291 | macros/latex/contrib/medmath/medmath.tex
-2024/01/20 | 32876 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
-2024/01/20 | 3285 | graphics/mcf2graph/template_lib.mcf
-2024/01/20 | 3282 | systems/win32/miktex/tm/packages/tikzdotncross.tar.lzma
-2024/01/20 | 3274 | support/texlab/crates/diagnostics/src/tests.rs
-2024/01/20 | 326 | support/texlab/crates/highlights/Cargo.toml
-2024/01/20 | 3265 | support/texlab/crates/completion-data/src/lib.rs
-2024/01/20 | 32274 | systems/win32/miktex/tm/packages/l3build__source.tar.lzma
-2024/01/20 | 3225 | support/texlab/crates/folding/src/lib.rs
-2024/01/20 | 3223 | support/texlab/crates/texlab/src/client.rs
-2024/01/20 | 3218 | support/texlab/crates/diagnostics/src/grammar/bib.rs
-2024/01/20 | 32082 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
-2024/01/20 | 318268 | systems/win32/miktex/tm/packages/texshade__source.tar.lzma
-2024/01/20 | 31808 | systems/texlive/tlnet/archive/l3build.source.r69495.tar.xz
-2024/01/20 | 31578 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
-2024/01/20 | 31441 | systems/win32/miktex/tm/packages/lua-typo__source.tar.lzma
-2024/01/20 | 3116 | support/texlab/crates/references/src/tests.rs
-2024/01/20 | 3093 | support/texlab/crates/commands/src/find_envs.rs
-2024/01/20 | 3086 | support/texlab/crates/parser/src/config.rs
-2024/01/20 | 308403 | systems/win32/miktex/tm/packages/tikzquests__doc.tar.lzma
-2024/01/20 | 30683 | macros/latex/contrib/randexam/randexam.cls
-2024/01/20 | 3060 | support/texlab/crates/diagnostics/src/citations.rs
-2024/01/20 | 3056 | support/texlab/crates/parser/src/latex/lexer/types.rs
-2024/01/20 | 305498 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
-2024/01/20 | 303 | support/texlab/crates/links/Cargo.toml
-2024/01/20 | 302445 | systems/win32/miktex/tm/packages/latexmk__doc.tar.lzma
-2024/01/20 | 3021 | support/texlab/crates/diagnostics/src/labels.rs
-2024/01/20 | 301725 | systems/win32/miktex/tm/packages/physics2__doc.tar.lzma
-2024/01/20 | 3005 | systems/win32/miktex/tm/packages/docshots.tar.lzma
-2024/01/20 | 295085 | systems/win32/miktex/tm/packages/lua-typo__doc.tar.lzma
-2024/01/20 | 29150 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
-2024/01/20 | 291481 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
-2024/01/20 | 290422 | systems/win32/miktex/tm/packages/erewhon-math.tar.lzma
-2024/01/20 | 2896 | systems/win32/miktex/tm/packages/hvqrurl__source.tar.lzma
-2024/01/20 | 288370 | macros/latex/contrib/profmaquette/doc/ProfMaquette-doc.pdf
-2024/01/20 | 28795 | systems/win32/miktex/tm/packages/lni__source.tar.lzma
-2024/01/20 | 287524 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
-2024/01/20 | 287493 | systems/win32/miktex/tm/packages/href-ul__doc.tar.lzma
-2024/01/20 | 2844301 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
-2024/01/20 | 28325 | macros/latex/contrib/medmath/medmath.pdf
-2024/01/20 | 282786 | systems/win32/miktex/tm/packages/odesandpdes__doc.tar.lzma
-2024/01/20 | 28060 | systems/win32/miktex/tm/packages/memoize.tar.lzma
-2024/01/20 | 2797 | systems/win32/miktex/tm/packages/iexec.tar.lzma
-2024/01/20 | 27707 | systems/win32/miktex/tm/packages/latexmk__source.tar.lzma
-2024/01/20 | 275618 | systems/win32/miktex/tm/packages/profmaquette__doc.tar.lzma
-2024/01/20 | 272312 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
-2024/01/20 | 27136 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
-2024/01/20 | 2686 | systems/win32/miktex/tm/packages/thematicpuzzle.tar.lzma
-2024/01/20 | 26737 | systems/win32/miktex/tm/packages/pagelayout.tar.lzma
-2024/01/20 | 2665 | support/texlab/crates/bibtex-utils/src/field/date.rs
-2024/01/20 | 26384 | support/texlab/texlab.pdf
-2024/01/20 | 262897 | systems/win32/miktex/tm/packages/euler-math.tar.lzma
-2024/01/20 | 2612 | support/texlab/crates/completion/src/providers/glossary.rs
-2024/01/20 | 2610 | support/texlab/crates/symbols/src/types.rs
-2024/01/20 | 2609 | support/texlab/crates/texlab/src/server/extensions.rs
-2024/01/20 | 2600 | support/texlab/crates/definition/src/tests.rs
-2024/01/20 | 2593 | systems/win32/miktex/tm/packages/superiors.tar.lzma
-2024/01/20 | 2586 | support/texlab/texlab.tex
-2024/01/20 | 25673 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
-2024/01/20 | 25648 | systems/win32/miktex/tm/packages/minim.tar.lzma
-2024/01/20 | 25616 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
-2024/01/20 | 2543 | support/texlab/crates/distro/src/lib.rs
-2024/01/20 | 254321 | systems/win32/miktex/tm/packages/concmath-otf.tar.lzma
-2024/01/20 | 252947 | systems/win32/miktex/tm/packages/superiors__doc.tar.lzma
-2024/01/20 | 251 | support/texlab/crates/links/src/lib.rs
-2024/01/20 | 251712 | systems/win32/miktex/tm/packages/lua-placeholders__doc.tar.lzma
-2024/01/20 | 25130 | systems/win32/miktex/tm/packages/ppmcheck__doc.tar.lzma
-2024/01/20 | 2493 | support/texlab/crates/completion/src/providers/argument.rs
-2024/01/20 | 24939 | systems/win32/miktex/tm/packages/braids__source.tar.lzma
-2024/01/20 | 249310 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma
-2024/01/20 | 2481 | support/texlab/crates/completion/src/providers/import.rs
-2024/01/20 | 2470 | support/texlab/crates/texlab/src/features/inlay_hint.rs
-2024/01/20 | 24698 | systems/win32/miktex/tm/packages/dtxdescribe__source.tar.lzma
-2024/01/20 | 2467 | support/texlab/crates/distro/src/miktex.rs
-2024/01/20 | 2463 | macros/latex/contrib/fancyvrb/Changes
-2024/01/20 | 2463239 | systems/win32/miktex/tm/packages/memoize__doc.tar.lzma
-2024/01/20 | 246155 | systems/win32/miktex/tm/packages/docsurvey.tar.lzma
-2024/01/20 | 245919 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
-2024/01/20 | 245630 | systems/win32/miktex/tm/packages/proflycee__source.tar.lzma
-2024/01/20 | 2453826 | systems/win32/miktex/tm/packages/simpleicons__doc.tar.lzma
-2024/01/20 | 2444808 | systems/texlive/tlnet/archive/simpleicons.doc.r69492.tar.xz
-2024/01/20 | 24344 | systems/win32/miktex/tm/packages/medmath__doc.tar.lzma
-2024/01/20 | 2424 | systems/win32/miktex/tm/packages/pgfkeysearch__source.tar.lzma
-2024/01/20 | 241791 | systems/win32/miktex/tm/packages/tagpdf__source.tar.lzma
-2024/01/20 | 24128 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
-2024/01/20 | 2411 | support/texlab/crates/texlab/src/server/dispatch.rs
-2024/01/20 | 24028 | systems/win32/miktex/tm/packages/docsurvey__source.tar.lzma
-2024/01/20 | 239233 | systems/win32/miktex/tm/packages/ltxbase.tar.lzma
-2024/01/20 | 2387 | macros/latex/contrib/babel-contrib/german/README
-2024/01/20 | 2378 | systems/win32/miktex/tm/packages/pgfkeysearch.tar.lzma
-2024/01/20 | 2371 | support/texlab/crates/base-db/src/semantics/bib.rs
-2024/01/20 | 2369 | support/texlab/crates/completion/src/providers/field.rs
-2024/01/20 | 235111 | systems/win32/miktex/tm/packages/babel.tar.lzma
-2024/01/20 | 234187 | systems/win32/miktex/tm/packages/tcolorbox.tar.lzma
-2024/01/20 | 233 | support/texlab/crates/line-index/Cargo.toml
-2024/01/20 | 233909 | macros/latex/contrib/randexam.zip
-2024/01/20 | 23309 | systems/win32/miktex/tm/packages/miktex-misc.tar.lzma
-2024/01/20 | 2322 | support/texlab/crates/diagnostics/src/lib.rs
-2024/01/20 | 232216 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
-2024/01/20 | 2320 | support/texlab/crates/completion/src/util/patterns.rs
-2024/01/20 | 23153725 | systems/win32/miktex/tm/packages/pst-magneticfield__doc.tar.lzma
-2024/01/20 | 23094696 | systems/texlive/tlnet/archive/pst-magneticfield.doc.r69493.tar.xz
-2024/01/20 | 23035 | systems/win32/miktex/tm/packages/preview__source.tar.lzma
-2024/01/20 | 227 | support/texlab/crates/syntax/Cargo.toml
-2024/01/20 | 227 | support/texlab/crates/distro/Cargo.toml
-2024/01/20 | 2276 | support/texlab/crates/completion/src/providers/citations.rs
-2024/01/20 | 2270 | systems/win32/miktex/tm/packages/ffcode.tar.lzma
-2024/01/20 | 2269 | systems/win32/miktex/tm/packages/ppmcheck__source.tar.lzma
-2024/01/20 | 226253 | systems/win32/miktex/tm/packages/verifycommand__doc.tar.lzma
-2024/01/20 | 2252 | systems/win32/miktex/tm/packages/ppmcheck.tar.lzma
-2024/01/20 | 2246 | systems/win32/miktex/tm/packages/verifycommand.tar.lzma
-2024/01/20 | 223716 | systems/win32/miktex/tm/packages/lwarp.tar.lzma
-2024/01/20 | 22326 | systems/win32/miktex/tm/packages/physics2__source.tar.lzma
-2024/01/20 | 22204 | support/texlab/crates/citeproc/src/driver.rs
-2024/01/20 | 221437 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
-2024/01/20 | 218927 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
-2024/01/20 | 216981 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
-2024/01/20 | 215684 | systems/win32/miktex/tm/packages/tikzdotncross__doc.tar.lzma
-2024/01/20 | 2156396 | systems/texlive/tlnet/archive/tagpdf.doc.r69496.tar.xz
-2024/01/20 | 21269 | systems/win32/miktex/tm/packages/newpx__source.tar.lzma
-2024/01/20 | 21263 | systems/win32/miktex/tm/packages/simpleicons__source.tar.lzma
-2024/01/20 | 211341 | systems/win32/miktex/tm/packages/labelschanged__doc.tar.lzma
-2024/01/20 | 21081 | systems/win32/miktex/tm/packages/profmaquette.tar.lzma
-2024/01/20 | 2107 | support/texlab/crates/completion/src/providers/color.rs
-2024/01/20 | 20852 | systems/win32/miktex/tm/packages/minim-mp.tar.lzma
-2024/01/20 | 2074 | support/texlab/crates/bibtex-utils/src/field/author.rs
-2024/01/20 | 2069 | support/texlab/crates/texlab/src/features/formatting/latexindent.rs
-2024/01/20 | 205 | macros/latex/contrib/mcmthesis/LICENSE
-2024/01/20 | 2040 | support/texlab/crates/parser/src/latex/lexer.rs
-2024/01/20 | 203146 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
-2024/01/20 | 202 | support/texlab/crates/parser/src/lib.rs
-2024/01/20 | 2013943 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
-2024/01/20 | 2011 | macros/latex/contrib/wrapfig2/README.txt
-2024/01/20 | 2011890 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
-2024/01/20 | 2000769 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
-2024/01/20 | 1999120 | systems/win32/miktex/tm/packages/junicode__doc.tar.lzma
-2024/01/20 | 19989 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
-2024/01/20 | 19950 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
-2024/01/20 | 1989304 | systems/win32/miktex/tm/packages/erewhon-math__doc.tar.lzma
-2024/01/20 | 1981434 | systems/win32/miktex/tm/packages/tagpdf__doc.tar.lzma
-2024/01/20 | 197 | support/texlab/crates/texlab/src/features.rs
-2024/01/20 | 1974 | support/texlab/crates/symbols/src/document/bib.rs
-2024/01/20 | 1970 | systems/win32/miktex/tm/packages/beamerthemeconcrete__source.tar.lzma
-2024/01/20 | 196 | macros/latex/contrib/mcmthesis/code/mcmthesis-matlab1.m
-2024/01/20 | 1967 | systems/win32/miktex/tm/packages/isphysicalmath.tar.lzma
-2024/01/20 | 1937666 | systems/win32/miktex/tm/packages/arabi.tar.lzma
-2024/01/20 | 192327 | systems/win32/miktex/tm/packages/newtxtt__doc.tar.lzma
-2024/01/20 | 1920206 | systems/win32/miktex/tm/packages/concmath-otf__doc.tar.lzma
-2024/01/20 | 1917 | support/texlab/crates/distro/src/file_name_db.rs
-2024/01/20 | 191051 | systems/win32/miktex/tm/packages/ukbill__doc.tar.lzma
-2024/01/20 | 1898 | support/texlab/crates/texlab/Cargo.toml
-2024/01/20 | 18837 | systems/win32/miktex/tm/packages/eolang__source.tar.lzma
-2024/01/20 | 182747 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
-2024/01/20 | 181 | support/texlab/CONTRIBUTING.md
-2024/01/20 | 18098 | support/texlab/crates/syntax/src/latex/cst.rs
-2024/01/20 | 17 | support/texlab/crates/test-utils/src/lib.rs
-2024/01/20 | 1798 | support/texlab/crates/inlay-hints/src/label.rs
-2024/01/20 | 17816 | systems/win32/miktex/tm/packages/bodeplot__source.tar.lzma
-2024/01/20 | 1780 | support/texlab/crates/parser/src/latexmkrc.rs
-2024/01/20 | 176 | support/texlab/crates/base-db/src/util.rs
-2024/01/20 | 1760 | support/texlab/crates/citeproc/src/output.rs
-2024/01/20 | 175 | support/texlab/crates/symbols/src/lib.rs
-2024/01/20 | 1755 | support/texlab/crates/texlab/src/features/hover.rs
-2024/01/20 | 17543 | systems/win32/miktex/tm/packages/piton.tar.lzma
-2024/01/20 | 17476 | systems/win32/miktex/tm/packages/tkz-elements.tar.lzma
-2024/01/20 | 1742876 | systems/win32/miktex/tm/packages/csvsimple__doc.tar.lzma
-2024/01/20 | 1741 | systems/win32/miktex/tm/packages/href-ul.tar.lzma
-2024/01/20 | 1740 | support/texlab/crates/commands/src/clean.rs
-2024/01/20 | 1740616 | systems/texlive/tlnet/archive/csvsimple.doc.r69494.tar.xz
-2024/01/20 | 174019 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
-2024/01/20 | 1732 | support/texlab/crates/texlab/src/util/line_index_ext.rs
-2024/01/20 | 1732 | support/texlab/crates/texlab/src/main.rs
-2024/01/20 | 17309 | systems/win32/miktex/tm/packages/unicode-math-input.tar.lzma
-2024/01/20 | 1728756 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
-2024/01/20 | 1728613 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
-2024/01/20 | 172333 | macros/latex/contrib/fancyvrb/doc/fancyvrb-doc.pdf
-2024/01/20 | 17195 | macros/latex/contrib/medmath/medmath.sty
-2024/01/20 | 1719515 | systems/win32/miktex/tm/packages/newcomputermodern__doc.tar.lzma
-2024/01/20 | 1708 | support/texlab/crates/syntax/src/latex/kind.rs
-2024/01/20 | 1698 | support/texlab/crates/folding/src/tests.rs
-2024/01/20 | 16921 | systems/win32/miktex/tm/packages/odesandpdes__source.tar.lzma
-2024/01/20 | 1682 | macros/latex/contrib/dtxdescribe/dtxdescribe.ins
-2024/01/20 | 168279 | macros/latex/contrib/lettrine/doc/lettrine-demo-fr.pdf
-2024/01/20 | 16561 | systems/win32/miktex/tm/packages/minim-pdf.tar.lzma
-2024/01/20 | 1654 | macros/latex/contrib/lettrine/doc/lettrine-demo-arabic.tex
-2024/01/20 | 16549 | systems/win32/miktex/tm/packages/tkz-base.tar.lzma
-2024/01/20 | 1636 | macros/latex/contrib/tocdata/tocdata.ins
-2024/01/20 | 1626 | support/texlab/crates/bibtex-utils/src/field/number.rs
-2024/01/20 | 16059 | systems/win32/miktex/tm/packages/easybook.tar.lzma
-2024/01/20 | 1602 | support/texlab/crates/texlab/benches/bench_main.rs
-2024/01/20 | 15 | support/texlab/crates/bibtex-utils/src/lib.rs
-2024/01/20 | 159755 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
-2024/01/20 | 1590 | support/texlab/crates/commands/src/dep_graph.rs
-2024/01/20 | 158845 | support/texlab/crates/parser/src/bibtex/tests.rs
-2024/01/20 | 1587 | support/texlab/crates/texlab/src/features/rename.rs
-2024/01/20 | 1583 | support/texlab/crates/commands/src/placeholders.rs
-2024/01/20 | 1574716 | systems/win32/miktex/tm/packages/euler-math__doc.tar.lzma
-2024/01/20 | 15622 | support/texlab/crates/citeproc/src/tests.rs
-2024/01/20 | 1553 | support/texlab/crates/completion/src/providers/color_model.rs
-2024/01/20 | 1553586 | systems/win32/miktex/tm/packages/amnestyreport__doc.tar.lzma
-2024/01/20 | 1549 | systems/win32/miktex/tm/packages/hvqrurl.tar.lzma
-2024/01/20 | 1546 | support/texlab/crates/symbols/src/document.rs
-2024/01/20 | 1541111 | systems/win32/miktex/tm/packages/libertinust1math__doc.tar.lzma
-2024/01/20 | 1530891 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
-2024/01/20 | 1522 | support/texlab/crates/texlab/src/features/definition.rs
-2024/01/20 | 1522 | macros/latex/contrib/lettrine/README.md
-2024/01/20 | 1521 | systems/win32/miktex/tm/packages/medmath__source.tar.lzma
-2024/01/20 | 1518984 | systems/win32/miktex/tm/packages/proflycee__doc.tar.lzma
-2024/01/20 | 1510 | support/texlab/crates/rename/src/entry.rs
-2024/01/20 | 151026 | systems/win32/miktex/tm/packages/pgfkeysearch__doc.tar.lzma
-2024/01/20 | 15060 | systems/win32/miktex/tm/packages/beamerthemeconcrete.tar.lzma
-2024/01/20 | 15046 | systems/win32/miktex/tm/packages/iran-bibtex.tar.lzma
-2024/01/20 | 1498 | support/texlab/crates/references/src/entry.rs
-2024/01/20 | 1496 | support/texlab/crates/texlab/src/util.rs
-2024/01/20 | 148796 | systems/win32/miktex/tm/packages/kaytannollista-latexia__source.tar.lzma
-2024/01/20 | 1486 | macros/latex/contrib/mcmthesis/README.md
-2024/01/20 | 14836 | support/texlab/crates/texlab/src/features/completion.rs
-2024/01/20 | 14576 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
-2024/01/20 | 1447473 | systems/win32/miktex/tm/packages/eolang__doc.tar.lzma
-2024/01/20 | 14470 | macros/latex/contrib/lettrine/doc/W.pdf
-2024/01/20 | 14461 | macros/latex/contrib/randexam/randexam.tex
-2024/01/20 | 1444 | macros/latex/contrib/tocdata/README.txt
-2024/01/20 | 1442428 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
-2024/01/20 | 14338 | support/texlab/crates/symbols/src/document/tests.rs
-2024/01/20 | 1432 | support/texlab/crates/texlab/src/features/folding.rs
-2024/01/20 | 14206373 | systems/win32/miktex/tm/packages/newcomputermodern__source.tar.lzma
-2024/01/20 | 141953 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
-2024/01/20 | 14153 | systems/win32/miktex/tm/packages/exsol__source.tar.lzma
-2024/01/20 | 1412 | support/texlab/crates/texlab/src/server/progress.rs
-2024/01/20 | 14128 | systems/win32/miktex/tm/packages/erewhon-math__source.tar.lzma
-2024/01/20 | 14083 | systems/win32/miktex/tm/packages/unicode-math-input__source.tar.lzma
-2024/01/20 | 13965 | systems/win32/miktex/tm/packages/regulatory__source.tar.lzma
-2024/01/20 | 1384 | support/texlab/crates/definition/src/command.rs
-2024/01/20 | 1382 | support/texlab/crates/completion/src/util/builder.rs
-2024/01/20 | 137679 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
-2024/01/20 | 13607 | macros/latex/contrib/lettrine/doc/lettrine-demo-fr.tex
-2024/01/20 | 1342255 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
-2024/01/20 | 13371 | macros/latex/contrib/lettrine/doc/lettrine-demo-arabic.pdf
-2024/01/20 | 1329 | support/texlab/crates/references/src/string_def.rs
-2024/01/20 | 1321 | support/texlab/crates/symbols/src/workspace.rs
-2024/01/20 | 13194 | systems/win32/miktex/tm/packages/tutodoc__source.tar.lzma
-2024/01/20 | 131712 | macros/latex/contrib/lettrine/doc/lettrine.pdf
-2024/01/20 | 13086 | systems/win32/miktex/tm/packages/lua-typo.tar.lzma
-2024/01/20 | 13008 | systems/win32/miktex/tm/packages/lni.tar.lzma
-2024/01/20 | 1291749 | systems/win32/miktex/tm/packages/tutodoc__doc.tar.lzma
-2024/01/20 | 128 | support/texlab/crates/syntax/src/latexmkrc.rs
-2024/01/20 | 1287 | support/texlab/crates/distro/src/language.rs
-2024/01/20 | 1287757 | systems/win32/miktex/tm/packages/robust-externalize__doc.tar.lzma
-2024/01/20 | 128252 | macros/latex/contrib/lettrine/doc/lettrine-demo-de.pdf
-2024/01/20 | 127953 | systems/win32/miktex/tm/packages/latexindent__source.tar.lzma
-2024/01/20 | 12755 | systems/win32/miktex/tm/packages/ukbill__source.tar.lzma
-2024/01/20 | 126929 | macros/latex/contrib/profmaquette/latex/ProfMaquette.sty
-2024/01/20 | 1259488 | systems/win32/miktex/tm/packages/libertinust1math.tar.lzma
-2024/01/20 | 125465 | macros/latex/contrib/dtxdescribe/dtxdescribe.dtx
-2024/01/20 | 12536 | systems/win32/miktex/tm/packages/tocdata__source.tar.lzma
-2024/01/20 | 1247 | support/texlab/crates/rename/src/tests.rs
-2024/01/20 | 1244 | support/texlab/crates/hover/src/citation.rs
-2024/01/20 | 12414 | systems/win32/miktex/tm/packages/profmaquette__source.tar.lzma
-2024/01/20 | 1240 | support/texlab/crates/rename/src/command.rs
-2024/01/20 | 1233 | systems/win32/miktex/tm/packages/labelschanged.tar.lzma
-2024/01/20 | 1229830 | systems/win32/miktex/tm/packages/latexindent__doc.tar.lzma
-2024/01/20 | 122497 | systems/win32/miktex/tm/packages/texinfo__doc.tar.lzma
-2024/01/20 | 12203 | systems/win32/miktex/tm/packages/amnestyreport__source.tar.lzma
-2024/01/20 | 12104 | systems/win32/miktex/tm/packages/concmath-otf__source.tar.lzma
-2024/01/20 | 12074 | systems/win32/miktex/tm/packages/csvsimple.tar.lzma
-2024/01/20 | 118854 | systems/win32/miktex/tm/packages/newtxtt.tar.lzma
-2024/01/20 | 11828 | systems/texlive/tlnet/archive/csvsimple.r69494.tar.xz
-2024/01/20 | 117728 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
-2024/01/20 | 1175 | support/texlab/crates/definition/src/label.rs
-2024/01/20 | 1172258 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
-2024/01/20 | 1170 | support/texlab/crates/base-db/src/semantics/auxiliary.rs
-2024/01/20 | 116925 | systems/win32/miktex/tm/packages/latexmk.tar.lzma
-2024/01/20 | 1169194 | systems/win32/miktex/tm/packages/tuda-ci__doc.tar.lzma
-2024/01/20 | 1166 | support/texlab/crates/texlab/src/features/reference.rs
-2024/01/20 | 11551 | systems/win32/miktex/tm/packages/runcode__source.tar.lzma
-2024/01/20 | 1150 | systems/win32/miktex/tm/packages/next/pr.ini
-2024/01/20 | 115074 | systems/win32/miktex/tm/packages/minim-pdf__doc.tar.lzma
-2024/01/20 | 1145 | support/texlab/crates/links/src/tests.rs
-2024/01/20 | 1137 | support/texlab/crates/texlab/src/features/formatting.rs
-2024/01/20 | 1125 | support/texlab/crates/texlab/src/features/highlight.rs
-2024/01/20 | 112561 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
-2024/01/20 | 1118 | support/texlab/crates/completion/src/providers/entry_type.rs
-2024/01/20 | 11137 | support/texlab/crates/base-db/src/workspace.rs
-2024/01/20 | 1112 | support/texlab/crates/base-db/src/semantics.rs
-2024/01/20 | 11103 | support/texlab/crates/parser/src/bibtex.rs
-2024/01/20 | 11078 | support/texlab/crates/base-db/src/semantics/tex.rs
-2024/01/20 | 1107219 | systems/win32/miktex/tm/packages/zx-calculus__doc.tar.lzma
-2024/01/20 | 1104 | support/texlab/crates/definition/src/lib.rs
-2024/01/20 | 11035 | systems/win32/miktex/tm/packages/euler-math__source.tar.lzma
-2024/01/20 | 109790 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
-2024/01/20 | 1093893 | systems/win32/miktex/tm/packages/tkz-euclide__doc.tar.lzma
-2024/01/20 | 108 | support/texlab/crates/texlab/src/lib.rs
-2024/01/20 | 108423 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
-2024/01/20 | 108317 | systems/win32/miktex/tm/packages/minim-mp__doc.tar.lzma
-2024/01/20 | 1078 | support/texlab/crates/definition/src/include.rs
-2024/01/20 | 1077 | support/texlab/crates/definition/src/string_ref.rs
-2024/01/20 | 106641 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
-2024/01/20 | 1064 | support/texlab/crates/hover/src/string_ref.rs
-2024/01/20 | 105674 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
-2024/01/20 | 105638 | systems/win32/miktex/tm/packages/hvqrurl__doc.tar.lzma
-2024/01/20 | 1055 | macros/latex/contrib/lettrine/contrib/lettrine-optfile.cfl
-2024/01/20 | 1055592 | systems/win32/miktex/tm/packages/keyfloat__doc.tar.lzma
-2024/01/20 | 1046 | support/texlab/crates/rename/src/lib.rs
-2024/01/20 | 10452 | macros/latex/contrib/randexam/randexam-a-answer.tex
-2024/01/20 | 1045036 | systems/win32/miktex/tm/packages/babel__doc.tar.lzma
-2024/01/20 | 1044 | support/texlab/crates/hover/src/lib.rs
-2024/01/20 | 104451 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
-2024/01/20 | 104154 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
-2024/01/20 | 103596 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
-2024/01/20 | 103552 | systems/win32/miktex/tm/packages/unicode-math-input__doc.tar.lzma
-2024/01/20 | 1033 | support/texlab/crates/completion/benches/bench_main.rs
-2024/01/20 | 10337 | macros/latex/contrib/lettrine/lettrine-2022-09-25.sty
-2024/01/20 | 102838 | systems/win32/miktex/tm/packages/texinfo.tar.lzma
-2024/01/20 | 1025 | support/texlab/crates/completion/src/util/matchers.rs
-2024/01/20 | 100434 | support/texlab/crates/parser/src/latex/tests.rs
diff --git a/biblio/bibtex/bibtex-x/ChangeLog b/biblio/bibtex/bibtex-x/ChangeLog
index d2822854d2..382c6cf7e0 100644
--- a/biblio/bibtex/bibtex-x/ChangeLog
+++ b/biblio/bibtex/bibtex-x/ChangeLog
@@ -1,3 +1,8 @@
+2024-01-27 Karl Berry <karl@freefriends.org>
+
+ * tests/bibtexu-iscjk.test: sed -E is not portable to Solaris 10
+ (and other systems); also, use sed -n .../p instead of grep.
+
2023-12-16 TANAKA Takuji <ttk@t-lab.opal.ne.jp>
* configure.ac, version.h:
diff --git a/biblio/bibtex/bibtex-x/tests/bibtexu-iscjk.test b/biblio/bibtex/bibtex-x/tests/bibtexu-iscjk.test
index f422dd3dc7..2f9ebd7848 100755
--- a/biblio/bibtex/bibtex-x/tests/bibtexu-iscjk.test
+++ b/biblio/bibtex/bibtex-x/tests/bibtexu-iscjk.test
@@ -21,8 +21,16 @@ rc=0
## test for is.knj.str$
icuver=1000
-$_bibtexu --version | grep 'ICU version' | sed -E 's/.*ICU version ([1-9][0-9])\..*/\1/' > tests/icuver.txt
+$_bibtexu --version | sed -n 's/.*ICU version \([1-9][0-9]\)\..*/\1/p' \
+ >tests/icuver.txt
icuver=`cat tests/icuver.txt`
+if test -z "$icuver"; then
+ echo "$0: quitting, could not determine icu version from bibtexu" >&2
+ echo "$0: ($_bibtexu --version)" >&2
+ $_bibtexu --version >&2
+ exit 1
+fi
+
echo "*** icuver="$icuver
if [ $icuver -lt 74 ]; then
# skip CJK Ideograph Extension I
diff --git a/biblio/ctan-bibdata/ctan.bib b/biblio/ctan-bibdata/ctan.bib
index d7a402ff87..dc3704990e 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 26-01-2024, 02:00:03
+%% created at 27-01-2024, 02:00:03
%%
%% This file is provided under the terms of the LPPL v1.3 or
@@ -4890,8 +4890,8 @@
title = {The \texttt{babel-norsk} package},
subtitle = {Babel support for Norwegian},
author = {Javier Bezos López and Johannes L. Braams},
- date = {2022-11-17},
- version = {2.0i},
+ date = {2024-01-26},
+ version = {2.0j},
license = {lppl1.3},
mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/norsk},
url = {https://ctan.org/pkg/babel-norsk},
@@ -4999,8 +4999,8 @@
title = {The \texttt{babel-samin} package},
subtitle = {Babel support for Samin},
author = {Javier Bezos López and Johannes L. Braams and Regnor Jernsletten},
- date = {2018-01-13},
- version = {1.0c},
+ date = {2024-01-26},
+ version = {1.0d},
license = {lppl1.3},
mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/samin},
url = {https://ctan.org/pkg/babel-samin},
@@ -5065,8 +5065,8 @@
title = {The \texttt{babel-slovenian} package},
subtitle = {Babel support for typesetting Slovenian},
author = {Javier Bezos López and Johannes L. Braams},
- date = {2021-02-06},
- version = {1.2n},
+ date = {2024-01-26},
+ version = {1.2o},
license = {lppl1.3},
mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/slovenian},
url = {https://ctan.org/pkg/babel-slovenian},
@@ -44757,8 +44757,8 @@
title = {The \texttt{memoir} package},
subtitle = {Typeset fiction, non-fiction and mathematical books},
author = {Peter R. Wilson and Lars Madsen},
- date = {2023-08-21},
- version = {3.8.1},
+ date = {2024-01-26},
+ version = {3.8.2},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/latex/contrib/memoir},
url = {https://ctan.org/pkg/memoir},
@@ -45063,8 +45063,8 @@
title = {The \texttt{metalogox} package},
subtitle = {Adjust \TeX{} logos, with font detection},
author = {Brian Dunn},
- date = {2024-01-19},
- version = {1.03},
+ date = {2024-01-26},
+ version = {1.04},
license = {lppl1.3},
mirror = {https://mirror.ctan.org/macros/latex/contrib/metalogox},
url = {https://ctan.org/pkg/metalogox},
@@ -49409,7 +49409,7 @@
title = {The \texttt{non-decimal-units} package},
subtitle = {Display and manipulate historical non-decimal units},
author = {Mikkel Eide Eriksen},
- date = {2024-01-25},
+ date = {2024-01-26},
version = {},
license = {cc-by-sa-4},
mirror = {https://mirror.ctan.org/macros/latex/contrib/non-decimal-units},
@@ -55571,7 +55571,7 @@
title = {The \texttt{proof-at-the-end} package},
subtitle = {A package to move proofs to appendix},
author = {Léo Colisson},
- date = {2022-08-24},
+ date = {2024-01-26},
version = {},
license = {lppl1.3},
mirror = {https://mirror.ctan.org/macros/latex/contrib/proof-at-the-end},
@@ -61514,8 +61514,8 @@
title = {The \texttt{Scrabble} package},
subtitle = {Commands for Scrabble boards},
author = {Cédric Pierquet},
- date = {2024-01-23},
- version = {0.1.5},
+ date = {2024-01-26},
+ version = {0.1.6},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/graphics/pgf/contrib/scrabble},
url = {https://ctan.org/pkg/scrabble},
@@ -63391,8 +63391,8 @@
title = {The \texttt{simpleicons} package},
subtitle = {Simple Icons for \LaTeX{}},
author = {Inesh Bose},
- date = {2024-01-19},
- version = {11.1.0},
+ date = {2024-01-26},
+ version = {11.2.0},
license = {cc-by-1},
mirror = {https://mirror.ctan.org/fonts/simpleicons},
url = {https://ctan.org/pkg/simpleicons},
@@ -67086,8 +67086,8 @@
title = {The \texttt{tagpdf} package},
subtitle = {Tools for experimenting with tagging using pdfLaTeX and LuaLaTeX},
author = {{The LaTeX Project Team} and Ulrike Fischer},
- date = {2024-01-19},
- version = {0.98s},
+ date = {2024-01-26},
+ version = {0.98t},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/latex/contrib/tagpdf},
url = {https://ctan.org/pkg/tagpdf},
@@ -74112,6 +74112,19 @@
url = {https://ctan.org/pkg/uncial},
}
+@manual{ctan-undar-digitacion,
+ title = {The \texttt{undar-digitacion} package},
+ subtitle = {Musical fingering diagrams of Pinkullo Huanuqueño, Flute (Recorder), Quena
+ and Saxophone},
+ author = {Aland Bravo Vecorena},
+ date = {2024-01-26},
+ version = {0.0},
+ license = {cc-by-sa-4},
+ mirror = {https://mirror.ctan.org/macros/musictex/undar-digitacion},
+ url = {https://ctan.org/pkg/undar-digitacion},
+ annotation = {The package provide tools for generating:},
+}
+
@manual{ctan-undergradmath,
title = {The \texttt{undergradmath} package},
subtitle = {LaTeX Math for Undergraduates cheat sheet},
diff --git a/macros/latex/contrib/babel-contrib/scottish/README.md b/macros/latex/contrib/babel-contrib/scottish/README.md
new file mode 100644
index 0000000000..24daf397bd
--- /dev/null
+++ b/macros/latex/contrib/babel-contrib/scottish/README.md
@@ -0,0 +1,15 @@
+Scottish Gaelic 1.0h
+--------------------
+
+This is the babel style for Scottish Gaelic.
+
+**This package is NOT being actively maintained, but bugs might
+got fixed if you report them. If you want to take over maintenance
+of this language style, please contact me at
+https://latex3.github.io/babel/contact.html .**
+
+Changes 1.0h
+------------
+
+Allow scottishgaelic as the language name, preferred to scottish.
+
diff --git a/macros/latex/contrib/babel-contrib/scottish/scottish.dtx b/macros/latex/contrib/babel-contrib/scottish/scottish.dtx
index 82613e5cd0..2f9321c7e4 100644
--- a/macros/latex/contrib/babel-contrib/scottish/scottish.dtx
+++ b/macros/latex/contrib/babel-contrib/scottish/scottish.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1989-2005 Johannes L. Braams and any individual authors
+% Copyright 1989-2024 Johannes L. Braams and any individual authors
% listed elsewhere in this file. All rights reserved.
%
% This file is part of the Babel system.
@@ -16,17 +16,12 @@
%
% This work has the LPPL maintenance status "maintained".
%
-% The Current Maintainer of this work is Johannes Braams.
-%
-% The list of all files belonging to the Babel system is
-% given in the file `manifest.bbl. See also `legal.bbl' for additional
-% information.
+% The Current Maintainer of this work is Javier Bezos.
%
% The list of derived (unpacked) files belonging to the distribution
% and covered by LPPL is defined by the unpacking scripts (with
% extension .ins) which are part of the distribution.
% \fi
-% \CheckSum{95}
%
% \iffalse
% Tell the \LaTeX\ system who we are and write an entry on the
@@ -34,18 +29,17 @@
%<*dtx>
\ProvidesFile{scottish.dtx}
%</dtx>
-%<code>\ProvidesLanguage{scottish}
+%<code>\ProvidesLanguage{scottishgaelic}
+%<scottish>\ProvidesLanguage{scottish}
%\fi
%\ProvidesFile{scottish.dtx}
- [2005/03/31 v1.0g Scottish support from the babel system]
+ [2024/01/27 v1.0h Scottish support from the babel system]
%\iffalse
%% File `scottish.dtx'
%% Babel package for LaTeX version 2e
%% Copyright (C) 1989 -- 2005
%% by Johannes Braams, TeXniek
-%
-%% Please report errors to: J.L. Braams
-%% babel at braams.cistron.nl
+%% by Javier Bezos
%
% This file is part of the babel system, it provides the source
% code for the Scottish language definition file.
@@ -67,6 +61,7 @@
%\fi
% \GetFileInfo{scottish.dtx}
%
+% \changes{scottish-1.0h}{2024/01/27}{Dual load scottishgaelic/scottish}
% \changes{scottish-1.0b}{1995/06/14}{Corrected typos (PR1652)}
% \changes{scottish-1.0d}{1996/10/10}{Replaced \cs{undefined} with
% \cs{@undefined} and \cs{empty} with \cs{@empty} for consistency
@@ -93,7 +88,7 @@
% initial checks}
% \begin{macrocode}
%<*code>
-\LdfInit{scottish}\captionsscottish
+\LdfInit\CurrentOption{date\CurrentOption}
% \end{macrocode}
%
% When this file is read as an option, i.e. by the |\usepackage|
@@ -103,9 +98,19 @@
% here.
%
% \begin{macrocode}
-\ifx\l@scottish\@undefined
- \@nopatterns{scottish}
- \adddialect\l@scottish0\fi
+\ifx\l@scottishgaelic\@undefined
+ \ifx\l@scottish\@undefined
+ \@nopatterns{Scottish Gaelic}
+ \adddialect\l@scottishgaelic\z@
+ \let\l@scottish\l@scottishgaelic
+ \else
+ \let\l@scottishgaelic\l@scottish
+ \fi
+\else
+ \ifx\l@scottish\@undefined
+ \let\l@scottish\l@scottishgaelic
+ \fi
+\fi
% \end{macrocode}
% The next step consists of defining commands to switch to (and
% from) the Scottish language.
@@ -117,7 +122,7 @@
% AMS-\LaTeX}
% \changes{scottish-1.0g}{2000/09/20}{Added \cs{glossaryname}}
% \begin{macrocode}
-\addto\captionsscottish{%
+\@namedef{captions\CurrentOption}{%
\def\prefacename{Preface}% <-- needs translation
\def\refname{Iomraidh}%
\def\abstractname{Br\`{\i}gh}%
@@ -151,7 +156,7 @@
% \changes{scottish-1.0e}{1998/03/28}{use \cs{def} instead of
% \cs{edef}}
% \begin{macrocode}
-\def\datescottish{%
+\@namedef{date\CurrentOption}{%
\def\today{%
\number\day\space \ifcase\month\or
am Faoilteach\or an Gearran\or am M\`art\or an Giblean\or
@@ -172,8 +177,8 @@
% definition files.
%
% \begin{macrocode}
-\addto\extrasscottish{}
-\addto\noextrasscottish{}
+\expandafter\addto\csname extras\CurrentOption\endcsname{}
+\expandafter\addto\csname noextras\CurrentOption\endcsname{}
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -185,25 +190,16 @@
% \changes{scottish-1.0d}{1996/11/03}{Now use \cs{ldf@finish} to wrap
% up}
% \begin{macrocode}
-\ldf@finish{scottish}
+\ldf@finish{\CurrentOption}
%</code>
+% Finally, We create a proxy file.
+%
+% \begin{macrocode}
+%<*scottish>
+\input scottishgaelic.ldf\relax
+%</scottish>
% \end{macrocode}
%
% \Finale
%\endinput
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-%%
+
diff --git a/macros/latex/contrib/babel-contrib/scottish/scottish.ins b/macros/latex/contrib/babel-contrib/scottish/scottish.ins
index 5937bb1c44..232b3ca018 100644
--- a/macros/latex/contrib/babel-contrib/scottish/scottish.ins
+++ b/macros/latex/contrib/babel-contrib/scottish/scottish.ins
@@ -3,7 +3,7 @@
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright 1989-2005 Johannes L. Braams and any individual authors
+%% Copyright 1989-2024 Johannes L. Braams and any individual authors
%% listed elsewhere in this file. All rights reserved.
%%
%% This file is part of the Babel system.
@@ -19,11 +19,7 @@
%%
%% This work has the LPPL maintenance status "maintained".
%%
-%% The Current Maintainer of this work is Johannes Braams.
-%%
-%% The list of all files belonging to the LaTeX base distribution is
-%% given in the file `manifest.bbl. See also `legal.bbl' for additional
-%% information.
+%% The Current Maintainer of this work is Javier Bezos.
%%
%% The list of derived (unpacked) files belonging to the distribution
%% and covered by LPPL is defined by the unpacking scripts (with
@@ -31,7 +27,7 @@
%%
%% --------------- start of docstrip commands ------------------
%%
-\def\filedate{1999/04/11}
+\def\filedate{2014/01/27}
\def\batchfile{scottish.ins}
\input docstrip.tex
@@ -53,7 +49,7 @@
\declarepreamble\mainpreamble
This is a generated file.
-Copyright 1989-2005 Johannes L. Braams and any individual authors
+Copyright 1989-2024 Johannes L. Braams and any individual authors
listed elsewhere in this file. All rights reserved.
This file was generated from file(s) of the Babel system.
@@ -69,15 +65,7 @@ version 2003/12/01 or later.
This work has the LPPL maintenance status "maintained".
-The Current Maintainer of this work is Johannes Braams.
-
-This file may only be distributed together with a copy of the Babel
-system. You may however distribute the Babel system without
-such generated files.
-
-The list of all files belonging to the Babel distribution is
-given in the file `manifest.bbl'. See also `legal.bbl for additional
-information.
+The Current Maintainer of this work is Javier Bezos.
The list of derived (unpacked) files belonging to the distribution
and covered by LPPL is defined by the unpacking scripts (with
@@ -87,7 +75,7 @@ extension .ins) which are part of the distribution.
\declarepreamble\fdpreamble
This is a generated file.
-Copyright 1989-2005 Johannes L. Braams and any individual authors
+Copyright 1989-2024 Johannes L. Braams and any individual authors
listed elsewhere in this file. All rights reserved.
This file was generated from file(s) of the Babel system.
@@ -103,15 +91,7 @@ version 2003/12/01 or later.
This work has the LPPL maintenance status "maintained".
-The Current Maintainer of this work is Johannes Braams.
-
-This file may only be distributed together with a copy of the Babel
-system. You may however distribute the Babel system without
-such generated files.
-
-The list of all files belonging to the Babel distribution is
-given in the file `manifest.bbl'. See also `legal.bbl for additional
-information.
+The Current Maintainer of this work is Javier Bezos.
In particular, permission is granted to customize the declarations in
this file to serve the needs of your installation.
@@ -126,7 +106,8 @@ of this file under its original name.
\usedir{tex/generic/babel}
\usepreamble\mainpreamble
-\generate{\file{scottish.ldf}{\from{scottish.dtx}{code}}
+\generate{\file{scottishgaelic.ldf}{\from{scottish.dtx}{code}}
+ \file{scottish.ldf}{\from{scottish.dtx}{scottish}}
}
\usepreamble\fdpreamble
diff --git a/macros/latex/contrib/babel-contrib/scottish/scottish.pdf b/macros/latex/contrib/babel-contrib/scottish/scottish.pdf
index c478ec3454..03443b04d7 100644
--- a/macros/latex/contrib/babel-contrib/scottish/scottish.pdf
+++ b/macros/latex/contrib/babel-contrib/scottish/scottish.pdf
Binary files differ
diff --git a/macros/latex/contrib/regulatory/doc/example1-en.pdf b/macros/latex/contrib/regulatory/doc/example1-en.pdf
index 0e08431dbf..7bac5e0c9b 100644
--- a/macros/latex/contrib/regulatory/doc/example1-en.pdf
+++ b/macros/latex/contrib/regulatory/doc/example1-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/regulatory/doc/example1-nl.pdf b/macros/latex/contrib/regulatory/doc/example1-nl.pdf
index 63522191b7..bc3f8b1d53 100644
--- a/macros/latex/contrib/regulatory/doc/example1-nl.pdf
+++ b/macros/latex/contrib/regulatory/doc/example1-nl.pdf
Binary files differ
diff --git a/macros/latex/contrib/regulatory/doc/example2-en.pdf b/macros/latex/contrib/regulatory/doc/example2-en.pdf
index bc253e499b..e7fdc77178 100644
--- a/macros/latex/contrib/regulatory/doc/example2-en.pdf
+++ b/macros/latex/contrib/regulatory/doc/example2-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/regulatory/doc/example2-nl.pdf b/macros/latex/contrib/regulatory/doc/example2-nl.pdf
index be0484a77c..6342318259 100644
--- a/macros/latex/contrib/regulatory/doc/example2-nl.pdf
+++ b/macros/latex/contrib/regulatory/doc/example2-nl.pdf
Binary files differ
diff --git a/macros/latex/contrib/regulatory/doc/regulatory-en.pdf b/macros/latex/contrib/regulatory/doc/regulatory-en.pdf
index 11f032e016..ac592a4989 100644
--- a/macros/latex/contrib/regulatory/doc/regulatory-en.pdf
+++ b/macros/latex/contrib/regulatory/doc/regulatory-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/regulatory/doc/regulatory-en.tex b/macros/latex/contrib/regulatory/doc/regulatory-en.tex
index 0ec1ac52b9..55d4290753 100644
--- a/macros/latex/contrib/regulatory/doc/regulatory-en.tex
+++ b/macros/latex/contrib/regulatory/doc/regulatory-en.tex
@@ -23,7 +23,7 @@
\documentclass[10pt,english]{ltxdoc}
%! suppress = InclusionLoop
-\usepackage[md]{regulatory}
+\usepackage{regulatory}
\usepackage{tabularx}
\usepackage[english,dutch]{babel}
diff --git a/macros/latex/contrib/regulatory/doc/regulatory-nl.pdf b/macros/latex/contrib/regulatory/doc/regulatory-nl.pdf
index 334e4f3c55..9d4832ce44 100644
--- a/macros/latex/contrib/regulatory/doc/regulatory-nl.pdf
+++ b/macros/latex/contrib/regulatory/doc/regulatory-nl.pdf
Binary files differ
diff --git a/macros/latex/contrib/regulatory/doc/regulatory-nl.tex b/macros/latex/contrib/regulatory/doc/regulatory-nl.tex
index af6a3e7941..f5c9f47259 100644
--- a/macros/latex/contrib/regulatory/doc/regulatory-nl.tex
+++ b/macros/latex/contrib/regulatory/doc/regulatory-nl.tex
@@ -23,7 +23,7 @@
\documentclass[10pt,dutch]{ltxdoc}
%! suppress = InclusionLoop
-\usepackage[md]{regulatory}
+\usepackage{regulatory}
\usepackage{tabularx}
\usepackage[dutch,english]{babel}
diff --git a/macros/latex/contrib/regulatory/doc/regulatory.tex b/macros/latex/contrib/regulatory/doc/regulatory.tex
index ffb0ce5ecb..fbd5d35c3d 100644
--- a/macros/latex/contrib/regulatory/doc/regulatory.tex
+++ b/macros/latex/contrib/regulatory/doc/regulatory.tex
@@ -175,11 +175,17 @@ lualatex main
for subparagraphs.%
}{, voor onderdelen.}
\translation{%
- For ``subparagraphs'', \cmd{\abalpnum} from the \package{fmtcount} package is used to enumerate multiple subparagraphs.
+ For ``subparagraphs'', \cmd{\abalpnum} from the \package{fmtcount}\footnote{%
+ The Dutch language definition is currently in progress within the \href{https://github.com/vincentb1/fmtcount/pull/51}{\package{fmtcount}} package.
+ In the meantime, this package includes the correct configuration for it.%
+ } package is used to enumerate multiple subparagraphs.
Suppose \cmd{\alph} were used; in that case, \option{paras} (second level) would be limited to 26 subparagraphs.
With \cmd{\abalphnum}, for example, with a value of 125, the result is `\texttt{du}'.
}{%
- Voor onderdelen wordt er gebruik gemaakt van \cmd{\abalpnum} uit pakket \package{fmtcount}\footnote{Het pakket \package{fmtcount} heeft geen ondersteuning voor Nederlands. Dit pakket levert daarvoor de juist configuratie mee.} om meerdere onderdelen te kunnen opsommen.
+ Voor onderdelen wordt er gebruik gemaakt van \cmd{\abalpnum} uit pakket \package{fmtcount}\footnote{%
+ De Nederlandse taal definitie is momenteel nog in behandeling bij pakket \href{https://github.com/vincentb1/fmtcount/pull/51}{\package{fmtcount}}.
+ In de tussentijd levert dit pakket daarvoor de juist configuratie mee.%
+ } om meerdere onderdelen te kunnen opsommen.
Stel er zou gebruik gemaakt worden van \cmd{\alph}, dan is \option{paras} beperkt tot 26 onderdelen.
Bij \cmd{\abalphnum} met b\ij{}voorbeeld een waarde van 125 is `\texttt{du}' de uitkomst.
}
diff --git a/macros/latex/contrib/regulatory/tex/fc-dutch.def b/macros/latex/contrib/regulatory/tex/fc-dutch.def
index e1e1432121..ee86d49a48 100644
--- a/macros/latex/contrib/regulatory/tex/fc-dutch.def
+++ b/macros/latex/contrib/regulatory/tex/fc-dutch.def
@@ -20,19 +20,15 @@
% example1-en.tex, example2-en.tex,
% md-example.tex, example.md,
% fc-dutch.def and regulatory.sty
-\ProvidesFCLanguage{dutch}[2022/06/19]
-
-\newcommand{\@ordinalMdutch}[2]{\edef#2{\number#1\relax.}}
+\ProvidesFCLanguage{dutch}[2024/01/27]%
+\newcommand{\@ordinalMdutch}[2]{\edef#2{\number#1\relax.}}%
\global\let\@ordinalMdutch\@ordinalMdutch
-\newcommand{\@ordinalFdutch}[2]{\edef#2{\number#1\relax.}}
-\global\let\@ordinalFdutch\@ordinalFdutch
-\newcommand{\@ordinalNdutch}[2]{\edef#2{\number#1\relax.}}
-\global\let\@ordinalNdutch\@ordinalNdutch
-
+\global\let\@ordinalFdutch\@ordinalMdutch
+\global\let\@ordinalNdutch\@ordinalMdutch
\newcommand*\@@unitstringdutch[1]{%
\ifcase#1%
nul%
- \or één%
+ \or een%
\or twee%
\or drie%
\or vier%
@@ -44,10 +40,9 @@
\fi
}%
\global\let\@@unitstringdutch\@@unitstringdutch
-
\global\let\@@unitstringdutch\@@unitstringdutch
\newcommand*\@@tenstringdutch[1]{%
- \ifcase#1%
+ \ifcase#1%
\or tien%
\or twintig%
\or dertig%
@@ -58,17 +53,11 @@
\or tachtig%
\or negentig%
\or honderd%
- \fi
+ \fi
}%
\global\let\@@tenstringdutch\@@tenstringdutch
-
-\providecommand*{\honderd}{honderd}%
-\providecommand*{\duizend}{duizend}%
-\global\let\honderd\honderd
-\global\let\duizend\duizend
-
\newcommand*\@@teenstringdutch[1]{%
- \ifcase#1%
+ \ifcase#1%
tien%
\or elf%
\or twaalf%
@@ -79,84 +68,81 @@
\or zeventien%
\or achttien%
\or negentien%
- \fi
+ \fi
}%
\global\let\@@teenstringdutch\@@teenstringdutch
-
+\providecommand*{\honderd}{honderd}%
+\providecommand*{\duizend}{duizend}%
+\global\let\honderd\honderd
+\global\let\duizend\duizend
+\newcommand*\@@numberstringdutch[2]{%
+ \ifnum#1>99999\relax
+ \PackageError{fmtcount}{Out of range}%
+ {This macro only works for values less than 100000}%
+ \else
+ \ifnum#1<0\relax
+ \PackageError{fmtcount}{Negative numbers not permitted}%
+ {This macro does not work for negative numbers, however
+ you can try typing "minus" first, and then pass the modulus of
+ this number}%
+ \fi
+ \fi
+ \def#2{}%
+ \@strctr=#1\relax \divide\@strctr by 1000\relax
+ \ifnum\@strctr>1\relax
+ \@@numberunderhundreddutch{\@strctr}{#2}%
+ \appto#2{duizend}%
+ \else
+ \ifnum\@strctr=1\relax
+ \eappto#2{\duizend}%
+ \fi
+ \fi
+ \@strctr=#1\relax
+ \@FCmodulo{\@strctr}{1000}%
+ \divide\@strctr by 100\relax
+ \ifnum\@strctr>1\relax
+ \eappto#2{\@unitstring{\@strctr}honderd}%
+ \else
+ \ifnum\@strctr=1\relax
+ \ifnum#1>1000\relax
+ \appto#2{honderd}%
+ \else
+ \eappto#2{\honderd}%
+ \fi
+ \fi
+ \fi
+ \@strctr=#1\relax
+ \@FCmodulo{\@strctr}{100}%
+ \ifnum#1=0\relax
+ \def#2{null}%
+ \else
+ \ifnum\@strctr=1\relax
+ \appto#2{een}%
+ \else
+ \@@numberunderhundreddutch{\@strctr}{#2}%
+ \fi
+ \fi
+}%
+\global\let\@@numberstringdutch\@@numberstringdutch
\newcommand*{\@numberstringMdutch}[2]{%
- \let\@unitstring=\@@unitstringdutch
- \let\@teenstring=\@@teenstringdutch
- \let\@tenstring=\@@tenstringdutch
+ \let\@unitstring=\@@unitstringdutch%
+ \let\@teenstring=\@@teenstringdutch%
+ \let\@tenstring=\@@tenstringdutch%
+ \def\@hundred{honderd}\def\@thousand{duizend}%
+ \def\@andname{en}%
\@@numberstringdutch{#1}{#2}%
-}
+}%
\global\let\@numberstringMdutch\@numberstringMdutch
\global\let\@numberstringFdutch=\@numberstringMdutch
\global\let\@numberstringNdutch=\@numberstringMdutch
-
\newcommand*{\@NumberstringMdutch}[2]{%
-\@numberstringMdutch{#1}{\@@num@str}%
-\edef#2{\noexpand\MakeUppercase\expandonce\@@num@str}}
+ \@numberstringMdutch{#1}{\@@num@str}%
+ \edef#2{\noexpand\MakeUppercase\expandonce\@@num@str}%
+}%
\global\let\@NumberstringMdutch\@NumberstringMdutch
\global\let\@NumberstringFdutch=\@NumberstringMdutch
\global\let\@NumberstringNdutch=\@NumberstringMdutch
-
-\newcommand*{\@ordinalstringMdutch}[2]{%
- \let\@unitthstring=\@@unitthstringMdutch
- \let\@teenthstring=\@@teenthstringMdutch
- \let\@tenthstring=\@@tenthstringMdutch
- \let\@unitstring=\@@unitstringdutch
- \let\@teenstring=\@@teenstringdutch
- \let\@tenstring=\@@tenstringdutch
- \def\@thousandth{duizendste}%
- \def\@hundredth{honderdste}%
- \@@ordinalstringdutch{#1}{#2}%
-}%
-\global\let\@ordinalstringMdutch\@ordinalstringMdutch
-
-\global\let\@ordinalstringMdutch\@ordinalstringMdutch
-\newcommand*{\@ordinalstringFdutch}[2]{%
- \let\@unitthstring=\@@unitthstringFdutch
- \let\@teenthstring=\@@teenthstringFdutch
- \let\@tenthstring=\@@tenthstringFdutch
- \let\@unitstring=\@@unitstringdutch
- \let\@teenstring=\@@teenstringdutch
- \let\@tenstring=\@@tenstringdutch
- \def\@thousandth{duizendste}%
- \def\@hundredth{honderdste}%
- \@@ordinalstringdutch{#1}{#2}%
-}%
-\global\let\@ordinalstringFdutch\@ordinalstringFdutch
-
-\newcommand*{\@ordinalstringNdutch}[2]{%
- \let\@unitthstring=\@@unitthstringNdutch
- \let\@teenthstring=\@@teenthstringNdutch
- \let\@tenthstring=\@@tenthstringNdutch
- \let\@unitstring=\@@unitstringdutch
- \let\@teenstring=\@@teenstringdutch
- \let\@tenstring=\@@tenstringdutch
- \def\@thousandth{duizendste}%
- \def\@hundredth{honderdste}%
- \@@ordinalstringdutch{#1}{#2}%
-}%
-\global\let\@ordinalstringNdutch\@ordinalstringNdutch
-
-\newcommand*{\@OrdinalstringMdutch}[2]{%
- \@ordinalstringMdutch{#1}{\@@num@str}%
- \edef#2{\noexpand\MakeUppercase\expandonce\@@num@str}%
-}%
-\global\let\@OrdinalstringMdutch\@OrdinalstringMdutch
-\newcommand*{\@OrdinalstringFdutch}[2]{%
- \@ordinalstringFdutch{#1}{\@@num@str}%
- \edef#2{\noexpand\MakeUppercase\expandonce\@@num@str}%
-}%
-\global\let\@OrdinalstringFdutch\@OrdinalstringFdutch
-\newcommand*{\@OrdinalstringNdutch}[2]{%
- \@ordinalstringNdutch{#1}{\@@num@str}%
- \edef#2{\noexpand\MakeUppercase\expandonce\@@num@str}%
-}%
-\global\let\@OrdinalstringNdutch\@OrdinalstringNdutch
-
-\newcommand*\@@unitthstringMdutch[1]{%
+\newcommand*\@@unitthstringdutch[1]{%
\ifcase#1%
nulde%
\or eerste%
@@ -170,9 +156,9 @@
\or negende%
\fi
}%
-\global\let\@@unitthstringMdutch\@@unitthstringMdutch
-\newcommand*\@@tenthstringMdutch[1]{%
- \ifcase#1%
+\global\let\@@unitthstringdutch\@@unitthstringdutch
+\newcommand*\@@tenthstringdutch[1]{%
+ \ifcase#1%
\or tiende%
\or twintigste%
\or dertigste%
@@ -182,11 +168,11 @@
\or zeventigste%
\or tachtigste%
\or negentigste%
- \fi
+ \fi
}%
-\global\let\@@tenthstringMdutch\@@tenthstringMdutch
-\newcommand*\@@teenthstringMdutch[1]{%
- \ifcase#1%
+\global\let\@@tenthstringdutch\@@tenthstringdutch
+\newcommand*\@@teenthstringdutch[1]{%
+ \ifcase#1%
tiende%
\or elfde%
\or twaalfde%
@@ -197,228 +183,145 @@
\or zeventiende%
\or achttiende%
\or negentiende%
- \fi
-}%
-\global\let\@@teenthstringMdutch\@@teenthstringMdutch
-\newcommand*\@@unitthstringFdutch[1]{%
- \ifcase#1%
- nullte%
- \or eerste%
- \or tweede%
- \or derde%
- \or vierde%
- \or vijfde%
- \or zesde%
- \or zevende%
- \or achtste%
- \or negende%
- \fi
+ \fi
}%
-\global\let\@@unitthstringFdutch\@@unitthstringFdutch
-\newcommand*\@@tenthstringFdutch[1]{%
- \ifcase#1%
- \or tiende%
- \or twintigste%
- \or dertigste%
- \or veertigste%
- \or vijftigste%
- \or zestigste%
- \or zeventigste%
- \or tachtigste%
- \or negentigste%
- \fi
+\global\let\@@teenthstringdutch\@@teenthstringdutch
+\newcommand*\@@ordinalstringdutch[2]{%
+ \@orgargctr=#1\relax
+ \ifnum\@orgargctr>99999\relax
+ \PackageError{fmtcount}{Out of range}%
+ {This macro only works for values less than 100000}%
+ \else
+ \ifnum\@orgargctr<0\relax
+ \PackageError{fmtcount}{Negative numbers not permitted}%
+ {This macro does not work for negative numbers, however
+ you can try typing "minus" first, and then pass the modulus of
+ this number}%
+ \fi
+ \fi
+ \def#2{}%
+ \@strctr=\@orgargctr\divide\@strctr by 1000\relax
+ \ifnum\@strctr>1\relax
+ \@@numberunderhundreddutch{\@strctr}{#2}%
+ \@tmpstrctr=\@orgargctr\@FCmodulo{\@tmpstrctr}{1000}%
+ \ifnum\@tmpstrctr=0\relax
+ \eappto#2{\@thousandth}%
+ \else
+ \appto#2{duizend}%
+ \fi
+ \else
+ \ifnum\@strctr=1\relax
+ \ifnum\@orgargctr=1000\relax
+ \eappto#2{\@thousandth}%
+ \else
+ \eappto#2{\duizend}%
+ \fi
+ \fi
+ \fi
+ \@strctr=\@orgargctr%
+ \@FCmodulo{\@strctr}{1000}%
+ \divide\@strctr by 100\relax
+ \ifnum\@strctr>1\relax
+ \@tmpstrctr=\@orgargctr \@FCmodulo{\@tmpstrctr}{100}%
+ \ifnum\@tmpstrctr=0\relax
+ \ifnum\@strctr=1\relax
+ \eappto#2{\@hundredth}%
+ \else
+ \eappto#2{\@unitstring{\@strctr}\@hundredth}%
+ \fi
+ \else
+ \eappto#2{\@unitstring{\@strctr}honderd}%
+ \fi
+ \else
+ \ifnum\@strctr=1\relax
+ \@tmpstrctr=\@orgargctr \@FCmodulo{\@tmpstrctr}{100}%
+ \ifnum\@tmpstrctr=0\relax
+ \eappto#2{\@hundredth}%
+ \else
+ \ifnum\@orgargctr>1000\relax
+ \appto#2{honderd}%
+ \else
+ \eappto#2{\honderd}%
+ \fi
+ \fi
+ \fi
+ \fi
+ \@strctr=\@orgargctr%
+ \@FCmodulo{\@strctr}{100}%
+ \ifthenelse{\@strctr=0 \and \@orgargctr>0 }{}{%
+ \@@numberunderhundredthdutch{\@strctr}{#2}%
+ }%
}%
-\global\let\@@tenthstringFdutch\@@tenthstringFdutch
-\newcommand*\@@teenthstringFdutch[1]{%
- \ifcase#1%
- tiende%
- \or elfde%
- \or twaalfde%
- \or dertiende%
- \or veertiende%
- \or vijftiende%
- \or zestiende%
- \or zeventiende%
- \or achttiende%
- \or zegentiende%
- \fi
+\global\let\@@ordinalstringdutch\@@ordinalstringdutch
+\newcommand*{\@ordinalstringMdutch}[2]{%
+ \let\@unitthstring=\@@unitthstringdutch%
+ \let\@teenthstring=\@@teenthstringdutch%
+ \let\@tenthstring=\@@tenthstringdutch%
+ \let\@unitstring=\@@unitstringdutch%
+ \let\@teenstring=\@@teenstringdutch%
+ \let\@tenstring=\@@tenstringdutch%
+ \def\@thousandth{duizendste}%
+ \def\@hundredth{honderdste}%
+ \@@ordinalstringdutch{#1}{#2}%
}%
-\global\let\@@teenthstringFdutch\@@teenthstringFdutch
-\newcommand*\@@unitthstringNdutch[1]{%
- \ifcase#1%
- nulde%
- \or eerste%
- \or tweede%
- \or derde%
- \or vierde%
- \or vijfde%
- \or zesde%
- \or zevende%
- \or achtste%
- \or negende%
- \fi
+\global\let\@ordinalstringMdutch\@ordinalstringMdutch
+\global\let\@ordinalstringFdutch=\@ordinalstringMdutch
+\global\let\@ordinalstringNdutch=\@ordinalstringMdutch
+\newcommand*{\@OrdinalstringMdutch}[2]{%
+ \@ordinalstringMdutch{#1}{\@@num@str}%
+ \def\@andname{en}%
+ \def\@hundred{Honderd}\def\@thousand{Duizend}%
+ \def\@hundredth{Honderdste}\def\@thousandth{Duizendste}%
+ \edef#2{\noexpand\MakeUppercase\expandonce\@@num@str}%
}%
-\global\let\@@teenthstringNdutch\@@teenthstringNdutch
-\newcommand*\@@numberunderhundreddutch[2]{%
-\ifnum#1<10\relax
- \ifnum#1>0\relax
+\global\let\@OrdinalstringMdutch\@OrdinalstringMdutch
+\global\let\@OrdinalstringFdutch=\@OrdinalstringMdutch
+\global\let\@OrdinalstringNdutch=\@OrdinalstringMdutch
+\newcommand*{\@@numberunderhundreddutch}[2]{%
+ \ifnum#1<10\relax
+ \ifnum#1>0\relax
\eappto#2{\@unitstring{#1}}%
- \fi
-\else
- \@tmpstrctr=#1\relax
- \@FCmodulo{\@tmpstrctr}{10}%
- \ifnum#1<20\relax
+ \fi
+ \else
+ \@tmpstrctr=#1\relax
+ \@FCmodulo{\@tmpstrctr}{10}%
+ \ifnum#1<20\relax
\eappto#2{\@teenstring{\@tmpstrctr}}%
- \else
+ \else
\ifnum\@tmpstrctr=0\relax
\else
- \eappto#2{\@unitstring{\@tmpstrctr}en}%
+ \eappto#2{\@unitstring{\@tmpstrctr}en}%
\fi
\@tmpstrctr=#1\relax
\divide\@tmpstrctr by 10\relax
\eappto#2{\@tenstring{\@tmpstrctr}}%
- \fi
-\fi
+ \fi
+ \fi
}%
\global\let\@@numberunderhundreddutch\@@numberunderhundreddutch
-\newcommand*\@@numberstringdutch[2]{%
-\ifnum#1>99999\relax
- \PackageError{fmtcount}{Out of range}%
- {This macro only works for values less than 100000}%
-\else
- \ifnum#1<0\relax
- \PackageError{fmtcount}{Negative numbers not permitted}%
- {This macro does not work for negative numbers, however
- you can try typing "minus" first, and then pass the modulus of
- this number}%
- \fi
-\fi
-\def#2{}%
-\@strctr=#1\relax \divide\@strctr by 1000\relax
-\ifnum\@strctr>1\relax
- \@@numberunderhundreddutch{\@strctr}{#2}%
- \appto#2{duizend}%
-\else
- \ifnum\@strctr=1\relax
- \eappto#2{\eintausend}%
- \fi
-\fi
-\@strctr=#1\relax
-\@FCmodulo{\@strctr}{1000}%
-\divide\@strctr by 100\relax
-\ifnum\@strctr>1\relax
- \eappto#2{\@unitstring{\@strctr}honderd}%
-\else
- \ifnum\@strctr=1\relax
- \ifnum#1>1000\relax
- \appto#2{honderd}%
- \else
- \eappto#2{\honderd}%
- \fi
- \fi
-\fi
-\@strctr=#1\relax
-\@FCmodulo{\@strctr}{100}%
-\ifnum#1=0\relax
- \def#2{null}%
-\else
- \ifnum\@strctr=1\relax
- \appto#2{één}%
- \else
- \@@numberunderhundreddutch{\@strctr}{#2}%
- \fi
-\fi
-}%
-\global\let\@@numberstringdutch\@@numberstringdutch
-\newcommand*\@@numberunderhundredthdutch[2]{%
-\ifnum#1<10\relax
- \eappto#2{\@unitthstring{#1}}%
-\else
- \@tmpstrctr=#1\relax
- \@FCmodulo{\@tmpstrctr}{10}%
- \ifnum#1<20\relax
+\newcommand*{\@@numberunderhundredthdutch}[2]{%
+ \ifnum#1<10\relax
+ \eappto#2{\@unitthstring{#1}}%
+ \else
+ \@tmpstrctr=#1\relax
+ \@FCmodulo{\@tmpstrctr}{10}%
+ \ifnum#1<20\relax
\eappto#2{\@teenthstring{\@tmpstrctr}}%
- \else
+ \else
\ifnum\@tmpstrctr=0\relax
\else
- \eappto#2{\@unitstring{\@tmpstrctr}-en-}%
+ \eappto#2{\@unitstring{\@tmpstrctr}-en-}%
\fi
\@tmpstrctr=#1\relax
\divide\@tmpstrctr by 10\relax
\eappto#2{\@tenthstring{\@tmpstrctr}}%
- \fi
-\fi
+ \fi
+ \fi
}%
\global\let\@@numberunderhundredthdutch\@@numberunderhundredthdutch
-\newcommand*\@@ordinalstringdutch[2]{%
-\@orgargctr=#1\relax
-\ifnum\@orgargctr>99999\relax
- \PackageError{fmtcount}{Out of range}%
- {This macro only works for values less than 100000}%
-\else
- \ifnum\@orgargctr<0\relax
- \PackageError{fmtcount}{Negative numbers not permitted}%
- {This macro does not work for negative numbers, however
- you can try typing "minus" first, and then pass the modulus of
- this number}%
- \fi
-\fi
-\def#2{}%
-\@strctr=\@orgargctr\divide\@strctr by 1000\relax
-\ifnum\@strctr>1\relax
-\@@numberunderhundreddutch{\@strctr}{#2}%
- \@tmpstrctr=\@orgargctr\@FCmodulo{\@tmpstrctr}{1000}%
- \ifnum\@tmpstrctr=0\relax
- \eappto#2{\@thousandth}%
- \else
- \appto#2{duizend}%
- \fi
-\else
- \ifnum\@strctr=1\relax
- \ifnum\@orgargctr=1000\relax
- \eappto#2{\@thousandth}%
- \else
- \eappto#2{\duizend}%
- \fi
- \fi
-\fi
-\@strctr=\@orgargctr
-\@FCmodulo{\@strctr}{1000}%
-\divide\@strctr by 100\relax
-\ifnum\@strctr>1\relax
- \@tmpstrctr=\@orgargctr \@FCmodulo{\@tmpstrctr}{100}%
- \ifnum\@tmpstrctr=0\relax
- \ifnum\@strctr=1\relax
- \eappto#2{\@hundredth}%
- \else
- \eappto#2{\@unitstring{\@strctr}\@hundredth}%
- \fi
- \else
- \eappto#2{\@unitstring{\@strctr}honderd}%
- \fi
-\else
- \ifnum\@strctr=1\relax
- \@tmpstrctr=\@orgargctr \@FCmodulo{\@tmpstrctr}{100}%
- \ifnum\@tmpstrctr=0\relax
- \eappto#2{\@hundredth}%
- \else
- \ifnum\@orgargctr>1000\relax
- \appto#2{honderd}%
- \else
- \eappto#2{\honderd}%
- \fi
- \fi
- \fi
-\fi
-\@strctr=\@orgargctr
-\@FCmodulo{\@strctr}{100}%
-\ifthenelse{\@strctr=0 \and \@orgargctr>0 }{}{%
-\@@numberunderhundredthdutch{\@strctr}{#2}%
-}%
-}%
-\global\let\@@ordinalstringdutch\@@ordinalstringdutch
-%\FCloadlang{dutchb}%
\iffalse Local variables: \fi
\iffalse mode: docTeX \fi
\iffalse End: \fi
-\endinput \ No newline at end of file
+\endinput
+%%
+%% End of file `fc-dutch.def'.
diff --git a/macros/latex/contrib/regulatory/tex/regulatory.sty b/macros/latex/contrib/regulatory/tex/regulatory.sty
index f6b3be5e88..2e89a19a37 100644
--- a/macros/latex/contrib/regulatory/tex/regulatory.sty
+++ b/macros/latex/contrib/regulatory/tex/regulatory.sty
@@ -21,7 +21,7 @@
% md-example.tex, example.md,
% fc-dutch.def and regulatory.sty
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{regulatory}[2024/01/16 Xerdi's Regulatory Package]
+\ProvidesPackage{regulatory}[2024/01/27 0.0.3 Xerdi's Regulatory Package]
\RequirePackage{pgfopts}
\RequirePackage{xifthen}
diff --git a/support/texlab/CHANGELOG.md b/support/texlab/CHANGELOG.md
index 3a2771ebfd..928eb0c10b 100644
--- a/support/texlab/CHANGELOG.md
+++ b/support/texlab/CHANGELOG.md
@@ -5,6 +5,12 @@ 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.12.3] - 2024-01-27
+
+### Fixed
+
+- Fix completing includes in conjunction with `\graphicspath` ([#997](https://github.com/latex-lsp/texlab/issues/997))
+
## [5.12.2] - 2024-01-20
### Fixed
diff --git a/support/texlab/Cargo.lock b/support/texlab/Cargo.lock
index 8a130372d7..64669f9f36 100644
--- a/support/texlab/Cargo.lock
+++ b/support/texlab/Cargo.lock
@@ -443,9 +443,19 @@ dependencies = [
name = "diagnostics"
version = "0.0.0"
dependencies = [
+ "anyhow",
"base-db",
+ "dirs",
+ "encoding_rs",
+ "encoding_rs_io",
+ "expect-test",
"itertools 0.12.0",
"line-index",
+ "log",
+ "multimap",
+ "once_cell",
+ "parking_lot",
+ "regex",
"rowan",
"rustc-hash",
"syntax",
@@ -977,6 +987,15 @@ dependencies = [
]
[[package]]
+name = "multimap"
+version = "0.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e1a5d38b9b352dbd913288736af36af41c48d61b1a8cd34bcecd727561b7d511"
+dependencies = [
+ "serde",
+]
+
+[[package]]
name = "notify"
version = "6.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1496,7 +1515,7 @@ dependencies = [
[[package]]
name = "texlab"
-version = "5.12.2"
+version = "5.12.3"
dependencies = [
"anyhow",
"base-db",
diff --git a/support/texlab/crates/base-db/src/semantics/tex.rs b/support/texlab/crates/base-db/src/semantics/tex.rs
index c1e9f45bb9..659ec8c166 100644
--- a/support/texlab/crates/base-db/src/semantics/tex.rs
+++ b/support/texlab/crates/base-db/src/semantics/tex.rs
@@ -59,6 +59,8 @@ impl Semantics {
self.process_environment(environment);
} else if let Some(theorem_def) = latex::TheoremDefinition::cast(node.clone()) {
self.process_theorem_definition(theorem_def);
+ } else if let Some(graphics_path) = latex::GraphicsPath::cast(node.clone()) {
+ self.process_graphics_path(graphics_path);
}
}
@@ -268,6 +270,12 @@ impl Semantics {
heading,
});
}
+
+ fn process_graphics_path(&mut self, graphics_path: latex::GraphicsPath) {
+ for path in graphics_path.path_list().filter_map(|path| path.key()) {
+ self.graphics_paths.insert(path.to_string());
+ }
+ }
}
#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone, Copy, Hash)]
diff --git a/support/texlab/crates/completion/src/providers/include.rs b/support/texlab/crates/completion/src/providers/include.rs
index 2dd204cfdc..f8bb55dfeb 100644
--- a/support/texlab/crates/completion/src/providers/include.rs
+++ b/support/texlab/crates/completion/src/providers/include.rs
@@ -87,7 +87,7 @@ pub fn complete_includes<'a>(
if let Some(score) = builder.matcher.score(&name, segment_text) {
builder.items.push(CompletionItem::new_simple(
score,
- cursor.range,
+ segment_range,
CompletionItemData::File(name),
));
}
@@ -96,7 +96,7 @@ pub fn complete_includes<'a>(
if let Some(score) = builder.matcher.score(&name, segment_text) {
builder.items.push(CompletionItem::new_simple(
score,
- cursor.range,
+ segment_range,
CompletionItemData::Directory(name),
));
}
@@ -121,11 +121,12 @@ fn current_dir(
let path = workspace.current_dir(&parent.dir).to_file_path().ok()?;
let mut path = PathBuf::from(path.to_str()?.replace('\\', "/"));
- if !path_text.is_empty() {
- if let Some(graphics_path) = graphics_path {
- path.push(graphics_path);
- }
+ if let Some(graphics_path) = graphics_path {
+ path.push(graphics_path);
+ }
+
+ if !path_text.is_empty() {
path.push(path_text);
if !path_text.ends_with('/') {
path.pop();
diff --git a/support/texlab/crates/definition/src/lib.rs b/support/texlab/crates/definition/src/lib.rs
index 55319b7fe4..e35a0fdcc1 100644
--- a/support/texlab/crates/definition/src/lib.rs
+++ b/support/texlab/crates/definition/src/lib.rs
@@ -23,12 +23,12 @@ pub struct DefinitionResult<'a> {
}
#[derive(Debug)]
-struct DefinitionContext<'a> {
- params: DefinitionParams<'a>,
+struct DefinitionContext<'a, 'b> {
+ params: &'b DefinitionParams<'a>,
results: FxHashSet<DefinitionResult<'a>>,
}
-pub fn goto_definition(params: DefinitionParams) -> FxHashSet<DefinitionResult> {
+pub fn goto_definition<'a>(params: &DefinitionParams<'a>) -> FxHashSet<DefinitionResult<'a>> {
let mut context = DefinitionContext {
params,
results: FxHashSet::default(),
diff --git a/support/texlab/crates/definition/src/tests.rs b/support/texlab/crates/definition/src/tests.rs
index 8d81927d32..54b0e38f30 100644
--- a/support/texlab/crates/definition/src/tests.rs
+++ b/support/texlab/crates/definition/src/tests.rs
@@ -30,7 +30,7 @@ fn check(input: &str) {
}
}
- let actual = crate::goto_definition(DefinitionParams { feature, offset });
+ let actual = crate::goto_definition(&DefinitionParams { feature, offset });
assert_eq!(actual, expected);
}
diff --git a/support/texlab/crates/diagnostics/Cargo.toml b/support/texlab/crates/diagnostics/Cargo.toml
index 7de9c6042d..1fb4b2171d 100644
--- a/support/texlab/crates/diagnostics/Cargo.toml
+++ b/support/texlab/crates/diagnostics/Cargo.toml
@@ -7,15 +7,25 @@ edition.workspace = true
rust-version.workspace = true
[dependencies]
+anyhow = "1.0.75"
base-db = { path = "../base-db" }
+dirs = "5.0.1"
+encoding_rs = "0.8.33"
+encoding_rs_io = "0.1.7"
itertools = "0.12.0"
line-index = { path = "../line-index" }
+log = "0.4.20"
+multimap = "0.9.1"
+once_cell = "1.19.0"
+parking_lot = "0.12.1"
+regex = "1.10.2"
rowan = "0.15.15"
rustc-hash = "1.1.0"
syntax = { path = "../syntax" }
url = "2.5.0"
[dev-dependencies]
+expect-test = "1.4.1"
test-utils = { path = "../test-utils" }
[lib]
diff --git a/support/texlab/crates/diagnostics/src/build_log.rs b/support/texlab/crates/diagnostics/src/build_log.rs
index 4c53a35ff8..352e18d0d1 100644
--- a/support/texlab/crates/diagnostics/src/build_log.rs
+++ b/support/texlab/crates/diagnostics/src/build_log.rs
@@ -1,94 +1,54 @@
-use std::borrow::Cow;
-
use base_db::{Document, Workspace};
use line_index::LineCol;
+use multimap::MultiMap;
use rowan::{TextLen, TextRange, TextSize};
use rustc_hash::FxHashMap;
use syntax::BuildError;
use url::Url;
-use crate::{
- types::{Diagnostic, DiagnosticData},
- DiagnosticBuilder, DiagnosticSource,
-};
-
-#[derive(Debug, Default)]
-struct BuildLog {
- errors: FxHashMap<Url, Vec<Diagnostic>>,
-}
+use crate::types::Diagnostic;
-#[derive(Debug, Default)]
-pub struct BuildErrors {
- logs: FxHashMap<Url, BuildLog>,
-}
+pub fn update(
+ workspace: &Workspace,
+ log_document: &Document,
+ results: &mut FxHashMap<Url, MultiMap<Url, Diagnostic>>,
+) -> Option<()> {
+ let mut errors = MultiMap::default();
-impl DiagnosticSource for BuildErrors {
- fn update(&mut self, workspace: &Workspace, log_document: &Document) {
- let mut errors: FxHashMap<Url, Vec<Diagnostic>> = FxHashMap::default();
+ let data = log_document.data.as_log()?;
- let Some(data) = log_document.data.as_log() else {
- return;
- };
+ let parents = workspace.parents(log_document);
+ let root_document = parents.iter().next()?;
- let parents = workspace.parents(log_document);
- let Some(root_document) = parents.iter().next() else {
- return;
- };
+ let base_path = root_document
+ .path
+ .as_deref()
+ .and_then(|path| path.parent())?;
- let Some(base_path) = root_document.path.as_deref().and_then(|path| path.parent()) else {
- return;
+ for error in &data.errors {
+ let full_path = base_path.join(&error.relative_path);
+ let Ok(full_path_uri) = Url::from_file_path(&full_path) else {
+ continue;
};
- for error in &data.errors {
- let full_path = base_path.join(&error.relative_path);
- let Ok(full_path_uri) = Url::from_file_path(&full_path) else {
- continue;
- };
+ let tex_document = workspace.lookup(&full_path_uri).unwrap_or(root_document);
- let tex_document = workspace.lookup(&full_path_uri).unwrap_or(root_document);
+ let range = find_range_of_hint(tex_document, error).unwrap_or_else(|| {
+ let line = error.line.unwrap_or(0);
+ let offset = tex_document
+ .line_index
+ .offset(LineCol { line, col: 0 })
+ .unwrap_or(TextSize::from(0));
- let range = find_range_of_hint(tex_document, error).unwrap_or_else(|| {
- let line = error.line.unwrap_or(0);
- let offset = tex_document
- .line_index
- .offset(LineCol { line, col: 0 })
- .unwrap_or(TextSize::from(0));
+ TextRange::empty(offset)
+ });
- TextRange::empty(offset)
- });
-
- let diagnostic = Diagnostic {
- range,
- data: DiagnosticData::Build(error.clone()),
- };
-
- errors
- .entry(tex_document.uri.clone())
- .or_default()
- .push(diagnostic);
- }
-
- self.logs
- .insert(log_document.uri.clone(), BuildLog { errors });
+ let diagnostic = Diagnostic::Build(range, error.clone());
+ errors.insert(tex_document.uri.clone(), diagnostic);
}
- fn publish<'db>(
- &'db mut self,
- workspace: &'db Workspace,
- builder: &mut DiagnosticBuilder<'db>,
- ) {
- self.logs.retain(|uri, _| workspace.lookup(uri).is_some());
-
- for document in workspace.iter() {
- let Some(log) = self.logs.get(&document.uri) else {
- continue;
- };
-
- for (uri, errors) in &log.errors {
- builder.push_many(uri, errors.iter().map(Cow::Borrowed));
- }
- }
- }
+ results.insert(log_document.uri.clone(), errors);
+ Some(())
}
fn find_range_of_hint(document: &Document, error: &BuildError) -> Option<TextRange> {
diff --git a/support/texlab/crates/texlab/src/util/chktex.rs b/support/texlab/crates/diagnostics/src/chktex.rs
index 6166108707..a342f78349 100644
--- a/support/texlab/crates/texlab/src/util/chktex.rs
+++ b/support/texlab/crates/diagnostics/src/chktex.rs
@@ -5,13 +5,13 @@ use std::{
};
use base_db::{Document, Workspace};
-use distro::Language;
use encoding_rs_io::DecodeReaderBytesBuilder;
-use lsp_types::{Diagnostic, NumberOrString};
-use lsp_types::{DiagnosticSeverity, Position, Range};
+use line_index::LineCol;
use once_cell::sync::Lazy;
use regex::Regex;
+use crate::{types::Diagnostic, ChktexError, ChktexSeverity};
+
#[derive(Debug)]
pub struct Command {
text: String,
@@ -21,9 +21,7 @@ pub struct Command {
impl Command {
pub fn new(workspace: &Workspace, document: &Document) -> Option<Self> {
- if document.language != Language::Tex {
- return None;
- }
+ document.data.as_tex()?;
let parent = workspace
.parents(document)
@@ -31,7 +29,7 @@ impl Command {
.next()
.unwrap_or(document);
- if parent.uri.scheme() != "file" {
+ if parent.path.is_none() {
log::warn!("Calling ChkTeX on non-local files is not supported yet.");
return None;
}
@@ -78,30 +76,31 @@ impl Command {
let character = captures[2].parse::<u32>().unwrap() - 1;
let digit = captures[3].parse::<u32>().unwrap();
let kind = &captures[4];
- let code = &captures[5];
+ let code = String::from(&captures[5]);
let message = captures[6].into();
- let range = Range::new(
- Position::new(line, character),
- Position::new(line, character + digit),
- );
+ let start = LineCol {
+ line,
+ col: character,
+ };
+
+ let end = LineCol {
+ line,
+ col: character + digit,
+ };
let severity = match kind {
- "Message" => DiagnosticSeverity::INFORMATION,
- "Warning" => DiagnosticSeverity::WARNING,
- _ => DiagnosticSeverity::ERROR,
+ "Message" => ChktexSeverity::Message,
+ "Warning" => ChktexSeverity::Warning,
+ _ => ChktexSeverity::Error,
};
- diagnostics.push(Diagnostic {
- range,
- severity: Some(severity),
- code: Some(NumberOrString::String(code.into())),
+ diagnostics.push(Diagnostic::Chktex(ChktexError {
+ start,
+ end,
message,
- code_description: None,
- source: Some(String::from("ChkTeX")),
- related_information: None,
- tags: None,
- data: None,
- });
+ severity,
+ code,
+ }));
}
diagnostics
diff --git a/support/texlab/crates/diagnostics/src/citations.rs b/support/texlab/crates/diagnostics/src/citations.rs
index 0b750aaadb..403d2f5bfc 100644
--- a/support/texlab/crates/diagnostics/src/citations.rs
+++ b/support/texlab/crates/diagnostics/src/citations.rs
@@ -1,46 +1,22 @@
-use std::borrow::Cow;
-
use base_db::{
semantics::{bib::Entry, tex::Citation},
util::queries::{self, Object},
Document, Project, Workspace,
};
+use multimap::MultiMap;
use rustc_hash::FxHashSet;
+use url::Url;
-use crate::{
- types::{BibError, Diagnostic, DiagnosticData, TexError},
- DiagnosticBuilder, DiagnosticSource,
-};
+use crate::types::{BibError, Diagnostic, TexError};
const MAX_UNUSED_ENTRIES: usize = 1000;
-#[derive(Default)]
-pub struct CitationErrors;
-
-impl DiagnosticSource for CitationErrors {
- fn publish<'db>(
- &'db mut self,
- workspace: &'db Workspace,
- builder: &mut DiagnosticBuilder<'db>,
- ) {
- for document in workspace.iter() {
- let project = workspace.project(document);
- detect_undefined_citations(&project, document, builder);
- detect_unused_entries(&project, document, builder);
- }
-
- detect_duplicate_entries(workspace, builder);
- }
-}
-
-fn detect_undefined_citations<'db>(
- project: &Project<'db>,
- document: &'db Document,
- builder: &mut DiagnosticBuilder<'db>,
-) {
- let Some(data) = document.data.as_tex() else {
- return;
- };
+pub fn detect_undefined_citations<'a>(
+ project: &Project<'a>,
+ document: &'a Document,
+ results: &mut MultiMap<Url, Diagnostic>,
+) -> Option<()> {
+ let data = document.data.as_tex()?;
let entries: FxHashSet<&str> = Entry::find_all(project)
.map(|(_, entry)| entry.name_text())
@@ -49,28 +25,24 @@ fn detect_undefined_citations<'db>(
for citation in &data.semantics.citations {
let name = citation.name_text();
if name != "*" && !entries.contains(name) {
- let diagnostic = Diagnostic {
- range: citation.name.range,
- data: DiagnosticData::Tex(TexError::UndefinedCitation),
- };
-
- builder.push(&document.uri, Cow::Owned(diagnostic));
+ let diagnostic = Diagnostic::Tex(citation.name.range, TexError::UndefinedCitation);
+ results.insert(document.uri.clone(), diagnostic);
}
}
+
+ Some(())
}
-fn detect_unused_entries<'db>(
- project: &Project<'db>,
- document: &'db Document,
- builder: &mut DiagnosticBuilder<'db>,
-) {
- let Some(data) = document.data.as_bib() else {
- return;
- };
+pub fn detect_unused_entries<'a>(
+ project: &Project<'a>,
+ document: &'a Document,
+ results: &mut MultiMap<Url, Diagnostic>,
+) -> Option<()> {
+ let data = document.data.as_bib()?;
// If this is a huge bibliography, then don't bother checking for unused entries.
if data.semantics.entries.len() > MAX_UNUSED_ENTRIES {
- return;
+ return None;
}
let citations: FxHashSet<&str> = Citation::find_all(project)
@@ -79,17 +51,18 @@ fn detect_unused_entries<'db>(
for entry in &data.semantics.entries {
if !citations.contains(entry.name.text.as_str()) {
- let diagnostic = Diagnostic {
- range: entry.name.range,
- data: DiagnosticData::Bib(BibError::UnusedEntry),
- };
-
- builder.push(&document.uri, Cow::Owned(diagnostic));
+ let diagnostic = Diagnostic::Bib(entry.name.range, BibError::UnusedEntry);
+ results.insert(document.uri.clone(), diagnostic);
}
}
+
+ Some(())
}
-fn detect_duplicate_entries<'db>(workspace: &'db Workspace, builder: &mut DiagnosticBuilder<'db>) {
+pub fn detect_duplicate_entries<'a>(
+ workspace: &'a Workspace,
+ results: &mut MultiMap<Url, Diagnostic>,
+) {
for conflict in queries::Conflict::find_all::<Entry>(workspace) {
let others = conflict
.rest
@@ -97,11 +70,7 @@ fn detect_duplicate_entries<'db>(workspace: &'db Workspace, builder: &mut Diagno
.map(|location| (location.document.uri.clone(), location.range))
.collect();
- let diagnostic = Diagnostic {
- range: conflict.main.range,
- data: DiagnosticData::Bib(BibError::DuplicateEntry(others)),
- };
-
- builder.push(&conflict.main.document.uri, Cow::Owned(diagnostic));
+ let diagnostic = Diagnostic::Bib(conflict.main.range, BibError::DuplicateEntry(others));
+ results.insert(conflict.main.document.uri.clone(), diagnostic);
}
}
diff --git a/support/texlab/crates/diagnostics/src/grammar.rs b/support/texlab/crates/diagnostics/src/grammar.rs
index 1a9e3cecda..df05ee6d14 100644
--- a/support/texlab/crates/diagnostics/src/grammar.rs
+++ b/support/texlab/crates/diagnostics/src/grammar.rs
@@ -1,4 +1,2 @@
-mod bib;
-mod tex;
-
-pub use self::{bib::BibSyntaxErrors, tex::TexSyntaxErrors};
+pub mod bib;
+pub mod tex;
diff --git a/support/texlab/crates/diagnostics/src/grammar/bib.rs b/support/texlab/crates/diagnostics/src/grammar/bib.rs
index e101e68f2a..494cdbe4b1 100644
--- a/support/texlab/crates/diagnostics/src/grammar/bib.rs
+++ b/support/texlab/crates/diagnostics/src/grammar/bib.rs
@@ -1,48 +1,35 @@
-use base_db::{Document, DocumentData, Workspace};
+use base_db::{BibDocumentData, Document};
+use multimap::MultiMap;
use rowan::{ast::AstNode, TextRange};
use syntax::bibtex::{self, HasDelims, HasEq, HasName, HasType, HasValue};
+use url::Url;
-use crate::{
- types::{BibError, DiagnosticData},
- util::SimpleDiagnosticSource,
- Diagnostic, DiagnosticBuilder, DiagnosticSource,
-};
+use crate::types::{BibError, Diagnostic};
-#[derive(Default)]
-pub struct BibSyntaxErrors(SimpleDiagnosticSource);
+pub fn update(document: &Document, results: &mut MultiMap<Url, Diagnostic>) -> Option<()> {
+ let data = document.data.as_bib()?;
+ let mut analyzer = Analyzer {
+ data,
+ diagnostics: Vec::new(),
+ };
-impl DiagnosticSource for BibSyntaxErrors {
- fn update(&mut self, _workspace: &Workspace, document: &Document) {
- let mut analyzer = Analyzer {
- document,
- diagnostics: Vec::new(),
- };
+ analyzer.analyze_root();
- analyzer.analyze_root();
- self.0
- .errors
- .insert(document.uri.clone(), analyzer.diagnostics);
- }
+ *results
+ .entry(document.uri.clone())
+ .or_insert_vec(Vec::new()) = analyzer.diagnostics;
- fn publish<'db>(
- &'db mut self,
- workspace: &'db Workspace,
- builder: &mut DiagnosticBuilder<'db>,
- ) {
- self.0.publish(workspace, builder);
- }
+ Some(())
}
struct Analyzer<'a> {
- document: &'a Document,
+ data: &'a BibDocumentData,
diagnostics: Vec<Diagnostic>,
}
impl<'a> Analyzer<'a> {
fn analyze_root(&mut self) {
- let DocumentData::Bib(data) = &self.document.data else { return };
-
- for node in bibtex::SyntaxNode::new_root(data.green.clone()).descendants() {
+ for node in self.data.root_node().descendants() {
if let Some(entry) = bibtex::Entry::cast(node.clone()) {
self.analyze_entry(entry);
} else if let Some(field) = bibtex::Field::cast(node.clone()) {
@@ -54,50 +41,50 @@ impl<'a> Analyzer<'a> {
fn analyze_entry(&mut self, entry: bibtex::Entry) {
if entry.left_delim_token().is_none() {
let offset = entry.type_token().unwrap().text_range().end();
- self.diagnostics.push(Diagnostic {
- range: TextRange::empty(offset),
- data: DiagnosticData::Bib(BibError::ExpectingLCurly),
- });
+ self.diagnostics.push(Diagnostic::Bib(
+ TextRange::empty(offset),
+ BibError::ExpectingLCurly,
+ ));
return;
}
if entry.name_token().is_none() {
let offset = entry.left_delim_token().unwrap().text_range().end();
- self.diagnostics.push(Diagnostic {
- range: TextRange::empty(offset),
- data: DiagnosticData::Bib(BibError::ExpectingKey),
- });
+ self.diagnostics.push(Diagnostic::Bib(
+ TextRange::empty(offset),
+ BibError::ExpectingKey,
+ ));
return;
}
if entry.right_delim_token().is_none() {
let offset = entry.syntax().text_range().end();
- self.diagnostics.push(Diagnostic {
- range: TextRange::empty(offset),
- data: DiagnosticData::Bib(BibError::ExpectingRCurly),
- });
+ self.diagnostics.push(Diagnostic::Bib(
+ TextRange::empty(offset),
+ BibError::ExpectingRCurly,
+ ));
}
}
fn analyze_field(&mut self, field: bibtex::Field) {
if field.eq_token().is_none() {
let offset = field.name_token().unwrap().text_range().end();
- self.diagnostics.push(Diagnostic {
- range: TextRange::empty(offset),
- data: DiagnosticData::Bib(BibError::ExpectingEq),
- });
+ self.diagnostics.push(Diagnostic::Bib(
+ TextRange::empty(offset),
+ BibError::ExpectingEq,
+ ));
return;
}
if field.value().is_none() {
let offset = field.eq_token().unwrap().text_range().end();
- self.diagnostics.push(Diagnostic {
- range: TextRange::empty(offset),
- data: DiagnosticData::Bib(BibError::ExpectingFieldValue),
- });
+ self.diagnostics.push(Diagnostic::Bib(
+ TextRange::empty(offset),
+ BibError::ExpectingFieldValue,
+ ));
}
}
}
diff --git a/support/texlab/crates/diagnostics/src/grammar/tex.rs b/support/texlab/crates/diagnostics/src/grammar/tex.rs
index b61ae4b020..fb2fa5b5fd 100644
--- a/support/texlab/crates/diagnostics/src/grammar/tex.rs
+++ b/support/texlab/crates/diagnostics/src/grammar/tex.rs
@@ -1,56 +1,47 @@
-use base_db::{Config, Document, DocumentData, Workspace};
+use base_db::{Config, Document, TexDocumentData};
+use multimap::MultiMap;
use rowan::{ast::AstNode, NodeOrToken, TextRange};
use syntax::latex;
-
-use crate::{
- types::{DiagnosticData, TexError},
- util::SimpleDiagnosticSource,
- Diagnostic, DiagnosticBuilder, DiagnosticSource,
-};
-
-#[derive(Default)]
-pub struct TexSyntaxErrors(SimpleDiagnosticSource);
-
-impl DiagnosticSource for TexSyntaxErrors {
- fn update(&mut self, workspace: &Workspace, document: &Document) {
- let mut analyzer = Analyzer {
- document,
- config: workspace.config(),
- diagnostics: Vec::new(),
- };
-
- analyzer.analyze_root();
- self.0
- .errors
- .insert(document.uri.clone(), analyzer.diagnostics);
+use url::Url;
+
+use crate::types::{Diagnostic, TexError};
+
+pub fn update(
+ document: &Document,
+ config: &Config,
+ results: &mut MultiMap<Url, Diagnostic>,
+) -> Option<()> {
+ let data = document.data.as_tex()?;
+ if !document.uri.as_str().ends_with(".tex") {
+ return None;
}
- fn publish<'db>(
- &'db mut self,
- workspace: &'db Workspace,
- builder: &mut DiagnosticBuilder<'db>,
- ) {
- self.0.publish(workspace, builder);
- }
+ let mut analyzer = Analyzer {
+ data,
+ config,
+ diagnostics: Vec::new(),
+ };
+
+ analyzer.analyze_root();
+
+ *results
+ .entry(document.uri.clone())
+ .or_insert_vec(Vec::new()) = analyzer.diagnostics;
+
+ Some(())
}
struct Analyzer<'a> {
- document: &'a Document,
+ data: &'a TexDocumentData,
config: &'a Config,
diagnostics: Vec<Diagnostic>,
}
impl<'a> Analyzer<'a> {
fn analyze_root(&mut self) {
- if !self.document.uri.as_str().ends_with(".tex") {
- return;
- }
-
- let DocumentData::Tex(data) = &self.document.data else { return };
-
let verbatim_envs = &self.config.syntax.verbatim_environments;
- let mut traversal = latex::SyntaxNode::new_root(data.green.clone()).preorder();
+ let mut traversal = self.data.root_node().preorder();
while let Some(event) = traversal.next() {
match event {
rowan::WalkEvent::Enter(node) => {
@@ -82,10 +73,10 @@ impl<'a> Analyzer<'a> {
let begin = environment.begin()?.name()?.key()?;
let end = environment.end()?.name()?.key()?;
if begin != end {
- self.diagnostics.push(Diagnostic {
- range: latex::small_range(&begin),
- data: DiagnosticData::Tex(TexError::MismatchedEnvironment),
- });
+ self.diagnostics.push(Diagnostic::Tex(
+ latex::small_range(&begin),
+ TexError::MismatchedEnvironment,
+ ));
}
Some(())
@@ -108,10 +99,10 @@ impl<'a> Analyzer<'a> {
.filter_map(NodeOrToken::into_token)
.any(|token| token.kind() == latex::R_CURLY)
{
- self.diagnostics.push(Diagnostic {
- range: TextRange::empty(node.text_range().end()),
- data: DiagnosticData::Tex(TexError::ExpectingRCurly),
- });
+ self.diagnostics.push(Diagnostic::Tex(
+ TextRange::empty(node.text_range().end()),
+ TexError::ExpectingRCurly,
+ ));
}
Some(())
@@ -119,10 +110,10 @@ impl<'a> Analyzer<'a> {
fn analyze_curly_braces(&mut self, node: latex::SyntaxNode) -> Option<()> {
if node.kind() == latex::ERROR && node.first_token()?.text() == "}" {
- self.diagnostics.push(Diagnostic {
- range: node.text_range(),
- data: DiagnosticData::Tex(TexError::UnexpectedRCurly),
- });
+ self.diagnostics.push(Diagnostic::Tex(
+ node.text_range(),
+ TexError::UnexpectedRCurly,
+ ));
Some(())
} else {
diff --git a/support/texlab/crates/diagnostics/src/labels.rs b/support/texlab/crates/diagnostics/src/labels.rs
index 03df664a15..92f9072918 100644
--- a/support/texlab/crates/diagnostics/src/labels.rs
+++ b/support/texlab/crates/diagnostics/src/labels.rs
@@ -1,35 +1,18 @@
-use std::borrow::Cow;
-
use base_db::{
semantics::tex::{Label, LabelKind},
util::queries,
DocumentData, Workspace,
};
use itertools::Itertools;
+use multimap::MultiMap;
use rustc_hash::FxHashSet;
+use url::Url;
-use crate::{
- types::{DiagnosticData, TexError},
- Diagnostic, DiagnosticBuilder, DiagnosticSource,
-};
-
-#[derive(Default)]
-pub struct LabelErrors;
-
-impl DiagnosticSource for LabelErrors {
- fn publish<'db>(
- &'db mut self,
- workspace: &'db Workspace,
- builder: &mut DiagnosticBuilder<'db>,
- ) {
- detect_undefined_and_unused_labels(workspace, builder);
- detect_duplicate_labels(workspace, builder);
- }
-}
+use crate::types::{Diagnostic, TexError};
-fn detect_undefined_and_unused_labels<'db>(
- workspace: &'db Workspace,
- builder: &mut DiagnosticBuilder<'db>,
+pub fn detect_undefined_and_unused_labels(
+ workspace: &Workspace,
+ results: &mut MultiMap<Url, Diagnostic>,
) {
let graphs: Vec<_> = workspace
.iter()
@@ -61,25 +44,19 @@ fn detect_undefined_and_unused_labels<'db>(
for label in &data.semantics.labels {
if label.kind != LabelKind::Definition && !label_defs.contains(&label.name.text) {
- let diagnostic = Diagnostic {
- range: label.name.range,
- data: DiagnosticData::Tex(TexError::UndefinedLabel),
- };
- builder.push(&document.uri, Cow::Owned(diagnostic));
+ let diagnostic = Diagnostic::Tex(label.name.range, TexError::UndefinedLabel);
+ results.insert(document.uri.clone(), diagnostic);
}
if label.kind == LabelKind::Definition && !label_refs.contains(&label.name.text) {
- let diagnostic = Diagnostic {
- range: label.name.range,
- data: DiagnosticData::Tex(TexError::UnusedLabel),
- };
- builder.push(&document.uri, Cow::Owned(diagnostic));
+ let diagnostic = Diagnostic::Tex(label.name.range, TexError::UnusedLabel);
+ results.insert(document.uri.clone(), diagnostic);
}
}
}
}
-fn detect_duplicate_labels<'db>(workspace: &'db Workspace, builder: &mut DiagnosticBuilder<'db>) {
+pub fn detect_duplicate_labels(workspace: &Workspace, results: &mut MultiMap<Url, Diagnostic>) {
for conflict in queries::Conflict::find_all::<Label>(workspace) {
let others = conflict
.rest
@@ -87,11 +64,7 @@ fn detect_duplicate_labels<'db>(workspace: &'db Workspace, builder: &mut Diagnos
.map(|location| (location.document.uri.clone(), location.range))
.collect();
- let diagnostic = Diagnostic {
- range: conflict.main.range,
- data: DiagnosticData::Tex(TexError::DuplicateLabel(others)),
- };
-
- builder.push(&conflict.main.document.uri, Cow::Owned(diagnostic));
+ let diagnostic = Diagnostic::Tex(conflict.main.range, TexError::DuplicateLabel(others));
+ results.insert(conflict.main.document.uri.clone(), diagnostic);
}
}
diff --git a/support/texlab/crates/diagnostics/src/lib.rs b/support/texlab/crates/diagnostics/src/lib.rs
index d0be31a0ba..e5baf9ebdb 100644
--- a/support/texlab/crates/diagnostics/src/lib.rs
+++ b/support/texlab/crates/diagnostics/src/lib.rs
@@ -1,88 +1,13 @@
mod build_log;
+pub mod chktex;
mod citations;
mod grammar;
mod labels;
-pub mod types;
-pub(crate) mod util;
+mod manager;
+mod types;
-use std::borrow::Cow;
-
-use base_db::{Document, Workspace};
-use build_log::BuildErrors;
-use citations::CitationErrors;
-use grammar::{BibSyntaxErrors, TexSyntaxErrors};
-use labels::LabelErrors;
-use rustc_hash::FxHashMap;
-use types::Diagnostic;
-use url::Url;
-
-#[derive(Debug, PartialEq, Eq, Clone, Default)]
-pub struct DiagnosticBuilder<'db> {
- inner: FxHashMap<&'db Url, Vec<Cow<'db, Diagnostic>>>,
-}
-
-impl<'db> DiagnosticBuilder<'db> {
- pub fn push(&mut self, uri: &'db Url, diagnostic: Cow<'db, Diagnostic>) {
- self.inner.entry(uri).or_default().push(diagnostic);
- }
-
- pub fn push_many(
- &mut self,
- uri: &'db Url,
- diagnostics: impl Iterator<Item = Cow<'db, Diagnostic>>,
- ) {
- self.inner.entry(uri).or_default().extend(diagnostics);
- }
-
- pub fn iter(&self) -> impl Iterator<Item = (&'db Url, impl Iterator<Item = &Diagnostic>)> {
- self.inner
- .iter()
- .map(|(uri, diagnostics)| (*uri, diagnostics.iter().map(|diag| diag.as_ref())))
- }
-}
-
-pub trait DiagnosticSource {
- #[allow(unused_variables)]
- fn update(&mut self, workspace: &Workspace, document: &Document) {}
-
- fn publish<'db>(&'db mut self, workspace: &'db Workspace, builder: &mut DiagnosticBuilder<'db>);
-}
-
-pub struct DiagnosticManager {
- sources: Vec<Box<dyn DiagnosticSource>>,
-}
-
-impl Default for DiagnosticManager {
- fn default() -> Self {
- let sources: Vec<Box<dyn DiagnosticSource>> = vec![
- Box::<TexSyntaxErrors>::default(),
- Box::<BibSyntaxErrors>::default(),
- Box::<BuildErrors>::default(),
- Box::<LabelErrors>::default(),
- Box::<CitationErrors>::default(),
- ];
-
- Self { sources }
- }
-}
-
-impl DiagnosticSource for DiagnosticManager {
- fn update(&mut self, workspace: &Workspace, document: &Document) {
- for source in &mut self.sources {
- source.update(workspace, document);
- }
- }
-
- fn publish<'db>(
- &'db mut self,
- workspace: &'db Workspace,
- builder: &mut DiagnosticBuilder<'db>,
- ) {
- for source in &mut self.sources {
- source.publish(workspace, builder);
- }
- }
-}
+pub use manager::Manager;
+pub use types::*;
#[cfg(test)]
mod tests;
diff --git a/support/texlab/crates/diagnostics/src/manager.rs b/support/texlab/crates/diagnostics/src/manager.rs
new file mode 100644
index 0000000000..1ce5e194b8
--- /dev/null
+++ b/support/texlab/crates/diagnostics/src/manager.rs
@@ -0,0 +1,75 @@
+use base_db::{util::filter_regex_patterns, Document, Owner, Workspace};
+use multimap::MultiMap;
+use rustc_hash::FxHashMap;
+use url::Url;
+
+use crate::types::Diagnostic;
+
+/// Manages all diagnostics for a workspace.
+#[derive(Debug, Default)]
+pub struct Manager {
+ grammar: MultiMap<Url, Diagnostic>,
+ chktex: FxHashMap<Url, Vec<Diagnostic>>,
+ build_log: FxHashMap<Url, MultiMap<Url, Diagnostic>>,
+}
+
+impl Manager {
+ /// Updates the syntax-based diagnostics for the given document.
+ pub fn update_syntax(&mut self, workspace: &Workspace, document: &Document) {
+ self.grammar.remove(&document.uri);
+ super::grammar::tex::update(document, workspace.config(), &mut self.grammar);
+ super::grammar::bib::update(document, &mut self.grammar);
+
+ self.build_log.remove(&document.uri);
+ super::build_log::update(workspace, document, &mut self.build_log);
+ }
+
+ /// Updates the ChkTeX diagnostics for the given document.
+ pub fn update_chktex(&mut self, uri: Url, diagnostics: Vec<Diagnostic>) {
+ self.chktex.insert(uri, diagnostics);
+ }
+
+ /// Returns all filtered diagnostics for the given workspace.
+ pub fn get(&self, workspace: &Workspace) -> MultiMap<Url, Diagnostic> {
+ let mut results = MultiMap::default();
+ for (uri, diagnostics) in &self.grammar {
+ results.insert_many_from_slice(uri.clone(), diagnostics);
+ }
+
+ for (uri, diagnostics) in self.build_log.values().flatten() {
+ results.insert_many_from_slice(uri.clone(), diagnostics);
+ }
+
+ for (uri, diagnostics) in &self.chktex {
+ if workspace
+ .lookup(uri)
+ .map_or(false, |document| document.owner == Owner::Client)
+ {
+ results.insert_many_from_slice(uri.clone(), diagnostics);
+ }
+ }
+
+ for document in workspace.iter() {
+ let project = workspace.project(document);
+ super::citations::detect_undefined_citations(&project, document, &mut results);
+ super::citations::detect_unused_entries(&project, document, &mut results);
+ }
+
+ super::citations::detect_duplicate_entries(workspace, &mut results);
+ super::labels::detect_duplicate_labels(workspace, &mut results);
+ super::labels::detect_undefined_and_unused_labels(workspace, &mut results);
+
+ let config = &workspace.config().diagnostics;
+ for (_, diagnostics) in &mut results {
+ diagnostics.retain(|diagnostic| {
+ filter_regex_patterns(
+ &diagnostic.message(),
+ &config.allowed_patterns,
+ &config.ignored_patterns,
+ )
+ });
+ }
+
+ results
+ }
+}
diff --git a/support/texlab/crates/diagnostics/src/tests.rs b/support/texlab/crates/diagnostics/src/tests.rs
index 539e3ba765..b7c6004d19 100644
--- a/support/texlab/crates/diagnostics/src/tests.rs
+++ b/support/texlab/crates/diagnostics/src/tests.rs
@@ -1,37 +1,23 @@
-use std::borrow::Cow;
+use expect_test::{expect, Expect};
+use itertools::Itertools;
-use crate::{
- types::{BibError, Diagnostic, DiagnosticData, TexError},
- DiagnosticBuilder, DiagnosticManager, DiagnosticSource,
-};
-
-fn check(input: &str, expected_data: &[DiagnosticData]) {
+fn check(input: &str, expect: Expect) {
let fixture = test_utils::fixture::Fixture::parse(input);
- let mut manager = DiagnosticManager::default();
-
- let mut expected = DiagnosticBuilder::default();
- let mut expected_data = expected_data.iter();
- for document in &fixture.documents {
- let diagnostics = document.ranges.iter().copied().map(|range| {
- let data = expected_data.next().unwrap().clone();
- Cow::Owned(Diagnostic { range, data })
- });
-
- expected.push_many(&document.uri, diagnostics);
- }
+ let mut manager = crate::Manager::default();
for document in fixture.workspace.iter() {
- manager.update(&fixture.workspace, &document);
+ manager.update_syntax(&fixture.workspace, &document);
}
- let mut actual = DiagnosticBuilder::default();
- manager.publish(&fixture.workspace, &mut actual);
-
- for diagnostics in actual.inner.values_mut() {
- diagnostics.sort_by_key(|diag| (diag.range.start(), diag.range.len()));
- }
+ let results = manager.get(&fixture.workspace);
+ let results = results
+ .iter_all()
+ .filter(|(_, diags)| !diags.is_empty())
+ .sorted_by(|(uri1, _), (uri2, _)| uri1.cmp(&uri2))
+ .map(|(uri, diags)| (uri.as_str(), diags))
+ .collect_vec();
- assert_eq!(actual, expected);
+ expect.assert_debug_eq(&results);
}
#[test]
@@ -42,7 +28,19 @@ fn test_bib_entry_missing_l_delim() {
@article
!
"#,
- &[DiagnosticData::Bib(BibError::ExpectingLCurly)],
+ expect![[r#"
+ [
+ (
+ "file:///texlab/main.bib",
+ [
+ Bib(
+ 8..8,
+ ExpectingLCurly,
+ ),
+ ],
+ ),
+ ]
+ "#]],
)
}
@@ -58,7 +56,19 @@ fn test_bib_entry_missing_r_delim() {
\bibliography{main}
\cite{foo}
"#,
- &[DiagnosticData::Bib(BibError::ExpectingRCurly)],
+ expect![[r#"
+ [
+ (
+ "file:///texlab/main.bib",
+ [
+ Bib(
+ 14..14,
+ ExpectingRCurly,
+ ),
+ ],
+ ),
+ ]
+ "#]],
)
}
@@ -69,7 +79,19 @@ fn test_bib_entry_missing_name() {
%! main.bib
@article{
!"#,
- &[DiagnosticData::Bib(BibError::ExpectingKey)],
+ expect![[r#"
+ [
+ (
+ "file:///texlab/main.bib",
+ [
+ Bib(
+ 9..9,
+ ExpectingKey,
+ ),
+ ],
+ ),
+ ]
+ "#]],
)
}
@@ -87,7 +109,19 @@ fn test_bib_field_missing_eq() {
\bibliography{main}
\cite{foo}
"#,
- &[DiagnosticData::Bib(BibError::ExpectingEq)],
+ expect![[r#"
+ [
+ (
+ "file:///texlab/main.bib",
+ [
+ Bib(
+ 23..23,
+ ExpectingEq,
+ ),
+ ],
+ ),
+ ]
+ "#]],
)
}
@@ -105,7 +139,19 @@ fn test_bib_field_missing_value() {
\bibliography{main}
\cite{foo}
"#,
- &[DiagnosticData::Bib(BibError::ExpectingFieldValue)],
+ expect![[r#"
+ [
+ (
+ "file:///texlab/main.bib",
+ [
+ Bib(
+ 25..25,
+ ExpectingFieldValue,
+ ),
+ ],
+ ),
+ ]
+ "#]],
)
}
@@ -119,10 +165,23 @@ fn test_tex_unmatched_braces() {
{
!
"#,
- &[
- DiagnosticData::Tex(TexError::UnexpectedRCurly),
- DiagnosticData::Tex(TexError::ExpectingRCurly),
- ],
+ expect![[r#"
+ [
+ (
+ "file:///texlab/main.tex",
+ [
+ Tex(
+ 0..1,
+ UnexpectedRCurly,
+ ),
+ Tex(
+ 4..4,
+ ExpectingRCurly,
+ ),
+ ],
+ ),
+ ]
+ "#]],
)
}
@@ -135,7 +194,19 @@ fn test_tex_environment_mismatched() {
^^^
\end{bar}
"#,
- &[DiagnosticData::Tex(TexError::MismatchedEnvironment)],
+ expect![[r#"
+ [
+ (
+ "file:///texlab/main.tex",
+ [
+ Tex(
+ 7..10,
+ MismatchedEnvironment,
+ ),
+ ],
+ ),
+ ]
+ "#]],
)
}
@@ -148,7 +219,19 @@ fn test_label_unused() {
^^^
\label{bar}\ref{bar}
"#,
- &[DiagnosticData::Tex(TexError::UnusedLabel)],
+ expect![[r#"
+ [
+ (
+ "file:///texlab/main.tex",
+ [
+ Tex(
+ 7..10,
+ UnusedLabel,
+ ),
+ ],
+ ),
+ ]
+ "#]],
)
}
@@ -160,7 +243,19 @@ fn test_label_undefined() {
\ref{foo}
^^^
"#,
- &[DiagnosticData::Tex(TexError::UndefinedLabel)],
+ expect![[r#"
+ [
+ (
+ "file:///texlab/main.tex",
+ [
+ Tex(
+ 5..8,
+ UndefinedLabel,
+ ),
+ ],
+ ),
+ ]
+ "#]],
)
}
@@ -172,7 +267,19 @@ fn test_citation_undefined() {
\cite{foo}
^^^
"#,
- &[DiagnosticData::Tex(TexError::UndefinedCitation)],
+ expect![[r#"
+ [
+ (
+ "file:///texlab/main.tex",
+ [
+ Tex(
+ 6..9,
+ UndefinedCitation,
+ ),
+ ],
+ ),
+ ]
+ "#]],
)
}
@@ -184,6 +291,18 @@ fn test_citation_unused() {
@article{foo,}
^^^
"#,
- &[DiagnosticData::Bib(BibError::UnusedEntry)],
+ expect![[r#"
+ [
+ (
+ "file:///texlab/main.bib",
+ [
+ Bib(
+ 9..12,
+ UnusedEntry,
+ ),
+ ],
+ ),
+ ]
+ "#]],
)
}
diff --git a/support/texlab/crates/diagnostics/src/types.rs b/support/texlab/crates/diagnostics/src/types.rs
index a443245b6f..9cbbf8936f 100644
--- a/support/texlab/crates/diagnostics/src/types.rs
+++ b/support/texlab/crates/diagnostics/src/types.rs
@@ -1,21 +1,9 @@
+use line_index::LineCol;
use rowan::TextRange;
use syntax::BuildError;
use url::Url;
#[derive(Debug, PartialEq, Eq, Clone)]
-pub struct Diagnostic {
- pub range: TextRange,
- pub data: DiagnosticData,
-}
-
-#[derive(Debug, PartialEq, Eq, Clone)]
-pub enum DiagnosticData {
- Tex(TexError),
- Bib(BibError),
- Build(BuildError),
-}
-
-#[derive(Debug, PartialEq, Eq, Clone)]
pub enum TexError {
UnexpectedRCurly,
ExpectingRCurly,
@@ -36,3 +24,54 @@ pub enum BibError {
UnusedEntry,
DuplicateEntry(Vec<(Url, TextRange)>),
}
+
+#[derive(Debug, PartialEq, Eq, Clone)]
+pub struct ChktexError {
+ pub start: LineCol,
+ pub end: LineCol,
+ pub message: String,
+ pub severity: ChktexSeverity,
+ pub code: String,
+}
+
+#[derive(Debug, PartialEq, Eq, Clone)]
+pub enum ChktexSeverity {
+ Error,
+ Warning,
+ Message,
+}
+
+#[derive(Debug, PartialEq, Eq, Clone)]
+pub enum Diagnostic {
+ Tex(TextRange, TexError),
+ Bib(TextRange, BibError),
+ Build(TextRange, BuildError),
+ Chktex(ChktexError),
+}
+
+impl Diagnostic {
+ pub fn message(&self) -> &str {
+ match self {
+ Diagnostic::Tex(_, error) => match error {
+ TexError::UnexpectedRCurly => "Unexpected \"}\"",
+ TexError::ExpectingRCurly => "Expecting a curly bracket: \"}\"",
+ TexError::MismatchedEnvironment => "Mismatched environment",
+ TexError::UnusedLabel => "Unused label",
+ TexError::UndefinedLabel => "Undefined reference",
+ TexError::UndefinedCitation => "Undefined reference",
+ TexError::DuplicateLabel(_) => "Duplicate label",
+ },
+ Diagnostic::Bib(_, error) => match error {
+ BibError::ExpectingLCurly => "Expecting a curly bracket: \"{\"",
+ BibError::ExpectingKey => "Expecting a key",
+ BibError::ExpectingRCurly => "Expecting a curly bracket: \"}\"",
+ BibError::ExpectingEq => "Expecting an equality sign: \"=\"",
+ BibError::ExpectingFieldValue => "Expecting a field value",
+ BibError::UnusedEntry => "Unused entry",
+ BibError::DuplicateEntry(_) => "Duplicate entry key",
+ },
+ Diagnostic::Build(_, error) => &error.message,
+ Diagnostic::Chktex(error) => &error.message,
+ }
+ }
+}
diff --git a/support/texlab/crates/diagnostics/src/util.rs b/support/texlab/crates/diagnostics/src/util.rs
deleted file mode 100644
index fd34125dbe..0000000000
--- a/support/texlab/crates/diagnostics/src/util.rs
+++ /dev/null
@@ -1,28 +0,0 @@
-use std::borrow::Cow;
-
-use base_db::Workspace;
-use rustc_hash::FxHashMap;
-use url::Url;
-
-use crate::{Diagnostic, DiagnosticBuilder, DiagnosticSource};
-
-#[derive(Default)]
-pub struct SimpleDiagnosticSource {
- pub errors: FxHashMap<Url, Vec<Diagnostic>>,
-}
-
-impl DiagnosticSource for SimpleDiagnosticSource {
- fn publish<'db>(
- &'db mut self,
- workspace: &'db Workspace,
- builder: &mut DiagnosticBuilder<'db>,
- ) {
- self.errors.retain(|uri, _| workspace.lookup(uri).is_some());
-
- for document in workspace.iter() {
- if let Some(diagnostics) = self.errors.get(&document.uri) {
- builder.push_many(&document.uri, diagnostics.iter().map(Cow::Borrowed));
- }
- }
- }
-}
diff --git a/support/texlab/crates/highlights/src/lib.rs b/support/texlab/crates/highlights/src/lib.rs
index 1845da3907..009dd20807 100644
--- a/support/texlab/crates/highlights/src/lib.rs
+++ b/support/texlab/crates/highlights/src/lib.rs
@@ -21,7 +21,7 @@ pub struct HighlightParams<'a> {
pub offset: TextSize,
}
-pub fn find_all(params: HighlightParams) -> Vec<Highlight> {
+pub fn find_all(params: &HighlightParams) -> Vec<Highlight> {
let mut results = Vec::new();
label::find_highlights(&params, &mut results);
results
diff --git a/support/texlab/crates/highlights/src/tests.rs b/support/texlab/crates/highlights/src/tests.rs
index 74c3cc0c18..ef63a3137b 100644
--- a/support/texlab/crates/highlights/src/tests.rs
+++ b/support/texlab/crates/highlights/src/tests.rs
@@ -10,7 +10,7 @@ fn check(input: &str, expected_kinds: &[HighlightKind]) {
.map(|location| location.range)
.collect::<Vec<_>>();
- let results = crate::find_all(HighlightParams { feature, offset });
+ let results = crate::find_all(&HighlightParams { feature, offset });
let actual_ranges = results
.iter()
diff --git a/support/texlab/crates/hover/src/lib.rs b/support/texlab/crates/hover/src/lib.rs
index bd16be3282..2d22d50b0b 100644
--- a/support/texlab/crates/hover/src/lib.rs
+++ b/support/texlab/crates/hover/src/lib.rs
@@ -34,7 +34,7 @@ pub enum HoverData<'db> {
StringRef(String),
}
-pub fn find(params: HoverParams) -> Option<Hover> {
+pub fn find<'a>(params: &HoverParams<'a>) -> Option<Hover<'a>> {
citation::find_hover(&params)
.or_else(|| package::find_hover(&params))
.or_else(|| entry_type::find_hover(&params))
diff --git a/support/texlab/crates/hover/src/tests.rs b/support/texlab/crates/hover/src/tests.rs
index bbe33fa2db..e6377bb034 100644
--- a/support/texlab/crates/hover/src/tests.rs
+++ b/support/texlab/crates/hover/src/tests.rs
@@ -6,7 +6,7 @@ fn check(input: &str, expect: Expect) {
let fixture = test_utils::fixture::Fixture::parse(input);
let (feature, offset) = fixture.make_params().unwrap();
let params = HoverParams { feature, offset };
- let data = crate::find(params).map(|hover| {
+ let data = crate::find(&params).map(|hover| {
assert_eq!(fixture.documents[0].ranges[0], hover.range);
hover.data
});
diff --git a/support/texlab/crates/inlay-hints/src/lib.rs b/support/texlab/crates/inlay-hints/src/lib.rs
index e3c80751f0..946f77c1c4 100644
--- a/support/texlab/crates/inlay-hints/src/lib.rs
+++ b/support/texlab/crates/inlay-hints/src/lib.rs
@@ -20,7 +20,7 @@ pub enum InlayHintData<'a> {
LabelReference(RenderedLabel<'a>),
}
-pub fn find_all<'a>(params: InlayHintParams<'a>) -> Option<Vec<InlayHint>> {
+pub fn find_all<'a>(params: &InlayHintParams<'a>) -> Option<Vec<InlayHint<'a>>> {
let mut builder = InlayHintBuilder {
params,
hints: Vec::new(),
@@ -30,8 +30,8 @@ pub fn find_all<'a>(params: InlayHintParams<'a>) -> Option<Vec<InlayHint>> {
Some(builder.hints)
}
-struct InlayHintBuilder<'a> {
- params: InlayHintParams<'a>,
+struct InlayHintBuilder<'a, 'b> {
+ params: &'b InlayHintParams<'a>,
hints: Vec<InlayHint<'a>>,
}
diff --git a/support/texlab/crates/inlay-hints/src/tests.rs b/support/texlab/crates/inlay-hints/src/tests.rs
index 5b8a43d614..f8c4d619b1 100644
--- a/support/texlab/crates/inlay-hints/src/tests.rs
+++ b/support/texlab/crates/inlay-hints/src/tests.rs
@@ -7,7 +7,7 @@ fn check(input: &str, expect: Expect) {
let (feature, _) = fixture.make_params().unwrap();
let range = TextRange::new(0.into(), feature.document.text.text_len());
let params = crate::InlayHintParams { range, feature };
- let actual = crate::find_all(params).unwrap_or_default();
+ let actual = crate::find_all(&params).unwrap_or_default();
let expected_offsets = fixture.locations().map(|location| location.range.start());
for (hint, offset) in actual.iter().zip(expected_offsets) {
diff --git a/support/texlab/crates/links/src/include.rs b/support/texlab/crates/links/src/include.rs
index 374e0089df..1392b16eaa 100644
--- a/support/texlab/crates/links/src/include.rs
+++ b/support/texlab/crates/links/src/include.rs
@@ -1,7 +1,7 @@
use base_db::{DocumentLocation, FeatureParams};
pub(super) fn find_links<'a>(
- params: FeatureParams<'a>,
+ params: &FeatureParams<'a>,
results: &mut Vec<DocumentLocation<'a>>,
) -> Option<()> {
let document = params.document;
diff --git a/support/texlab/crates/links/src/lib.rs b/support/texlab/crates/links/src/lib.rs
index 67e48cf930..48f5e09fc0 100644
--- a/support/texlab/crates/links/src/lib.rs
+++ b/support/texlab/crates/links/src/lib.rs
@@ -2,7 +2,7 @@ use base_db::{DocumentLocation, FeatureParams};
mod include;
-pub fn find_links(params: FeatureParams) -> Vec<DocumentLocation> {
+pub fn find_links<'a>(params: &FeatureParams<'a>) -> Vec<DocumentLocation<'a>> {
let mut results = Vec::new();
include::find_links(params, &mut results);
results
diff --git a/support/texlab/crates/links/src/tests.rs b/support/texlab/crates/links/src/tests.rs
index d083b33be6..6837bc96b7 100644
--- a/support/texlab/crates/links/src/tests.rs
+++ b/support/texlab/crates/links/src/tests.rs
@@ -3,7 +3,7 @@ use expect_test::{expect, Expect};
fn check(input: &str, expect: Expect) {
let fixture = test_utils::fixture::Fixture::parse(input);
let (params, _) = fixture.make_params().unwrap();
- let links = crate::find_links(params);
+ let links = crate::find_links(&params);
let actual_ranges = links.iter().map(|link| link.range).collect::<Vec<_>>();
diff --git a/support/texlab/crates/references/src/lib.rs b/support/texlab/crates/references/src/lib.rs
index c223ad8eba..23dbd7e0ae 100644
--- a/support/texlab/crates/references/src/lib.rs
+++ b/support/texlab/crates/references/src/lib.rs
@@ -21,15 +21,16 @@ pub enum ReferenceKind {
pub struct ReferenceParams<'a> {
pub feature: FeatureParams<'a>,
pub offset: TextSize,
+ pub include_declaration: bool,
}
#[derive(Debug)]
-struct ReferenceContext<'a> {
- params: ReferenceParams<'a>,
+struct ReferenceContext<'a, 'b> {
+ params: &'b ReferenceParams<'a>,
results: Vec<Reference<'a>>,
}
-pub fn find_all(params: ReferenceParams) -> Vec<Reference<'_>> {
+pub fn find_all<'a>(params: &ReferenceParams<'a>) -> Vec<DocumentLocation<'a>> {
let mut context = ReferenceContext {
params,
results: Vec::new(),
@@ -38,7 +39,13 @@ pub fn find_all(params: ReferenceParams) -> Vec<Reference<'_>> {
entry::find_all(&mut context);
label::find_all(&mut context);
string_def::find_all(&mut context);
- context.results
+
+ context
+ .results
+ .into_iter()
+ .filter(|r| r.kind == ReferenceKind::Reference || params.include_declaration)
+ .map(|reference| reference.location)
+ .collect()
}
#[cfg(test)]
diff --git a/support/texlab/crates/references/src/tests.rs b/support/texlab/crates/references/src/tests.rs
index 3a3e7008a0..a21a3ce551 100644
--- a/support/texlab/crates/references/src/tests.rs
+++ b/support/texlab/crates/references/src/tests.rs
@@ -1,17 +1,19 @@
use std::collections::HashSet;
-use crate::{ReferenceKind, ReferenceParams};
+use crate::ReferenceParams;
-fn check(fixture: &str, include_def: bool) {
+fn check(fixture: &str, include_declaration: bool) {
let fixture = test_utils::fixture::Fixture::parse(fixture);
let (feature, offset) = fixture.make_params().unwrap();
let expected = fixture.locations().collect::<HashSet<_>>();
- let actual = crate::find_all(ReferenceParams { feature, offset })
- .into_iter()
- .filter(|reference| reference.kind == ReferenceKind::Reference || include_def)
- .map(|reference| reference.location)
- .collect::<HashSet<_>>();
+ let actual = crate::find_all(&ReferenceParams {
+ feature,
+ offset,
+ include_declaration,
+ })
+ .into_iter()
+ .collect::<HashSet<_>>();
assert_eq!(actual, expected);
}
diff --git a/support/texlab/crates/texlab/Cargo.toml b/support/texlab/crates/texlab/Cargo.toml
index 0162fe499a..53b63ded3e 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.12.2"
+version = "5.12.3"
license.workspace = true
readme = "README.md"
authors.workspace = true
diff --git a/support/texlab/crates/texlab/benches/bench_main.rs b/support/texlab/crates/texlab/benches/bench_main.rs
index 0f54a2c2d1..daeb5409ed 100644
--- a/support/texlab/crates/texlab/benches/bench_main.rs
+++ b/support/texlab/crates/texlab/benches/bench_main.rs
@@ -1,8 +1,4 @@
-use base_db::{Owner, Workspace};
use criterion::{black_box, criterion_group, criterion_main, Criterion};
-use distro::Language;
-use line_index::LineCol;
-use lsp_types::{ClientCapabilities, CompletionParams, Position, TextDocumentPositionParams, Url};
use parser::{parse_latex, SyntaxConfig};
const CODE: &str = include_str!("../../../texlab.tex");
@@ -12,34 +8,6 @@ fn criterion_benchmark(c: &mut Criterion) {
c.bench_function("LaTeX/Parser", |b| {
b.iter(|| parse_latex(black_box(CODE), &config));
});
-
- c.bench_function("LaTeX/Completion/Command", |b| {
- let uri = Url::parse("http://example.com/texlab.tex").unwrap();
- let text = CODE.to_string();
- let mut workspace = Workspace::default();
- workspace.open(
- uri.clone(),
- text,
- Language::Tex,
- Owner::Client,
- LineCol { line: 0, col: 0 },
- );
-
- let client_capabilities = ClientCapabilities::default();
- let params = CompletionParams {
- context: None,
- text_document_position: TextDocumentPositionParams::new(
- lsp_types::TextDocumentIdentifier { uri: uri.clone() },
- Position::new(0, 1),
- ),
- work_done_progress_params: Default::default(),
- partial_result_params: Default::default(),
- };
-
- b.iter(|| {
- texlab::features::completion::complete(&workspace, &params, &client_capabilities, None)
- });
- });
}
criterion_group!(benches, criterion_benchmark);
diff --git a/support/texlab/crates/texlab/src/features/completion.rs b/support/texlab/crates/texlab/src/features/completion.rs
index 8e5fa2adbb..5d32588970 100644
--- a/support/texlab/crates/texlab/src/features/completion.rs
+++ b/support/texlab/crates/texlab/src/features/completion.rs
@@ -1,73 +1,77 @@
-use base_db::{util::RenderedObject, Document, FeatureParams, Workspace};
-use completion::{
- ArgumentData, CompletionItem, CompletionItemData, CompletionParams, EntryTypeData,
- FieldTypeData,
-};
+use base_db::{util::RenderedObject, Workspace};
+use completion::{ArgumentData, CompletionItem, CompletionItemData, EntryTypeData, FieldTypeData};
use line_index::LineIndex;
-use lsp_types::{ClientCapabilities, ClientInfo, CompletionList};
+use rowan::ast::AstNode;
use serde::{Deserialize, Serialize};
+use syntax::bibtex;
-use crate::util::{
- capabilities::ClientCapabilitiesExt, line_index_ext::LineIndexExt, lsp_enums::Structure,
-};
+use crate::util::{from_proto, line_index_ext::LineIndexExt, lsp_enums::Structure, ClientFlags};
pub fn complete(
workspace: &Workspace,
- params: &lsp_types::CompletionParams,
- client_capabilities: &ClientCapabilities,
- client_info: Option<&ClientInfo>,
-) -> Option<CompletionList> {
- let document = workspace.lookup(&params.text_document_position.text_document.uri)?;
- let feature = FeatureParams::new(workspace, document);
- let offset = document
- .line_index
- .offset_lsp(params.text_document_position.position)?;
-
- let params = CompletionParams { feature, offset };
+ params: lsp_types::CompletionParams,
+ client_flags: &ClientFlags,
+) -> Option<lsp_types::CompletionList> {
+ let params = from_proto::completion_params(workspace, params)?;
let result = completion::complete(&params);
- let mut list = CompletionList::default();
- let item_builder = ItemBuilder::new(document, client_capabilities);
- let always_incomplete = client_info.map_or(false, |info| info.name == "Visual Studio Code");
- list.is_incomplete = always_incomplete || result.items.len() >= completion::LIMIT;
- list.items = result
+ let item_builder = ItemBuilder {
+ line_index: &params.feature.document.line_index,
+ client_flags,
+ };
+
+ let is_incomplete =
+ client_flags.completion_always_incomplete || result.items.len() >= completion::LIMIT;
+
+ let items = result
.items
.into_iter()
.enumerate()
.filter_map(|(i, item)| item_builder.convert(item, i))
.collect();
- Some(list)
+ Some(lsp_types::CompletionList {
+ is_incomplete,
+ items,
+ })
+}
+
+pub fn resolve(workspace: &Workspace, item: &mut lsp_types::CompletionItem) -> Option<()> {
+ let data = from_proto::completion_resolve_info(item)?;
+ match data {
+ ResolveInfo::Package | ResolveInfo::DocumentClass => {
+ let metadata = completion_data::DATABASE.meta(&item.label)?;
+ let value = metadata.description.as_deref()?.into();
+ item.documentation = Some(lsp_types::Documentation::MarkupContent(
+ lsp_types::MarkupContent {
+ kind: lsp_types::MarkupKind::PlainText,
+ value,
+ },
+ ));
+ }
+ ResolveInfo::Citation { uri, key } => {
+ let data = workspace.lookup(&uri)?.data.as_bib()?;
+ let root = bibtex::Root::cast(data.root_node())?;
+ let entry = root.find_entry(&key)?;
+ let value = citeproc::render(&entry)?;
+ item.documentation = Some(lsp_types::Documentation::MarkupContent(
+ lsp_types::MarkupContent {
+ kind: lsp_types::MarkupKind::Markdown,
+ value,
+ },
+ ));
+ }
+ }
+
+ Some(())
}
struct ItemBuilder<'a> {
line_index: &'a LineIndex,
- item_kinds: &'a [lsp_types::CompletionItemKind],
- supports_snippets: bool,
- supports_images: bool,
+ client_flags: &'a ClientFlags,
}
impl<'a> ItemBuilder<'a> {
- pub fn new(document: &'a Document, client_capabilities: &'a ClientCapabilities) -> Self {
- let line_index = &document.line_index;
- let item_kinds = client_capabilities
- .text_document
- .as_ref()
- .and_then(|cap| cap.completion.as_ref())
- .and_then(|cap| cap.completion_item_kind.as_ref())
- .and_then(|cap| cap.value_set.as_deref())
- .unwrap_or_default();
-
- let supports_snippets = client_capabilities.has_snippet_support();
- let supports_images = client_capabilities.has_completion_markdown_support();
- Self {
- line_index,
- item_kinds,
- supports_snippets,
- supports_images,
- }
- }
-
pub fn convert(&self, item: CompletionItem, index: usize) -> Option<lsp_types::CompletionItem> {
let mut result = lsp_types::CompletionItem::default();
let range = self.line_index.line_col_lsp_range(item.range)?;
@@ -125,7 +129,7 @@ impl<'a> ItemBuilder<'a> {
if result
.kind
- .is_some_and(|kind| !self.item_kinds.contains(&kind))
+ .is_some_and(|kind| !self.client_flags.completion_kinds.contains(&kind))
{
result.kind = Some(lsp_types::CompletionItemKind::TEXT);
}
@@ -166,7 +170,7 @@ impl<'a> ItemBuilder<'a> {
result: &mut lsp_types::CompletionItem,
range: lsp_types::Range,
) {
- if self.supports_snippets {
+ if self.client_flags.completion_snippets {
result.kind = Some(Structure::Snippet.completion_kind());
result.text_edit =
Some(lsp_types::TextEdit::new(range, "begin{$1}\n\t$0\n\\end{$1}".into()).into());
@@ -386,7 +390,7 @@ impl<'a> ItemBuilder<'a> {
}
fn inline_image(&self, name: &str, base64: &str) -> Option<lsp_types::Documentation> {
- if self.supports_images {
+ if self.client_flags.completion_markdown {
let kind = lsp_types::MarkupKind::Markdown;
let value = format!("![{name}](data:image/png;base64,{base64}|width=48,height=48)");
let content = lsp_types::MarkupContent { kind, value };
diff --git a/support/texlab/crates/texlab/src/features/definition.rs b/support/texlab/crates/texlab/src/features/definition.rs
index ec7f08c296..098505079c 100644
--- a/support/texlab/crates/texlab/src/features/definition.rs
+++ b/support/texlab/crates/texlab/src/features/definition.rs
@@ -1,49 +1,16 @@
-use base_db::{FeatureParams, Workspace};
-use definition::DefinitionParams;
-use lsp_types::{GotoDefinitionResponse, LocationLink, Position, Url};
+use base_db::Workspace;
-use crate::util::line_index_ext::LineIndexExt;
+use crate::util::{from_proto, to_proto};
pub fn goto_definition(
workspace: &Workspace,
- uri: &Url,
- position: Position,
-) -> Option<GotoDefinitionResponse> {
- let document = workspace.lookup(uri)?;
- let offset = document.line_index.offset_lsp(position)?;
- let feature = FeatureParams::new(workspace, document);
- let params = DefinitionParams { feature, offset };
+ params: lsp_types::GotoDefinitionParams,
+) -> Option<lsp_types::GotoDefinitionResponse> {
+ let params = from_proto::definition_params(workspace, params)?;
+ let links = definition::goto_definition(&params)
+ .into_iter()
+ .filter_map(|result| to_proto::location_link(result, &params.feature.document.line_index))
+ .collect();
- let mut links = Vec::new();
- for result in definition::goto_definition(params) {
- if let Some(link) = convert_link(document, result) {
- links.push(link);
- }
- }
-
- Some(GotoDefinitionResponse::Link(links))
-}
-
-fn convert_link(
- document: &base_db::Document,
- result: definition::DefinitionResult<'_>,
-) -> Option<LocationLink> {
- let origin_selection_range = Some(
- document
- .line_index
- .line_col_lsp_range(result.origin_selection_range)?,
- );
-
- let target_line_index = &result.target.line_index;
- let target_uri = result.target.uri.clone();
- let target_range = target_line_index.line_col_lsp_range(result.target_range)?;
- let target_selection_range =
- target_line_index.line_col_lsp_range(result.target_selection_range)?;
- let value = LocationLink {
- origin_selection_range,
- target_uri,
- target_range,
- target_selection_range,
- };
- Some(value)
+ Some(lsp_types::GotoDefinitionResponse::Link(links))
}
diff --git a/support/texlab/crates/texlab/src/features/folding.rs b/support/texlab/crates/texlab/src/features/folding.rs
index 6bdfc3a309..b19fa8a4da 100644
--- a/support/texlab/crates/texlab/src/features/folding.rs
+++ b/support/texlab/crates/texlab/src/features/folding.rs
@@ -1,46 +1,20 @@
use base_db::Workspace;
-use folding::FoldingRangeKind;
-use lsp_types::{ClientCapabilities, Url};
-use crate::util::line_index_ext::LineIndexExt;
+use crate::util::{from_proto, to_proto, ClientFlags};
pub fn find_all(
workspace: &Workspace,
- uri: &Url,
- capabilities: &ClientCapabilities,
+ params: lsp_types::FoldingRangeParams,
+ client_flags: &ClientFlags,
) -> Option<Vec<serde_json::Value>> {
- let custom_kinds = capabilities
- .text_document
- .as_ref()
- .and_then(|cap| cap.folding_range.as_ref())
- .and_then(|cap| cap.folding_range_kind.as_ref())
- .and_then(|cap| cap.value_set.as_ref())
- .is_some();
+ let params = from_proto::feature_params(workspace, params.text_document)?;
- let document = workspace.lookup(uri)?;
- let foldings = folding::find_all(document)
+ let foldings = folding::find_all(&params.document)
.into_iter()
.filter_map(|folding| {
- let range = document.line_index.line_col_lsp_range(folding.range)?;
+ to_proto::folding_range(folding, &params.document.line_index, client_flags)
+ })
+ .collect();
- let kind = if custom_kinds {
- Some(match folding.kind {
- FoldingRangeKind::Section => "section",
- FoldingRangeKind::Environment => "environment",
- FoldingRangeKind::Entry => "entry",
- })
- } else {
- None
- };
-
- Some(serde_json::json!({
- "startLine": range.start.line,
- "startCharacter": range.start.character,
- "endLine": range.end.line,
- "endCharacter": range.end.character,
- "kind": kind,
- }))
- });
-
- Some(foldings.collect())
+ Some(foldings)
}
diff --git a/support/texlab/crates/texlab/src/features/formatting.rs b/support/texlab/crates/texlab/src/features/formatting.rs
index 9073b04aa3..3fcd66e39b 100644
--- a/support/texlab/crates/texlab/src/features/formatting.rs
+++ b/support/texlab/crates/texlab/src/features/formatting.rs
@@ -3,15 +3,14 @@ mod latexindent;
use base_db::{Formatter, Workspace};
use distro::Language;
-use lsp_types::{FormattingOptions, TextEdit, Url};
use self::{bibtex_internal::format_bibtex_internal, latexindent::format_with_latexindent};
pub fn format_source_code(
workspace: &Workspace,
- uri: &Url,
- options: &FormattingOptions,
-) -> Option<Vec<TextEdit>> {
+ uri: &lsp_types::Url,
+ options: &lsp_types::FormattingOptions,
+) -> Option<Vec<lsp_types::TextEdit>> {
let document = workspace.lookup(uri)?;
match document.language {
Language::Tex => match workspace.config().formatting.tex_formatter {
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 8d5894c256..3a441a5292 100644
--- a/support/texlab/crates/texlab/src/features/formatting/bibtex_internal.rs
+++ b/support/texlab/crates/texlab/src/features/formatting/bibtex_internal.rs
@@ -1,5 +1,4 @@
use base_db::{Document, Workspace};
-use lsp_types::{FormattingOptions, TextEdit};
use rowan::TextLen;
use crate::util::line_index_ext::LineIndexExt;
@@ -7,8 +6,8 @@ use crate::util::line_index_ext::LineIndexExt;
pub fn format_bibtex_internal(
workspace: &Workspace,
document: &Document,
- options: &FormattingOptions,
-) -> Option<Vec<TextEdit>> {
+ options: &lsp_types::FormattingOptions,
+) -> Option<Vec<lsp_types::TextEdit>> {
let data = document.data.as_bib()?;
let options = bibfmt::Options {
insert_spaces: options.insert_spaces,
diff --git a/support/texlab/crates/texlab/src/features/formatting/latexindent.rs b/support/texlab/crates/texlab/src/features/formatting/latexindent.rs
index 510bd80207..061c360cf5 100644
--- a/support/texlab/crates/texlab/src/features/formatting/latexindent.rs
+++ b/support/texlab/crates/texlab/src/features/formatting/latexindent.rs
@@ -5,7 +5,6 @@ use std::{
use base_db::{Document, LatexIndentConfig, Workspace};
use distro::Language;
-use lsp_types::{Position, TextEdit};
use rowan::TextLen;
use tempfile::tempdir;
@@ -14,7 +13,7 @@ use crate::util::line_index_ext::LineIndexExt;
pub fn format_with_latexindent(
workspace: &Workspace,
document: &Document,
-) -> Option<Vec<TextEdit>> {
+) -> Option<Vec<lsp_types::TextEdit>> {
let config = workspace.config();
let target_dir = tempdir().ok()?;
let source_dir = workspace.current_dir(&document.dir).to_file_path().ok()?;
@@ -51,9 +50,9 @@ pub fn format_with_latexindent(
None
} else {
let line_index = &document.line_index;
- let start = Position::new(0, 0);
+ let start = lsp_types::Position::new(0, 0);
let end = line_index.line_col_lsp(old_text.text_len())?;
- Some(vec![TextEdit {
+ Some(vec![lsp_types::TextEdit {
range: lsp_types::Range::new(start, end),
new_text,
}])
diff --git a/support/texlab/crates/texlab/src/features/highlight.rs b/support/texlab/crates/texlab/src/features/highlight.rs
index 10c5d95fb1..4706e3964e 100644
--- a/support/texlab/crates/texlab/src/features/highlight.rs
+++ b/support/texlab/crates/texlab/src/features/highlight.rs
@@ -1,27 +1,15 @@
-use base_db::{FeatureParams, Workspace};
-use highlights::{HighlightKind, HighlightParams};
+use base_db::Workspace;
-use crate::util::line_index_ext::LineIndexExt;
+use crate::util::{from_proto, to_proto};
pub fn find_all(
workspace: &Workspace,
- params: &lsp_types::DocumentHighlightParams,
+ params: lsp_types::DocumentHighlightParams,
) -> Option<Vec<lsp_types::DocumentHighlight>> {
- let uri = &params.text_document_position_params.text_document.uri;
- let document = workspace.lookup(uri)?;
- let position = params.text_document_position_params.position;
- let offset = document.line_index.offset_lsp(position)?;
- let feature = FeatureParams::new(workspace, document);
- let params = HighlightParams { feature, offset };
- let results = highlights::find_all(params);
+ let params = from_proto::highlight_params(workspace, params)?;
+ let results = highlights::find_all(&params);
let results = results.into_iter().filter_map(|result| {
- let range = document.line_index.line_col_lsp_range(result.range)?;
- let kind = Some(match result.kind {
- HighlightKind::Write => lsp_types::DocumentHighlightKind::WRITE,
- HighlightKind::Read => lsp_types::DocumentHighlightKind::READ,
- });
-
- Some(lsp_types::DocumentHighlight { range, kind })
+ to_proto::document_highlight(result, &params.feature.document.line_index)
});
Some(results.collect())
diff --git a/support/texlab/crates/texlab/src/features/hover.rs b/support/texlab/crates/texlab/src/features/hover.rs
index 1aac645488..725f9ae936 100644
--- a/support/texlab/crates/texlab/src/features/hover.rs
+++ b/support/texlab/crates/texlab/src/features/hover.rs
@@ -1,44 +1,9 @@
-use base_db::{FeatureParams, Workspace};
-use hover::{HoverData, HoverParams};
+use base_db::Workspace;
-use crate::util::line_index_ext::LineIndexExt;
+use crate::util::{from_proto, to_proto};
pub fn find(workspace: &Workspace, params: lsp_types::HoverParams) -> Option<lsp_types::Hover> {
- let uri_and_pos = &params.text_document_position_params;
- let document = workspace.lookup(&uri_and_pos.text_document.uri)?;
- let feature = FeatureParams::new(workspace, document);
- let offset = document.line_index.offset_lsp(uri_and_pos.position)?;
- let hover = ::hover::find(HoverParams { feature, offset })?;
-
- let contents = match hover.data {
- HoverData::Citation(text) => lsp_types::MarkupContent {
- kind: lsp_types::MarkupKind::Markdown,
- value: text,
- },
- HoverData::Package(description) => lsp_types::MarkupContent {
- kind: lsp_types::MarkupKind::PlainText,
- value: description.into(),
- },
- HoverData::EntryType(type_) => lsp_types::MarkupContent {
- kind: lsp_types::MarkupKind::Markdown,
- value: type_.documentation?.into(),
- },
- HoverData::FieldType(type_) => lsp_types::MarkupContent {
- kind: lsp_types::MarkupKind::Markdown,
- value: type_.documentation.into(),
- },
- HoverData::Label(label) => lsp_types::MarkupContent {
- kind: lsp_types::MarkupKind::PlainText,
- value: label.reference(),
- },
- HoverData::StringRef(text) => lsp_types::MarkupContent {
- kind: lsp_types::MarkupKind::PlainText,
- value: text,
- },
- };
-
- Some(lsp_types::Hover {
- contents: lsp_types::HoverContents::Markup(contents),
- range: document.line_index.line_col_lsp_range(hover.range),
- })
+ let params = from_proto::hover_params(workspace, params)?;
+ let hover = ::hover::find(&params)?;
+ to_proto::hover(hover, &params.feature.document.line_index)
}
diff --git a/support/texlab/crates/texlab/src/features/inlay_hint.rs b/support/texlab/crates/texlab/src/features/inlay_hint.rs
index 44ed0757a5..ddd8ff26d8 100644
--- a/support/texlab/crates/texlab/src/features/inlay_hint.rs
+++ b/support/texlab/crates/texlab/src/features/inlay_hint.rs
@@ -1,67 +1,16 @@
-use base_db::{util::RenderedObject, FeatureParams, Workspace};
-use inlay_hints::{InlayHintData, InlayHintParams};
+use base_db::Workspace;
-use crate::util::line_index_ext::LineIndexExt;
+use crate::util::{from_proto, to_proto};
pub fn find_all(
workspace: &Workspace,
- uri: &lsp_types::Url,
- range: lsp_types::Range,
+ params: lsp_types::InlayHintParams,
) -> Option<Vec<lsp_types::InlayHint>> {
- let document = workspace.lookup(uri)?;
- let line_index = &document.line_index;
- let range = line_index.offset_lsp_range(range)?;
+ let params = from_proto::inlay_hint_params(workspace, params)?;
+ let hints = inlay_hints::find_all(&params)?
+ .into_iter()
+ .filter_map(|hint| to_proto::inlay_hint(hint, &params.feature.document.line_index))
+ .collect();
- let feature = FeatureParams::new(workspace, document);
- let params = InlayHintParams { range, feature };
- let hints = inlay_hints::find_all(params)?;
- let hints = hints.into_iter().filter_map(|hint| {
- let position = line_index.line_col_lsp(hint.offset)?;
- Some(match hint.data {
- InlayHintData::LabelDefinition(label) => {
- let number = label.number?;
-
- let text = match &label.object {
- RenderedObject::Section { prefix, .. } => {
- format!("{} {}", prefix, number)
- }
- RenderedObject::Float { kind, .. } => {
- format!("{} {}", kind.as_str(), number)
- }
- RenderedObject::Theorem { kind, .. } => {
- format!("{} {}", kind, number)
- }
- RenderedObject::Equation => format!("Equation ({})", number),
- RenderedObject::EnumItem => format!("Item {}", number),
- };
-
- lsp_types::InlayHint {
- position,
- label: lsp_types::InlayHintLabel::String(format!(" {text} ")),
- kind: None,
- text_edits: None,
- tooltip: None,
- padding_left: Some(true),
- padding_right: None,
- data: None,
- }
- }
- InlayHintData::LabelReference(label) => {
- let text = label.reference();
-
- lsp_types::InlayHint {
- position,
- label: lsp_types::InlayHintLabel::String(format!(" {text} ")),
- kind: None,
- text_edits: None,
- tooltip: None,
- padding_left: Some(true),
- padding_right: None,
- data: None,
- }
- }
- })
- });
-
- Some(hints.collect())
+ Some(hints)
}
diff --git a/support/texlab/crates/texlab/src/features/link.rs b/support/texlab/crates/texlab/src/features/link.rs
index b821dcf6e1..5b4de5f705 100644
--- a/support/texlab/crates/texlab/src/features/link.rs
+++ b/support/texlab/crates/texlab/src/features/link.rs
@@ -1,20 +1,16 @@
-use base_db::{FeatureParams, Workspace};
-use lsp_types::{DocumentLink, Url};
+use base_db::Workspace;
-use crate::util::line_index_ext::LineIndexExt;
+use crate::util::{from_proto, to_proto};
-pub fn find_all(workspace: &Workspace, uri: &Url) -> Option<Vec<DocumentLink>> {
- let document = workspace.lookup(uri)?;
+pub fn find_all(
+ workspace: &Workspace,
+ params: lsp_types::DocumentLinkParams,
+) -> Option<Vec<lsp_types::DocumentLink>> {
+ let params = from_proto::feature_params(workspace, params.text_document)?;
+ let links = links::find_links(&params)
+ .into_iter()
+ .filter_map(|link| to_proto::document_link(link, &params.document.line_index))
+ .collect();
- let links = links::find_links(FeatureParams::new(workspace, document)).into_iter();
- let links = links.filter_map(|link| {
- Some(lsp_types::DocumentLink {
- data: None,
- tooltip: None,
- target: Some(link.document.uri.clone()),
- range: document.line_index.line_col_lsp_range(link.range)?,
- })
- });
-
- Some(links.collect())
+ Some(links)
}
diff --git a/support/texlab/crates/texlab/src/features/reference.rs b/support/texlab/crates/texlab/src/features/reference.rs
index 380471e6cf..823e794d08 100644
--- a/support/texlab/crates/texlab/src/features/reference.rs
+++ b/support/texlab/crates/texlab/src/features/reference.rs
@@ -1,34 +1,17 @@
-use base_db::{FeatureParams, Workspace};
-use references::{ReferenceKind, ReferenceParams};
+use base_db::Workspace;
-use crate::util::line_index_ext::LineIndexExt;
+use crate::util::{from_proto, to_proto};
pub fn find_all(
workspace: &Workspace,
params: lsp_types::ReferenceParams,
) -> Option<Vec<lsp_types::Location>> {
- let uri_and_pos = params.text_document_position;
- let include_declaration = params.context.include_declaration;
+ let params = from_proto::reference_params(workspace, params)?;
- let document = workspace.lookup(&uri_and_pos.text_document.uri)?;
- let offset = document.line_index.offset_lsp(uri_and_pos.position)?;
-
- let feature = FeatureParams::new(workspace, document);
- let mut results = Vec::new();
- for result in references::find_all(ReferenceParams { feature, offset })
+ let results = references::find_all(&params)
.into_iter()
- .filter(|result| result.kind == ReferenceKind::Reference || include_declaration)
- {
- let document = result.location.document;
- let uri = document.uri.clone();
- if let Some(range) = document
- .line_index
- .line_col_lsp_range(result.location.range)
- {
- let location = lsp_types::Location::new(uri, range);
- results.push(location);
- }
- }
+ .filter_map(to_proto::location)
+ .collect();
Some(results)
}
diff --git a/support/texlab/crates/texlab/src/features/rename.rs b/support/texlab/crates/texlab/src/features/rename.rs
index 297547e7e5..b905a7105b 100644
--- a/support/texlab/crates/texlab/src/features/rename.rs
+++ b/support/texlab/crates/texlab/src/features/rename.rs
@@ -1,50 +1,22 @@
-use std::collections::HashMap;
+use base_db::Workspace;
-use base_db::{FeatureParams, Workspace};
-use rename::RenameParams;
-
-use crate::util::line_index_ext::LineIndexExt;
+use crate::util::{from_proto, line_index_ext::LineIndexExt, to_proto};
pub fn prepare_rename_all(
workspace: &Workspace,
- params: &lsp_types::TextDocumentPositionParams,
+ params: lsp_types::TextDocumentPositionParams,
) -> Option<lsp_types::Range> {
- let params = create_params(workspace, params)?;
+ let params = from_proto::rename_params(workspace, params)?;
let range = rename::prepare_rename(&params)?;
params.feature.document.line_index.line_col_lsp_range(range)
}
pub fn rename_all(
workspace: &Workspace,
- params: &lsp_types::RenameParams,
+ params: lsp_types::RenameParams,
) -> Option<lsp_types::WorkspaceEdit> {
let new_name = &params.new_name;
- let params = create_params(workspace, &params.text_document_position)?;
+ let params = from_proto::rename_params(workspace, params.text_document_position)?;
let result = rename::rename(params);
-
- let mut changes = HashMap::default();
- for (document, ranges) in result.changes {
- let mut edits = Vec::new();
- ranges
- .into_iter()
- .filter_map(|range| document.line_index.line_col_lsp_range(range))
- .for_each(|range| edits.push(lsp_types::TextEdit::new(range, new_name.clone())));
-
- changes.insert(document.uri.clone(), edits);
- }
-
- Some(lsp_types::WorkspaceEdit::new(changes))
-}
-
-fn create_params<'db>(
- workspace: &'db Workspace,
- params: &lsp_types::TextDocumentPositionParams,
-) -> Option<RenameParams<'db>> {
- let document = workspace.lookup(&params.text_document.uri)?;
- let inner = FeatureParams::new(workspace, document);
- let offset = document.line_index.offset_lsp(params.position)?;
- Some(RenameParams {
- feature: inner,
- offset,
- })
+ Some(to_proto::workspace_edit(result, &new_name))
}
diff --git a/support/texlab/crates/texlab/src/features/symbols.rs b/support/texlab/crates/texlab/src/features/symbols.rs
index 65e92a5b17..8e29eb9a9c 100644
--- a/support/texlab/crates/texlab/src/features/symbols.rs
+++ b/support/texlab/crates/texlab/src/features/symbols.rs
@@ -1,112 +1,27 @@
-use base_db::{data::BibtexEntryTypeCategory, Document, Workspace};
-use lsp_types::{
- ClientCapabilities, DocumentSymbol, DocumentSymbolResponse, Location, WorkspaceSymbolResponse,
-};
+use base_db::Workspace;
-use crate::util::{capabilities::ClientCapabilitiesExt, line_index_ext::LineIndexExt};
+use crate::util::{from_proto, to_proto, ClientFlags};
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()
- .filter_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)
- }
+ params: lsp_types::DocumentSymbolParams,
+ client_flags: &ClientFlags,
+) -> Option<lsp_types::DocumentSymbolResponse> {
+ let params = from_proto::feature_params(workspace, params.text_document)?;
+ let symbols = symbols::document_symbols(workspace, params.document);
+ Some(to_proto::document_symbol_response(
+ params.document,
+ symbols,
+ client_flags,
+ ))
}
-pub fn workspace_symbols(workspace: &Workspace, query: &str) -> WorkspaceSymbolResponse {
+pub fn workspace_symbols(workspace: &Workspace, query: &str) -> lsp_types::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,
-) -> Option<DocumentSymbol> {
- let children = symbol
- .children
- .into_iter()
- .filter_map(|child| convert_to_nested_symbol(child, document))
- .collect();
-
- #[allow(deprecated)]
- Some(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 Some(range) = document.line_index.line_col_lsp_range(symbol.full_range) else {
- return;
- };
-
- #[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);
+ to_proto::symbol_information(symbol, document, &mut 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,
- }
+ lsp_types::WorkspaceSymbolResponse::Flat(results)
}
diff --git a/support/texlab/crates/texlab/src/lib.rs b/support/texlab/crates/texlab/src/lib.rs
index 19ef5ba8a9..50bddc3185 100644
--- a/support/texlab/crates/texlab/src/lib.rs
+++ b/support/texlab/crates/texlab/src/lib.rs
@@ -1,6 +1,6 @@
mod client;
-pub mod features;
+pub(crate) mod features;
mod server;
-pub mod util;
+pub(crate) mod util;
pub use self::{client::LspClient, server::Server};
diff --git a/support/texlab/crates/texlab/src/main.rs b/support/texlab/crates/texlab/src/main.rs
index d588a568bc..08977ae96a 100644
--- a/support/texlab/crates/texlab/src/main.rs
+++ b/support/texlab/crates/texlab/src/main.rs
@@ -28,7 +28,7 @@ fn main() -> Result<()> {
setup_logger(opts);
let (connection, threads) = Connection::stdio();
- Server::new(connection).run()?;
+ Server::exec(connection)?;
threads.join()?;
Ok(())
diff --git a/support/texlab/crates/texlab/src/server.rs b/support/texlab/crates/texlab/src/server.rs
index f06984d596..0fb186f688 100644
--- a/support/texlab/crates/texlab/src/server.rs
+++ b/support/texlab/crates/texlab/src/server.rs
@@ -14,7 +14,6 @@ use anyhow::Result;
use base_db::{Config, Owner, Workspace};
use commands::{BuildCommand, CleanCommand, CleanTarget, ForwardSearch};
use crossbeam_channel::{Receiver, Sender};
-use diagnostics::{DiagnosticManager, DiagnosticSource};
use distro::{Distro, Language};
use line_index::LineCol;
use lsp_server::{Connection, ErrorCode, Message, RequestId};
@@ -22,22 +21,17 @@ use lsp_types::{notification::*, request::*, *};
use notify::event::ModifyKind;
use notify_debouncer_full::{DebouncedEvent, Debouncer, FileIdMap};
use parking_lot::{Mutex, RwLock};
-use rowan::ast::AstNode;
-use rustc_hash::{FxHashMap, FxHashSet};
+use rustc_hash::FxHashSet;
use serde::{de::DeserializeOwned, Serialize};
-use syntax::bibtex;
use threadpool::ThreadPool;
use crate::{
client::LspClient,
features::{
- completion::{self, ResolveInfo},
- definition, folding, formatting, highlight, hover, inlay_hint, link, reference, rename,
- symbols,
- },
- util::{
- self, capabilities::ClientCapabilitiesExt, line_index_ext::LineIndexExt, normalize_uri,
+ completion, definition, folding, formatting, highlight, hover, inlay_hint, link, reference,
+ rename, symbols,
},
+ util::{from_proto, line_index_ext::LineIndexExt, normalize_uri, to_proto, ClientFlags},
};
use self::{
@@ -55,7 +49,7 @@ enum InternalMessage {
SetOptions(Options),
FileEvent(Vec<DebouncedEvent>),
Diagnostics,
- ChktexResult(Url, Vec<lsp_types::Diagnostic>),
+ ChktexFinished(Url, Vec<diagnostics::Diagnostic>),
ForwardSearch(Url, Option<Position>),
}
@@ -65,70 +59,68 @@ pub struct Server {
internal_rx: Receiver<InternalMessage>,
workspace: Arc<RwLock<Workspace>>,
client: LspClient,
- client_capabilities: Arc<ClientCapabilities>,
- client_info: Option<Arc<ClientInfo>>,
- diagnostic_manager: DiagnosticManager,
- chktex_diagnostics: FxHashMap<Url, Vec<Diagnostic>>,
+ client_flags: Arc<ClientFlags>,
+ diagnostic_manager: diagnostics::Manager,
watcher: FileWatcher,
pool: ThreadPool,
pending_builds: Arc<Mutex<FxHashSet<u32>>>,
}
impl Server {
- pub fn new(connection: Connection) -> Self {
+ pub fn exec(connection: Connection) -> Result<()> {
let client = LspClient::new(connection.sender.clone());
let (internal_tx, internal_rx) = crossbeam_channel::unbounded();
let watcher = FileWatcher::new(internal_tx.clone()).expect("init file watcher");
- Self {
+ let mut workspace = Workspace::default();
+
+ let (id, params) = connection.initialize_start()?;
+ let params: InitializeParams = serde_json::from_value(params)?;
+
+ let workspace_folders = params
+ .workspace_folders
+ .unwrap_or_default()
+ .into_iter()
+ .filter(|folder| folder.uri.scheme() == "file")
+ .flat_map(|folder| folder.uri.to_file_path())
+ .collect();
+
+ workspace.set_folders(workspace_folders);
+
+ let result = InitializeResult {
+ capabilities: Self::capabilities(),
+ server_info: Some(ServerInfo {
+ name: "TexLab".to_owned(),
+ version: Some(env!("CARGO_PKG_VERSION").to_owned()),
+ }),
+ };
+
+ connection.initialize_finish(id, serde_json::to_value(result)?)?;
+
+ let server = Self {
connection: Arc::new(connection),
internal_tx,
internal_rx,
- workspace: Default::default(),
+ workspace: Arc::new(RwLock::new(workspace)),
client,
- client_capabilities: Default::default(),
- client_info: Default::default(),
- chktex_diagnostics: Default::default(),
- diagnostic_manager: DiagnosticManager::default(),
+ client_flags: Arc::new(from_proto::client_flags(
+ params.capabilities,
+ params.client_info,
+ )),
+ diagnostic_manager: diagnostics::Manager::default(),
watcher,
pool: threadpool::Builder::new().build(),
pending_builds: Default::default(),
- }
- }
+ };
- fn run_query<R, Q>(&self, id: RequestId, query: Q)
- where
- R: Serialize,
- Q: FnOnce(&Workspace) -> R + Send + 'static,
- {
- let client = self.client.clone();
- let workspace = Arc::clone(&self.workspace);
- self.pool.execute(move || {
- let response = lsp_server::Response::new_ok(id, query(&workspace.read()));
- client.send_response(response).unwrap();
- });
- }
+ let options = serde_json::from_value(params.initialization_options.unwrap_or_default())
+ .unwrap_or_default();
- fn run_fallible<R, Q>(&self, id: RequestId, query: Q)
- where
- R: Serialize,
- Q: FnOnce() -> Result<R> + Send + 'static,
- {
- let client = self.client.clone();
- self.pool.execute(move || match query() {
- Ok(result) => {
- let response = lsp_server::Response::new_ok(id, result);
- client.send_response(response).unwrap();
- }
- Err(why) => {
- client
- .send_error(id, ErrorCode::InternalError, why.to_string())
- .unwrap();
- }
- });
+ server.run(options)?;
+ Ok(())
}
- fn capabilities(&self) -> ServerCapabilities {
+ fn capabilities() -> ServerCapabilities {
ServerCapabilities {
text_document_sync: Some(TextDocumentSyncCapability::Options(
TextDocumentSyncOptions {
@@ -185,57 +177,40 @@ impl Server {
}
}
- fn initialize(&mut self) -> Result<()> {
- let (id, params) = self.connection.initialize_start()?;
- let params: InitializeParams = serde_json::from_value(params)?;
-
- self.client_capabilities = Arc::new(params.capabilities);
- self.client_info = params.client_info.map(Arc::new);
-
- let workspace_folders = params
- .workspace_folders
- .unwrap_or_default()
- .into_iter()
- .filter(|folder| folder.uri.scheme() == "file")
- .flat_map(|folder| folder.uri.to_file_path())
- .collect();
-
- self.workspace.write().set_folders(workspace_folders);
-
- let result = InitializeResult {
- capabilities: self.capabilities(),
- server_info: Some(ServerInfo {
- name: "TexLab".to_owned(),
- version: Some(env!("CARGO_PKG_VERSION").to_owned()),
- }),
- };
- self.connection
- .initialize_finish(id, serde_json::to_value(result)?)?;
-
- let StartupOptions { skip_distro } =
- serde_json::from_value(params.initialization_options.unwrap_or_default())
- .unwrap_or_default();
-
- if !skip_distro {
- let sender = self.internal_tx.clone();
- self.pool.execute(move || {
- let distro = Distro::detect().unwrap_or_else(|why| {
- log::warn!("Unable to load distro files: {}", why);
- Distro::default()
- });
-
- log::info!("Detected distribution: {:?}", distro.kind);
- sender.send(InternalMessage::SetDistro(distro)).unwrap();
- });
- }
+ fn run_query<R, Q>(&self, id: RequestId, query: Q)
+ where
+ R: Serialize,
+ Q: FnOnce(&Workspace) -> R + Send + 'static,
+ {
+ let client = self.client.clone();
+ let workspace = Arc::clone(&self.workspace);
+ self.pool.execute(move || {
+ let response = lsp_server::Response::new_ok(id, query(&workspace.read()));
+ client.send_response(response).unwrap();
+ });
+ }
- self.register_configuration();
- self.pull_options();
- Ok(())
+ fn run_fallible<R, Q>(&self, id: RequestId, query: Q)
+ where
+ R: Serialize,
+ Q: FnOnce() -> Result<R> + Send + 'static,
+ {
+ let client = self.client.clone();
+ self.pool.execute(move || match query() {
+ Ok(result) => {
+ let response = lsp_server::Response::new_ok(id, result);
+ client.send_response(response).unwrap();
+ }
+ Err(why) => {
+ client
+ .send_error(id, ErrorCode::InternalError, why.to_string())
+ .unwrap();
+ }
+ });
}
fn register_configuration(&mut self) {
- if self.client_capabilities.has_push_configuration_support() {
+ if self.client_flags.configuration_push {
let registration = Registration {
id: "pull-config".to_string(),
method: DidChangeConfiguration::METHOD.to_string(),
@@ -269,7 +244,7 @@ impl Server {
.iter()
.filter_map(|path| workspace.lookup_path(path))
{
- self.diagnostic_manager.update(&workspace, document);
+ self.diagnostic_manager.update_syntax(&workspace, document);
}
drop(workspace);
@@ -279,23 +254,16 @@ impl Server {
fn publish_diagnostics(&mut self) -> Result<()> {
let workspace = self.workspace.read();
- let mut all_diagnostics =
- util::diagnostics::collect(&workspace, &mut self.diagnostic_manager);
-
- for (uri, diagnostics) in &self.chktex_diagnostics {
- let Some(document) = workspace.lookup(uri) else {
- continue;
- };
- let Some(existing) = all_diagnostics.get_mut(document) else {
+ for (uri, diagnostics) in self.diagnostic_manager.get(&workspace) {
+ let Some(document) = workspace.lookup(&uri) else {
continue;
};
- existing.extend(diagnostics.iter().cloned());
- }
- util::diagnostics::filter(&mut all_diagnostics, &workspace);
+ let diagnostics = diagnostics
+ .into_iter()
+ .filter_map(|diagnostic| to_proto::diagnostic(&workspace, document, &diagnostic))
+ .collect();
- for (document, diagnostics) in all_diagnostics {
- let uri = document.uri.clone();
let version = None;
let params = PublishDiagnosticsParams {
uri,
@@ -320,7 +288,7 @@ impl Server {
}
fn pull_options(&mut self) {
- if !self.client_capabilities.has_pull_configuration_support() {
+ if !self.client_flags.configuration_pull {
return;
}
@@ -364,7 +332,7 @@ impl Server {
}
fn did_change_configuration(&mut self, params: DidChangeConfigurationParams) -> Result<()> {
- if self.client_capabilities.has_pull_configuration_support() {
+ if self.client_flags.configuration_pull {
self.pull_options();
} else {
let options = self.client.parse_options(params.settings)?;
@@ -392,7 +360,7 @@ impl Server {
let workspace = self.workspace.read();
self.diagnostic_manager
- .update(&workspace, workspace.lookup(&uri).unwrap());
+ .update_syntax(&workspace, workspace.lookup(&uri).unwrap());
if workspace.config().diagnostics.chktex.on_open {
drop(workspace);
@@ -435,7 +403,7 @@ impl Server {
}
self.diagnostic_manager
- .update(&workspace, workspace.lookup(&uri).unwrap());
+ .update_syntax(&workspace, workspace.lookup(&uri).unwrap());
drop(workspace);
self.update_workspace();
@@ -478,45 +446,38 @@ impl Server {
Ok(())
}
- fn run_chktex(&mut self, uri: &Url) {
+ fn run_chktex(&mut self, uri: &Url) -> Option<()> {
let workspace = self.workspace.read();
- let Some(document) = workspace.lookup(uri) else {
- return;
- };
- let Some(command) = util::chktex::Command::new(&workspace, document) else {
- return;
- };
+
+ let document = workspace.lookup(uri)?;
+ let command = diagnostics::chktex::Command::new(&workspace, document)?;
let sender = self.internal_tx.clone();
let uri = document.uri.clone();
self.pool.execute(move || {
let diagnostics = command.run().unwrap_or_default();
sender
- .send(InternalMessage::ChktexResult(uri, diagnostics))
+ .send(InternalMessage::ChktexFinished(uri, diagnostics))
.unwrap();
});
+
+ Some(())
}
- fn document_link(&self, id: RequestId, params: DocumentLinkParams) -> Result<()> {
- let mut uri = params.text_document.uri;
- normalize_uri(&mut uri);
+ fn document_link(&self, id: RequestId, mut params: DocumentLinkParams) -> Result<()> {
+ normalize_uri(&mut params.text_document.uri);
self.run_query(id, move |workspace| {
- link::find_all(workspace, &uri).unwrap_or_default()
+ link::find_all(workspace, params).unwrap_or_default()
});
Ok(())
}
- fn document_symbols(&self, id: RequestId, params: DocumentSymbolParams) -> Result<()> {
- let mut uri = params.text_document.uri;
- normalize_uri(&mut uri);
+ fn document_symbols(&self, id: RequestId, mut params: DocumentSymbolParams) -> Result<()> {
+ normalize_uri(&mut params.text_document.uri);
- let capabilities = Arc::clone(&self.client_capabilities);
+ let client_flags = Arc::clone(&self.client_flags);
self.run_query(id, move |workspace| {
- let Some(document) = workspace.lookup(&uri) else {
- return DocumentSymbolResponse::Flat(vec![]);
- };
-
- symbols::document_symbols(workspace, document, &capabilities)
+ symbols::document_symbols(workspace, params, &client_flags)
});
Ok(())
@@ -533,11 +494,10 @@ impl Server {
fn completion(&self, id: RequestId, mut params: CompletionParams) -> Result<()> {
normalize_uri(&mut params.text_document_position.text_document.uri);
let position = params.text_document_position.position;
- let client_capabilities = Arc::clone(&self.client_capabilities);
- let client_info = self.client_info.clone();
+ let client_flags = Arc::clone(&self.client_flags);
self.update_cursor(&params.text_document_position.text_document.uri, position);
self.run_query(id, move |db| {
- completion::complete(db, &params, &client_capabilities, client_info.as_deref())
+ completion::complete(db, params, &client_flags)
});
Ok(())
@@ -555,54 +515,20 @@ impl Server {
fn completion_resolve(&self, id: RequestId, mut item: CompletionItem) -> Result<()> {
self.run_query(id, move |workspace| {
- match item
- .data
- .clone()
- .map(|data| serde_json::from_value(data).unwrap())
- {
- Some(ResolveInfo::Package | ResolveInfo::DocumentClass) => {
- item.documentation = completion_data::DATABASE
- .meta(&item.label)
- .and_then(|meta| meta.description.as_deref())
- .map(|value| {
- Documentation::MarkupContent(MarkupContent {
- kind: MarkupKind::PlainText,
- value: value.into(),
- })
- });
- }
- Some(ResolveInfo::Citation { uri, key }) => {
- if let Some(data) = workspace
- .lookup(&uri)
- .and_then(|document| document.data.as_bib())
- {
- item.documentation = bibtex::Root::cast(data.root_node())
- .and_then(|root| root.find_entry(&key))
- .and_then(|entry| citeproc::render(&entry))
- .map(|value| {
- Documentation::MarkupContent(MarkupContent {
- kind: MarkupKind::Markdown,
- value,
- })
- });
- }
- }
- None => {}
- };
-
+ completion::resolve(workspace, &mut item);
item
});
Ok(())
}
- fn folding_range(&self, id: RequestId, params: FoldingRangeParams) -> Result<()> {
- let mut uri = params.text_document.uri;
- normalize_uri(&mut uri);
- let client_capabilities = Arc::clone(&self.client_capabilities);
+ fn folding_range(&self, id: RequestId, mut params: FoldingRangeParams) -> Result<()> {
+ normalize_uri(&mut params.text_document.uri);
+ let client_flags = Arc::clone(&self.client_flags);
self.run_query(id, move |db| {
- folding::find_all(db, &uri, &client_capabilities).unwrap_or_default()
+ folding::find_all(db, params, &client_flags).unwrap_or_default()
});
+
Ok(())
}
@@ -623,33 +549,28 @@ impl Server {
Ok(())
}
- fn goto_definition(&self, id: RequestId, params: GotoDefinitionParams) -> Result<()> {
- let mut uri = params.text_document_position_params.text_document.uri;
- normalize_uri(&mut uri);
- let position = params.text_document_position_params.position;
- self.run_query(id, move |db| {
- definition::goto_definition(db, &uri, position)
- });
-
+ fn goto_definition(&self, id: RequestId, mut params: GotoDefinitionParams) -> Result<()> {
+ normalize_uri(&mut params.text_document_position_params.text_document.uri);
+ self.run_query(id, move |db| definition::goto_definition(db, params));
Ok(())
}
fn prepare_rename(&self, id: RequestId, mut params: TextDocumentPositionParams) -> Result<()> {
normalize_uri(&mut params.text_document.uri);
- self.run_query(id, move |db| rename::prepare_rename_all(db, &params));
+ self.run_query(id, move |db| rename::prepare_rename_all(db, params));
Ok(())
}
fn rename(&self, id: RequestId, mut params: RenameParams) -> Result<()> {
normalize_uri(&mut params.text_document_position.text_document.uri);
- self.run_query(id, move |db| rename::rename_all(db, &params));
+ self.run_query(id, move |db| rename::rename_all(db, params));
Ok(())
}
fn document_highlight(&self, id: RequestId, mut params: DocumentHighlightParams) -> Result<()> {
normalize_uri(&mut params.text_document_position_params.text_document.uri);
self.run_query(id, move |db| {
- highlight::find_all(db, &params).unwrap_or_default()
+ highlight::find_all(db, params).unwrap_or_default()
});
Ok(())
@@ -716,11 +637,10 @@ impl Server {
Ok(())
}
- fn inlay_hints(&self, id: RequestId, params: InlayHintParams) -> Result<()> {
- let mut uri = params.text_document.uri;
- normalize_uri(&mut uri);
+ fn inlay_hints(&self, id: RequestId, mut params: InlayHintParams) -> Result<()> {
+ normalize_uri(&mut params.text_document.uri);
self.run_query(id, move |db| {
- inlay_hint::find_all(db, &uri, params.range).unwrap_or_default()
+ inlay_hint::find_all(db, params).unwrap_or_default()
});
Ok(())
}
@@ -757,7 +677,7 @@ impl Server {
let command = BuildCommand::new(&workspace, &uri);
let internal = self.internal_tx.clone();
- let progress = self.client_capabilities.has_work_done_progress_support();
+ let progress = self.client_flags.progress;
let pending_builds = Arc::clone(&self.pending_builds);
self.pool.execute(move || {
@@ -896,7 +816,7 @@ impl Server {
changed |= workspace.load(&path, language, Owner::Server).is_ok();
if let Some(document) = workspace.lookup_path(&path) {
- self.diagnostic_manager.update(&workspace, document);
+ self.diagnostic_manager.update_syntax(&workspace, document);
}
}
}
@@ -1111,8 +1031,8 @@ impl Server {
InternalMessage::Diagnostics => {
self.publish_diagnostics()?;
}
- InternalMessage::ChktexResult(uri, diagnostics) => {
- self.chktex_diagnostics.insert(uri, diagnostics);
+ InternalMessage::ChktexFinished(uri, diagnostics) => {
+ self.diagnostic_manager.update_chktex(uri, diagnostics);
self.publish_diagnostics()?;
}
InternalMessage::ForwardSearch(uri, position) => {
@@ -1124,8 +1044,22 @@ impl Server {
}
}
- pub fn run(mut self) -> Result<()> {
- self.initialize()?;
+ pub fn run(mut self, options: StartupOptions) -> Result<()> {
+ if !options.skip_distro {
+ let sender = self.internal_tx.clone();
+ self.pool.execute(move || {
+ let distro = Distro::detect().unwrap_or_else(|why| {
+ log::warn!("Unable to load distro files: {}", why);
+ Distro::default()
+ });
+
+ log::info!("Detected distribution: {:?}", distro.kind);
+ sender.send(InternalMessage::SetDistro(distro)).unwrap();
+ });
+ }
+
+ self.register_configuration();
+ self.pull_options();
self.process_messages()?;
self.pool.join();
Ok(())
diff --git a/support/texlab/crates/texlab/src/util.rs b/support/texlab/crates/texlab/src/util.rs
index ecc7b850d7..c40ba8b51a 100644
--- a/support/texlab/crates/texlab/src/util.rs
+++ b/support/texlab/crates/texlab/src/util.rs
@@ -1,8 +1,10 @@
-pub mod capabilities;
-pub mod chktex;
-pub mod diagnostics;
+mod client_flags;
+pub mod from_proto;
pub mod line_index_ext;
pub mod lsp_enums;
+pub mod to_proto;
+
+pub use self::client_flags::ClientFlags;
pub fn normalize_uri(uri: &mut lsp_types::Url) {
if let Some(mut segments) = uri.path_segments() {
diff --git a/support/texlab/crates/texlab/src/util/capabilities.rs b/support/texlab/crates/texlab/src/util/capabilities.rs
deleted file mode 100644
index 987c0b48dd..0000000000
--- a/support/texlab/crates/texlab/src/util/capabilities.rs
+++ /dev/null
@@ -1,179 +0,0 @@
-use lsp_types::{ClientCapabilities, MarkupKind};
-
-pub trait ClientCapabilitiesExt {
- fn has_definition_link_support(&self) -> bool;
-
- fn has_hierarchical_document_symbol_support(&self) -> bool;
-
- fn has_work_done_progress_support(&self) -> bool;
-
- fn has_completion_markdown_support(&self) -> bool;
-
- fn has_hover_markdown_support(&self) -> bool;
-
- fn has_pull_configuration_support(&self) -> bool;
-
- fn has_push_configuration_support(&self) -> bool;
-
- fn has_file_watching_support(&self) -> bool;
-
- fn has_snippet_support(&self) -> bool;
-}
-
-impl ClientCapabilitiesExt for ClientCapabilities {
- fn has_definition_link_support(&self) -> bool {
- self.text_document
- .as_ref()
- .and_then(|cap| cap.definition.as_ref())
- .and_then(|cap| cap.link_support)
- == Some(true)
- }
-
- fn has_hierarchical_document_symbol_support(&self) -> bool {
- self.text_document
- .as_ref()
- .and_then(|cap| cap.document_symbol.as_ref())
- .and_then(|cap| cap.hierarchical_document_symbol_support)
- == Some(true)
- }
-
- fn has_work_done_progress_support(&self) -> bool {
- self.window.as_ref().and_then(|cap| cap.work_done_progress) == Some(true)
- }
-
- fn has_completion_markdown_support(&self) -> bool {
- self.text_document
- .as_ref()
- .and_then(|cap| cap.completion.as_ref())
- .and_then(|cap| cap.completion_item.as_ref())
- .and_then(|cap| cap.documentation_format.as_ref())
- .map_or(false, |formats| formats.contains(&MarkupKind::Markdown))
- }
-
- fn has_hover_markdown_support(&self) -> bool {
- self.text_document
- .as_ref()
- .and_then(|cap| cap.hover.as_ref())
- .and_then(|cap| cap.content_format.as_ref())
- .map_or(false, |formats| formats.contains(&MarkupKind::Markdown))
- }
-
- fn has_pull_configuration_support(&self) -> bool {
- self.workspace.as_ref().and_then(|cap| cap.configuration) == Some(true)
- }
-
- fn has_push_configuration_support(&self) -> bool {
- self.workspace
- .as_ref()
- .and_then(|cap| cap.did_change_configuration)
- .and_then(|cap| cap.dynamic_registration)
- == Some(true)
- }
-
- fn has_file_watching_support(&self) -> bool {
- self.workspace
- .as_ref()
- .and_then(|cap| cap.did_change_watched_files)
- .and_then(|cap| cap.dynamic_registration)
- == Some(true)
- }
-
- fn has_snippet_support(&self) -> bool {
- self.text_document
- .as_ref()
- .and_then(|cap| cap.completion.as_ref())
- .and_then(|cap| cap.completion_item.as_ref())
- .and_then(|cap| cap.snippet_support)
- == Some(true)
- }
-}
-
-#[cfg(test)]
-mod tests {
- use super::*;
- use lsp_types::{
- DocumentSymbolClientCapabilities, GotoCapability, HoverClientCapabilities,
- TextDocumentClientCapabilities, WindowClientCapabilities,
- };
-
- #[test]
- fn test_has_definition_link_support_true() {
- let capabilities = ClientCapabilities {
- text_document: Some(TextDocumentClientCapabilities {
- definition: Some(GotoCapability {
- link_support: Some(true),
- ..GotoCapability::default()
- }),
- ..TextDocumentClientCapabilities::default()
- }),
- ..ClientCapabilities::default()
- };
- assert!(capabilities.has_definition_link_support());
- }
-
- #[test]
- fn test_has_definition_link_support_false() {
- let capabilities = ClientCapabilities::default();
- assert!(!capabilities.has_definition_link_support());
- }
-
- #[test]
- fn test_has_hierarchical_document_symbol_support_true() {
- let capabilities = ClientCapabilities {
- text_document: Some(TextDocumentClientCapabilities {
- document_symbol: Some(DocumentSymbolClientCapabilities {
- hierarchical_document_symbol_support: Some(true),
- ..DocumentSymbolClientCapabilities::default()
- }),
- ..TextDocumentClientCapabilities::default()
- }),
- ..ClientCapabilities::default()
- };
- assert!(capabilities.has_hierarchical_document_symbol_support());
- }
-
- #[test]
- fn test_has_hierarchical_document_symbol_support_false() {
- let capabilities = ClientCapabilities::default();
- assert!(!capabilities.has_hierarchical_document_symbol_support());
- }
-
- #[test]
- fn test_has_work_done_progress_support_true() {
- let capabilities = ClientCapabilities {
- window: Some(WindowClientCapabilities {
- work_done_progress: Some(true),
- ..WindowClientCapabilities::default()
- }),
- ..ClientCapabilities::default()
- };
- assert!(capabilities.has_work_done_progress_support());
- }
-
- #[test]
- fn test_has_work_done_progress_support_false() {
- let capabilities = ClientCapabilities::default();
- assert!(!capabilities.has_work_done_progress_support());
- }
-
- #[test]
- fn test_has_hover_markdown_support_true() {
- let capabilities = ClientCapabilities {
- text_document: Some(TextDocumentClientCapabilities {
- hover: Some(HoverClientCapabilities {
- content_format: Some(vec![MarkupKind::PlainText, MarkupKind::Markdown]),
- ..HoverClientCapabilities::default()
- }),
- ..TextDocumentClientCapabilities::default()
- }),
- ..ClientCapabilities::default()
- };
- assert!(capabilities.has_hover_markdown_support());
- }
-
- #[test]
- fn test_has_hover_markdown_support_false() {
- let capabilities = ClientCapabilities::default();
- assert!(!capabilities.has_hover_markdown_support());
- }
-}
diff --git a/support/texlab/crates/texlab/src/util/client_flags.rs b/support/texlab/crates/texlab/src/util/client_flags.rs
new file mode 100644
index 0000000000..e5813e4f02
--- /dev/null
+++ b/support/texlab/crates/texlab/src/util/client_flags.rs
@@ -0,0 +1,40 @@
+/// Contains information about the client's capabilities.
+/// This is used to determine which features the server can use.
+#[derive(Debug, Clone)]
+pub struct ClientFlags {
+ /// If `true`, the server can return `DocumentSymbol` instead of `SymbolInformation`.
+ pub hierarchical_document_symbols: bool,
+
+ /// If `true`, the server can include markdown in completion items.
+ /// This is used to include images via base64 encoding.
+ pub completion_markdown: bool,
+
+ /// If `true`, the server can include snippets like `\begin{...}` in completion items.
+ pub completion_snippets: bool,
+
+ /// The completion kinds supported by the client. Unsupported kinds will be replaced by `TEXT`.
+ pub completion_kinds: Vec<lsp_types::CompletionItemKind>,
+
+ /// If `true`, the server will always mark the completion list as incomplete.
+ /// This is used as a workaround for VSCode where the client-side filtering messes with `filterText`.
+ /// If not set, then fuzzy citation completion will not work.
+ pub completion_always_incomplete: bool,
+
+ /// If `true`, the server can include markdown in hover responses.
+ pub hover_markdown: bool,
+
+ /// If `true`, the server can pull the configuration from the client.
+ pub configuration_pull: bool,
+
+ /// If `true`, the client notifies the server when the configuration changes.
+ pub configuration_push: bool,
+
+ /// If `true`, the client can return `LocationLink` instead of `Location`.
+ pub definition_link: bool,
+
+ /// If `true`, the server can return custom kinds like `section`.
+ pub folding_custom_kinds: bool,
+
+ /// If `true`, the server can report progress using `WorkDoneProgress`.
+ pub progress: bool,
+}
diff --git a/support/texlab/crates/texlab/src/util/diagnostics.rs b/support/texlab/crates/texlab/src/util/diagnostics.rs
deleted file mode 100644
index 0ef24d065b..0000000000
--- a/support/texlab/crates/texlab/src/util/diagnostics.rs
+++ /dev/null
@@ -1,201 +0,0 @@
-use base_db::{util::filter_regex_patterns, Document, Workspace};
-use diagnostics::{
- types::{BibError, Diagnostic, DiagnosticData, TexError},
- DiagnosticBuilder, DiagnosticSource,
-};
-use rowan::TextRange;
-use rustc_hash::FxHashMap;
-use syntax::BuildErrorLevel;
-
-use super::line_index_ext::LineIndexExt;
-
-pub fn collect<'db>(
- workspace: &'db Workspace,
- source: &mut dyn DiagnosticSource,
-) -> FxHashMap<&'db Document, Vec<lsp_types::Diagnostic>> {
- let mut builder = DiagnosticBuilder::default();
- source.publish(workspace, &mut builder);
- builder
- .iter()
- .filter_map(|(uri, diags)| workspace.lookup(uri).map(|document| (document, diags)))
- .map(|(document, diags)| {
- let diags = diags
- .into_iter()
- .filter_map(|diag| create_diagnostic(workspace, document, diag))
- .collect::<Vec<_>>();
-
- (document, diags)
- })
- .collect()
-}
-
-fn create_diagnostic(
- workspace: &Workspace,
- document: &Document,
- diagnostic: &Diagnostic,
-) -> Option<lsp_types::Diagnostic> {
- let range = document.line_index.line_col_lsp_range(diagnostic.range)?;
-
- let severity = match &diagnostic.data {
- DiagnosticData::Tex(error) => match error {
- TexError::UnexpectedRCurly => lsp_types::DiagnosticSeverity::ERROR,
- TexError::ExpectingRCurly => lsp_types::DiagnosticSeverity::ERROR,
- TexError::MismatchedEnvironment => lsp_types::DiagnosticSeverity::ERROR,
- TexError::UnusedLabel => lsp_types::DiagnosticSeverity::HINT,
- TexError::UndefinedLabel => lsp_types::DiagnosticSeverity::ERROR,
- TexError::UndefinedCitation => lsp_types::DiagnosticSeverity::ERROR,
- TexError::DuplicateLabel(_) => lsp_types::DiagnosticSeverity::ERROR,
- },
- DiagnosticData::Bib(error) => match error {
- BibError::ExpectingLCurly => lsp_types::DiagnosticSeverity::ERROR,
- BibError::ExpectingKey => lsp_types::DiagnosticSeverity::ERROR,
- BibError::ExpectingRCurly => lsp_types::DiagnosticSeverity::ERROR,
- BibError::ExpectingEq => lsp_types::DiagnosticSeverity::ERROR,
- BibError::ExpectingFieldValue => lsp_types::DiagnosticSeverity::ERROR,
- BibError::UnusedEntry => lsp_types::DiagnosticSeverity::HINT,
- BibError::DuplicateEntry(_) => lsp_types::DiagnosticSeverity::ERROR,
- },
- DiagnosticData::Build(error) => match error.level {
- BuildErrorLevel::Error => lsp_types::DiagnosticSeverity::ERROR,
- BuildErrorLevel::Warning => lsp_types::DiagnosticSeverity::WARNING,
- },
- };
-
- let code = match &diagnostic.data {
- DiagnosticData::Tex(error) => match error {
- TexError::UnexpectedRCurly => Some(1),
- TexError::ExpectingRCurly => Some(2),
- TexError::MismatchedEnvironment => Some(3),
- TexError::UnusedLabel => Some(9),
- TexError::UndefinedLabel => Some(10),
- TexError::UndefinedCitation => Some(11),
- TexError::DuplicateLabel(_) => Some(14),
- },
- DiagnosticData::Bib(error) => match error {
- BibError::ExpectingLCurly => Some(4),
- BibError::ExpectingKey => Some(5),
- BibError::ExpectingRCurly => Some(6),
- BibError::ExpectingEq => Some(7),
- BibError::ExpectingFieldValue => Some(8),
- BibError::UnusedEntry => Some(12),
- BibError::DuplicateEntry(_) => Some(13),
- },
- DiagnosticData::Build(_) => None,
- };
-
- let source = match &diagnostic.data {
- DiagnosticData::Tex(_) | DiagnosticData::Bib(_) => "texlab",
- DiagnosticData::Build(_) => "latex",
- };
-
- let message = String::from(match &diagnostic.data {
- DiagnosticData::Tex(error) => match error {
- TexError::UnexpectedRCurly => "Unexpected \"}\"",
- TexError::ExpectingRCurly => "Expecting a curly bracket: \"}\"",
- TexError::MismatchedEnvironment => "Mismatched environment",
- TexError::UnusedLabel => "Unused label",
- TexError::UndefinedLabel => "Undefined reference",
- TexError::UndefinedCitation => "Undefined reference",
- TexError::DuplicateLabel(_) => "Duplicate label",
- },
- DiagnosticData::Bib(error) => match error {
- BibError::ExpectingLCurly => "Expecting a curly bracket: \"{\"",
- BibError::ExpectingKey => "Expecting a key",
- BibError::ExpectingRCurly => "Expecting a curly bracket: \"}\"",
- BibError::ExpectingEq => "Expecting an equality sign: \"=\"",
- BibError::ExpectingFieldValue => "Expecting a field value",
- BibError::UnusedEntry => "Unused entry",
- BibError::DuplicateEntry(_) => "Duplicate entry key",
- },
- DiagnosticData::Build(error) => &error.message,
- });
-
- let tags = match &diagnostic.data {
- DiagnosticData::Tex(error) => match error {
- TexError::UnexpectedRCurly => None,
- TexError::ExpectingRCurly => None,
- TexError::MismatchedEnvironment => None,
- TexError::UnusedLabel => Some(vec![lsp_types::DiagnosticTag::UNNECESSARY]),
- TexError::UndefinedLabel => None,
- TexError::UndefinedCitation => None,
- TexError::DuplicateLabel(_) => None,
- },
- DiagnosticData::Bib(error) => match error {
- BibError::ExpectingLCurly => None,
- BibError::ExpectingKey => None,
- BibError::ExpectingRCurly => None,
- BibError::ExpectingEq => None,
- BibError::ExpectingFieldValue => None,
- BibError::UnusedEntry => Some(vec![lsp_types::DiagnosticTag::UNNECESSARY]),
- BibError::DuplicateEntry(_) => None,
- },
- DiagnosticData::Build(_) => None,
- };
-
- let related_information = match &diagnostic.data {
- DiagnosticData::Tex(error) => match error {
- TexError::UnexpectedRCurly => None,
- TexError::ExpectingRCurly => None,
- TexError::MismatchedEnvironment => None,
- TexError::UnusedLabel => None,
- TexError::UndefinedLabel => None,
- TexError::UndefinedCitation => None,
- TexError::DuplicateLabel(others) => make_conflict_info(workspace, others, "label"),
- },
- DiagnosticData::Bib(error) => match error {
- BibError::ExpectingLCurly => None,
- BibError::ExpectingKey => None,
- BibError::ExpectingRCurly => None,
- BibError::ExpectingEq => None,
- BibError::ExpectingFieldValue => None,
- BibError::UnusedEntry => None,
- BibError::DuplicateEntry(others) => make_conflict_info(workspace, others, "entry"),
- },
- DiagnosticData::Build(_) => None,
- };
-
- Some(lsp_types::Diagnostic {
- severity: Some(severity),
- code: code.map(lsp_types::NumberOrString::Number),
- source: Some(String::from(source)),
- tags,
- related_information,
- ..lsp_types::Diagnostic::new_simple(range, message)
- })
-}
-
-fn make_conflict_info(
- workspace: &Workspace,
- locations: &Vec<(lsp_types::Url, TextRange)>,
- object: &str,
-) -> Option<Vec<lsp_types::DiagnosticRelatedInformation>> {
- let mut items = Vec::new();
- for (uri, range) in locations {
- let range = workspace
- .lookup(uri)?
- .line_index
- .line_col_lsp_range(*range)?;
-
- let message = format!("conflicting {object} defined here");
- let location = lsp_types::Location::new(uri.clone(), range);
- items.push(lsp_types::DiagnosticRelatedInformation { location, message });
- }
-
- Some(items)
-}
-
-pub fn filter(
- all_diagnostics: &mut FxHashMap<&Document, Vec<lsp_types::Diagnostic>>,
- workspace: &Workspace,
-) {
- let config = &workspace.config().diagnostics;
- for diagnostics in all_diagnostics.values_mut() {
- diagnostics.retain(|diagnostic| {
- filter_regex_patterns(
- &diagnostic.message,
- &config.allowed_patterns,
- &config.ignored_patterns,
- )
- });
- }
-}
diff --git a/support/texlab/crates/texlab/src/util/from_proto.rs b/support/texlab/crates/texlab/src/util/from_proto.rs
new file mode 100644
index 0000000000..e05d317dfe
--- /dev/null
+++ b/support/texlab/crates/texlab/src/util/from_proto.rs
@@ -0,0 +1,223 @@
+use base_db::{FeatureParams, Workspace};
+use completion::CompletionParams;
+use definition::DefinitionParams;
+use highlights::HighlightParams;
+use hover::HoverParams;
+use inlay_hints::InlayHintParams;
+use references::ReferenceParams;
+use rename::RenameParams;
+use rowan::TextSize;
+
+use crate::features::completion::ResolveInfo;
+
+use super::{line_index_ext::LineIndexExt, ClientFlags};
+
+pub fn client_flags(
+ capabilities: lsp_types::ClientCapabilities,
+ info: Option<lsp_types::ClientInfo>,
+) -> ClientFlags {
+ let hierarchical_document_symbols = capabilities
+ .text_document
+ .as_ref()
+ .and_then(|cap| cap.document_symbol.as_ref())
+ .and_then(|cap| cap.hierarchical_document_symbol_support)
+ .unwrap_or(false);
+
+ let completion_markdown = capabilities
+ .text_document
+ .as_ref()
+ .and_then(|cap| cap.completion.as_ref())
+ .and_then(|cap| cap.completion_item.as_ref())
+ .and_then(|cap| cap.documentation_format.as_ref())
+ .map_or(false, |formats| {
+ formats.contains(&lsp_types::MarkupKind::Markdown)
+ });
+
+ let completion_snippets = capabilities
+ .text_document
+ .as_ref()
+ .and_then(|cap| cap.completion.as_ref())
+ .and_then(|cap| cap.completion_item.as_ref())
+ .and_then(|cap| cap.snippet_support)
+ .unwrap_or(false);
+
+ let completion_kinds = capabilities
+ .text_document
+ .as_ref()
+ .and_then(|cap| cap.completion.as_ref())
+ .and_then(|cap| cap.completion_item_kind.as_ref())
+ .and_then(|cap| cap.value_set.clone())
+ .unwrap_or_default();
+
+ let completion_always_incomplete = info.map_or(false, |info| info.name == "Visual Studio Code");
+
+ let hover_markdown = capabilities
+ .text_document
+ .as_ref()
+ .and_then(|cap| cap.hover.as_ref())
+ .and_then(|cap| cap.content_format.as_ref())
+ .map_or(false, |formats| {
+ formats.contains(&lsp_types::MarkupKind::Markdown)
+ });
+
+ let configuration_pull = capabilities
+ .workspace
+ .as_ref()
+ .and_then(|cap| cap.configuration)
+ .unwrap_or(false);
+
+ let configuration_push = capabilities
+ .workspace
+ .as_ref()
+ .and_then(|cap| cap.did_change_configuration)
+ .and_then(|cap| cap.dynamic_registration)
+ .unwrap_or(false);
+
+ let definition_link = capabilities
+ .text_document
+ .as_ref()
+ .and_then(|cap| cap.definition)
+ .and_then(|cap| cap.link_support)
+ .unwrap_or(false);
+
+ let folding_custom_kinds = capabilities
+ .text_document
+ .as_ref()
+ .and_then(|cap| cap.folding_range.as_ref())
+ .and_then(|cap| cap.folding_range_kind.as_ref())
+ .and_then(|cap| cap.value_set.as_ref())
+ .is_some();
+
+ let progress = capabilities
+ .window
+ .as_ref()
+ .and_then(|cap| cap.work_done_progress)
+ .unwrap_or(false);
+
+ ClientFlags {
+ hierarchical_document_symbols,
+ completion_markdown,
+ completion_snippets,
+ completion_kinds,
+ completion_always_incomplete,
+ hover_markdown,
+ configuration_pull,
+ configuration_push,
+ definition_link,
+ folding_custom_kinds,
+ progress,
+ }
+}
+
+pub fn rename_params<'a>(
+ workspace: &'a Workspace,
+ params: lsp_types::TextDocumentPositionParams,
+) -> Option<RenameParams<'a>> {
+ let (feature, offset) =
+ feature_params_offset(workspace, params.text_document, params.position)?;
+
+ Some(RenameParams { feature, offset })
+}
+
+pub fn hover_params<'a>(
+ workspace: &'a Workspace,
+ params: lsp_types::HoverParams,
+) -> Option<HoverParams<'a>> {
+ let (feature, offset) = feature_params_offset(
+ workspace,
+ params.text_document_position_params.text_document,
+ params.text_document_position_params.position,
+ )?;
+
+ Some(HoverParams { feature, offset })
+}
+
+pub fn inlay_hint_params<'a>(
+ workspace: &'a Workspace,
+ params: lsp_types::InlayHintParams,
+) -> Option<InlayHintParams> {
+ let feature = feature_params(workspace, params.text_document)?;
+ let range = feature.document.line_index.offset_lsp_range(params.range)?;
+ Some(InlayHintParams { feature, range })
+}
+
+pub fn highlight_params<'a>(
+ workspace: &'a Workspace,
+ params: lsp_types::DocumentHighlightParams,
+) -> Option<HighlightParams<'a>> {
+ let (feature, offset) = feature_params_offset(
+ workspace,
+ params.text_document_position_params.text_document,
+ params.text_document_position_params.position,
+ )?;
+
+ Some(HighlightParams { feature, offset })
+}
+
+pub fn definition_params<'a>(
+ workspace: &'a Workspace,
+ params: lsp_types::GotoDefinitionParams,
+) -> Option<DefinitionParams<'a>> {
+ let (feature, offset) = feature_params_offset(
+ workspace,
+ params.text_document_position_params.text_document,
+ params.text_document_position_params.position,
+ )?;
+
+ Some(DefinitionParams { feature, offset })
+}
+
+pub fn completion_params<'a>(
+ workspace: &'a Workspace,
+ params: lsp_types::CompletionParams,
+) -> Option<CompletionParams<'a>> {
+ let (feature, offset) = feature_params_offset(
+ workspace,
+ params.text_document_position.text_document,
+ params.text_document_position.position,
+ )?;
+
+ Some(CompletionParams { feature, offset })
+}
+
+pub fn reference_params<'a>(
+ workspace: &'a Workspace,
+ params: lsp_types::ReferenceParams,
+) -> Option<ReferenceParams<'a>> {
+ let (feature, offset) = feature_params_offset(
+ workspace,
+ params.text_document_position.text_document,
+ params.text_document_position.position,
+ )?;
+
+ let include_declaration = params.context.include_declaration;
+ Some(ReferenceParams {
+ feature,
+ offset,
+ include_declaration,
+ })
+}
+
+pub fn feature_params<'a>(
+ workspace: &'a Workspace,
+ text_document: lsp_types::TextDocumentIdentifier,
+) -> Option<FeatureParams<'a>> {
+ let document = workspace.lookup(&text_document.uri)?;
+ Some(FeatureParams::new(workspace, document))
+}
+
+pub fn feature_params_offset<'a>(
+ workspace: &'a Workspace,
+ text_document: lsp_types::TextDocumentIdentifier,
+ position: lsp_types::Position,
+) -> Option<(FeatureParams<'a>, TextSize)> {
+ let feature = feature_params(workspace, text_document)?;
+ let offset = feature.document.line_index.offset_lsp(position)?;
+ Some((feature, offset))
+}
+
+pub fn completion_resolve_info(item: &mut lsp_types::CompletionItem) -> Option<ResolveInfo> {
+ item.data
+ .take()
+ .and_then(|data| serde_json::from_value(data).ok())
+}
diff --git a/support/texlab/crates/texlab/src/util/lsp_enums.rs b/support/texlab/crates/texlab/src/util/lsp_enums.rs
index e79297af8a..352b392868 100644
--- a/support/texlab/crates/texlab/src/util/lsp_enums.rs
+++ b/support/texlab/crates/texlab/src/util/lsp_enums.rs
@@ -1,5 +1,5 @@
use base_db::data::BibtexEntryTypeCategory;
-use lsp_types::{CompletionItemKind, SymbolKind};
+use lsp_types::CompletionItemKind;
#[derive(Debug, PartialEq, Eq, Clone, Copy)]
pub enum Structure {
@@ -14,7 +14,6 @@ pub enum Structure {
Label,
Folder,
File,
- PgfLibrary,
TikzLibrary,
Color,
ColorModel,
@@ -40,7 +39,6 @@ impl Structure {
Self::Label => CompletionItemKind::CONSTRUCTOR,
Self::Folder => CompletionItemKind::FOLDER,
Self::File => CompletionItemKind::FILE,
- Self::PgfLibrary => CompletionItemKind::PROPERTY,
Self::TikzLibrary => CompletionItemKind::PROPERTY,
Self::Color => CompletionItemKind::COLOR,
Self::ColorModel => CompletionItemKind::COLOR,
@@ -58,36 +56,4 @@ impl Structure {
Self::GlossaryEntry => CompletionItemKind::KEYWORD,
}
}
-
- pub fn symbol_kind(self) -> SymbolKind {
- match self {
- Self::Command => SymbolKind::FUNCTION,
- Self::Snippet => unimplemented!(),
- Self::Environment => SymbolKind::ENUM,
- Self::Section => SymbolKind::MODULE,
- Self::Float => SymbolKind::METHOD,
- Self::Theorem => SymbolKind::VARIABLE,
- Self::Equation => SymbolKind::CONSTANT,
- Self::Item => SymbolKind::ENUM_MEMBER,
- Self::Label => SymbolKind::CONSTRUCTOR,
- Self::Folder => SymbolKind::NAMESPACE,
- Self::File => SymbolKind::FILE,
- Self::PgfLibrary => SymbolKind::PROPERTY,
- Self::TikzLibrary => SymbolKind::PROPERTY,
- Self::Color => unimplemented!(),
- Self::ColorModel => unimplemented!(),
- Self::Package => SymbolKind::CLASS,
- Self::Class => SymbolKind::CLASS,
- Self::Entry(BibtexEntryTypeCategory::Misc) => SymbolKind::INTERFACE,
- Self::Entry(BibtexEntryTypeCategory::String) => SymbolKind::STRING,
- Self::Entry(BibtexEntryTypeCategory::Article) => SymbolKind::EVENT,
- Self::Entry(BibtexEntryTypeCategory::Book) => SymbolKind::STRUCT,
- Self::Entry(BibtexEntryTypeCategory::Collection) => SymbolKind::TYPE_PARAMETER,
- Self::Entry(BibtexEntryTypeCategory::Part) => SymbolKind::OPERATOR,
- Self::Entry(BibtexEntryTypeCategory::Thesis) => SymbolKind::OBJECT,
- Self::Field => SymbolKind::FIELD,
- Self::Argument => SymbolKind::NUMBER,
- Self::GlossaryEntry => unimplemented!(),
- }
- }
}
diff --git a/support/texlab/crates/texlab/src/util/to_proto.rs b/support/texlab/crates/texlab/src/util/to_proto.rs
new file mode 100644
index 0000000000..f5cf2edf8b
--- /dev/null
+++ b/support/texlab/crates/texlab/src/util/to_proto.rs
@@ -0,0 +1,459 @@
+use std::collections::HashMap;
+
+use base_db::{
+ data::BibtexEntryTypeCategory, util::RenderedObject, Document, DocumentLocation, Workspace,
+};
+use definition::DefinitionResult;
+use diagnostics::{BibError, ChktexSeverity, Diagnostic, TexError};
+use folding::{FoldingRange, FoldingRangeKind};
+use highlights::{Highlight, HighlightKind};
+use hover::{Hover, HoverData};
+use inlay_hints::{InlayHint, InlayHintData};
+use line_index::LineIndex;
+use lsp_types::NumberOrString;
+use rename::RenameResult;
+use rowan::TextRange;
+use syntax::BuildErrorLevel;
+
+use super::{line_index_ext::LineIndexExt, ClientFlags};
+
+pub fn diagnostic(
+ workspace: &Workspace,
+ document: &Document,
+ diagnostic: &Diagnostic,
+) -> Option<lsp_types::Diagnostic> {
+ let range = match diagnostic {
+ Diagnostic::Tex(range, _) | Diagnostic::Bib(range, _) | Diagnostic::Build(range, _) => {
+ document.line_index.line_col_lsp_range(*range)?
+ }
+ Diagnostic::Chktex(range) => {
+ let start = lsp_types::Position::new(range.start.line, range.start.col);
+ let end = lsp_types::Position::new(range.end.line, range.end.col);
+ lsp_types::Range::new(start, end)
+ }
+ };
+
+ let severity = match diagnostic {
+ Diagnostic::Tex(_, error) => match error {
+ TexError::UnexpectedRCurly => lsp_types::DiagnosticSeverity::ERROR,
+ TexError::ExpectingRCurly => lsp_types::DiagnosticSeverity::ERROR,
+ TexError::MismatchedEnvironment => lsp_types::DiagnosticSeverity::ERROR,
+ TexError::UnusedLabel => lsp_types::DiagnosticSeverity::HINT,
+ TexError::UndefinedLabel => lsp_types::DiagnosticSeverity::ERROR,
+ TexError::UndefinedCitation => lsp_types::DiagnosticSeverity::ERROR,
+ TexError::DuplicateLabel(_) => lsp_types::DiagnosticSeverity::ERROR,
+ },
+ Diagnostic::Bib(_, error) => match error {
+ BibError::ExpectingLCurly => lsp_types::DiagnosticSeverity::ERROR,
+ BibError::ExpectingKey => lsp_types::DiagnosticSeverity::ERROR,
+ BibError::ExpectingRCurly => lsp_types::DiagnosticSeverity::ERROR,
+ BibError::ExpectingEq => lsp_types::DiagnosticSeverity::ERROR,
+ BibError::ExpectingFieldValue => lsp_types::DiagnosticSeverity::ERROR,
+ BibError::UnusedEntry => lsp_types::DiagnosticSeverity::HINT,
+ BibError::DuplicateEntry(_) => lsp_types::DiagnosticSeverity::ERROR,
+ },
+ Diagnostic::Build(_, error) => match error.level {
+ BuildErrorLevel::Error => lsp_types::DiagnosticSeverity::ERROR,
+ BuildErrorLevel::Warning => lsp_types::DiagnosticSeverity::WARNING,
+ },
+ Diagnostic::Chktex(error) => match error.severity {
+ ChktexSeverity::Message => lsp_types::DiagnosticSeverity::HINT,
+ ChktexSeverity::Warning => lsp_types::DiagnosticSeverity::WARNING,
+ ChktexSeverity::Error => lsp_types::DiagnosticSeverity::ERROR,
+ },
+ };
+
+ let code: Option<NumberOrString> = match &diagnostic {
+ Diagnostic::Tex(_, error) => match error {
+ TexError::UnexpectedRCurly => Some(NumberOrString::Number(1)),
+ TexError::ExpectingRCurly => Some(NumberOrString::Number(2)),
+ TexError::MismatchedEnvironment => Some(NumberOrString::Number(3)),
+ TexError::UnusedLabel => Some(NumberOrString::Number(9)),
+ TexError::UndefinedLabel => Some(NumberOrString::Number(10)),
+ TexError::UndefinedCitation => Some(NumberOrString::Number(11)),
+ TexError::DuplicateLabel(_) => Some(NumberOrString::Number(14)),
+ },
+ Diagnostic::Bib(_, error) => match error {
+ BibError::ExpectingLCurly => Some(NumberOrString::Number(4)),
+ BibError::ExpectingKey => Some(NumberOrString::Number(5)),
+ BibError::ExpectingRCurly => Some(NumberOrString::Number(6)),
+ BibError::ExpectingEq => Some(NumberOrString::Number(7)),
+ BibError::ExpectingFieldValue => Some(NumberOrString::Number(8)),
+ BibError::UnusedEntry => Some(NumberOrString::Number(12)),
+ BibError::DuplicateEntry(_) => Some(NumberOrString::Number(13)),
+ },
+ Diagnostic::Build(_, _) => None,
+ Diagnostic::Chktex(error) => Some(NumberOrString::String(error.code.clone())),
+ };
+
+ let source = match &diagnostic {
+ Diagnostic::Tex(_, _) | Diagnostic::Bib(_, _) => "texlab",
+ Diagnostic::Build(_, _) => "latex",
+ Diagnostic::Chktex(_) => "ChkTeX",
+ };
+
+ let message = String::from(match &diagnostic {
+ Diagnostic::Tex(_, error) => match error {
+ TexError::UnexpectedRCurly => "Unexpected \"}\"",
+ TexError::ExpectingRCurly => "Expecting a curly bracket: \"}\"",
+ TexError::MismatchedEnvironment => "Mismatched environment",
+ TexError::UnusedLabel => "Unused label",
+ TexError::UndefinedLabel => "Undefined reference",
+ TexError::UndefinedCitation => "Undefined reference",
+ TexError::DuplicateLabel(_) => "Duplicate label",
+ },
+ Diagnostic::Bib(_, error) => match error {
+ BibError::ExpectingLCurly => "Expecting a curly bracket: \"{\"",
+ BibError::ExpectingKey => "Expecting a key",
+ BibError::ExpectingRCurly => "Expecting a curly bracket: \"}\"",
+ BibError::ExpectingEq => "Expecting an equality sign: \"=\"",
+ BibError::ExpectingFieldValue => "Expecting a field value",
+ BibError::UnusedEntry => "Unused entry",
+ BibError::DuplicateEntry(_) => "Duplicate entry key",
+ },
+ Diagnostic::Build(_, error) => &error.message,
+ Diagnostic::Chktex(error) => &error.message,
+ });
+
+ let tags = match &diagnostic {
+ Diagnostic::Tex(_, error) => match error {
+ TexError::UnexpectedRCurly => None,
+ TexError::ExpectingRCurly => None,
+ TexError::MismatchedEnvironment => None,
+ TexError::UnusedLabel => Some(vec![lsp_types::DiagnosticTag::UNNECESSARY]),
+ TexError::UndefinedLabel => None,
+ TexError::UndefinedCitation => None,
+ TexError::DuplicateLabel(_) => None,
+ },
+ Diagnostic::Bib(_, error) => match error {
+ BibError::ExpectingLCurly => None,
+ BibError::ExpectingKey => None,
+ BibError::ExpectingRCurly => None,
+ BibError::ExpectingEq => None,
+ BibError::ExpectingFieldValue => None,
+ BibError::UnusedEntry => Some(vec![lsp_types::DiagnosticTag::UNNECESSARY]),
+ BibError::DuplicateEntry(_) => None,
+ },
+ Diagnostic::Build(_, _) => None,
+ Diagnostic::Chktex(_) => None,
+ };
+
+ fn make_conflict_info(
+ workspace: &Workspace,
+ locations: &Vec<(lsp_types::Url, TextRange)>,
+ object: &str,
+ ) -> Option<Vec<lsp_types::DiagnosticRelatedInformation>> {
+ let mut items = Vec::new();
+ for (uri, range) in locations {
+ let range = workspace
+ .lookup(uri)?
+ .line_index
+ .line_col_lsp_range(*range)?;
+
+ let message = format!("conflicting {object} defined here");
+ let location = lsp_types::Location::new(uri.clone(), range);
+ items.push(lsp_types::DiagnosticRelatedInformation { location, message });
+ }
+
+ Some(items)
+ }
+
+ let related_information = match &diagnostic {
+ Diagnostic::Tex(_, error) => match error {
+ TexError::UnexpectedRCurly => None,
+ TexError::ExpectingRCurly => None,
+ TexError::MismatchedEnvironment => None,
+ TexError::UnusedLabel => None,
+ TexError::UndefinedLabel => None,
+ TexError::UndefinedCitation => None,
+ TexError::DuplicateLabel(others) => make_conflict_info(workspace, others, "label"),
+ },
+ Diagnostic::Bib(_, error) => match error {
+ BibError::ExpectingLCurly => None,
+ BibError::ExpectingKey => None,
+ BibError::ExpectingRCurly => None,
+ BibError::ExpectingEq => None,
+ BibError::ExpectingFieldValue => None,
+ BibError::UnusedEntry => None,
+ BibError::DuplicateEntry(others) => make_conflict_info(workspace, others, "entry"),
+ },
+ Diagnostic::Build(_, _) => None,
+ Diagnostic::Chktex(_) => None,
+ };
+
+ Some(lsp_types::Diagnostic {
+ severity: Some(severity),
+ code,
+ source: Some(String::from(source)),
+ tags,
+ related_information,
+ ..lsp_types::Diagnostic::new_simple(range, message)
+ })
+}
+
+pub fn inlay_hint(hint: InlayHint, line_index: &LineIndex) -> Option<lsp_types::InlayHint> {
+ let position = line_index.line_col_lsp(hint.offset)?;
+ Some(match hint.data {
+ InlayHintData::LabelDefinition(label) => {
+ let number = label.number?;
+
+ let text = match &label.object {
+ RenderedObject::Section { prefix, .. } => {
+ format!("{} {}", prefix, number)
+ }
+ RenderedObject::Float { kind, .. } => {
+ format!("{} {}", kind.as_str(), number)
+ }
+ RenderedObject::Theorem { kind, .. } => {
+ format!("{} {}", kind, number)
+ }
+ RenderedObject::Equation => format!("Equation ({})", number),
+ RenderedObject::EnumItem => format!("Item {}", number),
+ };
+
+ lsp_types::InlayHint {
+ position,
+ label: lsp_types::InlayHintLabel::String(format!(" {text} ")),
+ kind: None,
+ text_edits: None,
+ tooltip: None,
+ padding_left: Some(true),
+ padding_right: None,
+ data: None,
+ }
+ }
+ InlayHintData::LabelReference(label) => {
+ let text = label.reference();
+
+ lsp_types::InlayHint {
+ position,
+ label: lsp_types::InlayHintLabel::String(format!(" {text} ")),
+ kind: None,
+ text_edits: None,
+ tooltip: None,
+ padding_left: Some(true),
+ padding_right: None,
+ data: None,
+ }
+ }
+ })
+}
+
+pub fn document_link(
+ link: DocumentLocation,
+ line_index: &LineIndex,
+) -> Option<lsp_types::DocumentLink> {
+ Some(lsp_types::DocumentLink {
+ data: None,
+ tooltip: None,
+ target: Some(link.document.uri.clone()),
+ range: line_index.line_col_lsp_range(link.range)?,
+ })
+}
+
+pub fn folding_range(
+ folding: FoldingRange,
+ line_index: &LineIndex,
+ client_flags: &ClientFlags,
+) -> Option<serde_json::Value> {
+ let range = line_index.line_col_lsp_range(folding.range)?;
+
+ let kind = if client_flags.folding_custom_kinds {
+ Some(match folding.kind {
+ FoldingRangeKind::Section => "section",
+ FoldingRangeKind::Environment => "environment",
+ FoldingRangeKind::Entry => "entry",
+ })
+ } else {
+ None
+ };
+
+ Some(serde_json::json!({
+ "startLine": range.start.line,
+ "startCharacter": range.start.character,
+ "endLine": range.end.line,
+ "endCharacter": range.end.character,
+ "kind": kind,
+ }))
+}
+
+pub fn location_link(
+ result: DefinitionResult,
+ line_index: &LineIndex,
+) -> Option<lsp_types::LocationLink> {
+ let origin_selection_range = line_index.line_col_lsp_range(result.origin_selection_range);
+
+ let target_line_index = &result.target.line_index;
+ let target_uri = result.target.uri.clone();
+ let target_range = target_line_index.line_col_lsp_range(result.target_range)?;
+ let target_selection_range =
+ target_line_index.line_col_lsp_range(result.target_selection_range)?;
+
+ Some(lsp_types::LocationLink {
+ origin_selection_range,
+ target_uri,
+ target_range,
+ target_selection_range,
+ })
+}
+
+pub fn document_symbol(
+ symbol: symbols::Symbol,
+ line_index: &LineIndex,
+) -> Option<lsp_types::DocumentSymbol> {
+ let children = symbol
+ .children
+ .into_iter()
+ .filter_map(|child| document_symbol(child, line_index))
+ .collect();
+
+ #[allow(deprecated)]
+ Some(lsp_types::DocumentSymbol {
+ name: symbol.name,
+ detail: symbol.label.map(|label| label.text),
+ kind: symbol_kind(symbol.kind),
+ deprecated: Some(false),
+ range: line_index.line_col_lsp_range(symbol.full_range)?,
+ selection_range: line_index.line_col_lsp_range(symbol.selection_range)?,
+ children: Some(children),
+ tags: None,
+ })
+}
+
+pub fn symbol_information(
+ symbol: symbols::Symbol,
+ document: &Document,
+ results: &mut Vec<lsp_types::SymbolInformation>,
+) -> Option<()> {
+ let range = document.line_index.line_col_lsp_range(symbol.full_range)?;
+
+ #[allow(deprecated)]
+ results.push(lsp_types::SymbolInformation {
+ name: symbol.name,
+ kind: symbol_kind(symbol.kind),
+ deprecated: Some(false),
+ location: lsp_types::Location::new(document.uri.clone(), range),
+ tags: None,
+ container_name: None,
+ });
+
+ for child in symbol.children {
+ symbol_information(child, document, results);
+ }
+
+ Some(())
+}
+
+pub fn 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,
+ }
+}
+
+pub fn document_symbol_response(
+ document: &Document,
+ symbols: Vec<symbols::Symbol>,
+ client_flags: &ClientFlags,
+) -> lsp_types::DocumentSymbolResponse {
+ if client_flags.hierarchical_document_symbols {
+ let results = symbols
+ .into_iter()
+ .filter_map(|symbol| document_symbol(symbol, &document.line_index))
+ .collect();
+
+ lsp_types::DocumentSymbolResponse::Nested(results)
+ } else {
+ let mut results = Vec::new();
+ for symbol in symbols {
+ symbol_information(symbol, document, &mut results);
+ }
+
+ lsp_types::DocumentSymbolResponse::Flat(results)
+ }
+}
+
+pub fn workspace_edit(result: RenameResult, new_name: &str) -> lsp_types::WorkspaceEdit {
+ let mut changes = HashMap::default();
+ for (document, ranges) in result.changes {
+ let mut edits = Vec::new();
+ ranges
+ .into_iter()
+ .filter_map(|range| document.line_index.line_col_lsp_range(range))
+ .for_each(|range| edits.push(lsp_types::TextEdit::new(range, new_name.into())));
+
+ changes.insert(document.uri.clone(), edits);
+ }
+
+ lsp_types::WorkspaceEdit::new(changes)
+}
+
+pub fn location(location: DocumentLocation) -> Option<lsp_types::Location> {
+ let document = location.document;
+ let range = document.line_index.line_col_lsp_range(location.range)?;
+ Some(lsp_types::Location::new(document.uri.clone(), range))
+}
+
+pub fn document_highlight(
+ highlight: Highlight,
+ line_index: &LineIndex,
+) -> Option<lsp_types::DocumentHighlight> {
+ let range = line_index.line_col_lsp_range(highlight.range)?;
+ let kind = Some(match highlight.kind {
+ HighlightKind::Write => lsp_types::DocumentHighlightKind::WRITE,
+ HighlightKind::Read => lsp_types::DocumentHighlightKind::READ,
+ });
+
+ Some(lsp_types::DocumentHighlight { range, kind })
+}
+
+pub fn hover(hover: Hover, line_index: &LineIndex) -> Option<lsp_types::Hover> {
+ let contents = match hover.data {
+ HoverData::Citation(text) => lsp_types::MarkupContent {
+ kind: lsp_types::MarkupKind::Markdown,
+ value: text,
+ },
+ HoverData::Package(description) => lsp_types::MarkupContent {
+ kind: lsp_types::MarkupKind::PlainText,
+ value: description.into(),
+ },
+ HoverData::EntryType(type_) => lsp_types::MarkupContent {
+ kind: lsp_types::MarkupKind::Markdown,
+ value: type_.documentation?.into(),
+ },
+ HoverData::FieldType(type_) => lsp_types::MarkupContent {
+ kind: lsp_types::MarkupKind::Markdown,
+ value: type_.documentation.into(),
+ },
+ HoverData::Label(label) => lsp_types::MarkupContent {
+ kind: lsp_types::MarkupKind::PlainText,
+ value: label.reference(),
+ },
+ HoverData::StringRef(text) => lsp_types::MarkupContent {
+ kind: lsp_types::MarkupKind::PlainText,
+ value: text,
+ },
+ };
+
+ Some(lsp_types::Hover {
+ contents: lsp_types::HoverContents::Markup(contents),
+ range: line_index.line_col_lsp_range(hover.range),
+ })
+}
diff --git a/support/texlab/texlab.1 b/support/texlab/texlab.1
index 97e9fa5a96..ea5ac6ec05 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" "January 2024" "texlab 5.12.2" "User Commands"
+.TH TEXLAB "1" "January 2024" "texlab 5.12.3" "User Commands"
.SH NAME
-texlab \- manual page for texlab 5.12.2
+texlab \- manual page for texlab 5.12.3
.SH SYNOPSIS
.B texlab
[\fI\,OPTIONS\/\fR]
diff --git a/support/texlab/texlab.pdf b/support/texlab/texlab.pdf
index 0ba7e1348e..6e2ddb1b35 100644
--- a/support/texlab/texlab.pdf
+++ b/support/texlab/texlab.pdf
Binary files differ
diff --git a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
index e9572058d9..edef86f4c4 100644
--- a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+++ b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
@@ -138,6 +138,7 @@ $mirrors = {
'Poland' => {
'https://ctan.gust.org.pl/tex-archive/' => 1,
'https://polish-mirror.evolution-host.com/ctan/' => 1,
+ 'https://sunsite.icm.edu.pl/pub/CTAN/' => 1,
},
'Portugal' => {
'https://ftp.eq.uc.pt/software/TeX/' => 1,
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
index b86aca5ad4..f360c6206e 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
@@ -26,7 +26,7 @@ depend container_split_src_files/1
depend frozen/0
depend minrelease/2016
depend release/2023
-depend revision/69593
+depend revision/69605
name 00texlive.image
category TLCore
@@ -4843,7 +4843,7 @@ depend setting_available_architectures:aarch64-linux amd64-freebsd amd64-netbsd
name 00texlive.installer
category TLCore
-revision 69584
+revision 69595
shortdesc TeX Live standalone installer package
longdesc This package defines the files to go into the installer
longdesc archives (install-tl-unx.tar.gz, install-tl.zip) built by the
@@ -30646,29 +30646,32 @@ catalogue-version 1.0m
name babel-norsk
category Package
-revision 65093
+revision 69603
shortdesc Babel support for Norwegian
relocated 1
longdesc The package provides the language definition file for support
longdesc of Norwegian in babel. Some shortcuts are defined, as well as
longdesc translations to Norsk of standard "LaTeX names".
-containersize 2872
-containerchecksum e5ca8c827ddc30ca33b1fc3da98e6576938aef4041d56c77b329ba69851a6576f4315228bb5188dc09aa3180890f3545d0b24f31da89c868ea11e92263f2a9fb
-doccontainersize 142428
-doccontainerchecksum f67830ab2e6b46370ad0737b64149ee8e0c1c9ecd68920ecc0ff43518335e884941b4469d91d0202f6a7927c1e5eb44507a5e43308effd89e1f1846f80de5355
-docfiles size=35
+containersize 2504
+containerchecksum cd5511b9ffa7a009cc9b330fadda4edbd431083a3301bd4722d19d9c9331cd160fbf79d0e246feb2d4bc69c6e2800931c4e697b9a052f92a424f5f59841840ee
+doccontainersize 152000
+doccontainerchecksum 764700736d45202ac46553014d8382a26ac962d964bac3fbe9d1c90f341b99fb1dbd6a44348267d55f75228bd155aa70cd0080870b627910ebf0df0bf344e0cd
+docfiles size=39
+ RELOC/doc/generic/babel-norsk/README.md
RELOC/doc/generic/babel-norsk/norsk.pdf details="Package documentation"
-srccontainersize 6788
-srccontainerchecksum 48506bcb93e7f8cb27b8c5e6257fc1e8247db04c94de6b9710438179647bdf6f1d9a0b5c811156bc79fb9ae301493df49536335a9b8fd939ae0852d4745843c8
+srccontainersize 6364
+srccontainerchecksum 50e6bd75290194441785e04a4940c682f69896fb5e6d0e96492e0565f413bd6f306ce90b228f1a3abc9a88a2288e8db80a87c443a6fa1cae38f5b896c6fd7ad3
srcfiles size=7
RELOC/source/generic/babel-norsk/norsk.dtx
RELOC/source/generic/babel-norsk/norsk.ins
-runfiles size=2
+runfiles size=4
RELOC/tex/generic/babel-norsk/norsk.ldf
+ RELOC/tex/generic/babel-norsk/norwegian.ldf
+ RELOC/tex/generic/babel-norsk/nynorsk.ldf
catalogue-ctan /macros/latex/contrib/babel-contrib/norsk
catalogue-license lppl1.3
catalogue-topics norwegian multilingual-addon
-catalogue-version 2.0i
+catalogue-version 2.0j
name babel-occitan
category Package
@@ -30860,7 +30863,7 @@ catalogue-version 1.3m
name babel-samin
category Package
-revision 30288
+revision 69604
shortdesc Babel support for Samin
relocated 1
longdesc The package provides the language definition file for support
@@ -30870,23 +30873,25 @@ longdesc Russia). Not all use the same alphabet, and no attempt is made
longdesc to support any other than North Sami here. Some shortcuts are
longdesc defined, as well as translations to Norsk of standard "LaTeX
longdesc names".
-containersize 2324
-containerchecksum 8a9e832e988da76ca26d87ab54438048d3d76cf02027ac9120d1277096d2495ece671607d32182cc5f9a61032b1ec33695f6592796680aaba0b65c142aa8a43a
-doccontainersize 125092
-doccontainerchecksum a8d43e73b4ab86378c5e3d2b402298580dfaf19afcce509ffa8ac747d68627c21b58020dd823528073240e1a28a2178157f9752d587286a0168fc3047cacd0cd
-docfiles size=31
+containersize 1900
+containerchecksum bee2cb83522430ff8bc8e65513d2268a529a041b85b10315c4902749d840ee1716db45df56f259a7db726a94147fdebfa573e99b9e654c7ed4df87f5d574877e
+doccontainersize 134292
+doccontainerchecksum cf8a3c56fdc0474fbb3080743fa852dc22ea4f1c791f7d9b4779faa232442a22b46662c92e61bf84953c8312ae9fbea859282799b393701b0c176e4d23edfec9
+docfiles size=35
+ RELOC/doc/generic/babel-samin/README.md
RELOC/doc/generic/babel-samin/samin.pdf details="Package documentation"
-srccontainersize 4384
-srccontainerchecksum 2e0fe9724a55daefdc3196fc2934d3551b4e738be4d6940a25a091c173f220f2853b077e5534ac20f868954e360e547fbc7d622507d227b8cb0bf7e074e57f48
-srcfiles size=4
+srccontainersize 3944
+srccontainerchecksum 85b57da2d3bf5dba4c9f02d10dedd4400696ba1827793e81f83343fbecc15e5d2fe507138c3c309c5c8b02f0e868606e344c05db9dc9c84b032e4132c65996b3
+srcfiles size=3
RELOC/source/generic/babel-samin/samin.dtx
RELOC/source/generic/babel-samin/samin.ins
-runfiles size=1
+runfiles size=2
+ RELOC/tex/generic/babel-samin/northernsami.ldf
RELOC/tex/generic/babel-samin/samin.ldf
catalogue-ctan /macros/latex/contrib/babel-contrib/samin
catalogue-license lppl1.3
catalogue-topics samin
-catalogue-version 1.0c
+catalogue-version 1.0d
name babel-scottish
category Package
@@ -211618,7 +211623,7 @@ catalogue-version 0.1
name memoir
category Package
-revision 68004
+revision 69600
shortdesc Typeset fiction, non-fiction and mathematical books
relocated 1
longdesc The memoir class is for typesetting poetry, fiction,
@@ -211633,11 +211638,11 @@ longdesc document written with the memoir class, should also use the
longdesc memhfixc package (part of this bundle). Note, however, that any
longdesc current version of hyperref actually loads the package
longdesc automatically if it detects that it is running under memoir.
-containersize 70116
-containerchecksum b55265c3beb272c274514931d18107d5ff50691cf442df5e21ce229c8ba88f44a5a3e56cf85ff9d89d2df705878367a31739ab0da3a9bf486b9e5a54e6cfab15
-doccontainersize 3130588
-doccontainerchecksum 4660576ef6f6ba7cda1b3d7591fd6ea768d94861b15965107e80b9231070e6581b0428a4bf11956ec07d3ccd55a3cdd6ddd5630a72e082aec4fc896576833a48
-docfiles size=1160
+containersize 69116
+containerchecksum ef905bedb5b27fcc0e65e2b86ce9f949135e0bf4c857431a0af68eaf5a4472e69ffc687d243560d69a3727d8db2388ff9da7c86283e625964ffea677f7e80c0b
+doccontainersize 3127948
+doccontainerchecksum 4e2b4f36a5a894ed7579e1018e0ca2309791716fb9e36623237c9c4021441893c634ffabdbb33bc23b63a599d4576bd1ce2f1c549d424c9d87c6df2b12e43a09
+docfiles size=1159
RELOC/doc/latex/memoir/Makeidxglo
RELOC/doc/latex/memoir/README details="Readme"
RELOC/doc/latex/memoir/anvil2.mps
@@ -211652,14 +211657,14 @@ docfiles size=1160
RELOC/doc/latex/memoir/setpage-example.pdf
RELOC/doc/latex/memoir/titlepages.sty
RELOC/doc/latex/memoir/trims-example.tex
-srccontainersize 212620
-srccontainerchecksum d817a6ec1253a686d1dc77c529565fac3ed1134932290ced8615d82f8505f29bc11ea352781268c4a729fd4aff2f744708890cf264f68c8828a2f2c6e034fe78
-srcfiles size=286
+srccontainersize 216500
+srccontainerchecksum 31d3120456a4451e955c0476846c057591836de72c76b8de9b421d2e22d7f1018d01073e8f9354ae82d9603ca9fd153a617cf9699b31a1c79254eaf2094503ef
+srcfiles size=293
RELOC/source/latex/memoir/memoir.dtx
RELOC/source/latex/memoir/memoir.ins
RELOC/source/latex/memoir/mempatch.dtx
RELOC/source/latex/memoir/mempatch.ins
-runfiles size=116
+runfiles size=115
RELOC/makeindex/memoir/basic.gst
RELOC/tex/latex/memoir/mem10.clo
RELOC/tex/latex/memoir/mem11.clo
@@ -211679,7 +211684,7 @@ catalogue-also memdesign
catalogue-ctan /macros/latex/contrib/memoir
catalogue-license lppl1.3c
catalogue-topics book-pub class
-catalogue-version 3.8.1
+catalogue-version 3.8.2
name memoirchapterstyles
category Package
@@ -213917,7 +213922,7 @@ catalogue-version 0.12
name metalogox
category Package
-revision 69497
+revision 69601
shortdesc Adjust TeX logos, with font detection
relocated 1
longdesc This package extends the metalogo package to automatically
@@ -213925,27 +213930,27 @@ longdesc adjust the appearance of the logos TeX, LaTeX, LaTeX2e,
longdesc XeLaTeX, and LuaLaTeX, depending on the font detected or the
longdesc option given to metalogox. Most of the serif and sans fonts
longdesc listed at The LaTeX Font Catalogue are supported. The package
-longdesc depends on metalogo, xparse, and etoolbox.
-containersize 4696
-containerchecksum 9d37688eb899bb019a6dce23db0d339a5f108ddcfa18541aa82a49addc21fab69cc8f89656abe5fcd9a627740b2fe0c6ac516a2c0e77811a41805e0c120be425
-doccontainersize 395396
-doccontainerchecksum efc4107892723563a2d0f558ef9d27670e4c34c955ba8e3d224bfb517f7b92728ea8e6c0a71a19f5e17c68994512d6d7340c929dddbc526fe50a777f54805bdd
-docfiles size=99
+longdesc also supports the hologo and hvlogos packages.
+containersize 5056
+containerchecksum 1284ddcd26d82f2362aee387a3352145d9b0462a91422f490b2470e4eabd23eca8d3fa8362bb29b3394c624bb83fe3244535741f5b35c8659fdf3776c7459e76
+doccontainersize 398928
+doccontainerchecksum b89d2375155d16203fbb243cb14d7fab828c3f2771fbcd4c39c6903dd0d949fa462de174e43f891dc4d978cd2e6e0865016ca895c609538c1c119e2bd4cce1eb
+docfiles size=100
RELOC/doc/latex/metalogox/README.txt details="Readme"
RELOC/doc/latex/metalogox/metalogox.pdf details="Package documentation"
-srccontainersize 9376
-srccontainerchecksum 8081b4b5fedc94ddff4ab904a425a794827a2531939f1fcb2a097b1d0a18d1f786f9291d35957be12bf7c218b3fe802b5d1c21404c2f66bae6442adb5e3647a8
+srccontainersize 9844
+srccontainerchecksum 3e017846f022cc904049ee5c94e0c844faceb59f5e610511e7b8b5a06d43c15a6891526364e1447015e08de527a3c7404ec9ee8b21c78c96850addd34717dc96
srcfiles size=13
RELOC/source/latex/metalogox/metalogox.dtx
RELOC/source/latex/metalogox/metalogox.ins
runfiles size=8
RELOC/tex/latex/metalogox/metalogox.sty
catalogue-also metalogo
-catalogue-contact-bugs https://github.com/bdtc/metalogox
+catalogue-contact-repository https://github.com/bdtc/metalogox
catalogue-ctan /macros/latex/contrib/metalogox
catalogue-license lppl1.3
catalogue-topics logo
-catalogue-version 1.03
+catalogue-version 1.04
name metanorma
category Package
@@ -233849,7 +233854,7 @@ catalogue-version 1.737
name newtxsf
category Package
-revision 67051
+revision 69597
shortdesc Sans-math fonts for use with newtx
relocated 1
longdesc The package provides a maths support that amounts to
@@ -233857,10 +233862,10 @@ longdesc modifications of the STIX sans serif Roman and Greek letters
longdesc with most symbols taken from newtxmath (which must of course be
longdesc installed and its map file enabled).
execute addMap newtxsf.map
-containersize 105976
-containerchecksum a85dbbbba3bcd0bb4732d327c5b70acd89ef59d6d22495cf4a4fadc3751af04f27b09dfc77613fa32ed3270417d31cc876e5d72b6868b9a7454302c961dc96f8
-doccontainersize 263224
-doccontainerchecksum d09946c13c3ae08339933fd965a1740eaa660413067878e44ed5bb8a249dd23c76acdfa01101a8ffa11eeae3f277a40394023c0d40142908498a1be0d95abbc6
+containersize 106028
+containerchecksum 4d44962a7bc466faa60d39791f18be3b5d3bc5a1eb2b22e233c80a81ad3280b0a89c03717881ee858e327b67040f5859fcde7d465420e43df547ee56f00f5b93
+doccontainersize 263284
+doccontainerchecksum 992123b7b5f30b827b4cb49b933cdaa323a007c1d41632993a2a8d52588b5f5d97612808dcb48423dba309f025d851cf15aeb892c8bfe10d0929cb5744515b7c
docfiles size=76
RELOC/doc/fonts/newtxsf/OFL-FAQ.txt
RELOC/doc/fonts/newtxsf/OFL.txt
@@ -233892,7 +233897,7 @@ catalogue-also newtx stix
catalogue-ctan /fonts/newtxsf
catalogue-license ofl lppl1.3
catalogue-topics font font-sans font-maths font-type1
-catalogue-version 1.055
+catalogue-version 1.056
name newtxtt
category Package
@@ -267010,24 +267015,24 @@ catalogue-topics misc-support expl3
name proof-at-the-end
category Package
-revision 64188
+revision 69602
shortdesc A package to move proofs to appendix
relocated 1
longdesc This package aims to provide a way to easily move proofs to the
longdesc appendix. You can (among other things) move proofs to different
longdesc places/sections, create links from theorems to proofs, restate
longdesc theorems, add comments in appendix...
-containersize 7328
-containerchecksum 0098bbd42c5dcd8f7e8d30f25682a17bf68845a7859752ba5b397020363914610691248809f27fa78db77d655d7719958f2d438c18913fba859f80e5b7525a2b
-doccontainersize 462080
-doccontainerchecksum 5b1ddf5826a0a1c092ad2a155384ede256ee38f52315c2490b9829104fa2fb51f0e4b5ceb7d9e9040dbebcd6c3b0b8cda9d166377c1627e540ebc91fa96e64a1
-docfiles size=126
+containersize 7344
+containerchecksum 7859a8ab78c39680922e7131f2b95ca1b253b5e1252aa14fe219c3c7fe9c4357ab30d4b58a54e84c3188fab87de9cc14a23925dc1fc1563a7efec400481d572e
+doccontainersize 464992
+doccontainerchecksum 5c3e4eacadd2aafe86c231d44a340b2567ddcd9d9b737739c3b2e2ed69c0e14d6966174e3026cd10cf4ca4696af61cf305c25584e0df959e49f01b2d95a3f9ed
+docfiles size=127
RELOC/doc/latex/proof-at-the-end/README.md details="Readme"
RELOC/doc/latex/proof-at-the-end/proof-at-the-end.pdf details="Package documentation"
RELOC/doc/latex/proof-at-the-end/proof-at-the-end_demo.pdf details="Example of use"
RELOC/doc/latex/proof-at-the-end/proof-at-the-end_demo.tex
-srccontainersize 20852
-srccontainerchecksum c40a7912ea5352227557b9be51a06af4ff19f9239f146c23e96f4a9c134b58fa5274f90d8f726197cab40db523988bdf566181df78a3fff16ab17102e1e9636d
+srccontainersize 20872
+srccontainerchecksum 088cefbdb746236e400b232079c54c6e8f73d8adf94f022c842f45d5bfe0e83cdcf8540c0dd51214c5538d6609dc0a0cec7fa3b5a2458a28eccd288249f4f9fd
srcfiles size=23
RELOC/source/latex/proof-at-the-end/proof-at-the-end.dtx
RELOC/source/latex/proof-at-the-end/proof-at-the-end.ins
@@ -291009,7 +291014,7 @@ catalogue-version 2.0
name scrabble
category Package
-revision 69568
+revision 69599
shortdesc Commands for Scrabble boards
relocated 1
longdesc This package provides some commands (in English and in French)
@@ -291017,24 +291022,24 @@ longdesc to work with a Scrabble Board : \ScrabbleBoard and
longdesc \begin{EnvScrabble} and \ScrabblePutWord for the English
longdesc version, \PlateauScrabble and \begin{EnvScrabble} and
longdesc \ScrabblePlaceMot for the French version.
-containersize 3992
-containerchecksum 11a7bae6cbe42572bedb1c46b8b33dcde51cc4aff2b1838d7e5517796259595c88ff5bc64fa1d339f52335ba94c864c9d0943e92861942208d7f4e00e08c9b2d
-doccontainersize 1019244
-doccontainerchecksum 55bf96a47d6f7d016cec4f74e64e79e00eadaee6c1452b40f541447de7652183971881ac6f1558b16ae0ff473743a4f330fb7ee9020c68430228fce6d85e9079
-docfiles size=291
+containersize 4156
+containerchecksum 89ff7d5440c04e7910d3c001be2d4df7d08a53a47d05b161545fb8446977a8f2695cc722854ef040b59b334804297005baee9f2d3572b767d680925191abf101
+doccontainersize 1009196
+doccontainerchecksum e3d922722c51b71f9ac74e914cf189ffa8e8f53fea4eff7addd2ce5c7d99ac3ab360b50a3212a9ebf353114f1dcc82cedd5a9315b48f4828b1340a9867ef69fc
+docfiles size=288
RELOC/doc/latex/scrabble/README.md details="Readme"
RELOC/doc/latex/scrabble/Scrabble-doc-en.pdf details="Package documentation (English)"
RELOC/doc/latex/scrabble/Scrabble-doc-en.tex
RELOC/doc/latex/scrabble/Scrabble-doc-fr.pdf details="Package documentation (French)" language="fr"
RELOC/doc/latex/scrabble/Scrabble-doc-fr.tex
-runfiles size=7
+runfiles size=8
RELOC/tex/latex/scrabble/Scrabble.sty
catalogue-contact-repository https://github.com/cpierquet/Scrabble
catalogue-contact-support https://github.com/cpierquet/Scrabble/issues
catalogue-ctan /graphics/pgf/contrib/scrabble
catalogue-license lppl1.3c
catalogue-topics games pgf-tikz
-catalogue-version 0.1.5
+catalogue-version 0.1.6
name scrambledenvs
category Package
@@ -294484,7 +294489,7 @@ catalogue-version 1.6a
name simpleicons
category Package
-revision 69492
+revision 69598
shortdesc Simple Icons for LaTeX
relocated 1
longdesc Similar to FontAwesome icons being provided on LaTeX by the
@@ -294492,16 +294497,16 @@ longdesc fontawesome package, this package aims to do the same with
longdesc Simple Icons. For reference, visit their website:
longdesc https://simpleicons.org/.
execute addMap simpleicons.map
-containersize 3340480
-containerchecksum f970d814b6235eb3838dc775ff08119ed9b7a3eb4a43541d68d51d1e6fe41e3d48af336b93bb1d900c2c9ebc81c6c90f3fab1e11334efb68a0ef8d1d7d7e0f9f
-doccontainersize 2444808
-doccontainerchecksum 88f967f0be160847940f1485f32a9b11187fab8a51497c6f6cb2f3a0fac99a7300c3edbb154e6932b0b32723876bbd56b706827992d05bc8537c8bd655a33112
-docfiles size=639
+containersize 3364016
+containerchecksum 70118cad52f554e7a1fe911d7a8946d72b88be7fe98e027f2ba3896141248d97aec8b9f30605bea12e1dd0966ad3df84aead31c8fa6fa133c48d0779190318dd
+doccontainersize 2459888
+doccontainerchecksum 63ff5b32ca1ad4c06e1f0777ef1e109523c93eec850b62d0cdb273bc1c3f1ee505d598c0f61cbca5c535f854b69845dd920e3f64f7133923504d08b0fb3d29d0
+docfiles size=642
RELOC/doc/fonts/simpleicons/README.md details="Readme"
RELOC/doc/fonts/simpleicons/bindings.tex
RELOC/doc/fonts/simpleicons/simpleicons.pdf details="Package documentation"
RELOC/doc/fonts/simpleicons/simpleicons.tex
-runfiles size=1281
+runfiles size=1289
RELOC/fonts/enc/dvips/simpleicons/simpleiconseight.enc
RELOC/fonts/enc/dvips/simpleicons/simpleiconsfive.enc
RELOC/fonts/enc/dvips/simpleicons/simpleiconsfour.enc
@@ -294549,7 +294554,7 @@ catalogue-contact-repository https://github.com/ineshbose/simple-icons-latex
catalogue-ctan /fonts/simpleicons
catalogue-license cc-by-1
catalogue-topics font font-symbol font-supp-symbol font-otf font-type1
-catalogue-version 11.1.0
+catalogue-version 11.2.0
name simpleinvoice
category Package
@@ -324411,7 +324416,7 @@ docfiles size=376
name texlive-scripts
category TLCore
-revision 69584
+revision 69595
shortdesc TeX Live infrastructure programs
longdesc Includes install-tl, tl-portable, rungs, etc.; not needed for
longdesc tlmgr to run but still ours. Not included in tlcritical.
@@ -324419,10 +324424,10 @@ depend texlive-scripts.ARCH
depend texlive.infra
execute addMap mathpple.map
postaction shortcut type=menu name="TeX Live command-line" cmd=TEXDIR/tlpkg/installer/tl-cmd.bat
-containersize 114280
-containerchecksum c5e99bc979f4a34d73136c75891af12b893ca12695195a01278591cef68baa416bfe8ecd88429a5d53e1dee62b7b4ab178f0fe328cb4cb48d1fd544385781464
+containersize 114288
+containerchecksum bfd8797ca1ae02785a057652658410217c2b3a1ef11fb3bf93c222645bc17932dc86e7a8871c4f804fc17eed1ac5a372f99654a7621ce4ccd3585ee9692f48a7
doccontainersize 431996
-doccontainerchecksum 2595936a2fa7d2a8b0dedd3630e923f48928bb6c6d955eb5837aa81a4739ef8477dcd8f4aaf848a78fb394d03e71024e06b42dee688caabaa17f44135d630607
+doccontainerchecksum 84adc5171799b48d61f905a93e9790ee9cd20c0b304a0f04757f39424b06c19bd415e0aef508082433d8c58db29d02dbede1118c67fa83dc26a62b25bfddb603
docfiles size=563
doc.html
texmf-dist/doc/man/man1/fmtutil-sys.1
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
index b9070c981e..771ea26520 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
@@ -1 +1 @@
-3b24129c269d99cdfcc454eff809a8b1 texlive.tlpdb
+7221005a2e56002412ce855de3dfaae6 texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
index 990f848c54..71eefd56fe 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
@@ -1 +1 @@
-237d12f257bebf5158c4bb0de17a487ed2ccd1d29b97c14cfe3d76ffe1f4caac0068694781589a212e631b2616a2abd240f87614eff8f9098b3981e15ad2106b texlive.tlpdb
+3fcba933a6de5fa31791f806bd301ecbcea02d9fdc42ffd63974beeac46a75f0034ded83dd71ffe6d8d8d891f76ee1f93dfa234c4f035d09c04eaeb0ea4ab747 texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
index 2c1c43680f..2907c963ce 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
@@ -1,11 +1,11 @@
-----BEGIN PGP SIGNATURE-----
-iQEzBAEBCgAdFiEE2PL4YFeoV+QqiBBqTOGHfhlDjHAFAmWzALkACgkQTOGHfhlD
-jHDG2QgAh1wV6GbJ06ks+2RszUARb4JUFaOHMyxiVQEHvHoPFp4+CbJLFBPRx8qS
-G4CPm0YRqNKfqrgh0EYiurgKzuiTJ+3XiMC/apkZKNZDzW+0o3wmaO995Avr7Q48
-uQn6tS9wgQhy8vsBoj20t9iP4fw90wORpjVAz0LZxBKDQxjGrMXKWeWx7KOO9wum
-nrh1SbwJRFBOXqnaXu1NAnY2X7rveK1ITlqm1/YenJ/hR9SOCbZJ1r2jsBeEaSo1
-heNOofn7653JE36lq7uTQKg2vKKb1K5C90myMU03/jwa7UR8dQncGA/DWmeRF1nV
-qpn6MTCny/XxmSFga4qlvEVbAbxmfw==
-=PCxP
+iQEzBAEBCgAdFiEE2PL4YFeoV+QqiBBqTOGHfhlDjHAFAmW0Ug0ACgkQTOGHfhlD
+jHC2RQf/UOjnrKTtZkUc7zWnfL1a6vbyAc8jNu0eaU0jP7IAJGn3suQfZN+gRG44
++HNXL/Eg/6CAYUlLWAokR+BfWj0MpkzUF+u+SYjuRzSF/tKG7YoI0QalEcXkBi5S
+SvUGrU+IciktfDR4wL387+bUwcf6QZvM5X1gyBACwkQpQOqmSTu0ST/9FGrTemwx
+nhC+xfW/lp0eDEhFrWOp11WJZHmgs5Auq2toPLrWFdmic6lgaCdkr4ftfVs/UBkm
+YtInYYTgRa6EV7n7lQLIiHznMaGErZyjSY1xgCLncpJIxNCxwHxJ9gMVIW4lxlVg
+QDCkkjfKlRb+mO1s0BXX36u2cLcCAw==
+=FmX/
-----END PGP SIGNATURE-----
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
index 1ffa364d2a..d6b5211944 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
Binary files differ
diff --git a/systems/win32/miktex/tm/packages/files.csv.lzma b/systems/win32/miktex/tm/packages/files.csv.lzma
index e485ec917b..f0c43905d8 100644
--- a/systems/win32/miktex/tm/packages/files.csv.lzma
+++ b/systems/win32/miktex/tm/packages/files.csv.lzma
Binary files differ
diff --git a/systems/win32/miktex/tm/packages/next/files.csv.lzma b/systems/win32/miktex/tm/packages/next/files.csv.lzma
index f26a0b04e1..83ff1ee08b 100644
--- a/systems/win32/miktex/tm/packages/next/files.csv.lzma
+++ b/systems/win32/miktex/tm/packages/next/files.csv.lzma
Binary files differ
diff --git a/systems/win32/miktex/tm/packages/next/pr.ini b/systems/win32/miktex/tm/packages/next/pr.ini
index 1400b0821a..9ab77edcaa 100644
--- a/systems/win32/miktex/tm/packages/next/pr.ini
+++ b/systems/win32/miktex/tm/packages/next/pr.ini
@@ -1,13 +1,13 @@
[repository]
-date=1705751109
+date=1706365769
lastupd=miktex-zzip-bin-x64-2.9 miktex-zlib-bin-x64-2.9 miktex-yap-bin-x64-2.9 miktex-xml2pmx-bin-x64 miktex-xetex-bin-x64-2.9 miktex-web-bin-x64-2.9 miktex-uriparser-bin-x64-2.9 miktex-upmendex-bin-x64 miktex-ttf2pk2-bin-x64-2.9 miktex-texworks-bin-x64-2.9 miktex-texware-bin-x64-2.9 miktex-texify-bin-x64-2.9 miktex-tex4ht-bin-x64-2.9 miktex-tex2xindy-bin-x64-2.9 miktex-tex-bin-x64-2.9 miktex-teckit-bin-x64-2.9 miktex-tdsutil-bin-x64 miktex-synctex-bin-x64-2.9 miktex-runtime-bin-x64-2.9 miktex-ptex-bin-x64
-lstdigest=896152a3b4cece92ca21b3aede50c469
-numpkg=7113
+lstdigest=eeedf057dd37e82086c252f8ebd41ae7
+numpkg=7114
relstate=next
-version=8785
+version=8792
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: EU3EnwutApQH4E/kshbODRim9yLgNuR82ZE8cFH0aHI+IokeF0hSLXRKEb4d3WRODSXMi85YPPe+k7XJsMkSiHIOskUMhzVFoedFeC4U6NcyAVhhB9Jl8Rx6Gdy3NYfmE76MtRQ2MToH2OD2SHKOM0sQhfnbasQdLZ4dpRNb6NcPRCjlS27FISVmYaFk2P5mzE4nbm8ifRqjeUmMU9kEMqHONHAqeFbKBJ36bDjJ0U4b/iQHi2RAfzcyzGwBqsuCzwJDw/leRsloTFUD8QJRkkUfC+8L37qNYK3m5yUWkYnd0aYeNmnQ6Z5516dJbdIfucKF4lrGiqIOQYcAUDOLMA==
+;;;; signature/miktex: EKRD72mrk9o2k3QV/KorMVqndwjk7R6aWG/+uFxijvSddkFuPqhhBhHl5G3cyknL6UF1UOjdBp7Aijvj3SSH/EZ5dXZqhJu04TR+BIOIQK22TpkxEbnCoVx0eKZoM4p5HjmR5vVZAJI8vFIzc/Y92l54Zju2OIX22WZdkNge3I1uV7UDeFJ6ieaSWimd+xm8wUC9dW4iOPa/VmldOblYFtivjQF0GdDeEHFjsnSbyKjLdCujPmXlaOjITpRdpsMwjpaJJqAAuNd5d+gSFN4UEyAeiXwjmiRmtTT+Rzb77Tndn5Be7xWVXKrkCs3aT/77cgKnVIYSjpoIpWI2gU4ulw==
;;;;-----END MIKTEX SIGNATURE-----
diff --git a/systems/win32/miktex/tm/packages/pr.ini b/systems/win32/miktex/tm/packages/pr.ini
index 88fc6f840e..fbf99f6e4b 100644
--- a/systems/win32/miktex/tm/packages/pr.ini
+++ b/systems/win32/miktex/tm/packages/pr.ini
@@ -1,13 +1,13 @@
[repository]
-date=1705751065
-lastupd=piton hebrew-fonts__doc hebrew-fonts arabi__source arabi zx-calculus__source zx-calculus__doc zx-calculus verifycommand__source verifycommand__doc verifycommand unicode-math-input__source unicode-math-input__doc unicode-math-input ukbill__source ukbill__doc ukbill tutodoc__source tutodoc__doc tutodoc
-lstdigest=3be7db519c3ec6cf7efca5c80ba208af
-numpkg=7113
+date=1706365733
+lastupd=miktex-qt5-bin-x64 poppler miktex-zzip-bin-x64-2.9 miktex-zlib-bin-x64-2.9 miktex-yap-bin-x64-2.9 miktex-xml2pmx-bin-x64 miktex-xetex-bin-x64-2.9 miktex-web-bin-x64-2.9 miktex-uriparser-bin-x64-2.9 miktex-upmendex-bin-x64 miktex-ttf2pk2-bin-x64-2.9 miktex-texworks-bin-x64-2.9 miktex-texware-bin-x64-2.9 miktex-texify-bin-x64-2.9 miktex-tex4ht-bin-x64-2.9 miktex-tex2xindy-bin-x64-2.9 miktex-tex-bin-x64-2.9 miktex-teckit-bin-x64-2.9 miktex-tdsutil-bin-x64 miktex-synctex-bin-x64-2.9
+lstdigest=330ffb936e7740a4761f689865b762fb
+numpkg=7114
relstate=stable
-version=8785
+version=8792
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: i9BOEISjuHJL5nQpj0nzIzdrsEhH1qlsP1u1pgOtgD+inl/hdqRp1sHtV1janOTEfPYNfOqiOIN9Y/OzSH+4hELiveBIlpYjG95VSjQ6qAvf+FHGO7KhRSFe66BL8Um4BfK76JFKzPbgacNP4+fKyPIymQ5JHMeffbaQ6zkYFHhDb4KdTwo/dNSrEwuo1lyAMYcmIqueLuWpz1FAlE70Wv6MxQls/nLVqKXj63HXireh6Zc2vWw/QyIbsEMsJB/spdTSguWeFAXZ+77EcLbNHXb7x9VWgAhlgscOhWLMOi2HQClQUyfLUs3lUWOSzkvOMh23k9kFIy3SFbw86T6CGA==
+;;;; signature/miktex: JUhsjXWB0ziAMiDj8OEXHsNyF2tdCUg5TVe7db0I0Ysm7mMYAZEWNcI2TXHevQ1n8AYJ6g9cInBbr0F/Hdzwb0jk3eDvXvZ6IXGkWXwSB7eyTiEpYVvEa/YWu4fapag0DO6jSXtAgx6lfqC48I+0BLm0pi8JbVRbpmUStYbqMUr9gqWEiC7cUOx4Z17DtJxDiP5cePG5qszYJzV0ciFOa23Xn6GvYgZNRWJz8y2rU27K5COkV3DFHhB/xHxBiWFLgE2PUUat0ZiqAnceltKaaKNaUBVPm6z+aJBxLEnC9lQ1J24CaywylE9+K17BHTCodf469Kgx82h9fenf3PfvQw==
;;;;-----END MIKTEX SIGNATURE-----
diff --git a/timestamp b/timestamp
index 97bd4d258c..55fa6fe7cd 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:
-2024-01-27-02-02
+2024-01-28-02-02