Lean 4 fork for HoTT-compatible kernel extensions (Path types, transport, HITs). Maintained against upstream leanprover/lean4.
Find a file
Marc Huisinga 7ff7cf9b5a
feat: per-package server options (#2858)
This PR adds per-package server options to resolve #2455. It is based on
the previous work in #2456, but takes a different approach: options are
loaded for the specific file in the file worker when `print-paths` is
called, instead of loading them in the watchdog with a separate Lake
command. This change addresses review comments made in #2456.

In doing so, it introduces two new Lake config fields: 
- `leanOptions`: `-D` flag options that are passed to both the language
server and `lean` when building.
- `moreServerOptions`: `-D` flag options that are passed to the language
server.

Since `print-paths` must also accept a file path to compute the options
for that file, this PR is changing the API for `print-paths`. As there
have been numerous complaints about the name `print-paths`, I also
decided to change it to `setup-file` in this PR, since it would break
compatibility with the old Lake API anyways.

This PR deprecates the Lakefile field `moreServerArgs` in favor of
`moreGlobalServerArgs`, as suggested in the review for #2456.

Fixes #2455

---------

Co-authored-by: digama0 <mcarneir@andrew.cmu.edu>
2023-11-26 13:42:38 +00:00
.github chore: Run CI on all PRs, even base ≠ master (#2955) 2023-11-23 21:50:30 +00:00
.vscode doc: fix some syntax and link in the docs, and more 2021-10-10 11:36:43 +02:00
doc doc: Adjust contributor's docs to squash merging (#2927) 2023-11-21 10:13:43 +00:00
images
nix feat: per-package server options (#2858) 2023-11-26 13:42:38 +00:00
script chore: script/most-recent-nightly-tag uses https rather than ssh repo URL (#2951) 2023-11-23 10:27:46 +00:00
src feat: per-package server options (#2858) 2023-11-26 13:42:38 +00:00
stage0 chore: update stage0 2023-11-21 18:59:22 +01:00
tests feat: per-package server options (#2858) 2023-11-26 13:42:38 +00:00
.gitattributes chore: Do not hide stage0/src/stdlib_flags.h from diffs 2023-09-13 19:29:25 +02:00
.gitignore chore: update tests to account for .lake 2023-11-13 20:31:24 -05:00
.ignore chore: ignore stage0/ (for rg etc.) 2022-03-18 15:28:20 +01:00
CMakeLists.txt feat: Web Assembly Build (#2599) 2023-10-04 09:04:20 +02:00
CODEOWNERS chore: more code owners 2023-11-20 09:30:18 +01:00
CONTRIBUTING.md doc: Adjust contributor's docs to squash merging (#2927) 2023-11-21 10:13:43 +00:00
default.nix doc: setup 2021-01-03 13:21:58 +01:00
flake.lock chore: Nix bump to LLVM 15 2023-07-28 10:56:54 +02:00
flake.nix chore: Nix: use strings instead of URL literals (#2172) 2023-03-28 10:10:24 +02:00
LICENSE chore: remove LICENSE header that confused GitHub 2021-11-18 09:42:35 +01:00
LICENSES chore: add GMP license for now 2021-11-18 09:42:35 +01:00
README.md doc: Update contribution guides (#2624) 2023-10-25 13:05:55 +11:00
RELEASES.md doc: release notes for recent lake fixes 2023-11-20 15:51:31 +00:00
shell.nix chore: Nix bump to LLVM 15 2023-07-28 10:56:54 +02:00

This is the repository for Lean 4.

We provide nightly releases and have just begun regular stable point releases.

About

Installation

See Setting Up Lean.

Contributing

Please read our Contribution Guidelines first.

Building from Source

See Building Lean.