From 6dc576121ddbecade4443600a60a5f269c2f57ff Mon Sep 17 00:00:00 2001 From: Chris Lovett Date: Fri, 11 Mar 2022 16:31:58 -0800 Subject: [PATCH] doc: replace quickstart leanpkg info with info about lake --- doc/dev/index.md | 1 + doc/images/code-success.png | Bin 17923 -> 28237 bytes doc/images/install_elan.png | Bin 0 -> 5961 bytes doc/make/msys2.md | 5 ++++ doc/quickstart.md | 47 ++++++++++++++++++++++++------------ 5 files changed, 37 insertions(+), 16 deletions(-) create mode 100644 doc/images/install_elan.png diff --git a/doc/dev/index.md b/doc/dev/index.md index 38140570c3..a915b05299 100644 --- a/doc/dev/index.md +++ b/doc/dev/index.md @@ -63,6 +63,7 @@ cd src # make `lean` etc. point to stage0 anywhere inside `src` elan override set lean4-stage0 ``` + You can also use the `+toolchain` shorthand (e.g. `lean +lean4-debug`) to switch toolchains on the spot. `lean4-mode` will automatically use the `lean` executable associated with the directory of the current file as long as `lean4-rootdir` is diff --git a/doc/images/code-success.png b/doc/images/code-success.png index 9aaa7b908bbbe6296131adfe946a1a1ca52b7fed..1afbcf60ae60c539e4d6aff60963290de4db96d9 100644 GIT binary patch literal 28237 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 @(gstF-OVzxWaFAuC=jQ5G4V#5t1~%t7_H z?(|J_;8n}%bw!Qo!^^sptgPEtkp0-$SX)QO0Nc~2Z!lZhG=QiFs3i?0?xn!tJidTS zrEm>Z4%TUNvf8~u-*o0j1}j}BvVz=fYR6HW`5GXq4jx-0e%oCRA)7aRg-%sO`7_vB zH?>V98+FmYa)OvMRZ0DrQztE=93h$-2c%@PUEab=c85Uw9VPM_Uis&n5X}kfkOPY0 zP4+ks?bON-RDtVz)k|rExS^WyJbw%?w8aQmP1aDx1A6vTUzh^Kfi{4k5f#c)#+}-F z6#ni}LfLO{Gvgf^8iGF$Ie|wPBTVjrSBklC9#nwK`C^9r=E36`2OxO7oheKCMFEu6 zU5itAf8}!-^zq2Ki3U}3#8f}Z`U*G0FmzIs0gXre@b3;eVl+d%FaHq?q128!?Jo@@z z6-_s_wH!>lswurV#=1UMPbTSkE?f_;A`+!|9X$i4_$7#yN+)J&!T8d4 zYSAD}o)U`*YZKxE!;WcL`m1r>9N{Ah*~gV?kAX#3kD|hqtbUt@WWGias_@^FV<>$U zr1xjpQtzvy+!P$^nl(dY-{|6$;*a4x`9ldHic&W(v6uq?YzO$0oR;Ed`1i`bLN7u8 z&Ub&$H2;Ix&8!f~;^rF0IZ|9~a+x^M3cA2aHC;g~R1SR|dJtrcT%^g08n=JuILNv4&a!>9YL)ms-(V`)xn&ZFK^oWKws@f|l2O&I~KN6vH)hIaP4LHnr(BJvF8R<_?`U@Yh96 zC;l16WIM}f5dW!J17pX+{QPoEYHCDbAs2-2=~MMQ6?$ldB_}sGab{*FAY1hG@*<<7 zv+4q}8E%&o0kor9hCp3)=w_JIe8ekK9fbhZ><#`Cdy&_%#1GDw&OVnq-17V9lwuzM zPz*qyv!sz#z6q!VO@VGU5A0mVp+`6RWiTxNuCvDd|GoqM|NZK}i^f|JuvmqadavdL zoeo)dWIg>sC&~D9QT#3~?JY(|M!@dDbLY|sHaK{@y@^SdN~%Z; z4O$EE*OYnwJVLnl==hlVk3}rd&5Zs!)Ub^((>PnYP|6g{&W<_e)IOrtJ|**BOAUU8 z_?z|yI%Jct8P-B`$fuXZ4anfQs2`-aYnZALl|B4-d)@w{OTFy&bsdeDibY!_g_k?d zPTf6Y@J{7_2CHEGy$8Yhq~m8QvVkK3KGr_>zDdwjZ3HIM(j@;&e^>vOCbbUP{>ahx zGNculo;R~tA55VcGX(_%{~ZmpeI!uV`18B}tIbfH4(SvQ%&cO1%;MSi;I_Rw^Y#4S zvmtovy#I9;^LnyT){Xh;&df|ZgpofuP7qM+v6qmomCWC9alx?Nxmz4TE7@w@VxrCF zE&2R!W?%gVun7CxpW6y9k!JgF^Ls#&PkIIx=S}y*{HuIwb`l|BK~%mCy4tr~!KY;t z+G0i4)Y5VpNGGyz82)E*3AlGSw)gbNYiY%EfBpIu_9ic~w55{r-o2o{J~e2MLw$Wc zAu+MQA~3Lv=~UUI@-C#bN)KTYIb+rx>Bh>gCR2osFeUtNo#frEtl>AarH&gC**)rZ zMRU~nz{~}NK5dkj@hJ!Ae`LddF3+8`6{tr2aSKZs!>4<@jndl-C=dV(#%(NUM+XbNHo%GYzr5OV0cyIH z`6o_guV+hZf|>r=A9o0l=*cQGB7$GLwE!zZ`v4FS!)j>VeGbTq|7_|z|EGnU|GupA hfAK2MwR6d-7hn0JuYPS*jk`6Zkp>zXrg?wg zT{HLIwZ8d(<`&&l)l;jhPCa(^*=JXUeN~b{Mv^OTA&xsVkX;T%sb1sKc>INdpThXDHc~i z#f8dS|NJ%=Hs`C6l}Ke4GLrOZ)O6_NqgPbLU1Iss&^ThxOTX4qeCLdHG&`CPe!B-U z$NK$R%%gV-zr5PH9Jd86CxMB`bCU=+TG*Fr@qczqoJ<*>)T-}vP^-4q3C|l z!B~bfH!m+X7M5a`P^xi4rm!zBNCNQvF+
    EO;T=4Hs6>^gu17c1x$;ywW1PbKJI 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 New File" and click the `Select a language` link and type in `lean4` and hit ENTER. You should see the following popup: + ![elan](images/install_elan.png) + + Click the "Install Lean using Elan" link and follow the progress + pressing ENTER in the terminal window to install lean. You should see some progress output like this: + + ``` + info: syncing channel updates for 'nightly' + info: latest update on nightly, lean version nightly-2021-12-05 + info: downloading component 'lean' + ``` + +1. While it is installing you can paste the following Lean program into the new file: + ```lean #eval Lean.versionString ``` - You should get a syntax-highlighted file with a "Lean Infoview" on the right that tells you the installed Lean version when placing your cursor on the last line. + + When the install finishes the Lean Language Server should start automatically and you should get a syntax-highlighting and a "Lean Infoview" popping up on the right. You will see the output of the #eval statement when + you place your cursor at the end of the #eval statement. ![successful setup](images/code-success.png) -1. You are set up! You can now also run `lake init foo` from the command line to create a package, followed by `lake build` to get an executable version of your Lean program. +You are set up! + +## Create a Lean Project + +You can now create a Lean project in a new folder. Run `lake init foo` from the "View > Terminal" to create a package, followed by `lake build` to get an executable version of your Lean program. +On Linux/macOS, you first have to follow the instructions printed by the Lean installation or log out and in again for the Lean executables to be available in you terminal. Note: Packages **have** to be opened using "File > Open Folder..." for imports to work. Saved changes are visible in other files after running "Lean 4: Refresh File Dependencies" (`Ctrl+Shift+X`). + +## Troubleshooting + +**The InfoView says "Waiting for Lean server to start..." forever.** + +Check that the VS Code Terminal is not prompting you with `Press ENTER key to start Lean:`. If so click in the terminal window and pressthe ENTER key. +If that doesn't work try also running the VS Code command `Developer: Reload Window`.