Skip to content

Commit

Permalink
Update to Rainmeter Beta 4.2 Revision 3064
Browse files Browse the repository at this point in the history
Added support for enabling and disabling mouse actions on meters
  • Loading branch information
thatsIch committed May 21, 2018
1 parent 9019bd1 commit 07e910f
Show file tree
Hide file tree
Showing 4 changed files with 65 additions and 4 deletions.
18 changes: 17 additions & 1 deletion Rainmeter.sublime-completions
Original file line number Diff line number Diff line change
Expand Up @@ -452,7 +452,23 @@
{"trigger": "!EnableMeasure", "contents": "!EnableMeasure \"${1:Measure}\" ${2:\"${3:(Config)}\"}"},
{"trigger": "!EnableMeasureGroup", "contents": "!EnableMeasureGroup \"${1:Group}\" ${2:\"${3:(Config)}\"}"},
{"trigger": "!EditSkin", "contents": "!EditSkin ${1:\"${2:(Config)}\"} ${3:\"${4:(File)}\"}"},



{"trigger": "!DisableMouseAction", "contents": "!DisableMouseAction \"${1:Meter}\" \"${2:MouseAction(s)}\" ${3:\"${4:(Config)}\"}"},
{"trigger": "!ClearMouseAction", "contents": "!ClearMouseAction \"${1:Meter}\" \"${2:MouseAction(s)}\" ${3:\"${4:(Config)}\"}"},
{"trigger": "!EnableMouseAction", "contents": "!EnableMouseAction \"${1:Meter}\" \"${2:MouseAction(s)}\" ${3:\"${4:(Config)}\"}"},
{"trigger": "!ToggleMouseAction", "contents": "!ToggleMouseAction \"${1:Meter}\" \"${2:MouseAction(s)}\" ${3:\"${4:(Config)}\"}"},

{"trigger": "!DisableMouseActionGroup", "contents": "!DisableMouseActionGroup \"${1:MouseAction(s)}\" \"${2:Group}\" ${3:\"${4:(Config)}\"}"},
{"trigger": "!ClearMouseActionGroup", "contents": "!ClearMouseActionGroup \"${1:MouseAction(s)}\" \"${2:Group}\" ${3:\"${4:(Config)}\"}"},
{"trigger": "!EnableMouseActionGroup", "contents": "!EnableMouseActionGroup \"${1:MouseAction(s)}\" \"${2:Group}\" ${3:\"${4:(Config)}\"}"},
{"trigger": "!ToggleMouseActionGroup", "contents": "!ToggleMouseActionGroup \"${1:MouseAction(s)}\" \"${2:Group}\" ${3:\"${4:(Config)}\"}"},

{"trigger": "!DisableMouseActionSkinGroup", "contents": "!DisableMouseActionSkinGroup \"${1:MouseAction(s)}\" \"${2:Group}\""},
{"trigger": "!ClearMouseActionSkinGroup", "contents": "!ClearMouseActionSkinGroup \"${1:MouseAction(s)}\" \"${2:Group}\""},
{"trigger": "!EnableMouseActionSkinGroup", "contents": "!EnableMouseActionSkinGroup \"${1:MouseAction(s)}\" \"${2:Group}\""},
{"trigger": "!ToggleMouseActionSkinGroup", "contents": "!ToggleMouseActionSkinGroup \"${1:MouseAction(s)}\" \"${2:Group}\""},

{"trigger": "!FadeDuration", "contents": "!FadeDuration ${1:Duration} ${2:\"${3:(Config)}\"}"},
{"trigger": "!FadeDurationGroup", "contents": "!FadeDurationGroup ${1:Duration} \"${2:ConfigGroup}\""},

Expand Down
38 changes: 36 additions & 2 deletions Rainmeter.sublime-syntax
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ uuid: 6a53050b-d898-4e20-8fa0-c1726f4ce466
foldingStartMarker: "^\\s*\\[\\s*[^\\[\\]\\s]*\\s*\\]\\s*$"
foldingStopMarker: "^(?=\\s*\\[)"

variables:
mouse_action_name: "(?i)((LeftMouseUp|LeftMouseDown|LeftMouseDoubleClick|RightMouseUp|RightMouseDown|RIghtMouseDoubleClick|MiddleMouseUp|MiddleMouseDown|MiddleMouseDoubleClick|X1MouseUp|X1MouseDown|X1MouseDoubleClick|X2MouseUp|X2MouseDown|X2MouseDoubleClick|MouseScrollUp|MouseScrollDown|MouseScrollLeft|MouseScrollRight|MouseOver|MouseLeave)Action|\\*)"
meter-name: ".+|\".+\""

# template

# #
Expand Down Expand Up @@ -330,15 +334,15 @@ contexts:
4: invalid.rainmeter

