Skip to content

Commit ad5c29f

Browse files
author
Alexander Pann
authored
Merge pull request #900 from IETS3/bugfix/record_usability
If there is only a single CC menu entry, select it for concepts that act as empty placeholders
2 parents c382b47 + b080db1 commit ad5c29f

File tree

14 files changed

+564
-59
lines changed

14 files changed

+564
-59
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ The project does _not_ follow Semantic Versioning and the changes are documented
1313

1414
### Fixed
1515

16+
- Empty-like nodes now automatically select the first code completion entry if there is only one entry.
1617
- Enum literals now can be compared for equality in the generator.
1718

1819
## March 2024

code/languages/org.iets3.opensource/languages/org.iets3.components.core/models/editor.mps

Lines changed: 93 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@
5252
<import index="zn9m" ref="498d89d2-c2e9-11e2-ad49-6cf049e62fe5/java:com.intellij.openapi.util(MPS.IDEA/)" />
5353
<import index="lzb2" ref="498d89d2-c2e9-11e2-ad49-6cf049e62fe5/java:com.intellij.ui(MPS.IDEA/)" />
5454
<import index="bd8o" ref="498d89d2-c2e9-11e2-ad49-6cf049e62fe5/java:com.intellij.openapi.application(MPS.IDEA/)" />
55+
<import index="buwp" ref="r:8405f486-53b5-4fe6-af3e-7f68358bd631(org.iets3.core.expr.base.editor)" />
5556
<import index="33ny" ref="6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.util(JDK/)" implicit="true" />
5657
<import index="tpco" ref="r:00000000-0000-4000-0000-011c89590284(jetbrains.mps.lang.core.editor)" implicit="true" />
5758
<import index="itrz" ref="r:80fb0853-eb3b-4e84-aebd-cc7fdb011d97(org.iets3.core.base.editor)" implicit="true" />
@@ -60,6 +61,9 @@
6061
<import index="138" ref="r:2c1007f3-e814-47ba-b729-c3ea0297f627(org.iets3.core.attributes.structure)" implicit="true" />
6162
</imports>
6263
<registry>
64+
<language id="13744753-c81f-424a-9c1b-cf8943bf4e86" name="jetbrains.mps.lang.sharedConcepts">
65+
<concept id="1194033889146" name="jetbrains.mps.lang.sharedConcepts.structure.ConceptFunctionParameter_editorContext" flags="nn" index="1XNTG" />
66+
</language>
6367
<language id="18bc6592-03a6-4e29-a83a-7ff23bde13ba" name="jetbrains.mps.lang.editor">
6468
<concept id="1402906326895675325" name="jetbrains.mps.lang.editor.structure.CellActionMap_FunctionParm_selectedNode" flags="nn" index="0IXxy" />
6569
<concept id="5991739802479784073" name="jetbrains.mps.lang.editor.structure.MenuTypeDefault" flags="ng" index="22hDWj" />
@@ -467,6 +471,15 @@
467471
<child id="8945098465480008160" name="transformationText" index="ZWbT9" />
468472
</concept>
469473
<concept id="8945098465480383073" name="com.mbeddr.mpsutil.grammarcells.structure.OptionalCell_TransformationText" flags="ig" index="ZYGn8" />
474+
<concept id="6856661361479784527" name="com.mbeddr.mpsutil.grammarcells.structure.InlineActionMapItem" flags="ng" index="130t_x">
475+
<property id="1139535298778" name="actionId" index="1hAc7k" />
476+
<child id="6856661361479798753" name="execute" index="130oVf" />
477+
</concept>
478+
<concept id="6856661361479784534" name="com.mbeddr.mpsutil.grammarcells.structure.InlineActionMapItem_ExecuteFunction" flags="ig" index="130t_S" />
479+
<concept id="6856661361479732075" name="com.mbeddr.mpsutil.grammarcells.structure.InlineActionMapCell" flags="ng" index="130CD5">
480+
<child id="6856661361479798957" name="actions" index="130p63" />
481+
<child id="6856661361479732085" name="cell" index="130CDr" />
482+
</concept>
470483
<concept id="848437706375087728" name="com.mbeddr.mpsutil.grammarcells.structure.ICanHaveDescriptionText" flags="ng" index="1djCvD">
471484
<child id="848437706375087729" name="descriptionText" index="1djCvC" />
472485
</concept>
@@ -1160,10 +1173,26 @@
11601173
<node concept="24kQdi" id="6LfBX8Yi4uM">
11611174
<property role="3GE5qa" value="components" />
11621175
<ref role="1XX52x" to="w9y2:6LfBX8Yi4ug" resolve="EmptyComponentContent" />
1163-
<node concept="3F0ifn" id="6LfBX8Yi4uO" role="2wV5jI">
1164-
<property role="3F0ifm" value="" />
1165-
<node concept="VPxyj" id="6LfBX8Yi4vF" role="3F10Kt">
1166-
<property role="VOm3f" value="true" />
1176+
<node concept="130CD5" id="5KNBYKZ3AgY" role="2wV5jI">
1177+
<node concept="3F0ifn" id="5KNBYKZ3AgZ" role="130CDr">
1178+
<property role="3F0ifm" value="" />
1179+
<node concept="VPxyj" id="5KNBYKZ3Ah0" role="3F10Kt">
1180+
<property role="VOm3f" value="true" />
1181+
</node>
1182+
</node>
1183+
<node concept="130t_x" id="5KNBYKZ3Ah1" role="130p63">
1184+
<property role="1hAc7k" value="7P1WhNABBiJ/complete_action_id" />
1185+
<node concept="130t_S" id="5KNBYKZ3Ah2" role="130oVf">
1186+
<node concept="3clFbS" id="5KNBYKZ3Ah3" role="2VODD2">
1187+
<node concept="3clFbF" id="5KNBYKZ3Ah4" role="3cqZAp">
1188+
<node concept="2YIFZM" id="5KNBYKZ3Ah5" role="3clFbG">
1189+
<ref role="37wK5l" to="buwp:Ss0aue3QB0" resolve="selectIfApplicable" />
1190+
<ref role="1Pybhc" to="buwp:Ss0aue3Qrs" resolve="SingleEntrySelector" />
1191+
<node concept="1XNTG" id="5KNBYKZ3Ah6" role="37wK5m" />
1192+
</node>
1193+
</node>
1194+
</node>
1195+
</node>
11671196
</node>
11681197
</node>
11691198
</node>
@@ -1379,10 +1408,26 @@
13791408
<node concept="24kQdi" id="6LfBX8Yivyg">
13801409
<property role="3GE5qa" value="chunk" />
13811410
<ref role="1XX52x" to="w9y2:6LfBX8YivxI" resolve="EmptyComponentsChunkContent" />
1382-
<node concept="3F0ifn" id="6LfBX8Yivyi" role="2wV5jI">
1383-
<property role="3F0ifm" value="" />
1384-
<node concept="VPxyj" id="6LfBX8Yivz9" role="3F10Kt">
1385-
<property role="VOm3f" value="true" />
1411+
<node concept="130CD5" id="Ss0aue60P6" role="2wV5jI">
1412+
<node concept="3F0ifn" id="Ss0aue60P7" role="130CDr">
1413+
<property role="3F0ifm" value="" />
1414+
<node concept="VPxyj" id="Ss0aue60P8" role="3F10Kt">
1415+
<property role="VOm3f" value="true" />
1416+
</node>
1417+
</node>
1418+
<node concept="130t_x" id="Ss0aue60P9" role="130p63">
1419+
<property role="1hAc7k" value="7P1WhNABBiJ/complete_action_id" />
1420+
<node concept="130t_S" id="Ss0aue60Pa" role="130oVf">
1421+
<node concept="3clFbS" id="Ss0aue60Pb" role="2VODD2">
1422+
<node concept="3clFbF" id="Ss0aue60Pc" role="3cqZAp">
1423+
<node concept="2YIFZM" id="Ss0aue60Pd" role="3clFbG">
1424+
<ref role="1Pybhc" to="buwp:Ss0aue3Qrs" resolve="SingleEntrySelector" />
1425+
<ref role="37wK5l" to="buwp:Ss0aue3QB0" resolve="selectIfApplicable" />
1426+
<node concept="1XNTG" id="Ss0aue60Pe" role="37wK5m" />
1427+
</node>
1428+
</node>
1429+
</node>
1430+
</node>
13861431
</node>
13871432
</node>
13881433
</node>
@@ -1887,10 +1932,26 @@
18871932
<node concept="24kQdi" id="siw10FjaPT">
18881933
<property role="3GE5qa" value="components.substructure" />
18891934
<ref role="1XX52x" to="w9y2:siw10FjaPn" resolve="EmptySubstructureContent" />
1890-
<node concept="3F0ifn" id="siw10FjaPV" role="2wV5jI">
1891-
<property role="3F0ifm" value="" />
1892-
<node concept="VPxyj" id="siw10FjaRC" role="3F10Kt">
1893-
<property role="VOm3f" value="true" />
1935+
<node concept="130CD5" id="Ss0aue60PL" role="2wV5jI">
1936+
<node concept="3F0ifn" id="Ss0aue60PM" role="130CDr">
1937+
<property role="3F0ifm" value="" />
1938+
<node concept="VPxyj" id="Ss0aue60PN" role="3F10Kt">
1939+
<property role="VOm3f" value="true" />
1940+
</node>
1941+
</node>
1942+
<node concept="130t_x" id="Ss0aue60PO" role="130p63">
1943+
<property role="1hAc7k" value="7P1WhNABBiJ/complete_action_id" />
1944+
<node concept="130t_S" id="Ss0aue60PP" role="130oVf">
1945+
<node concept="3clFbS" id="Ss0aue60PQ" role="2VODD2">
1946+
<node concept="3clFbF" id="Ss0aue60PR" role="3cqZAp">
1947+
<node concept="2YIFZM" id="Ss0aue60PS" role="3clFbG">
1948+
<ref role="1Pybhc" to="buwp:Ss0aue3Qrs" resolve="SingleEntrySelector" />
1949+
<ref role="37wK5l" to="buwp:Ss0aue3QB0" resolve="selectIfApplicable" />
1950+
<node concept="1XNTG" id="Ss0aue60PT" role="37wK5m" />
1951+
</node>
1952+
</node>
1953+
</node>
1954+
</node>
18941955
</node>
18951956
</node>
18961957
</node>
@@ -12000,10 +12061,26 @@
1200012061
<node concept="24kQdi" id="x8tpS_Roxp">
1200112062
<property role="3GE5qa" value="components.iface.ports" />
1200212063
<ref role="1XX52x" to="w9y2:x8tpS_RowE" resolve="EmptyComponentInterfaceContent" />
12003-
<node concept="3F0ifn" id="x8tpS_Roxr" role="2wV5jI">
12004-
<property role="3F0ifm" value="" />
12005-
<node concept="VPxyj" id="x8tpS_RoA4" role="3F10Kt">
12006-
<property role="VOm3f" value="true" />
12064+
<node concept="130CD5" id="Ss0aue5Xux" role="2wV5jI">
12065+
<node concept="3F0ifn" id="Ss0aue5XuD" role="130CDr">
12066+
<property role="3F0ifm" value="" />
12067+
<node concept="VPxyj" id="x8tpS_RoA4" role="3F10Kt">
12068+
<property role="VOm3f" value="true" />
12069+
</node>
12070+
</node>
12071+
<node concept="130t_x" id="Ss0aue5XuH" role="130p63">
12072+
<property role="1hAc7k" value="7P1WhNABBiJ/complete_action_id" />
12073+
<node concept="130t_S" id="Ss0aue5XuI" role="130oVf">
12074+
<node concept="3clFbS" id="Ss0aue5XuJ" role="2VODD2">
12075+
<node concept="3clFbF" id="Ss0aue60mu" role="3cqZAp">
12076+
<node concept="2YIFZM" id="Ss0aue60mR" role="3clFbG">
12077+
<ref role="37wK5l" to="buwp:Ss0aue3QB0" resolve="selectIfApplicable" />
12078+
<ref role="1Pybhc" to="buwp:Ss0aue3Qrs" resolve="SingleEntrySelector" />
12079+
<node concept="1XNTG" id="Ss0aue60LR" role="37wK5m" />
12080+
</node>
12081+
</node>
12082+
</node>
12083+
</node>
1200712084
</node>
1200812085
</node>
1200912086
</node>

