Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,13 @@ The format is *loosely* based on [Keep a Changelog](https://keepachangelog.com/e

### Fixed

- *de.itemis.mps.extensions.build* Version number is now set correctly in the `build.properties` file inside the published artifact.
- *de.itemis.mps.editor.bool.runtime* Improve loading of checkbox images to work in scenarios where the node being edited is not part of a model (even if only temporarily).

### Changed

- *de.itemis.mps.extensions.build* The version number property was renamed from `versionNumber` to `version`.

## September 2025

### Added
Expand All @@ -30,6 +35,7 @@ The format is *loosely* based on [Keep a Changelog](https://keepachangelog.com/e
- *de.itemis.mps.compare* Added support for ignoring references.
- *de.itemis.mps.linenumbers* When clicking on a line number, the first cell in the line gets the focus.
- *nl.f1re.mps.editor.swing* Add a new language for customizing swing components.
- *nl.f1re.mpsutil.hasher* Added efficient, configurable hashing of subtrees.

### Fixed

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ To use MPS Extensions in your project, add one of the following dependencies to

## Building

See the [building](https://jetbrains.github.io/MPS-extensions/building/) page of the documentation.
See the [building](docs/building.md) page of the documentation.

## Documentation

Expand Down
5 changes: 5 additions & 0 deletions code/.mps/modules.xml
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,7 @@
<modulePath path="$PROJECT_DIR$/modellisteners/com.mbeddr.mpsutil.modellisteners.sandbox/com.mbeddr.mpsutil.modellisteners.sandbox.msd" folder="modellisteners" />
<modulePath path="$PROJECT_DIR$/modellisteners/com.mbeddr.mpsutil.modellisteners.sandboxlang/com.mbeddr.mpsutil.modellisteners.sandboxlang.mpl" folder="modellisteners" />
<modulePath path="$PROJECT_DIR$/modellisteners/com.mbeddr.mpsutil.modellisteners/com.mbeddr.mpsutil.modellisteners.mpl" folder="modellisteners" />
<modulePath path="$PROJECT_DIR$/modellisteners/test.com.mbeddr.mpsutil.modellisteners/test.com.mbeddr.mpsutil.modellisteners.msd" folder="modellisteners" />
<modulePath path="$PROJECT_DIR$/modelmerger/languages/de.itemis.mps.modelmerger/de.itemis.mps.modelmerger.mpl" folder="modelmerger_deprecated" />
<modulePath path="$PROJECT_DIR$/modelmerger/languages/de.itemis.mps.modelmerger/sandbox/de.itemis.mps.modelmerger.testhelper.msd" folder="modelmerger_deprecated" />
<modulePath path="$PROJECT_DIR$/modelmerger/languages/test.de.itemis.mps.modelmerger.testlanguage/test.de.itemis.mps.modelmerger.testlanguage.mpl" folder="modelmerger.test.language" />
Expand Down Expand Up @@ -223,6 +224,10 @@
<modulePath path="$PROJECT_DIR$/tables/languages/de.slisson.mps.tables/sandbox/de.slisson.mps.tables.sandbox.msd" folder="tables" />
<modulePath path="$PROJECT_DIR$/tables/solutions/test.de.slisson.mps.tables.runtime/test.de.slisson.mps.tables.runtime.msd" folder="tables" />
<modulePath path="$PROJECT_DIR$/tables/solutions/test.de.slisson.mps.tables/test.de.slisson.mps.tables.msd" folder="tables" />
<modulePath path="$PROJECT_DIR$/testing/languages/nl.f1re.testing.examples.lang/nl.f1re.testing.examples.lang.mpl" folder="testing" />
<modulePath path="$PROJECT_DIR$/testing/languages/nl.f1re.testing/nl.f1re.testing.mpl" folder="testing" />
<modulePath path="$PROJECT_DIR$/testing/solutions/nl.f1re.testing.examples/nl.f1re.testing.examples.msd" folder="testing" />
<modulePath path="$PROJECT_DIR$/testing/solutions/nl.f1re.testing.runtime/nl.f1re.testing.runtime.msd" folder="testing" />
<modulePath path="$PROJECT_DIR$/third-party/solutions/MPS.ThirdParty/MPS.ThirdParty.msd" folder="3rd-party" />
<modulePath path="$PROJECT_DIR$/third-party/solutions/third.party.usage.test/third.party.usage.test.msd" folder="3rd-party" />
<modulePath path="$PROJECT_DIR$/tooltips/solutions/de.itemis.mps.tooltips.runtime/de.itemis.mps.tooltips.runtime.msd" folder="tooltips" />
Expand Down

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion code/compare/languages/de.itemis.mps.compare/compare.mpl
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,6 @@
<module reference="cce85e64-7b37-4ad5-b0e6-9d18324cdfb3(de.itemis.mps.selection.runtime)" version="0" />
<module reference="dc038ceb-b7ea-4fea-ac12-55f7400e97ba(de.slisson.mps.editor.multiline.runtime)" version="0" />
<module reference="92d2ea16-5a42-4fdf-a676-c7604efe3504(de.slisson.mps.richtext)" version="0" />
<module reference="3dad2ab7-12ae-4079-9f64-da295f99ecf8(io.f1re.generation)" version="0" />
<module reference="f3061a53-9226-4cc5-a443-f952ceaf5816(jetbrains.mps.baseLanguage)" version="0" />
<module reference="443f4c36-fcf5-4eb6-9500-8d06ed259e3e(jetbrains.mps.baseLanguage.classifiers)" version="0" />
<module reference="fd392034-7849-419d-9071-12563d152375(jetbrains.mps.baseLanguage.closures)" version="0" />
Expand All @@ -106,6 +105,7 @@
<module reference="c72da2b9-7cce-4447-8389-f407dc1158b7(jetbrains.mps.lang.structure)" version="0" />
<module reference="8585453e-6bfb-4d80-98de-b16074f1d86c(jetbrains.mps.lang.test)" version="0" />
<module reference="9ded098b-ad6a-4657-bfd9-48636cfe8bc3(jetbrains.mps.lang.traceable)" version="0" />
<module reference="3dad2ab7-12ae-4079-9f64-da295f99ecf8(nl.f1re.generation)" version="0" />
</dependencyVersions>
<mapping-priorities>
<mapping-priority-rule kind="strictly_before">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,14 +76,14 @@
<module reference="dc038ceb-b7ea-4fea-ac12-55f7400e97ba(de.slisson.mps.editor.multiline.runtime)" version="0" />
<module reference="7037b32c-9607-4f8e-81bd-1f028a4c117b(de.slisson.mps.reflection.runtime)" version="0" />
<module reference="92d2ea16-5a42-4fdf-a676-c7604efe3504(de.slisson.mps.richtext)" version="0" />
<module reference="3dad2ab7-12ae-4079-9f64-da295f99ecf8(io.f1re.generation)" version="0" />
<module reference="f3061a53-9226-4cc5-a443-f952ceaf5816(jetbrains.mps.baseLanguage)" version="0" />
<module reference="e39e4a59-8cb6-498e-860e-8fa8361c0d90(jetbrains.mps.baseLanguage.scopes)" version="0" />
<module reference="f61473f9-130f-42f6-b98d-6c438812c2f6(jetbrains.mps.baseLanguage.unitTest)" version="0" />
<module reference="2d3c70e9-aab2-4870-8d8d-6036800e4103(jetbrains.mps.kernel)" version="0" />
<module reference="ceab5195-25ea-4f22-9b92-103b95ca8c0c(jetbrains.mps.lang.core)" version="0" />
<module reference="a9e4c532-c5f5-4bb7-99ef-42abb73bbb70(jetbrains.mps.lang.descriptor.aspects)" version="0" />
<module reference="9ded098b-ad6a-4657-bfd9-48636cfe8bc3(jetbrains.mps.lang.traceable)" version="0" />
<module reference="3dad2ab7-12ae-4079-9f64-da295f99ecf8(nl.f1re.generation)" version="0" />
</dependencyVersions>
</solution>

177 changes: 177 additions & 0 deletions ...com.mbeddr.mpsutil.modellisteners/models/[email protected]
Original file line number Diff line number Diff line change
@@ -0,0 +1,177 @@
<?xml version="1.0" encoding="UTF-8"?>
<model ref="r:a67a6614-4d97-4d53-ae02-f3b0d488ac12(test.com.mbeddr.mpsutil.modellisteners@tests)">
<persistence version="9" />
<languages>
<use id="8585453e-6bfb-4d80-98de-b16074f1d86c" name="jetbrains.mps.lang.test" version="6" />
<use id="f61473f9-130f-42f6-b98d-6c438812c2f6" name="jetbrains.mps.baseLanguage.unitTest" version="1" />
<use id="4cbe8d8b-9aa4-4342-8d1a-f3bcd858d0e8" name="com.mbeddr.mpsutil.modellisteners.sandboxlang" version="0" />
<use id="7866978e-a0f0-4cc7-81bc-4d213d9375e1" name="jetbrains.mps.lang.smodel" version="19" />
<use id="f47b95d4-5e73-4c04-9204-18076950153b" name="de.itemis.mps.compare" version="0" />
</languages>
<imports>
<import index="64jm" ref="r:53fd5ad6-9dfd-4bea-bf25-c6cd1df32c73(com.mbeddr.mpsutil.modellisteners.sandboxlang.structure)" implicit="true" />
</imports>
<registry>
<language id="8585453e-6bfb-4d80-98de-b16074f1d86c" name="jetbrains.mps.lang.test">
<concept id="5097124989038916362" name="jetbrains.mps.lang.test.structure.TestInfo" flags="ng" index="2XOHcx">
<property id="5097124989038916363" name="projectPath" index="2XOHcw" />
</concept>
<concept id="1216913645126" name="jetbrains.mps.lang.test.structure.NodesTestCase" flags="lg" index="1lH9Xt">
<property id="2616911529524314943" name="accessMode" index="3DII0k" />
<child id="1217501822150" name="nodesToCheck" index="1SKRRt" />
<child id="1217501895093" name="testMethods" index="1SL9yI" />
</concept>
<concept id="1216989428737" name="jetbrains.mps.lang.test.structure.TestNode" flags="ng" index="1qefOq">
<child id="1216989461394" name="nodeToCheck" index="1qenE9" />
</concept>
<concept id="1210673684636" name="jetbrains.mps.lang.test.structure.TestNodeAnnotation" flags="ng" index="3xLA65" />
<concept id="1210674524691" name="jetbrains.mps.lang.test.structure.TestNodeReference" flags="nn" index="3xONca">
<reference id="1210674534086" name="declaration" index="3xOPvv" />
</concept>
<concept id="1225978065297" name="jetbrains.mps.lang.test.structure.SimpleNodeTest" flags="ng" index="1LZb2c" />
</language>
<language id="4cbe8d8b-9aa4-4342-8d1a-f3bcd858d0e8" name="com.mbeddr.mpsutil.modellisteners.sandboxlang">
<concept id="5818559022137967770" name="com.mbeddr.mpsutil.modellisteners.sandboxlang.structure.RootConcept" flags="ng" index="j$yw0" />
</language>
<language id="f3061a53-9226-4cc5-a443-f952ceaf5816" name="jetbrains.mps.baseLanguage">
<concept id="1197027756228" name="jetbrains.mps.baseLanguage.structure.DotExpression" flags="nn" index="2OqwBi">
<child id="1197027771414" name="operand" index="2Oq$k0" />
<child id="1197027833540" name="operation" index="2OqNvi" />
</concept>
<concept id="1068580123132" name="jetbrains.mps.baseLanguage.structure.BaseMethodDeclaration" flags="ng" index="3clF44">
<child id="1068580123133" name="returnType" index="3clF45" />
<child id="1068580123135" name="body" index="3clF47" />
</concept>
<concept id="1068580123155" name="jetbrains.mps.baseLanguage.structure.ExpressionStatement" flags="nn" index="3clFbF">
<child id="1068580123156" name="expression" index="3clFbG" />
</concept>
<concept id="1068580123157" name="jetbrains.mps.baseLanguage.structure.Statement" flags="nn" index="3clFbH" />
<concept id="1068580123136" name="jetbrains.mps.baseLanguage.structure.StatementList" flags="sn" stub="5293379017992965193" index="3clFbS">
<child id="1068581517665" name="statement" index="3cqZAp" />
</concept>
<concept id="1068580320020" name="jetbrains.mps.baseLanguage.structure.IntegerConstant" flags="nn" index="3cmrfG">
<property id="1068580320021" name="value" index="3cmrfH" />
</concept>
<concept id="1068581517677" name="jetbrains.mps.baseLanguage.structure.VoidType" flags="in" index="3cqZAl" />
</language>
<language id="f47b95d4-5e73-4c04-9204-18076950153b" name="de.itemis.mps.compare">
<concept id="756135271275943220" name="de.itemis.mps.compare.structure.AssertNodeEquals" flags="ng" index="3GXo0L" />
</language>
<language id="f61473f9-130f-42f6-b98d-6c438812c2f6" name="jetbrains.mps.baseLanguage.unitTest">
<concept id="8427750732757990717" name="jetbrains.mps.baseLanguage.unitTest.structure.BinaryAssert" flags="nn" index="3tpDYu">
<child id="8427750732757990725" name="actual" index="3tpDZA" />
<child id="8427750732757990724" name="expected" index="3tpDZB" />
</concept>
<concept id="1171978097730" name="jetbrains.mps.baseLanguage.unitTest.structure.AssertEquals" flags="nn" index="3vlDli" />
</language>
<language id="7866978e-a0f0-4cc7-81bc-4d213d9375e1" name="jetbrains.mps.lang.smodel">
<concept id="1139184414036" name="jetbrains.mps.lang.smodel.structure.LinkList_AddNewChildOperation" flags="nn" index="WFELt" />
<concept id="1138056282393" name="jetbrains.mps.lang.smodel.structure.SLinkListAccess" flags="nn" index="3Tsc0h">
<reference id="1138056546658" name="link" index="3TtcxE" />
</concept>
</language>
<language id="ceab5195-25ea-4f22-9b92-103b95ca8c0c" name="jetbrains.mps.lang.core">
<concept id="1133920641626" name="jetbrains.mps.lang.core.structure.BaseConcept" flags="ng" index="2VYdi">
<child id="5169995583184591170" name="smodelAttribute" index="lGtFl" />
</concept>
<concept id="1169194658468" name="jetbrains.mps.lang.core.structure.INamedConcept" flags="ngI" index="TrEIO">
<property id="1169194664001" name="name" index="TrG5h" />
</concept>
</language>
<language id="83888646-71ce-4f1c-9c53-c54016f6ad4f" name="jetbrains.mps.baseLanguage.collections">
<concept id="1227022210526" name="jetbrains.mps.baseLanguage.collections.structure.ClearAllElementsOperation" flags="nn" index="2Kehj3" />
<concept id="1162935959151" name="jetbrains.mps.baseLanguage.collections.structure.GetSizeOperation" flags="nn" index="34oBXx" />
<concept id="1165525191778" name="jetbrains.mps.baseLanguage.collections.structure.GetFirstOperation" flags="nn" index="1uHKPH" />
</language>
</registry>
<node concept="2XOHcx" id="5yvl18N8PtL">
<property role="2XOHcw" value="${extensions.home}/code" />
</node>
<node concept="1lH9Xt" id="6cyqnzekvwz">
<property role="3DII0k" value="2hh8MJdVwqX/command" />
<property role="TrG5h" value="ModelListener" />
<node concept="1LZb2c" id="6cyqnzekvwE" role="1SL9yI">
<property role="TrG5h" value="child" />
<node concept="3cqZAl" id="6cyqnzekvwF" role="3clF45" />
<node concept="3clFbS" id="6cyqnzekvwJ" role="3clF47">
<node concept="3clFbF" id="6cyqnzekxcH" role="3cqZAp">
<node concept="2OqwBi" id="6cyqnzek$$r" role="3clFbG">
<node concept="2OqwBi" id="6cyqnzekxp5" role="2Oq$k0">
<node concept="3xONca" id="6cyqnzekxcG" role="2Oq$k0">
<ref role="3xOPvv" node="6cyqnzekxcB" resolve="root" />
</node>
<node concept="3Tsc0h" id="6cyqnzekxUC" role="2OqNvi">
<ref role="3TtcxE" to="64jm:52ZF9D3bos4" resolve="original" />
</node>
</node>
<node concept="WFELt" id="6cyqnzekBcH" role="2OqNvi" />
</node>
</node>
<node concept="3clFbH" id="6cyqnzekCLJ" role="3cqZAp" />
<node concept="3GXo0L" id="6cyqnzekDrG" role="3cqZAp">
<node concept="2OqwBi" id="6cyqnzekGh_" role="3tpDZA">
<node concept="2OqwBi" id="6cyqnzekD$4" role="2Oq$k0">
<node concept="3xONca" id="6cyqnzekDrS" role="2Oq$k0">
<ref role="3xOPvv" node="6cyqnzekxcB" resolve="root" />
</node>
<node concept="3Tsc0h" id="6cyqnzekDMY" role="2OqNvi">
<ref role="3TtcxE" to="64jm:52ZF9D3bosa" resolve="mirror" />
</node>
</node>
<node concept="1uHKPH" id="6cyqnzekITV" role="2OqNvi" />
</node>
<node concept="2OqwBi" id="6cyqnzekLHi" role="3tpDZB">
<node concept="2OqwBi" id="6cyqnzekJfj" role="2Oq$k0">
<node concept="3xONca" id="6cyqnzekJ5j" role="2Oq$k0">
<ref role="3xOPvv" node="6cyqnzekxcB" resolve="root" />
</node>
<node concept="3Tsc0h" id="6cyqnzekJv9" role="2OqNvi">
<ref role="3TtcxE" to="64jm:52ZF9D3bos4" resolve="original" />
</node>
</node>
<node concept="1uHKPH" id="6cyqnzekOm$" role="2OqNvi" />
</node>
</node>
<node concept="3clFbH" id="6cyqnzekSax" role="3cqZAp" />
<node concept="3clFbF" id="6cyqnzekSaH" role="3cqZAp">
<node concept="2OqwBi" id="6cyqnzekUXb" role="3clFbG">
<node concept="2OqwBi" id="6cyqnzekSjL" role="2Oq$k0">
<node concept="3xONca" id="6cyqnzekSaF" role="2Oq$k0">
<ref role="3xOPvv" node="6cyqnzekxcB" resolve="root" />
</node>
<node concept="3Tsc0h" id="6cyqnzekSyB" role="2OqNvi">
<ref role="3TtcxE" to="64jm:52ZF9D3bos4" resolve="original" />
</node>
</node>
<node concept="2Kehj3" id="6cyqnzekX_t" role="2OqNvi" />
</node>
</node>
<node concept="3vlDli" id="6cyqnzekXNF" role="3cqZAp">
<node concept="3cmrfG" id="6cyqnzekXNV" role="3tpDZB">
<property role="3cmrfH" value="0" />
</node>
<node concept="2OqwBi" id="6cyqnzel0PU" role="3tpDZA">
<node concept="2OqwBi" id="6cyqnzekYQ8" role="2Oq$k0">
<node concept="3xONca" id="6cyqnzekYJa" role="2Oq$k0">
<ref role="3xOPvv" node="6cyqnzekxcB" resolve="root" />
</node>
<node concept="3Tsc0h" id="6cyqnzekZ4Y" role="2OqNvi">
<ref role="3TtcxE" to="64jm:52ZF9D3bosa" resolve="mirror" />
</node>
</node>
<node concept="34oBXx" id="6cyqnzel3wt" role="2OqNvi" />
</node>
</node>
</node>
</node>
<node concept="1qefOq" id="6cyqnzekwsd" role="1SKRRt">
<node concept="j$yw0" id="6cyqnzekwsc" role="1qenE9">
<property role="TrG5h" value="Root" />
<node concept="3xLA65" id="6cyqnzekxcB" role="lGtFl">
<property role="TrG5h" value="root" />
</node>
</node>
</node>
</node>
</model>

Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<solution name="test.com.mbeddr.mpsutil.modellisteners" uuid="937290a7-392d-4ada-9fd7-7db3b348822b" moduleVersion="0">
<models>
<modelRoot contentPath="${module}" type="default">
<sourceRoot location="models" />
</modelRoot>
</models>
<facets>
<facet type="java" compile="mps" classes="mps" ext="no">
<classes generated="true" path="${module}/classes_gen" />
</facet>
<facet type="tests" />
</facets>
<dependencies>
<dependency reexport="false">4cbe8d8b-9aa4-4342-8d1a-f3bcd858d0e8(com.mbeddr.mpsutil.modellisteners.sandboxlang)</dependency>
</dependencies>
<languageVersions>
<language slang="l:4cbe8d8b-9aa4-4342-8d1a-f3bcd858d0e8:com.mbeddr.mpsutil.modellisteners.sandboxlang" version="0" />
<language slang="l:f47b95d4-5e73-4c04-9204-18076950153b:de.itemis.mps.compare" version="0" />
<language slang="l:f3061a53-9226-4cc5-a443-f952ceaf5816:jetbrains.mps.baseLanguage" version="12" />
<language slang="l:443f4c36-fcf5-4eb6-9500-8d06ed259e3e:jetbrains.mps.baseLanguage.classifiers" version="0" />
<language slang="l:fd392034-7849-419d-9071-12563d152375:jetbrains.mps.baseLanguage.closures" version="0" />
<language slang="l:83888646-71ce-4f1c-9c53-c54016f6ad4f:jetbrains.mps.baseLanguage.collections" version="2" />
<language slang="l:f61473f9-130f-42f6-b98d-6c438812c2f6:jetbrains.mps.baseLanguage.unitTest" version="1" />
<language slang="l:ceab5195-25ea-4f22-9b92-103b95ca8c0c:jetbrains.mps.lang.core" version="2" />
<language slang="l:446c26eb-2b7b-4bf0-9b35-f83fa582753e:jetbrains.mps.lang.modelapi" version="0" />
<language slang="l:7866978e-a0f0-4cc7-81bc-4d213d9375e1:jetbrains.mps.lang.smodel" version="19" />
<language slang="l:8585453e-6bfb-4d80-98de-b16074f1d86c:jetbrains.mps.lang.test" version="6" />
<language slang="l:9ded098b-ad6a-4657-bfd9-48636cfe8bc3:jetbrains.mps.lang.traceable" version="0" />
</languageVersions>
<dependencyVersions>
<module reference="3f233e7f-b8a6-46d2-a57f-795d56775243(Annotations)" version="0" />
<module reference="6354ebe7-c22a-4a0f-ac54-50b52ab9b065(JDK)" version="0" />
<module reference="6ed54515-acc8-4d1e-a16c-9fd6cfe951ea(MPS.Core)" version="0" />
<module reference="8865b7a8-5271-43d3-884c-6fd1d9cfdd34(MPS.OpenAPI)" version="0" />
<module reference="4cbe8d8b-9aa4-4342-8d1a-f3bcd858d0e8(com.mbeddr.mpsutil.modellisteners.sandboxlang)" version="0" />
<module reference="ceab5195-25ea-4f22-9b92-103b95ca8c0c(jetbrains.mps.lang.core)" version="0" />
<module reference="937290a7-392d-4ada-9fd7-7db3b348822b(test.com.mbeddr.mpsutil.modellisteners)" version="0" />
</dependencyVersions>
</solution>

Loading