#
- match: "(?i)^\\s*(measure)\\s*(=)\\s*((Calc|CPU|FreeDiskSpace|Loop|MediaKey|Memory|PhysicalMemory|SwapMemory|Net(In|Out|Total)|NowPlaying|Plugin|RecycleManager|Registry|Script|String|Time|Uptime|WebParser)|\"(Calc|CPU|FreeDiskSpace|Loop|MediaKey|Memory|PhysicalMemory|SwapMemory|Net(In|Out|Total)|NowPlaying|Plugin|RecycleManager|Registry|Script|String|Time|Uptime|WebParser)\")\\s*$"
- match: "(?i)^\\s*(Measure)\\s*(=)\\s*((Calc|CPU|FreeDiskSpace|Loop|MediaKey|Memory|PhysicalMemory|SwapMemory|Net(In|Out|Total)|NowPlaying|Plugin|RecycleManager|Registry|Script|String|Time|Uptime|WebParser)|\"(Calc|CPU|FreeDiskSpace|Loop|MediaKey|Memory|PhysicalMemory|SwapMemory|Net(In|Out|Total)|NowPlaying|Plugin|RecycleManager|Registry|Script|String|Time|Uptime|WebParser)\")\\s*$"
scope: meta.option.measure.rainmeter
captures:
1: storage.type.option.predefined.rainmeter
2: keyword.operator.option.equal.rainmeter
3: support.constant.names.rainmeter

#
- match: "(?i)^\\s*(measure)\\s*(=)\\s*(?!(.*#.*#.*$|.*\\[.*\\].*$))(.*)\\s*$"
- match: "(?i)^\\s*(Measure)\\s*(=)\\s*(?!(.*#.*#.*$|.*\\[.*\\].*$))(.*)\\s*$"
scope: meta.option.measure.invalid.rainmeter
captures:
1: storage.type.option.predefined.rainmeter
Expand Down Expand Up @@ -763,6 +767,36 @@ contexts:
- match: "(?i)!((FadeDuration(Group)?)|(EditSkin)|(SetClip)|(SetWallpaper)|(About)|(Manage)|(Log)|(LsBoxHook)|(ResetStats)|(TrayMenu)|(RefreshApp)|(Quit)|(SetOption(Group)?)|(WriteKeyValue)|(SetVariable(Group)?)|(Toggle(Group|Config)?)|(Move(Meter)?)|(DeactivateConfig(Group)?)|(ActivateConfig)|(Refresh(Group)?)|(Redraw(Group)?)|(SetTransparency(Group)?)|((Show|Hide|Toggle)Fade(Group)?)|((Show|Hide|Toggle|Add|Remove)Blur)|(Draggable(Group)?)|(ZPos(Group)?)|(KeepOnScreen(Group)?)|(ClickThrough(Group)?)|AutoSelectScreen(Group)?|(SnapEdges(Group)?)|(SkinMenu)|(SkinCustomMenu)|((Show|Hide|Toggle|Update)Meter(Group)?)|(((Dis|En)able|Toggle|Update)Measure(Group)?)|(CommandMeasure)|((Un|Toggle)?PauseMeasure)|((Show|Hide)(Group)?|(Update)|(LoadLayout)))\\b"
scope: support.function.bang.rainmeter

- include: mouse-action-bangs
# https://docs.rainmeter.net/manual-beta/bangs/#MouseAction
mouse-action-bangs:
# reversed order because of priority of same common action names
- include: skin-group-bangs
- include: meter-group-bangs
- include: meter-bangs

meter-bangs:
# Parameters: Meter, MouseAction(s), Config (optional)
- match: "(?i)!((Disable|Clear|Enable|Toggle)MouseAction)"
scope: support.function.bang.rainmeter
- include: mouse-action-name
meter-group-bangs:
# Parameters: MouseAction(s), Group, Config (optional)
- match: "(?i)!((Disable|Clear|Enable|Toggle)MouseActionGroup)"
scope: support.function.bang.rainmeter
skin-group-bangs:
# Parameters: MouseAction(s), Group
- match: "(?i)!((Disable|Clear|Enable|Toggle)MouseActionSkinGroup)"
scope: support.function.bang.rainmeter
mouse-action-name:
# need other scopes if the action name is in front and thus a key
- match: "({{mouse_action_name}})\\s*(=)"
captures:
1: storage.type.option.predefined.rainmeter
4: keyword.operator.option.equal.rainmeter
# this is a mouse action name in a parameter
- match: "{{mouse_action_name}}"
scope: support.constant.option_values.rainmeter

# Include statements
includes:
Expand Down
3 changes: 2 additions & 1 deletion messages.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,5 +38,6 @@
"2.18.0": "messages/2.18.0.md",
"2.19.0": "messages/2.19.0.md",
"2.20.0": "messages/2.20.0.md",
"2.21.0": "messages/2.21.0.md"
"2.21.0": "messages/2.21.0.md",
"2.22.0": "messages/2.22.0.md"
}
10 changes: 10 additions & 0 deletions messages/2.22.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Sublime Rainmeter Release 2.22.0

* Update to Rainmeter Beta 4.2 Revision 3064
* Added support for enabling and disabling mouse actions on meters. Documentation at [Mouse Action state bangs](https://docs.rainmeter.net/manual-beta/bangs/#MouseAction).

[Full release notes](https://github.com/thatsIch/sublime-rainmeter/releases/tag/2.22.0)

---

A lot of effort has been put into Sublime Rainmeter. If you like it, star the [repository](https://github.com/thatsIch/sublime-rainmeter).

0 comments on commit 07e910f

Please sign in to comment.