lean4-htt/src/Lean
Marc Huisinga 84f8871c3f
fix: filter duplicate subexpressions (#4786)
For every parenthesized expression `(foo)`, the InfoView produces an
interactive component both for `(foo)` itself and its subexpression
`foo` because the corresponding `TaggedText` in the language server is
duplicated as well. Both of these subexpressions have the same
subexpression position and so they are identical w.r.t. interactive
features.

Removing this duplication would help reduce the size of the DOM of the
InfoView and ensure that the UI for InfoView features is consistent for
`(foo)` and `foo` (e.g. hovers would always highlight `(foo)`, not
either `(foo)` or `foo` depending on whether the mouse cursor is on the
bracket or not). It would also help resolve a bug where selecting a
subexpression will yield selection highlighting both for `(foo)` and
`foo`, as we use the subexpression position to identify which terms to
highlight.

This PR adjusts the parenthesizer to move the corresponding info instead
of duplicating it.
2024-07-25 08:58:49 +00:00
..
Compiler refactor: move Synax.hasIdent, shake dependencies (#4766) 2024-07-16 21:19:26 +00:00
Data perf: Replacement.apply (#4776) 2024-07-17 16:17:47 +00:00
DocString feat: more infrastructure for tactic documentation (#4490) 2024-06-21 12:49:30 +00:00
Elab fix: make sure anonymous dot notation works with pi-type-valued type synonyms (#4818) 2024-07-24 17:09:42 +00:00
Language feat: trailing whitespace changes should not invalidate imports (#4580) 2024-07-24 13:08:01 +00:00
Linter feat: add a linter for local vars that clash with their constructors (#4301) 2024-06-14 13:03:09 +00:00
Meta test: test case for #4751 (#4819) 2024-07-24 08:14:25 +00:00
Parser feat: safer #eval, and #eval! (#4810) 2024-07-23 15:26:56 +00:00
ParserCompiler feat: reserved names (#3675) 2024-03-15 00:33:22 +00:00
PrettyPrinter fix: filter duplicate subexpressions (#4786) 2024-07-25 08:58:49 +00:00
Server feat: respond to info view requests as soon as relevant tactic has finished execution (#4727) 2024-07-24 13:02:13 +00:00
Util chore: typo 2024-07-24 15:11:54 +02:00
Widget feat: respond to info view requests as soon as relevant tactic has finished execution (#4727) 2024-07-24 13:02:13 +00:00
AddDecl.lean fix: adapt kernel interruption to new cancellation system (#4584) 2024-07-01 14:52:42 +00:00
Attributes.lean chore: fix linter errors (#4502) 2024-06-19 18:24:08 +00:00
AuxRecursor.lean refactor: IndGroupInst.brecOn (#4787) 2024-07-19 10:20:50 +00:00
BuiltinDocAttr.lean feat: more infrastructure for tactic documentation (#4490) 2024-06-21 12:49:30 +00:00
Class.lean perf: add prelude to all Lean modules 2024-02-18 14:55:17 -08:00
Compiler.lean perf: add prelude to all Lean modules 2024-02-18 14:55:17 -08:00
CoreM.lean feat: safe exponentiation (#4637) 2024-07-03 05:12:53 +00:00
Data.lean perf: add prelude to all Lean modules 2024-02-18 14:55:17 -08:00
Declaration.lean refactor: use indVal.numNested or indVal.numTypeFormers where applicable (#4734) 2024-07-12 22:07:25 +00:00
DeclarationRange.lean feat: snapshot trees and language processors (#3014) 2024-03-14 13:40:08 +00:00
DocString.lean feat: more infrastructure for tactic documentation (#4490) 2024-06-21 12:49:30 +00:00
Elab.lean feat: more infrastructure for tactic documentation (#4490) 2024-06-21 12:49:30 +00:00
Environment.lean fix: prefer original module in const2ModIdx (#4652) 2024-07-09 14:14:39 +00:00
Eval.lean perf: add prelude to all Lean modules 2024-02-18 14:55:17 -08:00
Exception.lean chore: cleanup unused arguments (from linter) (#4621) 2024-07-07 21:20:06 +00:00
Expr.lean feat: shorten auto-generated instance names (#3089) 2024-04-13 18:08:50 +00:00
HeadIndex.lean chore: fix linter errors (#4502) 2024-06-19 18:24:08 +00:00
Hygiene.lean chore: remove the coercion from String to Name (#3589) 2024-03-21 23:46:03 +00:00
ImportingFlag.lean perf: add prelude to all Lean modules 2024-02-18 14:55:17 -08:00
InternalExceptionId.lean perf: add prelude to all Lean modules 2024-02-18 14:55:17 -08:00
KeyedDeclsAttribute.lean perf: add prelude to all Lean modules 2024-02-18 14:55:17 -08:00
LabelAttribute.lean chore: reorganising to reduce imports (#3790) 2024-03-27 11:15:01 +00:00
LazyInitExtension.lean perf: add prelude to all Lean modules 2024-02-18 14:55:17 -08:00
Level.lean chore: remove partial TODO (#4380) 2024-06-06 18:04:55 +00:00
Linter.lean feat: add a linter for local vars that clash with their constructors (#4301) 2024-06-14 13:03:09 +00:00
LoadDynlib.lean perf: add prelude to all Lean modules 2024-02-18 14:55:17 -08:00
LocalContext.lean chore: upstream omega (#3367) 2024-02-19 00:19:55 +00:00
Log.lean perf: add prelude to all Lean modules 2024-02-18 14:55:17 -08:00
Message.lean feat: safe exponentiation (#4637) 2024-07-03 05:12:53 +00:00
Meta.lean feat: improve set_option diagnostics true (#4031) 2024-04-30 05:07:03 +00:00
MetavarContext.lean chore: delete deprecations from 2022 (#4618) 2024-07-02 03:47:33 +00:00
Modifiers.lean refactor: constructions: modify environment in lean world (#4474) 2024-06-19 08:58:53 +00:00
MonadEnv.lean refactor: use indVal.numNested or indVal.numTypeFormers where applicable (#4734) 2024-07-12 22:07:25 +00:00
Parser.lean feat: more infrastructure for tactic documentation (#4490) 2024-06-21 12:49:30 +00:00
ParserCompiler.lean refactor: Offset.lean and related files (#3614) 2024-03-05 19:40:15 -08:00
PrettyPrinter.lean feat: detailed feedback on decide tactic failure (#4674) 2024-07-11 20:08:29 +00:00
ProjFns.lean perf: add prelude to all Lean modules 2024-02-18 14:55:17 -08:00
ReducibilityAttrs.lean chore: fix linter errors (#4502) 2024-06-19 18:24:08 +00:00
Replay.lean feat: propagate maxHeartbeats to kernel (#4113) 2024-05-09 17:44:19 +00:00
ReservedNameAction.lean fix: FunInd: support structural recursion on reflexive types (#4327) 2024-06-05 07:54:48 +00:00
ResolveName.lean chore: cleanup unused arguments (from linter) (#4621) 2024-07-07 21:20:06 +00:00
Runtime.lean perf: add prelude to all Lean modules 2024-02-18 14:55:17 -08:00
ScopedEnvExtension.lean feat: flexible reducibility attributes 2024-04-29 05:46:11 +02:00
Server.lean perf: add prelude to all Lean modules 2024-02-18 14:55:17 -08:00
Structure.lean perf: add prelude to all Lean modules 2024-02-18 14:55:17 -08:00
SubExpr.lean fix: use correct expr positions when delaborating match patterns (#4034) 2024-05-01 12:02:10 +00:00
Syntax.lean refactor: move Synax.hasIdent, shake dependencies (#4766) 2024-07-16 21:19:26 +00:00
ToExpr.lean chore: upstream ToExpr FilePath and compile_time_search_path% (#4453) 2024-07-08 15:41:03 +00:00
Util.lean feat: add Lean.Expr.numObjs (#4754) 2024-07-16 15:52:33 +00:00
Widget.lean perf: add prelude to all Lean modules 2024-02-18 14:55:17 -08:00