Skip to content

Commit 36f5d7d

Browse files
Merge pull request #1694 from JetBrains/feature/intention_customization
2 parents b97e30a + 2d0e0bc commit 36f5d7d

File tree

14 files changed

+2098
-38
lines changed

14 files changed

+2098
-38
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ The format is *loosely* based on [Keep a Changelog](https://keepachangelog.com/e
99
### Added
1010

1111
- *nl.f1re.mps.aliascustomization* The alias of all concepts globally can now be customized through the extension point [AliasCustomization.](http://127.0.0.1:63320/node?ref=r%3Af0a80b34-9760-42b8-9ee6-d5b0d1582551%28de.slisson.mps.conditionalEditor.runtime.plugin%29%2F1679635547169731239) Please be aware that this feature is experimental. Use it with care!
12+
- *de.slisson.mps.conditionalEditor* The alias of all concepts globally can now be customized through the extension point [AliasCustomization.](http://127.0.0.1:63320/node?ref=r%3Af0a80b34-9760-42b8-9ee6-d5b0d1582551%28de.slisson.mps.conditionalEditor.runtime.plugin%29%2F1679635547169731239)
13+
- *com.mbeddr.mpsutil.intentions* All intentions can now be customized through the extension point [IntentionCustomization](http://127.0.0.1:63320/node?ref=r%3A028362d1-b964-410a-a3d5-6096bcd4a2b6%28com.mbeddr.mpsutil.intentions.runtime.plugin%29%2F4784371196443178355) (child filter, description, is applicable block, execute method). Note that you can't customize intentions that are not enabled in the current context (node + editor context).
1214

1315
## November 2025
1416

code/build/solutions/de.itemis.mps.extensions.build/models/de.itemis.mps.extensions.build.mps

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7178,6 +7178,9 @@
71787178
<node concept="m$_yC" id="6pV3rYYJD2L" role="m$_yJ">
71797179
<ref role="m$_y1" node="2Xjt3l57iTJ" resolve="de.slisson.mps.hacks" />
71807180
</node>
7181+
<node concept="m$_yC" id="70CVSw67_7v" role="m$_yJ">
7182+
<ref role="m$_y1" node="TAJODzUQvo" resolve="com.mbeddr.mpsutil.intentions" />
7183+
</node>
71817184
</node>
71827185
<node concept="2G$12M" id="3OVhQEUM8kU" role="3989C9">
71837186
<property role="TrG5h" value="nl.f1re.testing" />
@@ -7413,6 +7416,11 @@
74137416
</node>
74147417
</node>
74157418
</node>
7419+
<node concept="1SiIV0" id="70CVSw67$DD" role="3bR37C">
7420+
<node concept="3bR9La" id="70CVSw67$DE" role="1SiIV1">
7421+
<ref role="3bR37D" node="3NH93cznmT7" resolve="com.mbeddr.mpsutil.intentions.runtime" />
7422+
</node>
7423+
</node>
74167424
</node>
74177425
</node>
74187426
<node concept="m$_wf" id="2NyZxKpUXYJ" role="3989C9">
@@ -25124,6 +25132,11 @@
2512425132
<ref role="3bR37D" to="ffeo:1ULLXZL0gZG" resolve="org.junit.junit5" />
2512525133
</node>
2512625134
</node>
25135+
<node concept="1SiIV0" id="70CVSw67_OS" role="3bR37C">
25136+
<node concept="3bR9La" id="70CVSw67_OT" role="1SiIV1">
25137+
<ref role="3bR37D" node="3OVhQEUM97i" resolve="nl.f1re.testing.runtime" />
25138+
</node>
25139+
</node>
2512725140
</node>
2512825141
</node>
2512925142
<node concept="2G$12M" id="77YfcvOSSnB" role="3989C9">
@@ -26425,6 +26438,16 @@
2642526438
<ref role="3bR37D" node="1sO539bGQvB" resolve="de.slisson.mps.richtext" />
2642626439
</node>
2642726440
</node>
26441+
<node concept="1SiIV0" id="70CVSw67_T2" role="3bR37C">
26442+
<node concept="3bR9La" id="70CVSw67_T3" role="1SiIV1">
26443+
<ref role="3bR37D" node="3NH93cznmT7" resolve="com.mbeddr.mpsutil.intentions.runtime" />
26444+
</node>
26445+
</node>
26446+
<node concept="1SiIV0" id="70CVSw67_T4" role="3bR37C">
26447+
<node concept="3bR9La" id="70CVSw67_T5" role="1SiIV1">
26448+
<ref role="3bR37D" to="ffeo:7Kfy9QB6L7y" resolve="jetbrains.mps.lang.intentions" />
26449+
</node>
26450+
</node>
2642826451
</node>
2642926452
<node concept="1E1JtD" id="4zIvKyx$cn2" role="2G$12L">
2643026453
<property role="BnDLt" value="true" />

code/intentionsmenu/com.mbeddr.mpsutil.intentions.runtime/com.mbeddr.mpsutil.intentions.runtime.msd

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
<language slang="l:63650c59-16c8-498a-99c8-005c7ee9515d:jetbrains.mps.lang.access" version="0" />
3535
<language slang="l:ceab5195-25ea-4f22-9b92-103b95ca8c0c:jetbrains.mps.lang.core" version="2" />
3636
<language slang="l:18bc6592-03a6-4e29-a83a-7ff23bde13ba:jetbrains.mps.lang.editor" version="15" />
37+
<language slang="l:c0080a47-7e37-4558-bee9-9ae18e690549:jetbrains.mps.lang.extension" version="2" />
3738
<language slang="l:446c26eb-2b7b-4bf0-9b35-f83fa582753e:jetbrains.mps.lang.modelapi" version="0" />
3839
<language slang="l:28f9e497-3b42-4291-aeba-0a1039153ab1:jetbrains.mps.lang.plugin" version="6" />
3940
<language slang="l:ef7bf5ac-d06c-4342-b11d-e42104eb9343:jetbrains.mps.lang.plugin.standalone" version="0" />

code/intentionsmenu/com.mbeddr.mpsutil.intentions.runtime/models/com/mbeddr/mpsutil/intentions/runtime.mps

Lines changed: 183 additions & 23 deletions
Large diffs are not rendered by default.

code/intentionsmenu/com.mbeddr.mpsutil.intentions.runtime/models/com/mbeddr/mpsutil/intentions/runtime/plugin.mps

Lines changed: 983 additions & 1 deletion
Large diffs are not rendered by default.

code/languages/com.mbeddr.mpsutil.intentions.sandboxlang/com.mbeddr.mpsutil.intentions.sandboxlang.mpl

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,8 @@
5757
<dependencies>
5858
<dependency reexport="false">b92f861d-0184-446d-b88b-6dcf0e070241(com.mbeddr.mpsutil.intentions)</dependency>
5959
<dependency reexport="false">92d2ea16-5a42-4fdf-a676-c7604efe3504(de.slisson.mps.richtext)</dependency>
60+
<dependency reexport="false">4bff7bbe-ce5f-432e-84bf-60809cb9987c(com.mbeddr.mpsutil.intentions.runtime)</dependency>
61+
<dependency reexport="false">d7a92d38-f7db-40d0-8431-763b0c3c9f20(jetbrains.mps.lang.intentions)</dependency>
6062
</dependencies>
6163
<languageVersions>
6264
<language slang="l:b92f861d-0184-446d-b88b-6dcf0e070241:com.mbeddr.mpsutil.intentions" version="0" />
@@ -69,6 +71,7 @@
6971
<language slang="l:760a0a8c-eabb-4521-8bfd-65db761a9ba3:jetbrains.mps.baseLanguage.logging" version="0" />
7072
<language slang="l:a247e09e-2435-45ba-b8d2-07e93feba96a:jetbrains.mps.baseLanguage.tuples" version="0" />
7173
<language slang="l:aee9cad2-acd4-4608-aef2-0004f6a1cdbd:jetbrains.mps.lang.actions" version="4" />
74+
<language slang="l:f159adf4-3c93-40f9-9c5a-1f245a8697af:jetbrains.mps.lang.aspect" version="2" />
7275
<language slang="l:af65afd8-f0dd-4942-87d9-63a55f2a9db1:jetbrains.mps.lang.behavior" version="2" />
7376
<language slang="l:3f4bc5f5-c6c1-4a28-8b10-c83066ffa4a1:jetbrains.mps.lang.constraints" version="6" />
7477
<language slang="l:e51810c5-7308-4642-bcb6-469e61b5dd18:jetbrains.mps.lang.constraints.msg.specification" version="0" />
@@ -80,10 +83,12 @@
8083
<language slang="l:ceab5195-25ea-4f22-9b92-103b95ca8c0c:jetbrains.mps.lang.core" version="2" />
8184
<language slang="l:f4ad079d-bc71-4ffb-9600-9328705cf998:jetbrains.mps.lang.descriptor" version="0" />
8285
<language slang="l:18bc6592-03a6-4e29-a83a-7ff23bde13ba:jetbrains.mps.lang.editor" version="15" />
86+
<language slang="l:c0080a47-7e37-4558-bee9-9ae18e690549:jetbrains.mps.lang.extension" version="2" />
8387
<language slang="l:d7a92d38-f7db-40d0-8431-763b0c3c9f20:jetbrains.mps.lang.intentions" version="1" />
8488
<language slang="l:ad93155d-79b2-4759-b10c-55123e763903:jetbrains.mps.lang.messages" version="0" />
8589
<language slang="l:446c26eb-2b7b-4bf0-9b35-f83fa582753e:jetbrains.mps.lang.modelapi" version="0" />
8690
<language slang="l:d4615e3b-d671-4ba9-af01-2b78369b0ba7:jetbrains.mps.lang.pattern" version="2" />
91+
<language slang="l:28f9e497-3b42-4291-aeba-0a1039153ab1:jetbrains.mps.lang.plugin" version="6" />
8792
<language slang="l:3a13115c-633c-4c5c-bbcc-75c4219e9555:jetbrains.mps.lang.quotation" version="5" />
8893
<language slang="l:982eb8df-2c96-4bd7-9963-11712ea622e5:jetbrains.mps.lang.resources" version="3" />
8994
<language slang="l:b3551702-269c-4f05-ba61-58060cef4292:jetbrains.mps.lang.rulesAndMessages" version="0" />
@@ -94,6 +99,8 @@
9499
<language slang="l:c7fb639f-be78-4307-89b0-b5959c3fa8c8:jetbrains.mps.lang.text" version="0" />
95100
<language slang="l:9ded098b-ad6a-4657-bfd9-48636cfe8bc3:jetbrains.mps.lang.traceable" version="0" />
96101
<language slang="l:7a5dda62-9140-4668-ab76-d5ed1746f2b2:jetbrains.mps.lang.typesystem" version="5" />
102+
<language slang="l:c9d137c4-3259-44f8-80ff-33ab2b506ee4:jetbrains.mps.lang.util.order" version="0" />
103+
<language slang="l:696c1165-4a59-463b-bc5d-902caab85dd0:jetbrains.mps.make.facet" version="0" />
97104
</languageVersions>
98105
<dependencyVersions>
99106
<module reference="3f233e7f-b8a6-46d2-a57f-795d56775243(Annotations)" version="0" />
@@ -104,14 +111,22 @@
104111
<module reference="8865b7a8-5271-43d3-884c-6fd1d9cfdd34(MPS.OpenAPI)" version="0" />
105112
<module reference="742f6602-5a2f-4313-aa6e-ae1cd4ffdc61(MPS.Platform)" version="0" />
106113
<module reference="b92f861d-0184-446d-b88b-6dcf0e070241(com.mbeddr.mpsutil.intentions)" version="0" />
114+
<module reference="4bff7bbe-ce5f-432e-84bf-60809cb9987c(com.mbeddr.mpsutil.intentions.runtime)" version="0" />
107115
<module reference="4972ae94-72e7-499b-8766-0d6acffdb4f2(com.mbeddr.mpsutil.intentions.sandboxlang)" version="0" />
108116
<module reference="848ef45d-e560-4e35-853c-f35a64cc135c(de.itemis.mps.editor.celllayout.runtime)" version="0" />
109117
<module reference="24c96a96-b7a1-4f30-82da-0f8e279a2661(de.itemis.mps.editor.celllayout.styles)" version="0" />
110118
<module reference="cce85e64-7b37-4ad5-b0e6-9d18324cdfb3(de.itemis.mps.selection.runtime)" version="0" />
111119
<module reference="dc038ceb-b7ea-4fea-ac12-55f7400e97ba(de.slisson.mps.editor.multiline.runtime)" version="0" />
112120
<module reference="92d2ea16-5a42-4fdf-a676-c7604efe3504(de.slisson.mps.richtext)" version="0" />
121+
<module reference="f3061a53-9226-4cc5-a443-f952ceaf5816(jetbrains.mps.baseLanguage)" version="0" />
122+
<module reference="443f4c36-fcf5-4eb6-9500-8d06ed259e3e(jetbrains.mps.baseLanguage.classifiers)" version="0" />
123+
<module reference="c7d5b9dd-a05f-4be2-bc73-f2e16994cc67(jetbrains.mps.baseLanguage.lightweightdsl)" version="0" />
124+
<module reference="e39e4a59-8cb6-498e-860e-8fa8361c0d90(jetbrains.mps.baseLanguage.scopes)" version="0" />
125+
<module reference="2d3c70e9-aab2-4870-8d8d-6036800e4103(jetbrains.mps.kernel)" version="0" />
113126
<module reference="ceab5195-25ea-4f22-9b92-103b95ca8c0c(jetbrains.mps.lang.core)" version="0" />
114127
<module reference="a9e4c532-c5f5-4bb7-99ef-42abb73bbb70(jetbrains.mps.lang.descriptor.aspects)" version="0" />
128+
<module reference="d7a92d38-f7db-40d0-8431-763b0c3c9f20(jetbrains.mps.lang.intentions)" version="0" />
129+
<module reference="9ded098b-ad6a-4657-bfd9-48636cfe8bc3(jetbrains.mps.lang.traceable)" version="0" />
115130
</dependencyVersions>
116131
<extendedLanguages />
117132
</language>

code/languages/com.mbeddr.mpsutil.intentions.sandboxlang/models/com.mbeddr.mpsutil.intentions.sandboxlang.intentions.mps

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
<child id="1068498886297" name="rValue" index="37vLTx" />
1717
<child id="1068498886295" name="lValue" index="37vLTJ" />
1818
</concept>
19+
<concept id="1215695189714" name="jetbrains.mps.baseLanguage.structure.PlusAssignmentExpression" flags="nn" index="d57v9" />
1920
<concept id="1197027756228" name="jetbrains.mps.baseLanguage.structure.DotExpression" flags="nn" index="2OqwBi">
2021
<child id="1197027771414" name="operand" index="2Oq$k0" />
2122
<child id="1197027833540" name="operation" index="2OqNvi" />
@@ -33,6 +34,9 @@
3334
<concept id="1068580123136" name="jetbrains.mps.baseLanguage.structure.StatementList" flags="sn" stub="5293379017992965193" index="3clFbS">
3435
<child id="1068581517665" name="statement" index="3cqZAp" />
3536
</concept>
37+
<concept id="1068580123137" name="jetbrains.mps.baseLanguage.structure.BooleanConstant" flags="nn" index="3clFbT">
38+
<property id="1068580123138" name="value" index="3clFbU" />
39+
</concept>
3640
<concept id="1068581242875" name="jetbrains.mps.baseLanguage.structure.PlusExpression" flags="nn" index="3cpWs3" />
3741
<concept id="1081773326031" name="jetbrains.mps.baseLanguage.structure.BinaryOperation" flags="nn" index="3uHJSO">
3842
<child id="1081773367579" name="rightExpression" index="3uHU7w" />
@@ -53,11 +57,13 @@
5357
<language id="d7a92d38-f7db-40d0-8431-763b0c3c9f20" name="jetbrains.mps.lang.intentions">
5458
<concept id="1192794744107" name="jetbrains.mps.lang.intentions.structure.IntentionDeclaration" flags="ig" index="2S6QgY" />
5559
<concept id="1192794782375" name="jetbrains.mps.lang.intentions.structure.DescriptionBlock" flags="in" index="2S6ZIM" />
60+
<concept id="1192795771125" name="jetbrains.mps.lang.intentions.structure.IsApplicableBlock" flags="in" index="2SaL7w" />
5661
<concept id="1192795911897" name="jetbrains.mps.lang.intentions.structure.ExecuteBlock" flags="in" index="2Sbjvc" />
5762
<concept id="1192796902958" name="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" flags="nn" index="2Sf5sV" />
5863
<concept id="2522969319638091381" name="jetbrains.mps.lang.intentions.structure.BaseIntentionDeclaration" flags="ig" index="2ZfUlf">
5964
<reference id="2522969319638198290" name="forConcept" index="2ZfgGC" />
6065
<child id="2522969319638198291" name="executeFunction" index="2ZfgGD" />
66+
<child id="2522969319638093995" name="isApplicableFunction" index="2ZfVeh" />
6167
<child id="2522969319638093993" name="descriptionFunction" index="2ZfVej" />
6268
</concept>
6369
</language>
@@ -315,5 +321,44 @@
315321
</node>
316322
<node concept="2s3oj2" id="54O0DxcsaoJ" role="lGtFl" />
317323
</node>
324+
<node concept="2S6QgY" id="4I3JdQwKVwT">
325+
<property role="TrG5h" value="CustomizableIntention" />
326+
<ref role="2ZfgGC" to="iikq:197NvysM_3t" resolve="DemoNodeWithIntentions" />
327+
<node concept="2S6ZIM" id="4I3JdQwKVwU" role="2ZfVej">
328+
<node concept="3clFbS" id="4I3JdQwKVwV" role="2VODD2">
329+
<node concept="3clFbF" id="4I3JdQwKVCm" role="3cqZAp">
330+
<node concept="Xl_RD" id="4I3JdQwKVD9" role="3clFbG">
331+
<property role="Xl_RC" value="Old Description" />
332+
</node>
333+
</node>
334+
</node>
335+
</node>
336+
<node concept="2Sbjvc" id="4I3JdQwKVwW" role="2ZfgGD">
337+
<node concept="3clFbS" id="4I3JdQwKVwX" role="2VODD2">
338+
<node concept="3clFbF" id="70CVSw5NCta" role="3cqZAp">
339+
<node concept="d57v9" id="70CVSw5NGyt" role="3clFbG">
340+
<node concept="2OqwBi" id="70CVSw5NCCg" role="37vLTJ">
341+
<node concept="2Sf5sV" id="70CVSw5NCt9" role="2Oq$k0" />
342+
<node concept="3TrcHB" id="70CVSw5NFF2" role="2OqNvi">
343+
<ref role="3TsBF5" to="tpck:h0TrG11" resolve="name" />
344+
</node>
345+
</node>
346+
<node concept="Xl_RD" id="70CVSw5NEHn" role="37vLTx">
347+
<property role="Xl_RC" value="Intention executed (old)" />
348+
</node>
349+
</node>
350+
</node>
351+
</node>
352+
</node>
353+
<node concept="2SaL7w" id="4I3JdQwKVKO" role="2ZfVeh">
354+
<node concept="3clFbS" id="4I3JdQwKVKP" role="2VODD2">
355+
<node concept="3clFbF" id="4I3JdQwKVQq" role="3cqZAp">
356+
<node concept="3clFbT" id="4I3JdQwKVQp" role="3clFbG">
357+
<property role="3clFbU" value="true" />
358+
</node>
359+
</node>
360+
</node>
361+
</node>
362+
</node>
318363
</model>
319364

0 commit comments

Comments
 (0)