code/languages/org.iets3.opensource/languages/org.iets3.core.attributes/models/editor.mps

Lines changed: 36 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,15 @@
2222
<import index="i51s" ref="6ed54515-acc8-4d1e-a16c-9fd6cfe951ea/java:jetbrains.mps.lang.smodel.generator.smodelAdapter(MPS.Core/)" />
2323
<import index="zce0" ref="1ed103c3-3aa6-49b7-9c21-6765ee11f224/java:jetbrains.mps.smodel.action(MPS.Editor/)" />
2424
<import index="lzb2" ref="498d89d2-c2e9-11e2-ad49-6cf049e62fe5/java:com.intellij.ui(MPS.IDEA/)" />
25+
<import index="buwp" ref="r:8405f486-53b5-4fe6-af3e-7f68358bd631(org.iets3.core.expr.base.editor)" />
2526
<import index="tpco" ref="r:00000000-0000-4000-0000-011c89590284(jetbrains.mps.lang.core.editor)" implicit="true" />
2627
<import index="hm2y" ref="r:66e07cb4-a4b0-4bf3-a36d-5e9ed1ff1bd3(org.iets3.core.expr.base.structure)" implicit="true" />
2728
<import index="tpck" ref="r:00000000-0000-4000-0000-011c89590288(jetbrains.mps.lang.core.structure)" implicit="true" />
2829
</imports>
2930
<registry>
31+
<language id="13744753-c81f-424a-9c1b-cf8943bf4e86" name="jetbrains.mps.lang.sharedConcepts">
32+
<concept id="1194033889146" name="jetbrains.mps.lang.sharedConcepts.structure.ConceptFunctionParameter_editorContext" flags="nn" index="1XNTG" />
33+
</language>
3034
<language id="18bc6592-03a6-4e29-a83a-7ff23bde13ba" name="jetbrains.mps.lang.editor">
3135
<concept id="5991739802479784073" name="jetbrains.mps.lang.editor.structure.MenuTypeDefault" flags="ng" index="22hDWj" />
3236
<concept id="2000375450116423800" name="jetbrains.mps.lang.editor.structure.SubstituteMenu" flags="ng" index="22mcaB" />
@@ -160,6 +164,9 @@
160164
<concept id="1070475926800" name="jetbrains.mps.baseLanguage.structure.StringLiteral" flags="nn" index="Xl_RD">
161165
<property id="1070475926801" name="value" index="Xl_RC" />
162166
</concept>
167+
<concept id="1081236700937" name="jetbrains.mps.baseLanguage.structure.StaticMethodCall" flags="nn" index="2YIFZM">
168+
<reference id="1144433194310" name="classConcept" index="1Pybhc" />
169+
</concept>
163170
<concept id="1070533707846" name="jetbrains.mps.baseLanguage.structure.StaticFieldReference" flags="nn" index="10M0yZ">
164171
<reference id="1144433057691" name="classifier" index="1PxDUh" />
165172
</concept>
@@ -202,6 +209,15 @@
202209
</language>
203210
<language id="9d69e719-78c8-4286-90db-fb19c107d049" name="com.mbeddr.mpsutil.grammarcells">
204211
<concept id="7408935449007503509" name="com.mbeddr.mpsutil.grammarcells.structure.WrapperCell_SubstituteCondition" flags="ig" index="7duGs" />
212+
<concept id="6856661361479784527" name="com.mbeddr.mpsutil.grammarcells.structure.InlineActionMapItem" flags="ng" index="130t_x">
213+
<property id="1139535298778" name="actionId" index="1hAc7j" />
214+
<child id="6856661361479798753" name="execute" index="130oVf" />
215+
</concept>
216+
<concept id="6856661361479784534" name="com.mbeddr.mpsutil.grammarcells.structure.InlineActionMapItem_ExecuteFunction" flags="ig" index="130t_S" />
217+
<concept id="6856661361479732075" name="com.mbeddr.mpsutil.grammarcells.structure.InlineActionMapCell" flags="ng" index="130CD5">
218+
<child id="6856661361479798957" name="actions" index="130p63" />
219+
<child id="6856661361479732085" name="cell" index="130CDr" />
220+
</concept>
205221
<concept id="7363578995839435357" name="com.mbeddr.mpsutil.grammarcells.structure.WrapperCell" flags="ng" index="1kIj98">
206222
<child id="7408935449007570592" name="substituteCondition" index="7deOD" />
207223
<child id="7363578995839435358" name="wrapped" index="1kIj9b" />
@@ -932,10 +948,26 @@
932948
<node concept="24kQdi" id="4fgA7QrG5MD">
933949
<property role="3GE5qa" value="attributes" />
934950
<ref role="1XX52x" to="138:4fgA7QrG5LS" resolve="EmptyAttribute" />
935-
<node concept="3F0ifn" id="4fgA7QrG5MO" role="2wV5jI">
936-
<property role="3F0ifm" value="" />
937-
<node concept="VPxyj" id="4fgA7QrG5MS" role="3F10Kt">
938-
<property role="VOm3f" value="true" />
951+
<node concept="130CD5" id="Ss0aue5Xux" role="2wV5jI">
952+
<node concept="3F0ifn" id="Ss0aue5XuD" role="130CDr">
953+
<property role="3F0ifm" value="" />
954+
<node concept="VPxyj" id="x8tpS_RoA4" role="3F10Kt">
955+
<property role="VOm3f" value="true" />
956+
</node>
957+
</node>
958+
<node concept="130t_x" id="Ss0aue5XuH" role="130p63">
959+
<property role="1hAc7j" value="7P1WhNABBiJ/complete_action_id" />
960+
<node concept="130t_S" id="Ss0aue5XuI" role="130oVf">
961+
<node concept="3clFbS" id="Ss0aue5XuJ" role="2VODD2">
962+
<node concept="3clFbF" id="Ss0aue60mu" role="3cqZAp">
963+
<node concept="2YIFZM" id="Ss0aue60mR" role="3clFbG">
964+
<ref role="1Pybhc" to="buwp:Ss0aue3Qrs" resolve="SingleEntrySelector" />
965+
<ref role="37wK5l" to="buwp:Ss0aue3QB0" resolve="selectIfApplicable" />
966+
<node concept="1XNTG" id="Ss0aue60LR" role="37wK5m" />
967+
</node>
968+
</node>
969+
</node>
970+
</node>
939971
</node>
940972
</node>
941973
</node>

code/languages/org.iets3.opensource/languages/org.iets3.core.attributes/org.iets3.core.attributes.mpl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
<dependency reexport="false">583939be-ded0-4735-a055-a74f8477fc34(org.iets3.core.attributes)</dependency>
2121
<dependency reexport="false">f3eafff0-30d2-46d6-9150-f0f3b880ce27(org.iets3.core.expr.path)</dependency>
2222
<dependency reexport="false">f3061a53-9226-4cc5-a443-f952ceaf5816(jetbrains.mps.baseLanguage)</dependency>
23+
<dependency reexport="false">cfaa4966-b7d5-4b69-b66a-309a6e1a7290(org.iets3.core.expr.base)</dependency>
2324
</dependencies>
2425
<languageVersions>
2526
<language slang="l:120e1c9d-4e27-4478-b2af-b2c3bd3850b0:com.mbeddr.mpsutil.editor.querylist" version="0" />

0 commit comments

Comments
 (0)