Fedor Isakov
f3010743c1
Migration: FixExpandMacroTemplate
2023-10-13 18:13:08 +02:00
Fedor Isakov
3cf666e633
Apply migrations and make project
2023-07-31 12:57:24 +02:00
Fedor Isakov
6a849f82f2
Apply migrations and rebuild project
2023-06-12 12:01:02 +02:00
Fedor Isakov
6ebc8782b9
Avoid issues when opening root project
...
Only UI-specific code related to settings left in "idea" project solution,
everything else moved to MPS-managed plugins.
2023-02-23 11:48:19 +01:00
Fedor Isakov
ad3ea9d63d
Apply all migrations from 2022.2
2022-11-21 11:25:13 +01:00
Fedor Isakov
d2ca45aa02
Extract bootstrap code to idea plugin; CR options to become app-level
...
CR typechecking options are now application-level.
The solution j.m.c.ideaplugin contains the code responsible
for accessing and setting the options. This solution is loaded
as IDEA plugin on deploy and as regular module in source project.
Also merge code from two modules into j.m.c.typechecking.
2022-08-25 12:59:36 +02:00
Fedor Isakov
e3870d1397
Switch to using built-in messages view for Coderules messages
2022-08-01 14:11:38 +02:00
Fedor Isakov
f24169ba26
Refactor Config to be immutable; allow multi-project MPSCR-105
...
Drop hacks that try to figure out the active project.
Instead introduce new ones that cache the instance of `ProjectRepository`
(unfortunately, there is no way around that now).
Stop accessing and modifying the singleton `Config` instance,
instead make an instance of `Config` a parameter to `TypecheckingService`.
2022-07-07 12:56:30 +02:00
Fedor Isakov
710c5ddc9b
Ensure failure during trace view update is gracefully handled
2022-05-25 13:37:55 +02:00
Fedor Isakov
c192a529a6
Display undo activate/discard events in trace view. MPSCR-102
2022-03-15 15:48:56 +01:00
Fedor Isakov
4ccbff779f
Refactoring in the UI: merging tool windows into one
2021-11-18 10:59:58 +01:00
Fedor Isakov
1bb8763816
Refactor AspectLookup to depend on repository, cache results
2021-05-18 12:32:03 +02:00
Fedor Isakov
ff6b5ec6ae
Apply migrations and rebuild project
2021-04-14 13:19:50 +02:00
Fedor Isakov
62e8e7d013
Switch to MPS 2020.3 release.
2021-01-08 11:00:02 +01:00
Fedor Isakov
acc3167e21
A bunch of optimizations and minor refactorings.
...
Consolidate options, configure all from typechecking plugin.
Introduce a computable option to control using traces.
Introduce shared state to be used at generation time.
Drop repository cache holder, replace with a field in state.
Fix singleton type collector.
Fix memory leak in strategy by cleaning it up after execution.
2020-11-24 13:41:25 +01:00
Grigorii Kirgizov
99c823d4f7
Integrate tmpl trace in ApplyTemplatesStep with TypecheckingOptions
...
Introduce TraceReport object for passing program results
(traces+report items) instead of using tuples.
2020-10-08 17:34:43 +03:00
Fedor Isakov
29bb1c72cd
Allow Config.init() to be called multiple times. Ensure test passes alone.
2020-08-06 17:45:47 +02:00
Fedor Isakov
14780b5561
Apply automatic migrations.
2020-05-09 15:04:25 +02:00
Grigorii Kirgizov
be89545202
Adapt to method rename in EvaluationTrace interface
2020-04-19 13:43:05 +03:00
Grigorii Kirgizov
b672778235
Fix build, add impl in plugin code of observers methods in Logical interface
2019-12-24 02:41:46 +03:00
Fedor Isakov
036f8393b5
Avoid null-ifying Config fields on dispose. Fix stupid bug in TypecheckingOptions. Fixes MPSCR-8.
2019-11-11 10:58:49 +01:00
Grigorii Kirgizov
53ddcb8492
Small cleanup of TraceTool for incremental processing
2019-11-07 17:15:56 +03:00
Fedor Isakov
4160c186e1
Introduce dependency to Config in typechecking options and service. Avoid relying on static getInstance() method to access Config.
...
Config is an application-level "component" initialized from an application plugin.
All usages on application/project-level should declare explicit dependency on it.
Tests can either create a new instance or access the shared one.
2019-10-23 15:39:17 +02:00
Fedor Isakov
1534864ffb
Separately register USER-level typechecking options, drop synch barrier. Keep it simple and stupid.
...
Options providers are registed in application plugin and project plugin.
Application plugin registers the USER level options, project plugin
is responsible for UI level.
Option providers are cleard on closing project/closing app.
2019-10-22 21:20:15 +02:00
Fedor Isakov
fc4ff2875c
Implement more fine-grained Config reset: drop all levels >= given.
2019-10-19 10:22:17 +02:00
Fedor Isakov
2c514f08fd
Fix Config initialization from tests. Replace init/deinit with single reset method.
2019-10-18 17:03:18 +02:00
Fedor Isakov
6c63cb409f
Introduce Config component. Make typechecker pref page nicer. Consolidate all typechecking options.
...
A reusable Config app component to be responsible for all level of configurations: default/system/user/ui.
Swith to Config interface instead of map<string,Object> for options.
Add an UI option to control whether trace is enabled.
2019-10-18 11:58:51 +02:00
Fedor Isakov
e628ea350b
Collect and index all feedback nodes. Support navigating to next/prev feedback.
2019-09-03 16:19:16 +02:00
Fedor Isakov
355a503f5e
Various refactorings in trace and reporting.
...
Replace ReportSink with Consumer.
Rename TraceEventsCollector -> TraceEvents.
Collect report items in TraceObject.
Ensure messages view tabs stay pinned.
Enable navigation from messages view to source nodes.
Respect report item's severity.
2019-08-28 21:27:09 +02:00
Fedor Isakov
c7ed81bd51
Switch to using MessageLog instead of the default message log. Minor fixes.
...
Collect coderules messages in "Messages" tab by default.
2019-08-26 13:06:58 +02:00
Fedor Isakov
e60a2151c0
Avoid using executeCommand to schedule a message view update.
2019-08-23 12:48:43 +02:00
Fedor Isakov
aef7e4c2ee
Extract the non-UI part of trace view to j.m.coderules solution.
2019-08-20 23:11:19 +02:00
Fedor Isakov
9178e8c913
Coderules-specific MessageViewTool and MessageLog for providing feedback.
...
Certain compromises have to be made: for one, it is assumed there is only one
project open and it is a MPSProject. Feedback is only reported to the messages
view and the view itself is not yet integrated into the main messages view.
2019-08-20 23:11:19 +02:00
Fedor Isakov
66c9222a95
Run migrations with MPS 2019.2 EAP3.
2019-07-26 17:27:18 +02:00
Fedor Isakov
ca894c9030
Move control over reactor lifecycle to app plugin.
2019-07-26 17:17:07 +02:00
Fedor Isakov
79b08c6f83
Revert "Apply migrations from EAP3 and rebuild project."
...
This reverts commit 9c5bf858c3 .
2019-07-26 15:30:30 +02:00
Fedor Isakov
9c5bf858c3
Apply migrations from EAP3 and rebuild project.
2019-07-19 12:28:27 +02:00
Fedor Isakov
cd37daaa07
Apply migrations after switching to the latest EAP build of MPS.
2019-06-07 09:16:21 +02:00
Fedor Isakov
17ed4642ae
Apply all available automatic migrations.
2019-06-05 16:16:00 +02:00
Fedor Isakov
19ce84f7ef
Switch to 2018.3 RC. Apply all migrations.
2018-11-28 16:48:59 +01:00
Fedor Isakov
f7d2129d37
Drop unused class
2018-09-11 18:40:15 +02:00
Fedor Isakov
79c02d2b00
Cleaning up dependencies in an attempt to produce a workable build.xml that doesn't break gradle.
2018-07-14 17:22:14 +02:00
Fedor Isakov
b4d0ab73bb
Initial boilerplate support for launching controlflow queries. Some refactorings to further uncouple coderules-related stuff.
2018-06-15 14:55:44 +02:00
Fedor Isakov
fda586c45c
Extract generic support for launching code rules into a separate plugin solution.
2018-06-13 14:34:41 +02:00